summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2017-04-26 19:45:00 +0000
committerDimitry Andric <dim@FreeBSD.org>2017-04-26 19:45:00 +0000
commit12f3ca4cdb95b193af905a00e722a4dcb40b3de3 (patch)
treeae1a7fcfc24a8d4b23206c57121c3f361d4b7f84
parentd99dafe2e4a385dd2a6c76da6d8258deb100657b (diff)
downloadsrc-test2-12f3ca4cdb95b193af905a00e722a4dcb40b3de3.tar.gz
src-test2-12f3ca4cdb95b193af905a00e722a4dcb40b3de3.zip
Vendor import of llvm trunk r301441:vendor/llvm/llvm-trunk-r301441
Notes
Notes: svn path=/vendor/llvm/dist/; revision=317461 svn path=/vendor/llvm/llvm-trunk-r301441/; revision=317462; tag=vendor/llvm/llvm-trunk-r301441
-rw-r--r--cmake/modules/HandleLLVMOptions.cmake7
-rw-r--r--docs/AMDGPUUsage.rst5
-rw-r--r--docs/GettingStarted.rst2
-rw-r--r--docs/HowToAddABuilder.rst2
-rw-r--r--docs/LibFuzzer.rst13
-rw-r--r--include/llvm/ADT/APFloat.h14
-rw-r--r--include/llvm/ADT/APInt.h80
-rw-r--r--include/llvm/ADT/APSInt.h13
-rw-r--r--include/llvm/ADT/BitVector.h149
-rw-r--r--include/llvm/ADT/SmallBitVector.h25
-rw-r--r--include/llvm/ADT/StringExtras.h30
-rw-r--r--include/llvm/ADT/Triple.h3
-rw-r--r--include/llvm/Analysis/DemandedBits.h4
-rw-r--r--include/llvm/Analysis/InstructionSimplify.h85
-rw-r--r--include/llvm/Analysis/LoopInfo.h2
-rw-r--r--include/llvm/Analysis/LoopInfoImpl.h6
-rw-r--r--include/llvm/Analysis/RegionInfo.h22
-rw-r--r--include/llvm/Analysis/ScalarEvolution.h41
-rw-r--r--include/llvm/Analysis/ValueTracking.h3
-rw-r--r--include/llvm/CodeGen/DIE.h13
-rw-r--r--include/llvm/CodeGen/GlobalISel/InstructionSelector.h34
-rw-r--r--include/llvm/CodeGen/MachineOperand.h6
-rw-r--r--include/llvm/CodeGen/SelectionDAG.h11
-rw-r--r--include/llvm/DebugInfo/CodeView/CodeView.h2
-rw-r--r--include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h2
-rw-r--r--include/llvm/DebugInfo/CodeView/TypeDumperBase.h0
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h6
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFContext.h17
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h4
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h6
-rw-r--r--include/llvm/DebugInfo/DWARF/DWARFUnit.h18
-rw-r--r--include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h3
-rw-r--r--include/llvm/DebugInfo/PDB/IPDBRawSymbol.h2
-rw-r--r--include/llvm/DebugInfo/PDB/Native/ModStream.h2
-rw-r--r--include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h3
-rw-r--r--include/llvm/DebugInfo/PDB/UDTLayout.h143
-rw-r--r--include/llvm/ExecutionEngine/Orc/RPCSerialization.h65
-rw-r--r--include/llvm/IR/Attributes.h2
-rw-r--r--include/llvm/IR/ConstantRange.h2
-rw-r--r--include/llvm/IR/Dominators.h4
-rw-r--r--include/llvm/IR/IntrinsicsAMDGPU.td2
-rw-r--r--include/llvm/IR/Module.h2
-rw-r--r--include/llvm/IR/Value.h11
-rw-r--r--include/llvm/MC/MCTargetOptions.h1
-rw-r--r--include/llvm/Object/ELF.h68
-rw-r--r--include/llvm/Object/ELFObjectFile.h32
-rw-r--r--include/llvm/Object/ELFTypes.h166
-rw-r--r--include/llvm/Object/IRSymtab.h29
-rw-r--r--include/llvm/Object/MachO.h122
-rw-r--r--include/llvm/Object/ModuleSummaryIndexObjectFile.h25
-rw-r--r--include/llvm/Object/ModuleSymbolTable.h16
-rw-r--r--include/llvm/Object/RelocVisitor.h91
-rw-r--r--include/llvm/Object/StackMapParser.h43
-rw-r--r--include/llvm/Object/Wasm.h13
-rw-r--r--include/llvm/ObjectYAML/WasmYAML.h2
-rw-r--r--include/llvm/ProfileData/InstrProf.h8
-rw-r--r--include/llvm/Support/BranchProbability.h12
-rw-r--r--include/llvm/Support/FileSystem.h4
-rw-r--r--include/llvm/Support/GenericDomTree.h4
-rw-r--r--include/llvm/Support/KnownBits.h43
-rw-r--r--include/llvm/Support/YAMLTraits.h4
-rw-r--r--include/llvm/Target/GlobalISel/Target.td10
-rw-r--r--include/llvm/Target/TargetInstrInfo.h2
-rw-r--r--include/llvm/Target/TargetLowering.h62
-rw-r--r--include/llvm/Target/TargetRegisterInfo.h69
-rw-r--r--include/llvm/Transforms/Instrumentation.h3
-rw-r--r--include/llvm/Transforms/Scalar/ConstantHoisting.h8
-rw-r--r--lib/Analysis/BasicAliasAnalysis.cpp12
-rw-r--r--lib/Analysis/ConstantFolding.cpp17
-rw-r--r--lib/Analysis/DemandedBits.cpp31
-rw-r--r--lib/Analysis/DomPrinter.cpp16
-rw-r--r--lib/Analysis/IVUsers.cpp12
-rw-r--r--lib/Analysis/InlineCost.cpp1
-rw-r--r--lib/Analysis/InstructionSimplify.cpp535
-rw-r--r--lib/Analysis/Lint.cpp14
-rw-r--r--lib/Analysis/MemorySSAUpdater.cpp9
-rw-r--r--lib/Analysis/ScalarEvolution.cpp265
-rw-r--r--lib/Analysis/ScalarEvolutionNormalization.cpp71
-rw-r--r--lib/Analysis/ValueTracking.cpp853
-rw-r--r--lib/Bitcode/Writer/BitcodeWriter.cpp71
-rw-r--r--lib/Bitcode/Writer/ValueEnumerator.cpp12
-rw-r--r--lib/Bitcode/Writer/ValueEnumerator.h31
-rw-r--r--lib/CodeGen/AggressiveAntiDepBreaker.cpp6
-rw-r--r--lib/CodeGen/AntiDepBreaker.h19
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinter.cpp74
-rw-r--r--lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp3
-rw-r--r--lib/CodeGen/AsmPrinter/DIE.cpp18
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfCompileUnit.h2
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfDebug.cpp19
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfExpression.cpp12
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfUnit.cpp8
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfUnit.h7
-rw-r--r--lib/CodeGen/CriticalAntiDepBreaker.cpp6
-rw-r--r--lib/CodeGen/GlobalISel/InstructionSelect.cpp4
-rw-r--r--lib/CodeGen/GlobalISel/LegalizerHelper.cpp42
-rw-r--r--lib/CodeGen/GlobalISel/RegisterBank.cpp2
-rw-r--r--lib/CodeGen/GlobalISel/RegisterBankInfo.cpp2
-rw-r--r--lib/CodeGen/MIRPrinter.cpp3
-rw-r--r--lib/CodeGen/MachineInstr.cpp7
-rw-r--r--lib/CodeGen/MachineLICM.cpp10
-rw-r--r--lib/CodeGen/PrologEpilogInserter.cpp8
-rw-r--r--lib/CodeGen/RegAllocFast.cpp5
-rw-r--r--lib/CodeGen/RegisterScavenging.cpp4
-rw-r--r--lib/CodeGen/SelectionDAG/DAGCombiner.cpp110
-rw-r--r--lib/CodeGen/SelectionDAG/InstrEmitter.cpp3
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeDAG.cpp4
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp8
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp12
-rw-r--r--lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp24
-rw-r--r--lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp12
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAG.cpp63
-rw-r--r--lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp45
-rw-r--r--lib/CodeGen/SelectionDAG/TargetLowering.cpp105
-rw-r--r--lib/CodeGen/StackMaps.cpp5
-rw-r--r--lib/CodeGen/TargetInstrInfo.cpp12
-rw-r--r--lib/CodeGen/TargetLoweringBase.cpp11
-rw-r--r--lib/CodeGen/TargetRegisterInfo.cpp16
-rw-r--r--lib/CodeGen/VirtRegMap.cpp5
-rw-r--r--lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp7
-rw-r--r--lib/DebugInfo/DWARF/DWARFContext.cpp19
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugLine.cpp14
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugLoc.cpp15
-rw-r--r--lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp11
-rw-r--r--lib/DebugInfo/DWARF/DWARFFormValue.cpp22
-rw-r--r--lib/DebugInfo/DWARF/DWARFUnit.cpp16
-rw-r--r--lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp5
-rw-r--r--lib/DebugInfo/PDB/DIA/DIASession.cpp17
-rw-r--r--lib/DebugInfo/PDB/Native/ModStream.cpp4
-rw-r--r--lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp3
-rw-r--r--lib/DebugInfo/PDB/UDTLayout.cpp355
-rw-r--r--lib/Fuzzer/CMakeLists.txt89
-rw-r--r--lib/Fuzzer/FuzzerDefs.h18
-rw-r--r--lib/Fuzzer/FuzzerMerge.h2
-rw-r--r--lib/IR/AsmWriter.cpp45
-rw-r--r--lib/IR/AttributeImpl.h15
-rw-r--r--lib/IR/Attributes.cpp24
-rw-r--r--lib/IR/GCOV.cpp10
-rw-r--r--lib/IR/Value.cpp19
-rw-r--r--lib/LTO/LTO.cpp3
-rw-r--r--lib/LTO/LTOBackend.cpp18
-rw-r--r--lib/MC/MCParser/AsmParser.cpp13
-rw-r--r--lib/MC/WasmObjectWriter.cpp2
-rw-r--r--lib/Object/ELF.cpp13
-rw-r--r--lib/Object/ELFObjectFile.cpp21
-rw-r--r--lib/Object/IRSymtab.cpp31
-rw-r--r--lib/Object/MachOObjectFile.cpp215
-rw-r--r--lib/Object/ModuleSummaryIndexObjectFile.cpp27
-rw-r--r--lib/Object/ModuleSymbolTable.cpp32
-rw-r--r--lib/Object/RecordStreamer.cpp5
-rw-r--r--lib/Object/RecordStreamer.h23
-rw-r--r--lib/Object/WasmObjectFile.cpp12
-rw-r--r--lib/ObjectYAML/WasmYAML.cpp5
-rw-r--r--lib/Passes/PassBuilder.cpp4
-rw-r--r--lib/Support/APFloat.cpp31
-rw-r--r--lib/Support/APInt.cpp233
-rw-r--r--lib/Support/DynamicLibrary.cpp1
-rw-r--r--lib/Support/Triple.cpp2
-rw-r--r--lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp1
-rw-r--r--lib/Target/AArch64/AArch64FrameLowering.cpp19
-rw-r--r--lib/Target/AArch64/AArch64ISelLowering.cpp305
-rw-r--r--lib/Target/AArch64/AArch64ISelLowering.h15
-rw-r--r--lib/Target/AArch64/AArch64InstrAtomics.td3
-rw-r--r--lib/Target/AArch64/AArch64InstrFormats.td4
-rw-r--r--lib/Target/AArch64/AArch64InstrInfo.cpp12
-rw-r--r--lib/Target/AArch64/AArch64InstrInfo.h2
-rw-r--r--lib/Target/AArch64/AArch64InstructionSelector.cpp41
-rw-r--r--lib/Target/AArch64/AArch64SchedFalkor.td10
-rw-r--r--lib/Target/AArch64/AArch64SchedFalkorDetails.td31
-rw-r--r--lib/Target/AArch64/AArch64SchedFalkorWriteRes.td31
-rw-r--r--lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp12
-rw-r--r--lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp7
-rw-r--r--lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp3
-rw-r--r--lib/Target/AMDGPU/AMDGPU.td3
-rw-r--r--lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp96
-rw-r--r--lib/Target/AMDGPU/AMDGPUISelLowering.cpp6
-rw-r--r--lib/Target/AMDGPU/AMDGPUISelLowering.h5
-rw-r--r--lib/Target/AMDGPU/AMDGPUInstrInfo.td5
-rw-r--r--lib/Target/AMDGPU/AMDGPUInstructions.td16
-rw-r--r--lib/Target/AMDGPU/AMDGPUMCInstLower.cpp6
-rw-r--r--lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp74
-rw-r--r--lib/Target/AMDGPU/BUFInstructions.td75
-rw-r--r--lib/Target/AMDGPU/GCNRegPressure.cpp4
-rw-r--r--lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.cpp24
-rw-r--r--lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp1
-rw-r--r--lib/Target/AMDGPU/SIFixSGPRCopies.cpp185
-rw-r--r--lib/Target/AMDGPU/SIFrameLowering.cpp120
-rw-r--r--lib/Target/AMDGPU/SIFrameLowering.h2
-rw-r--r--lib/Target/AMDGPU/SIISelLowering.cpp132
-rw-r--r--lib/Target/AMDGPU/SIInsertWaitcnts.cpp4
-rw-r--r--lib/Target/AMDGPU/SIInsertWaits.cpp10
-rw-r--r--lib/Target/AMDGPU/SIInstrInfo.cpp58
-rw-r--r--lib/Target/AMDGPU/SIInstrInfo.h4
-rw-r--r--lib/Target/AMDGPU/SIInstrInfo.td3
-rw-r--r--lib/Target/AMDGPU/SIInstructions.td40
-rw-r--r--lib/Target/AMDGPU/SIMachineFunctionInfo.cpp2
-rw-r--r--lib/Target/AMDGPU/SIMachineFunctionInfo.h24
-rw-r--r--lib/Target/AMDGPU/SIRegisterInfo.cpp62
-rw-r--r--lib/Target/AMDGPU/SOPInstructions.td36
-rw-r--r--lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp9
-rw-r--r--lib/Target/ARM/ARMBaseInstrInfo.cpp4
-rw-r--r--lib/Target/ARM/ARMBaseInstrInfo.h4
-rw-r--r--lib/Target/ARM/ARMBaseRegisterInfo.cpp3
-rw-r--r--lib/Target/ARM/ARMCallLowering.cpp3
-rw-r--r--lib/Target/ARM/ARMExpandPseudoInsts.cpp1
-rw-r--r--lib/Target/ARM/ARMFrameLowering.cpp8
-rw-r--r--lib/Target/ARM/ARMISelLowering.cpp13
-rw-r--r--lib/Target/ARM/ARMInstrInfo.cpp4
-rw-r--r--lib/Target/ARM/ARMInstrInfo.h4
-rw-r--r--lib/Target/ARM/ARMInstrInfo.td7
-rw-r--r--lib/Target/ARM/ARMInstrThumb.td3
-rw-r--r--lib/Target/ARM/ARMInstructionSelector.cpp53
-rw-r--r--lib/Target/ARM/ARMLegalizerInfo.cpp59
-rw-r--r--lib/Target/ARM/ARMLegalizerInfo.h3
-rw-r--r--lib/Target/ARM/ARMMCInstLower.cpp4
-rw-r--r--lib/Target/ARM/ARMRegisterBankInfo.cpp3
-rw-r--r--lib/Target/ARM/Thumb1InstrInfo.cpp4
-rw-r--r--lib/Target/ARM/Thumb1InstrInfo.h4
-rw-r--r--lib/Target/ARM/Thumb2InstrInfo.cpp4
-rw-r--r--lib/Target/ARM/Thumb2InstrInfo.h4
-rw-r--r--lib/Target/AVR/AVRAsmPrinter.cpp3
-rw-r--r--lib/Target/AVR/AVRExpandPseudoInsts.cpp130
-rw-r--r--lib/Target/AVR/AVRFrameLowering.cpp4
-rw-r--r--lib/Target/AVR/AVRInstrInfo.cpp8
-rw-r--r--lib/Target/AVR/AVRRegisterInfo.cpp5
-rw-r--r--lib/Target/Hexagon/BitTracker.cpp2
-rw-r--r--lib/Target/Hexagon/HexagonAsmPrinter.cpp6
-rw-r--r--lib/Target/Hexagon/HexagonBitSimplify.cpp30
-rw-r--r--lib/Target/Hexagon/HexagonExpandCondsets.cpp6
-rw-r--r--lib/Target/Hexagon/HexagonFrameLowering.cpp43
-rw-r--r--lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp8
-rw-r--r--lib/Target/MSP430/MSP430InstrInfo.td2
-rw-r--r--lib/Target/Mips/MipsAsmPrinter.cpp6
-rw-r--r--lib/Target/Mips/MipsCCState.cpp17
-rw-r--r--lib/Target/Mips/MipsCCState.h14
-rw-r--r--lib/Target/Mips/MipsFastISel.cpp6
-rw-r--r--lib/Target/Mips/MipsFrameLowering.cpp2
-rw-r--r--lib/Target/Mips/MipsISelLowering.cpp11
-rw-r--r--lib/Target/Mips/MipsMachineFunction.cpp25
-rw-r--r--lib/Target/Mips/MipsOptimizePICCall.cpp5
-rw-r--r--lib/Target/Mips/MipsSEFrameLowering.cpp22
-rw-r--r--lib/Target/Mips/MipsSEInstrInfo.cpp26
-rw-r--r--lib/Target/Mips/Relocation.txt125
-rw-r--r--lib/Target/NVPTX/NVPTXInstrInfo.cpp2
-rw-r--r--lib/Target/PowerPC/PPCFrameLowering.cpp17
-rw-r--r--lib/Target/PowerPC/PPCISelLowering.cpp4
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.cpp4
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.h2
-rw-r--r--lib/Target/Sparc/SparcISelLowering.cpp4
-rw-r--r--lib/Target/SystemZ/SystemZInstrInfo.cpp12
-rw-r--r--lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp3
-rw-r--r--lib/Target/X86/AsmParser/X86AsmParser.cpp2
-rw-r--r--lib/Target/X86/X86.h3
-rw-r--r--lib/Target/X86/X86.td11
-rw-r--r--lib/Target/X86/X86CallLowering.cpp28
-rw-r--r--lib/Target/X86/X86CallLowering.h5
-rw-r--r--lib/Target/X86/X86FastISel.cpp3
-rw-r--r--lib/Target/X86/X86FrameLowering.cpp28
-rw-r--r--lib/Target/X86/X86FrameLowering.h2
-rw-r--r--lib/Target/X86/X86ISelLowering.cpp24
-rw-r--r--lib/Target/X86/X86InstrArithmetic.td10
-rw-r--r--lib/Target/X86/X86InstrInfo.cpp107
-rw-r--r--lib/Target/X86/X86InstrInfo.h2
-rw-r--r--lib/Target/X86/X86InstrInfo.td1
-rw-r--r--lib/Target/X86/X86InstrSSE.td38
-rw-r--r--lib/Target/X86/X86InstructionSelector.cpp33
-rw-r--r--lib/Target/X86/X86RegisterInfo.cpp53
-rw-r--r--lib/Target/X86/X86SelectionDAGInfo.cpp62
-rw-r--r--lib/Target/X86/X86Subtarget.cpp1
-rw-r--r--lib/Target/X86/X86Subtarget.h4
-rw-r--r--lib/Target/X86/X86TargetMachine.cpp2
-rw-r--r--lib/Target/XCore/XCoreFrameLowering.cpp13
-rw-r--r--lib/Target/XCore/XCoreISelLowering.cpp4
-rw-r--r--lib/Target/XCore/XCoreMachineFunctionInfo.cpp24
-rw-r--r--lib/Transforms/IPO/PartialInlining.cpp51
-rw-r--r--lib/Transforms/IPO/PassManagerBuilder.cpp32
-rw-r--r--lib/Transforms/InstCombine/InstCombineAddSub.cpp115
-rw-r--r--lib/Transforms/InstCombine/InstCombineAndOrXor.cpp331
-rw-r--r--lib/Transforms/InstCombine/InstCombineCalls.cpp42
-rw-r--r--lib/Transforms/InstCombine/InstCombineCasts.cpp30
-rw-r--r--lib/Transforms/InstCombine/InstCombineCompares.cpp67
-rw-r--r--lib/Transforms/InstCombine/InstCombineInternal.h22
-rw-r--r--lib/Transforms/InstCombine/InstCombineSelect.cpp9
-rw-r--r--lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp431
-rw-r--r--lib/Transforms/InstCombine/InstructionCombining.cpp43
-rw-r--r--lib/Transforms/Instrumentation/AddressSanitizer.cpp32
-rw-r--r--lib/Transforms/Instrumentation/IndirectCallPromotion.cpp4
-rw-r--r--lib/Transforms/ObjCARC/PtrState.cpp6
-rw-r--r--lib/Transforms/Scalar/ConstantHoisting.cpp212
-rw-r--r--lib/Transforms/Scalar/CorrelatedValuePropagation.cpp30
-rw-r--r--lib/Transforms/Scalar/GuardWidening.cpp7
-rw-r--r--lib/Transforms/Scalar/InferAddressSpaces.cpp41
-rw-r--r--lib/Transforms/Scalar/JumpThreading.cpp30
-rw-r--r--lib/Transforms/Scalar/LoopIdiomRecognize.cpp5
-rw-r--r--lib/Transforms/Scalar/LoopRotation.cpp22
-rw-r--r--lib/Transforms/Scalar/LoopUnswitch.cpp2
-rw-r--r--lib/Transforms/Scalar/StructurizeCFG.cpp14
-rw-r--r--lib/Transforms/Utils/BypassSlowDivision.cpp9
-rw-r--r--lib/Transforms/Utils/CodeExtractor.cpp43
-rw-r--r--lib/Transforms/Utils/Local.cpp54
-rw-r--r--lib/Transforms/Utils/LoopUnroll.cpp14
-rw-r--r--lib/Transforms/Utils/LowerSwitch.cpp8
-rw-r--r--lib/Transforms/Utils/SimplifyCFG.cpp23
-rw-r--r--lib/Transforms/Utils/SimplifyInstructions.cpp18
-rw-r--r--lib/Transforms/Utils/SimplifyLibCalls.cpp38
-rw-r--r--lib/Transforms/Vectorize/LoadStoreVectorizer.cpp32
-rw-r--r--lib/Transforms/Vectorize/LoopVectorize.cpp27
-rw-r--r--test/Analysis/IVUsers/quadradic-exit-value.ll2
-rw-r--r--test/Analysis/ScalarEvolution/exponential-behavior.ll57
-rw-r--r--test/Analysis/ScalarEvolution/or-as-add.ll38
-rw-r--r--test/CMakeLists.txt1
-rw-r--r--test/CodeGen/AArch64/GlobalISel/select-pr32733.mir65
-rw-r--r--test/CodeGen/AArch64/arm64-vmul.ll16
-rw-r--r--test/CodeGen/AArch64/fence-singlethread.ll21
-rw-r--r--test/CodeGen/AArch64/optimize-imm.ll64
-rw-r--r--test/CodeGen/AArch64/swiftself-scavenger.ll82
-rw-r--r--test/CodeGen/AMDGPU/add.v2i16.ll2
-rw-r--r--test/CodeGen/AMDGPU/addrspacecast.ll9
-rw-r--r--test/CodeGen/AMDGPU/ashr.v2i16.ll2
-rw-r--r--test/CodeGen/AMDGPU/code-object-metadata-images.ll80
-rw-r--r--test/CodeGen/AMDGPU/fcanonicalize.f16.ll2
-rw-r--r--test/CodeGen/AMDGPU/fdiv.ll18
-rw-r--r--test/CodeGen/AMDGPU/fence-amdgiz.ll15
-rw-r--r--test/CodeGen/AMDGPU/fmuladd.v2f16.ll18
-rw-r--r--test/CodeGen/AMDGPU/fneg-fabs.f16.ll2
-rw-r--r--test/CodeGen/AMDGPU/immv216.ll2
-rw-r--r--test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll2
-rw-r--r--test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll17
-rw-r--r--test/CodeGen/AMDGPU/llvm.amdgcn.unreachable.ll9
-rw-r--r--test/CodeGen/AMDGPU/loop_break.ll2
-rw-r--r--test/CodeGen/AMDGPU/lshr.v2i16.ll2
-rw-r--r--test/CodeGen/AMDGPU/merge-m0.mir132
-rw-r--r--test/CodeGen/AMDGPU/mubuf-offset-private.ll136
-rw-r--r--test/CodeGen/AMDGPU/multi-divergent-exit-region.ll180
-rw-r--r--test/CodeGen/AMDGPU/nested-loop-conditions.ll23
-rw-r--r--test/CodeGen/AMDGPU/private-access-no-objects.ll16
-rw-r--r--test/CodeGen/AMDGPU/readcyclecounter.ll14
-rw-r--r--test/CodeGen/AMDGPU/ret_jump.ll2
-rw-r--r--test/CodeGen/AMDGPU/sext-in-reg.ll2
-rw-r--r--test/CodeGen/AMDGPU/shl.v2i16.ll2
-rw-r--r--test/CodeGen/AMDGPU/sminmax.v2i16.ll2
-rw-r--r--test/CodeGen/AMDGPU/spill-m0.ll22
-rw-r--r--test/CodeGen/AMDGPU/sub.v2i16.ll2
-rw-r--r--test/CodeGen/AMDGPU/trap.ll21
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir127
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-isel-divmod.ll68
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-isel.ll32
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-legalize-divmod.mir230
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir79
-rw-r--r--test/CodeGen/ARM/GlobalISel/arm-unsupported.ll80
-rw-r--r--test/CodeGen/ARM/bool-ext-inc.ll39
-rw-r--r--test/CodeGen/ARM/fence-singlethread.ll16
-rw-r--r--test/CodeGen/ARM/v6m-smul-with-overflow.ll16
-rw-r--r--test/CodeGen/ARM/vpadd.ll20
-rw-r--r--test/CodeGen/AVR/pseudo/LDDWRdPtrQ-same-src-dst.mir35
-rw-r--r--test/CodeGen/AVR/pseudo/LDWRdPtr-same-src-dst.mir29
-rw-r--r--test/CodeGen/AVR/pseudo/expand-lddw-dst-src-same.mir35
-rw-r--r--test/CodeGen/MSP430/select-use-sr.ll21
-rw-r--r--test/CodeGen/Mips/llvm-ir/mul.ll2
-rw-r--r--test/CodeGen/Mips/llvm-ir/sdiv.ll12
-rw-r--r--test/CodeGen/Mips/llvm-ir/srem.ll11
-rw-r--r--test/CodeGen/Mips/llvm-ir/udiv.ll11
-rw-r--r--test/CodeGen/Mips/llvm-ir/urem.ll6
-rw-r--r--test/CodeGen/Mips/micromips-gp-rc.ll2
-rw-r--r--test/CodeGen/Mips/mips64fpldst.ll12
-rw-r--r--test/CodeGen/Mips/tailcall/tailcall.ll4
-rw-r--r--test/CodeGen/PowerPC/empty-functions.ll6
-rw-r--r--test/CodeGen/SPARC/empty-functions.ll10
-rw-r--r--test/CodeGen/SystemZ/splitMove_undefReg_mverifier_2.ll229
-rw-r--r--test/CodeGen/Thumb/long.ll31
-rw-r--r--test/CodeGen/Thumb/optionaldef-scheduling.ll18
-rw-r--r--test/CodeGen/X86/GlobalISel/callingconv.ll133
-rw-r--r--test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll30
-rw-r--r--test/CodeGen/X86/GlobalISel/irtranslator-callingconv_64bit.ll8
-rw-r--r--test/CodeGen/X86/GlobalISel/memop.ll4
-rw-r--r--test/CodeGen/X86/asm-reg-type-mismatch.ll2
-rw-r--r--test/CodeGen/X86/atomic-non-integer.ll8
-rw-r--r--test/CodeGen/X86/avx-schedule.ll2840
-rw-r--r--test/CodeGen/X86/bitcast2.ll2
-rw-r--r--test/CodeGen/X86/bool-ext-inc.ll88
-rw-r--r--test/CodeGen/X86/clear_upper_vector_element_bits.ll8
-rw-r--r--test/CodeGen/X86/combine-srl.ll9
-rw-r--r--test/CodeGen/X86/combine-udiv.ll47
-rw-r--r--test/CodeGen/X86/combine-urem.ll93
-rw-r--r--test/CodeGen/X86/constant-hoisting-bfi.ll115
-rw-r--r--test/CodeGen/X86/dagcombine-cse.ll2
-rw-r--r--test/CodeGen/X86/dwarf-headers.ll8
-rw-r--r--test/CodeGen/X86/eh-frame-unreachable.ll11
-rw-r--r--test/CodeGen/X86/empty-function.ll22
-rw-r--r--test/CodeGen/X86/empty-functions.ll8
-rw-r--r--test/CodeGen/X86/extractelement-index.ll8
-rw-r--r--test/CodeGen/X86/fold-tied-op.ll1
-rw-r--r--test/CodeGen/X86/gather-addresses.ll4
-rw-r--r--test/CodeGen/X86/i256-add.ll49
-rw-r--r--test/CodeGen/X86/i64-to-float.ll4
-rw-r--r--test/CodeGen/X86/insertelement-duplicates.ll58
-rw-r--r--test/CodeGen/X86/isint.ll8
-rw-r--r--test/CodeGen/X86/lower-bitcast.ll16
-rw-r--r--test/CodeGen/X86/memcpy-struct-by-value.ll48
-rw-r--r--test/CodeGen/X86/merge_store.ll11
-rw-r--r--test/CodeGen/X86/mmx-bitcast.ll2
-rw-r--r--test/CodeGen/X86/mmx-cvt.ll2
-rw-r--r--test/CodeGen/X86/mod128.ll2
-rw-r--r--test/CodeGen/X86/movmsk.ll2
-rw-r--r--test/CodeGen/X86/nontemporal-2.ll4
-rw-r--r--test/CodeGen/X86/post-ra-sched-with-debug.mir322
-rw-r--r--test/CodeGen/X86/pr14657.ll325
-rw-r--r--test/CodeGen/X86/pr18344.ll2
-rw-r--r--test/CodeGen/X86/pr21792.ll2
-rw-r--r--test/CodeGen/X86/pr22970.ll47
-rw-r--r--test/CodeGen/X86/pr30511.ll2
-rw-r--r--test/CodeGen/X86/pshufb-mask-comments.ll2
-rw-r--r--test/CodeGen/X86/ret-mmx.ll2
-rw-r--r--test/CodeGen/X86/sad_variations.ll6
-rw-r--r--test/CodeGen/X86/scalar-int-to-fp.ll2
-rw-r--r--test/CodeGen/X86/setcc-combine.ll181
-rw-r--r--test/CodeGen/X86/setcc-wide-types.ll32
-rw-r--r--test/CodeGen/X86/shrink_vmul.ll4
-rw-r--r--test/CodeGen/X86/sse2-intrinsics-fast-isel-x86_64.ll4
-rw-r--r--test/CodeGen/X86/sse2-intrinsics-fast-isel.ll12
-rw-r--r--test/CodeGen/X86/sse2-schedule.ll58
-rw-r--r--test/CodeGen/X86/sse3-schedule.ll455
-rw-r--r--test/CodeGen/X86/sse41-schedule.ll1938
-rw-r--r--test/CodeGen/X86/sse42-schedule.ll477
-rw-r--r--test/CodeGen/X86/ssse3-schedule.ll754
-rw-r--r--test/CodeGen/X86/statepoint-vector.ll2
-rw-r--r--test/CodeGen/X86/tls-pic.ll38
-rw-r--r--test/CodeGen/X86/tls-pie.ll127
-rw-r--r--test/CodeGen/X86/tls.ll246
-rw-r--r--test/CodeGen/X86/vec_fneg.ll4
-rw-r--r--test/CodeGen/X86/vec_fp_to_int.ll106
-rw-r--r--test/CodeGen/X86/vec_insert-3.ll2
-rw-r--r--test/CodeGen/X86/vec_insert-5.ll2
-rw-r--r--test/CodeGen/X86/vec_insert-mmx.ll2
-rw-r--r--test/CodeGen/X86/vec_int_to_fp.ll112
-rw-r--r--test/CodeGen/X86/vec_set-8.ll2
-rw-r--r--test/CodeGen/X86/vec_set-C.ll2
-rw-r--r--test/CodeGen/X86/vec_shift7.ll2
-rw-r--r--test/CodeGen/X86/vector-compare-all_of.ll8
-rw-r--r--test/CodeGen/X86/vector-compare-any_of.ll8
-rw-r--r--test/CodeGen/X86/vector-idiv-sdiv-128.ll28
-rw-r--r--test/CodeGen/X86/vector-idiv-udiv-128.ll28
-rw-r--r--test/CodeGen/X86/vector-lzcnt-128.ll4
-rw-r--r--test/CodeGen/X86/vector-pcmp.ll27
-rw-r--r--test/CodeGen/X86/vector-sext.ll68
-rw-r--r--test/CodeGen/X86/vector-shuffle-128-v2.ll12
-rw-r--r--test/CodeGen/X86/vector-shuffle-128-v4.ll10
-rw-r--r--test/CodeGen/X86/vector-shuffle-combining-avx2.ll26
-rw-r--r--test/CodeGen/X86/vector-trunc-math.ll10
-rw-r--r--test/CodeGen/X86/vector-trunc.ll14
-rw-r--r--test/CodeGen/X86/vector-tzcnt-128.ll4
-rw-r--r--test/CodeGen/X86/vmovq.ll2
-rw-r--r--test/CodeGen/X86/vshift-1.ll2
-rw-r--r--test/CodeGen/X86/vshift-2.ll2
-rw-r--r--test/CodeGen/X86/vsplit-and.ll10
-rw-r--r--test/CodeGen/X86/widen_cast-5.ll2
-rw-r--r--test/CodeGen/X86/widen_conv-3.ll4
-rw-r--r--test/CodeGen/X86/widen_conv-4.ll4
-rw-r--r--test/DebugInfo/COFF/pieces.ll24
-rw-r--r--test/DebugInfo/Generic/empty.ll2
-rw-r--r--test/DebugInfo/PDB/pdbdump-yaml-lineinfo.test59
-rw-r--r--test/DebugInfo/PowerPC/tls-fission.ll2
-rw-r--r--test/DebugInfo/X86/cu-ranges-odr.ll2
-rw-r--r--test/DebugInfo/X86/cu-ranges.ll4
-rw-r--r--test/DebugInfo/X86/debug-loc-asan.ll4
-rw-r--r--test/DebugInfo/X86/dwarf-pubnames-split.ll2
-rw-r--r--test/DebugInfo/X86/dwarfdump-ranges-unrelocated.s70
-rw-r--r--test/DebugInfo/X86/empty.ll2
-rw-r--r--test/DebugInfo/X86/fission-cu.ll2
-rw-r--r--test/DebugInfo/X86/fission-hash.ll2
-rw-r--r--test/DebugInfo/X86/fission-inline.ll2
-rw-r--r--test/DebugInfo/X86/fission-no-inlining.ll2
-rw-r--r--test/DebugInfo/X86/fission-ranges.ll2
-rw-r--r--test/DebugInfo/X86/generate-odr-hash.ll2
-rw-r--r--test/DebugInfo/X86/op_deref.ll2
-rw-r--r--test/DebugInfo/X86/pieces-4.ll4
-rw-r--r--test/DebugInfo/X86/split-dwarf-cross-unit-reference.ll46
-rw-r--r--test/DebugInfo/X86/sret.ll2
-rw-r--r--test/DebugInfo/X86/stack-value-dwarf2.ll96
-rw-r--r--test/DebugInfo/X86/this-stack_value.ll123
-rw-r--r--test/DebugInfo/X86/tls.ll2
-rw-r--r--test/DebugInfo/X86/type_units_with_addresses.ll4
-rw-r--r--test/DebugInfo/X86/vla.ll2
-rw-r--r--test/Instrumentation/AddressSanitizer/global_metadata_array.ll68
-rw-r--r--test/LTO/Resolution/X86/Inputs/mod-asm-used.ll4
-rw-r--r--test/LTO/Resolution/X86/mod-asm-used.ll10
-rw-r--r--test/MC/AArch64/basic-a64-diagnostics.s12
-rw-r--r--test/MC/AMDGPU/gfx7_asm_all.s7
-rw-r--r--test/MC/AMDGPU/gfx8_asm_all.s1939
-rw-r--r--test/MC/AMDGPU/gfx9_asm_all.s61606
-rw-r--r--test/MC/AMDGPU/sopk-err.s15
-rw-r--r--test/MC/AMDGPU/sopk.s12
-rw-r--r--test/MC/AMDGPU/sopp-err.s18
-rw-r--r--test/MC/AMDGPU/sopp.s38
-rw-r--r--test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt123398
-rw-r--r--test/MC/Disassembler/X86/x86-64.txt8
-rw-r--r--test/MC/X86/x86-64.s16
-rw-r--r--test/ObjectYAML/wasm/code_section.yaml4
-rw-r--r--test/ObjectYAML/wasm/data_section.yaml32
-rw-r--r--test/ObjectYAML/wasm/elem_section.yaml8
-rw-r--r--test/Other/Inputs/invariant.group.barrier.ll15
-rw-r--r--test/Other/new-pm-defaults.ll1
-rw-r--r--test/Other/pass-pipelines.ll1
-rw-r--r--test/Other/pr32085.ll56
-rw-r--r--test/TableGen/GlobalISelEmitter.td61
-rw-r--r--test/Transforms/CodeExtractor/PartialInlineCallRef.ll56
-rw-r--r--test/Transforms/CodeExtractor/PartialInlineOptRemark.ll73
-rw-r--r--test/Transforms/CodeExtractor/unreachable-block.ll38
-rw-r--r--test/Transforms/ConstantHoisting/X86/ehpad.ll11
-rw-r--r--test/Transforms/GVN/invariant.group.ll12
-rw-r--r--test/Transforms/InferAddressSpaces/AMDGPU/infer-getelementptr.ll48
-rw-r--r--test/Transforms/InstCombine/add-sitofp.ll124
-rw-r--r--test/Transforms/InstCombine/amdgcn-intrinsics.ll6
-rw-r--r--test/Transforms/InstCombine/and-or-icmps.ll4
-rw-r--r--test/Transforms/InstCombine/and-or-not.ll570
-rw-r--r--test/Transforms/InstCombine/and.ll28
-rw-r--r--test/Transforms/InstCombine/apint-shift.ll7
-rw-r--r--test/Transforms/InstCombine/debuginfo-dce.ll42
-rw-r--r--test/Transforms/InstCombine/fsub.ll44
-rw-r--r--test/Transforms/InstCombine/intrinsics.ll26
-rw-r--r--test/Transforms/InstCombine/memset-1.ll9
-rw-r--r--test/Transforms/InstCombine/minmax-fold.ll6
-rw-r--r--test/Transforms/InstCombine/or-to-xor.ll55
-rw-r--r--test/Transforms/InstCombine/or.ll53
-rw-r--r--test/Transforms/InstCombine/pr17827.ll4
-rw-r--r--test/Transforms/InstCombine/shift.ll30
-rw-r--r--test/Transforms/InstCombine/xor2.ll75
-rw-r--r--test/Transforms/InstSimplify/AndOrXor.ll115
-rw-r--r--test/Transforms/InstSimplify/icmp-ranges.ll336
-rw-r--r--test/Transforms/JumpThreading/fold-not-thread.ll135
-rw-r--r--test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll83
-rw-r--r--test/Transforms/LoopIdiom/non-integral-pointers.ll48
-rw-r--r--test/Transforms/LoopUnroll/not-rotated.ll26
-rw-r--r--test/Transforms/LoopVectorize/X86/float-induction-x86.ll63
-rw-r--r--test/Transforms/LoopVectorize/induction.ll24
-rw-r--r--test/Transforms/LoopVectorize/phi-cost.ll86
-rw-r--r--test/Transforms/LowerSwitch/phi-in-dead-block.ll40
-rw-r--r--test/Transforms/Mem2Reg/debug-alloca-phi.ll48
-rw-r--r--test/Transforms/ObjCARC/clang-arc-use-barrier.ll45
-rw-r--r--test/Transforms/ObjCARC/intrinsic-use.ll11
-rw-r--r--test/Transforms/PGOProfile/memop_size_opt.ll21
-rw-r--r--test/Transforms/SimplifyCFG/merge-cond-stores.ll33
-rw-r--r--test/Transforms/StructurizeCFG/invert-compare.ll60
-rw-r--r--test/Transforms/StructurizeCFG/one-loop-multiple-backedges.ll12
-rw-r--r--test/Transforms/StructurizeCFG/post-order-traversal-bug.ll3
-rw-r--r--test/Transforms/Util/libcalls-fast-math-inf-loop.ll60
-rw-r--r--test/tools/gold/X86/asm_undefined2.ll4
-rw-r--r--test/tools/llvm-cov/Inputs/test_-b.output12
-rw-r--r--test/tools/llvm-cov/Inputs/test_-f.output16
-rw-r--r--test/tools/llvm-cov/Inputs/test_long_file_names.output8
-rw-r--r--test/tools/llvm-cov/Inputs/test_long_paths.output8
-rw-r--r--test/tools/llvm-cov/Inputs/test_missing.output8
-rw-r--r--test/tools/llvm-cov/Inputs/test_no_gcda.output8
-rw-r--r--test/tools/llvm-cov/Inputs/test_no_options.output8
-rw-r--r--test/tools/llvm-cov/Inputs/test_no_output.output6
-rw-r--r--test/tools/llvm-cov/Inputs/test_no_preserve_paths.output8
-rw-r--r--test/tools/llvm-cov/Inputs/test_preserve_paths.output8
-rw-r--r--test/tools/llvm-cvtres/basic.test4
-rw-r--r--test/tools/llvm-objdump/X86/Inputs/debug-info-fileinfo.exe.elf-x86_64bin0 -> 1540 bytes
-rw-r--r--test/tools/llvm-objdump/X86/debug-info-fileinfo.test27
-rw-r--r--test/tools/llvm-pdbdump/Inputs/ComplexPaddingTest.cpp48
-rw-r--r--test/tools/llvm-pdbdump/Inputs/ComplexPaddingTest.pdbbin0 -> 118784 bytes
-rw-r--r--test/tools/llvm-pdbdump/Inputs/SimplePaddingTest.cpp1
-rw-r--r--test/tools/llvm-pdbdump/Inputs/SimplePaddingTest.pdbbin118784 -> 118784 bytes
-rw-r--r--test/tools/llvm-pdbdump/class-layout.test8
-rw-r--r--test/tools/llvm-pdbdump/complex-padding-graphical.test53
-rw-r--r--test/tools/llvm-pdbdump/simple-padding-graphical.test18
-rw-r--r--test/tools/llvm-pdbdump/simple-padding-text.test94
-rw-r--r--test/tools/llvm-profdata/overflow-sample.test64
-rw-r--r--test/tools/llvm-profdata/sample-profile-basic.test16
-rw-r--r--test/tools/llvm-profdata/weight-sample.test64
-rw-r--r--test/tools/llvm-xray/X86/Inputs/graph-diff-A.yaml29
-rw-r--r--test/tools/llvm-xray/X86/Inputs/graph-diff-B.yaml30
-rw-r--r--test/tools/llvm-xray/X86/Inputs/simple-instrmap.yaml4
-rw-r--r--test/tools/llvm-xray/X86/graph-diff-simple.txt238
-rw-r--r--tools/LLVMBuild.txt1
-rw-r--r--tools/dsymutil/DwarfLinker.cpp8
-rw-r--r--tools/llc/llc.cpp6
-rw-r--r--tools/llvm-cvtres/CMakeLists.txt13
-rw-r--r--tools/llvm-cvtres/LLVMBuild.txt22
-rw-r--r--tools/llvm-cvtres/Opts.td11
-rw-r--r--tools/llvm-cvtres/llvm-cvtres.cpp86
-rw-r--r--tools/llvm-cvtres/llvm-cvtres.h13
-rw-r--r--tools/llvm-objdump/llvm-objdump.cpp5
-rw-r--r--tools/llvm-pdbdump/CMakeLists.txt1
-rw-r--r--tools/llvm-pdbdump/LinePrinter.cpp2
-rw-r--r--tools/llvm-pdbdump/PdbYaml.cpp92
-rw-r--r--tools/llvm-pdbdump/PdbYaml.h93
-rw-r--r--tools/llvm-pdbdump/PrettyClassDefinitionDumper.cpp67
-rw-r--r--tools/llvm-pdbdump/PrettyClassDefinitionDumper.h2
-rw-r--r--tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.cpp142
-rw-r--r--tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.h17
-rw-r--r--tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp119
-rw-r--r--tools/llvm-pdbdump/PrettyClassLayoutTextDumper.h44
-rw-r--r--tools/llvm-pdbdump/PrettyTypeDumper.cpp44
-rw-r--r--tools/llvm-pdbdump/PrettyVariableDumper.cpp8
-rw-r--r--tools/llvm-pdbdump/PrettyVariableDumper.h1
-rw-r--r--tools/llvm-pdbdump/YAMLOutputStyle.cpp136
-rw-r--r--tools/llvm-pdbdump/YAMLOutputStyle.h5
-rw-r--r--tools/llvm-pdbdump/llvm-pdbdump.cpp45
-rw-r--r--tools/llvm-pdbdump/llvm-pdbdump.h16
-rw-r--r--tools/llvm-xray/CMakeLists.txt1
-rw-r--r--tools/llvm-xray/xray-color-helper.cc34
-rw-r--r--tools/llvm-xray/xray-color-helper.h12
-rw-r--r--tools/llvm-xray/xray-graph-diff.cc484
-rw-r--r--tools/llvm-xray/xray-graph-diff.h74
-rw-r--r--tools/llvm-xray/xray-graph.cc196
-rw-r--r--tools/llvm-xray/xray-graph.h117
-rw-r--r--unittests/ADT/APFloatTest.cpp21
-rw-r--r--unittests/ADT/APIntTest.cpp58
-rw-r--r--unittests/ADT/BitVectorTest.cpp8
-rw-r--r--unittests/ADT/StringExtrasTest.cpp16
-rw-r--r--unittests/ADT/TripleTest.cpp6
-rw-r--r--unittests/Analysis/ScalarEvolutionTest.cpp99
-rw-r--r--unittests/DebugInfo/DWARF/DwarfGenerator.h2
-rw-r--r--unittests/Support/BranchProbabilityTest.cpp48
-rw-r--r--unittests/Support/Path.cpp7
-rw-r--r--utils/TableGen/AsmMatcherEmitter.cpp2
-rw-r--r--utils/TableGen/CodeEmitterGen.cpp2
-rw-r--r--utils/TableGen/GlobalISelEmitter.cpp251
-rw-r--r--utils/TableGen/SubtargetFeatureInfo.cpp32
-rw-r--r--utils/TableGen/SubtargetFeatureInfo.h40
-rw-r--r--utils/TableGen/Types.cpp1
-rwxr-xr-xutils/git-svn/git-llvm69
623 files changed, 150985 insertions, 64518 deletions
diff --git a/cmake/modules/HandleLLVMOptions.cmake b/cmake/modules/HandleLLVMOptions.cmake
index 099d2ebcc437..882d68e6b608 100644
--- a/cmake/modules/HandleLLVMOptions.cmake
+++ b/cmake/modules/HandleLLVMOptions.cmake
@@ -222,6 +222,13 @@ if( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )
endif( LLVM_BUILD_32_BITS )
endif( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )
+# If building on a GNU specific 32-bit system, make sure off_t is 64 bits
+# so that off_t can stored offset > 2GB
+if( CMAKE_SIZEOF_VOID_P EQUAL 4 )
+ add_definitions( -D_LARGEFILE_SOURCE )
+ add_definitions( -D_FILE_OFFSET_BITS=64 )
+endif()
+
if( XCODE )
# For Xcode enable several build settings that correspond to
# many warnings that are on by default in Clang but are
diff --git a/docs/AMDGPUUsage.rst b/docs/AMDGPUUsage.rst
index 5ff0f207f227..97497057fc96 100644
--- a/docs/AMDGPUUsage.rst
+++ b/docs/AMDGPUUsage.rst
@@ -82,9 +82,8 @@ handler as follows:
=============== ============= ===============================================
Usage Code Sequence Description
=============== ============= ===============================================
- llvm.trap s_endpgm Causes wavefront to be terminated.
- llvm.debugtrap s_nop No operation. Compiler warning generated that
- there is no trap handler installed.
+ llvm.trap s_endpgm Causes wavefront to be terminated.
+ llvm.debugtrap Nothing. Compiler warning generated that there is no trap handler installed.
=============== ============= ===============================================
Assembler
diff --git a/docs/GettingStarted.rst b/docs/GettingStarted.rst
index a88860310f64..d5c8ba4b8214 100644
--- a/docs/GettingStarted.rst
+++ b/docs/GettingStarted.rst
@@ -171,6 +171,8 @@ Linux PowerPC GCC, Clang
Solaris V9 (Ultrasparc) GCC
FreeBSD x86\ :sup:`1` GCC, Clang
FreeBSD amd64 GCC, Clang
+NetBSD x86\ :sup:`1` GCC, Clang
+NetBSD amd64 GCC, Clang
MacOS X\ :sup:`2` PowerPC GCC
MacOS X x86 GCC, Clang
Cygwin/Win32 x86\ :sup:`1, 3` GCC
diff --git a/docs/HowToAddABuilder.rst b/docs/HowToAddABuilder.rst
index fcc2293de052..08cbecdc2a57 100644
--- a/docs/HowToAddABuilder.rst
+++ b/docs/HowToAddABuilder.rst
@@ -83,6 +83,8 @@ Here are the steps you can follow to do so:
* slaves are added to ``buildbot/osuosl/master/config/slaves.py``
* builders are added to ``buildbot/osuosl/master/config/builders.py``
+ Please make sure your builder name and its builddir are unique through the file.
+
It is possible to whitelist email addresses to unconditionally receive notifications
on build failure; for this you'll need to add an ``InformativeMailNotifier`` to
``buildbot/osuosl/master/config/status.py``. This is particularly useful for the
diff --git a/docs/LibFuzzer.rst b/docs/LibFuzzer.rst
index 0b785a325e69..a11baa720ec8 100644
--- a/docs/LibFuzzer.rst
+++ b/docs/LibFuzzer.rst
@@ -87,10 +87,16 @@ Some important things to remember about fuzz targets:
* Usually, the narrower the target the better. E.g. if your target can parse several data formats, split it into several targets, one per format.
-Building
---------
+Fuzzer Usage
+------------
+
+Very recent versions of Clang (> April 20 2017) include libFuzzer,
+and no installation is necessary.
+In order to fuzz your binary, use the `-fsanitize=fuzzer` flag during the compilation::
-Next, build the libFuzzer library as a static archive, without any sanitizer
+ clang -fsanitize=fuzzer,address mytarget.c
+
+Otherwise, build the libFuzzer library as a static archive, without any sanitizer
options. Note that the libFuzzer library contains the ``main()`` function:
.. code-block:: console
@@ -728,6 +734,7 @@ to crash on invalid inputs.
Examples: regular expression matchers, text or binary format parsers, compression,
network, crypto.
+
Trophies
========
* GLIBC: https://sourceware.org/glibc/wiki/FuzzingLibc
diff --git a/include/llvm/ADT/APFloat.h b/include/llvm/ADT/APFloat.h
index e7e5036e6930..bef6efde1f01 100644
--- a/include/llvm/ADT/APFloat.h
+++ b/include/llvm/ADT/APFloat.h
@@ -397,6 +397,12 @@ public:
/// consider inserting before falling back to scientific
/// notation. 0 means to always use scientific notation.
///
+ /// \param TruncateZero Indicate whether to remove the trailing zero in
+ /// fraction part or not. Also setting this parameter to false forcing
+ /// producing of output more similar to default printf behavior.
+ /// Specifically the lower e is used as exponent delimiter and exponent
+ /// always contains no less than two digits.
+ ///
/// Number Precision MaxPadding Result
/// ------ --------- ---------- ------
/// 1.01E+4 5 2 10100
@@ -406,7 +412,7 @@ public:
/// 1.01E-2 4 2 0.0101
/// 1.01E-2 4 1 1.01E-2
void toString(SmallVectorImpl<char> &Str, unsigned FormatPrecision = 0,
- unsigned FormatMaxPadding = 3) const;
+ unsigned FormatMaxPadding = 3, bool TruncateZero = true) const;
/// If this value has an exact multiplicative inverse, store it in inv and
/// return true.
@@ -649,7 +655,7 @@ public:
bool isInteger() const;
void toString(SmallVectorImpl<char> &Str, unsigned FormatPrecision,
- unsigned FormatMaxPadding) const;
+ unsigned FormatMaxPadding, bool TruncateZero = true) const;
bool getExactInverse(APFloat *inv) const;
@@ -1144,9 +1150,9 @@ public:
APFloat &operator=(APFloat &&RHS) = default;
void toString(SmallVectorImpl<char> &Str, unsigned FormatPrecision = 0,
- unsigned FormatMaxPadding = 3) const {
+ unsigned FormatMaxPadding = 3, bool TruncateZero = true) const {
APFLOAT_DISPATCH_ON_SEMANTICS(
- toString(Str, FormatPrecision, FormatMaxPadding));
+ toString(Str, FormatPrecision, FormatMaxPadding, TruncateZero));
}
void print(raw_ostream &) const;
diff --git a/include/llvm/ADT/APInt.h b/include/llvm/ADT/APInt.h
index ceb623d34531..d0104c3f0fa9 100644
--- a/include/llvm/ADT/APInt.h
+++ b/include/llvm/ADT/APInt.h
@@ -78,6 +78,8 @@ public:
APINT_BITS_PER_WORD = APINT_WORD_SIZE * CHAR_BIT
};
+ static const WordType WORD_MAX = ~WordType(0);
+
private:
/// This union is used to store the integer value. When the
/// integer bit-width <= 64, it uses VAL, otherwise it uses pVal.
@@ -90,6 +92,8 @@ private:
friend struct DenseMapAPIntKeyInfo;
+ friend class APSInt;
+
/// \brief Fast internal constructor
///
/// This constructor is used only internally for speed of construction of
@@ -134,15 +138,10 @@ private:
/// zero'd out.
APInt &clearUnusedBits() {
// Compute how many bits are used in the final word
- unsigned wordBits = BitWidth % APINT_BITS_PER_WORD;
- if (wordBits == 0)
- // If all bits are used, we want to leave the value alone. This also
- // avoids the undefined behavior of >> when the shift is the same size as
- // the word size (64).
- return *this;
+ unsigned WordBits = ((BitWidth-1) % APINT_BITS_PER_WORD) + 1;
// Mask out the high bits.
- uint64_t mask = UINT64_MAX >> (APINT_BITS_PER_WORD - wordBits);
+ uint64_t mask = WORD_MAX >> (APINT_BITS_PER_WORD - WordBits);
if (isSingleWord())
VAL &= mask;
else
@@ -194,6 +193,9 @@ private:
/// out-of-line slow case for lshr.
void lshrSlowCase(unsigned ShiftAmt);
+ /// out-of-line slow case for ashr.
+ void ashrSlowCase(unsigned ShiftAmt);
+
/// out-of-line slow case for operator=
void AssignSlowCase(const APInt &RHS);
@@ -230,6 +232,14 @@ private:
/// out-of-line slow case for operator^=.
void XorAssignSlowCase(const APInt& RHS);
+ /// Unsigned comparison. Returns -1, 0, or 1 if this APInt is less than, equal
+ /// to, or greater than RHS.
+ int compare(const APInt &RHS) const LLVM_READONLY;
+
+ /// Signed comparison. Returns -1, 0, or 1 if this APInt is less than, equal
+ /// to, or greater than RHS.
+ int compareSigned(const APInt &RHS) const LLVM_READONLY;
+
public:
/// \name Constructors
/// @{
@@ -363,7 +373,7 @@ public:
/// This checks to see if the value has all bits of the APInt are set or not.
bool isAllOnesValue() const {
if (isSingleWord())
- return VAL == UINT64_MAX >> (APINT_BITS_PER_WORD - BitWidth);
+ return VAL == WORD_MAX >> (APINT_BITS_PER_WORD - BitWidth);
return countPopulationSlowCase() == BitWidth;
}
@@ -445,7 +455,7 @@ public:
assert(numBits != 0 && "numBits must be non-zero");
assert(numBits <= BitWidth && "numBits out of range");
if (isSingleWord())
- return VAL == (UINT64_MAX >> (APINT_BITS_PER_WORD - numBits));
+ return VAL == (WORD_MAX >> (APINT_BITS_PER_WORD - numBits));
unsigned Ones = countTrailingOnesSlowCase();
return (numBits == Ones) &&
((Ones + countLeadingZerosSlowCase()) == BitWidth);
@@ -509,7 +519,7 @@ public:
///
/// \returns the all-ones value for an APInt of the specified bit-width.
static APInt getAllOnesValue(unsigned numBits) {
- return APInt(numBits, UINT64_MAX, true);
+ return APInt(numBits, WORD_MAX, true);
}
/// \brief Get the '0' value.
@@ -886,7 +896,26 @@ public:
/// \brief Arithmetic right-shift function.
///
/// Arithmetic right-shift this APInt by shiftAmt.
- APInt ashr(unsigned shiftAmt) const;
+ APInt ashr(unsigned ShiftAmt) const {
+ APInt R(*this);
+ R.ashrInPlace(ShiftAmt);
+ return R;
+ }
+
+ /// Arithmetic right-shift this APInt by ShiftAmt in place.
+ void ashrInPlace(unsigned ShiftAmt) {
+ assert(ShiftAmt <= BitWidth && "Invalid shift amount");
+ if (isSingleWord()) {
+ int64_t SExtVAL = SignExtend64(VAL, BitWidth);
+ if (ShiftAmt == BitWidth)
+ VAL = SExtVAL >> (APINT_BITS_PER_WORD - 1); // Fill with sign bit.
+ else
+ VAL = SExtVAL >> ShiftAmt;
+ clearUnusedBits();
+ return;
+ }
+ ashrSlowCase(ShiftAmt);
+ }
/// \brief Logical right-shift function.
///
@@ -928,7 +957,14 @@ public:
/// \brief Arithmetic right-shift function.
///
/// Arithmetic right-shift this APInt by shiftAmt.
- APInt ashr(const APInt &shiftAmt) const;
+ APInt ashr(const APInt &ShiftAmt) const {
+ APInt R(*this);
+ R.ashrInPlace(ShiftAmt);
+ return R;
+ }
+
+ /// Arithmetic right-shift this APInt by shiftAmt in place.
+ void ashrInPlace(const APInt &shiftAmt);
/// \brief Logical right-shift function.
///
@@ -1079,7 +1115,7 @@ public:
/// the validity of the less-than relationship.
///
/// \returns true if *this < RHS when both are considered unsigned.
- bool ult(const APInt &RHS) const LLVM_READONLY;
+ bool ult(const APInt &RHS) const { return compare(RHS) < 0; }
/// \brief Unsigned less than comparison
///
@@ -1098,7 +1134,7 @@ public:
/// validity of the less-than relationship.
///
/// \returns true if *this < RHS when both are considered signed.
- bool slt(const APInt &RHS) const LLVM_READONLY;
+ bool slt(const APInt &RHS) const { return compareSigned(RHS) < 0; }
/// \brief Signed less than comparison
///
@@ -1117,7 +1153,7 @@ public:
/// validity of the less-or-equal relationship.
///
/// \returns true if *this <= RHS when both are considered unsigned.
- bool ule(const APInt &RHS) const { return ult(RHS) || eq(RHS); }
+ bool ule(const APInt &RHS) const { return compare(RHS) <= 0; }
/// \brief Unsigned less or equal comparison
///
@@ -1133,7 +1169,7 @@ public:
/// validity of the less-or-equal relationship.
///
/// \returns true if *this <= RHS when both are considered signed.
- bool sle(const APInt &RHS) const { return slt(RHS) || eq(RHS); }
+ bool sle(const APInt &RHS) const { return compareSigned(RHS) <= 0; }
/// \brief Signed less or equal comparison
///
@@ -1149,7 +1185,7 @@ public:
/// the validity of the greater-than relationship.
///
/// \returns true if *this > RHS when both are considered unsigned.
- bool ugt(const APInt &RHS) const { return !ult(RHS) && !eq(RHS); }
+ bool ugt(const APInt &RHS) const { return !ule(RHS); }
/// \brief Unsigned greater than comparison
///
@@ -1168,7 +1204,7 @@ public:
/// validity of the greater-than relationship.
///
/// \returns true if *this > RHS when both are considered signed.
- bool sgt(const APInt &RHS) const { return !slt(RHS) && !eq(RHS); }
+ bool sgt(const APInt &RHS) const { return !sle(RHS); }
/// \brief Signed greater than comparison
///
@@ -1286,7 +1322,7 @@ public:
/// \brief Set every bit to 1.
void setAllBits() {
if (isSingleWord())
- VAL = UINT64_MAX;
+ VAL = WORD_MAX;
else
// Set all the bits in all the words.
memset(pVal, -1, getNumWords() * APINT_WORD_SIZE);
@@ -1316,7 +1352,7 @@ public:
return;
}
if (loBit < APINT_BITS_PER_WORD && hiBit <= APINT_BITS_PER_WORD) {
- uint64_t mask = UINT64_MAX >> (APINT_BITS_PER_WORD - (hiBit - loBit));
+ uint64_t mask = WORD_MAX >> (APINT_BITS_PER_WORD - (hiBit - loBit));
mask <<= loBit;
if (isSingleWord())
VAL |= mask;
@@ -1358,7 +1394,7 @@ public:
/// \brief Toggle every bit to its opposite value.
void flipAllBits() {
if (isSingleWord()) {
- VAL ^= UINT64_MAX;
+ VAL ^= WORD_MAX;
clearUnusedBits();
} else {
flipAllBitsSlowCase();
@@ -1653,7 +1689,7 @@ public:
/// referencing 2 in a space where 2 does no exist.
unsigned nearestLogBase2() const {
// Special case when we have a bitwidth of 1. If VAL is 1, then we
- // get 0. If VAL is 0, we get UINT64_MAX which gets truncated to
+ // get 0. If VAL is 0, we get WORD_MAX which gets truncated to
// UINT32_MAX.
if (BitWidth == 1)
return VAL - 1;
diff --git a/include/llvm/ADT/APSInt.h b/include/llvm/ADT/APSInt.h
index 5b6dfa4a4b64..dabbf3314bd0 100644
--- a/include/llvm/ADT/APSInt.h
+++ b/include/llvm/ADT/APSInt.h
@@ -125,7 +125,10 @@ public:
return IsUnsigned ? APSInt(lshr(Amt), true) : APSInt(ashr(Amt), false);
}
APSInt& operator>>=(unsigned Amt) {
- *this = *this >> Amt;
+ if (IsUnsigned)
+ lshrInPlace(Amt);
+ else
+ ashrInPlace(Amt);
return *this;
}
@@ -179,7 +182,7 @@ public:
return APSInt(static_cast<const APInt&>(*this) << Bits, IsUnsigned);
}
APSInt& operator<<=(unsigned Amt) {
- *this = *this << Amt;
+ static_cast<APInt&>(*this) <<= Amt;
return *this;
}
@@ -285,12 +288,12 @@ public:
/// \brief Compare underlying values of two numbers.
static int compareValues(const APSInt &I1, const APSInt &I2) {
if (I1.getBitWidth() == I2.getBitWidth() && I1.isSigned() == I2.isSigned())
- return I1 == I2 ? 0 : I1 > I2 ? 1 : -1;
+ return I1.IsUnsigned ? I1.compare(I2) : I1.compareSigned(I2);
// Check for a bit-width mismatch.
if (I1.getBitWidth() > I2.getBitWidth())
return compareValues(I1, I2.extend(I1.getBitWidth()));
- else if (I2.getBitWidth() > I1.getBitWidth())
+ if (I2.getBitWidth() > I1.getBitWidth())
return compareValues(I1.extend(I2.getBitWidth()), I2);
// We have a signedness mismatch. Check for negative values and do an
@@ -305,7 +308,7 @@ public:
return 1;
}
- return I1.eq(I2) ? 0 : I1.ugt(I2) ? 1 : -1;
+ return I1.compare(I2);
}
static APSInt get(int64_t X) { return APSInt(APInt(64, X), false); }
diff --git a/include/llvm/ADT/BitVector.h b/include/llvm/ADT/BitVector.h
index e48c023ae7df..5aa101591e6e 100644
--- a/include/llvm/ADT/BitVector.h
+++ b/include/llvm/ADT/BitVector.h
@@ -15,7 +15,6 @@
#define LLVM_ADT_BITVECTOR_H
#include "llvm/ADT/ArrayRef.h"
-#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/MathExtras.h"
#include <algorithm>
#include <cassert>
@@ -35,9 +34,8 @@ class BitVector {
static_assert(BITWORD_SIZE == 64 || BITWORD_SIZE == 32,
"Unsupported word size");
- BitWord *Bits; // Actual bits.
- unsigned Size; // Size of bitvector in bits.
- unsigned Capacity; // Number of BitWords allocated in the Bits array.
+ MutableArrayRef<BitWord> Bits; // Actual bits.
+ unsigned Size; // Size of bitvector in bits.
public:
typedef unsigned size_type;
@@ -77,16 +75,14 @@ public:
/// BitVector default ctor - Creates an empty bitvector.
- BitVector() : Size(0), Capacity(0) {
- Bits = nullptr;
- }
+ BitVector() : Size(0) {}
/// BitVector ctor - Creates a bitvector of specified number of bits. All
/// bits are initialized to the specified value.
explicit BitVector(unsigned s, bool t = false) : Size(s) {
- Capacity = NumBitWords(s);
- Bits = (BitWord *)std::malloc(Capacity * sizeof(BitWord));
- init_words(Bits, Capacity, t);
+ size_t Capacity = NumBitWords(s);
+ Bits = allocate(Capacity);
+ init_words(Bits, t);
if (t)
clear_unused_bits();
}
@@ -94,25 +90,21 @@ public:
/// BitVector copy ctor.
BitVector(const BitVector &RHS) : Size(RHS.size()) {
if (Size == 0) {
- Bits = nullptr;
- Capacity = 0;
+ Bits = MutableArrayRef<BitWord>();
return;
}
- Capacity = NumBitWords(RHS.size());
- Bits = (BitWord *)std::malloc(Capacity * sizeof(BitWord));
- std::memcpy(Bits, RHS.Bits, Capacity * sizeof(BitWord));
+ size_t Capacity = NumBitWords(RHS.size());
+ Bits = allocate(Capacity);
+ std::memcpy(Bits.data(), RHS.Bits.data(), Capacity * sizeof(BitWord));
}
- BitVector(BitVector &&RHS)
- : Bits(RHS.Bits), Size(RHS.Size), Capacity(RHS.Capacity) {
- RHS.Bits = nullptr;
- RHS.Size = RHS.Capacity = 0;
+ BitVector(BitVector &&RHS) : Bits(RHS.Bits), Size(RHS.Size) {
+ RHS.Bits = MutableArrayRef<BitWord>();
+ RHS.Size = 0;
}
- ~BitVector() {
- std::free(Bits);
- }
+ ~BitVector() { std::free(Bits.data()); }
/// empty - Tests whether there are no bits in this bitvector.
bool empty() const { return Size == 0; }
@@ -163,6 +155,22 @@ public:
return -1;
}
+ /// find_last - Returns the index of the last set bit, -1 if none of the bits
+ /// are set.
+ int find_last() const {
+ if (Size == 0)
+ return -1;
+
+ unsigned N = NumBitWords(size());
+ assert(N > 0);
+
+ unsigned i = N - 1;
+ while (i > 0 && Bits[i] == BitWord(0))
+ --i;
+
+ return int((i + 1) * BITWORD_SIZE - countLeadingZeros(Bits[i])) - 1;
+ }
+
/// find_first_unset - Returns the index of the first unset bit, -1 if all
/// of the bits are set.
int find_first_unset() const {
@@ -174,6 +182,30 @@ public:
return -1;
}
+ /// find_last_unset - Returns the index of the last unset bit, -1 if all of
+ /// the bits are set.
+ int find_last_unset() const {
+ if (Size == 0)
+ return -1;
+
+ const unsigned N = NumBitWords(size());
+ assert(N > 0);
+
+ unsigned i = N - 1;
+ BitWord W = Bits[i];
+
+ // The last word in the BitVector has some unused bits, so we need to set
+ // them all to 1 first. Set them all to 1 so they don't get treated as
+ // valid unset bits.
+ unsigned UnusedCount = BITWORD_SIZE - size() % BITWORD_SIZE;
+ W |= maskLeadingOnes<BitWord>(UnusedCount);
+
+ while (W == ~BitWord(0) && --i > 0)
+ W = Bits[i];
+
+ return int((i + 1) * BITWORD_SIZE - countLeadingOnes(W)) - 1;
+ }
+
/// find_next - Returns the index of the next set bit following the
/// "Prev" bit. Returns -1 if the next set bit is not found.
int find_next(unsigned Prev) const {
@@ -228,10 +260,10 @@ public:
/// resize - Grow or shrink the bitvector.
void resize(unsigned N, bool t = false) {
- if (N > Capacity * BITWORD_SIZE) {
- unsigned OldCapacity = Capacity;
+ if (N > getBitCapacity()) {
+ unsigned OldCapacity = Bits.size();
grow(N);
- init_words(&Bits[OldCapacity], (Capacity-OldCapacity), t);
+ init_words(Bits.drop_front(OldCapacity), t);
}
// Set any old unused bits that are now included in the BitVector. This
@@ -248,19 +280,19 @@ public:
}
void reserve(unsigned N) {
- if (N > Capacity * BITWORD_SIZE)
+ if (N > getBitCapacity())
grow(N);
}
// Set, reset, flip
BitVector &set() {
- init_words(Bits, Capacity, true);
+ init_words(Bits, true);
clear_unused_bits();
return *this;
}
BitVector &set(unsigned Idx) {
- assert(Bits && "Bits never allocated");
+ assert(Bits.data() && "Bits never allocated");
Bits[Idx / BITWORD_SIZE] |= BitWord(1) << (Idx % BITWORD_SIZE);
return *this;
}
@@ -295,7 +327,7 @@ public:
}
BitVector &reset() {
- init_words(Bits, Capacity, false);
+ init_words(Bits, false);
return *this;
}
@@ -562,21 +594,21 @@ public:
Size = RHS.size();
unsigned RHSWords = NumBitWords(Size);
- if (Size <= Capacity * BITWORD_SIZE) {
+ if (Size <= getBitCapacity()) {
if (Size)
- std::memcpy(Bits, RHS.Bits, RHSWords * sizeof(BitWord));
+ std::memcpy(Bits.data(), RHS.Bits.data(), RHSWords * sizeof(BitWord));
clear_unused_bits();
return *this;
}
// Grow the bitvector to have enough elements.
- Capacity = RHSWords;
- assert(Capacity > 0 && "negative capacity?");
- BitWord *NewBits = (BitWord *)std::malloc(Capacity * sizeof(BitWord));
- std::memcpy(NewBits, RHS.Bits, Capacity * sizeof(BitWord));
+ unsigned NewCapacity = RHSWords;
+ assert(NewCapacity > 0 && "negative capacity?");
+ auto NewBits = allocate(NewCapacity);
+ std::memcpy(NewBits.data(), RHS.Bits.data(), NewCapacity * sizeof(BitWord));
// Destroy the old bits.
- std::free(Bits);
+ std::free(Bits.data());
Bits = NewBits;
return *this;
@@ -585,13 +617,12 @@ public:
const BitVector &operator=(BitVector &&RHS) {
if (this == &RHS) return *this;
- std::free(Bits);
+ std::free(Bits.data());
Bits = RHS.Bits;
Size = RHS.Size;
- Capacity = RHS.Capacity;
- RHS.Bits = nullptr;
- RHS.Size = RHS.Capacity = 0;
+ RHS.Bits = MutableArrayRef<BitWord>();
+ RHS.Size = 0;
return *this;
}
@@ -599,7 +630,6 @@ public:
void swap(BitVector &RHS) {
std::swap(Bits, RHS.Bits);
std::swap(Size, RHS.Size);
- std::swap(Capacity, RHS.Capacity);
}
//===--------------------------------------------------------------------===//
@@ -659,14 +689,14 @@ private:
uint32_t NumWords = NumBitWords(Size);
- auto Src = ArrayRef<BitWord>(Bits, NumWords).drop_back(Count);
- auto Dest = MutableArrayRef<BitWord>(Bits, NumWords).drop_front(Count);
+ auto Src = Bits.take_front(NumWords).drop_back(Count);
+ auto Dest = Bits.take_front(NumWords).drop_front(Count);
// Since we always move Word-sized chunks of data with src and dest both
// aligned to a word-boundary, we don't need to worry about endianness
// here.
std::memmove(Dest.begin(), Src.begin(), Dest.size() * sizeof(BitWord));
- std::memset(Bits, 0, Count * sizeof(BitWord));
+ std::memset(Bits.data(), 0, Count * sizeof(BitWord));
clear_unused_bits();
}
@@ -679,14 +709,19 @@ private:
uint32_t NumWords = NumBitWords(Size);
- auto Src = ArrayRef<BitWord>(Bits, NumWords).drop_front(Count);
- auto Dest = MutableArrayRef<BitWord>(Bits, NumWords).drop_back(Count);
+ auto Src = Bits.take_front(NumWords).drop_front(Count);
+ auto Dest = Bits.take_front(NumWords).drop_back(Count);
assert(Dest.size() == Src.size());
std::memmove(Dest.begin(), Src.begin(), Dest.size() * sizeof(BitWord));
std::memset(Dest.end(), 0, Count * sizeof(BitWord));
}
+ MutableArrayRef<BitWord> allocate(size_t NumWords) {
+ BitWord *RawBits = (BitWord *)std::malloc(NumWords * sizeof(BitWord));
+ return MutableArrayRef<BitWord>(RawBits, NumWords);
+ }
+
int next_unset_in_word(int WordIndex, BitWord Word) const {
unsigned Result = WordIndex * BITWORD_SIZE + countTrailingOnes(Word);
return Result < size() ? Result : -1;
@@ -700,8 +735,8 @@ private:
void set_unused_bits(bool t = true) {
// Set high words first.
unsigned UsedWords = NumBitWords(Size);
- if (Capacity > UsedWords)
- init_words(&Bits[UsedWords], (Capacity-UsedWords), t);
+ if (Bits.size() > UsedWords)
+ init_words(Bits.drop_front(UsedWords), t);
// Then set any stray high bits of the last used word.
unsigned ExtraBits = Size % BITWORD_SIZE;
@@ -720,16 +755,17 @@ private:
}
void grow(unsigned NewSize) {
- Capacity = std::max(NumBitWords(NewSize), Capacity * 2);
- assert(Capacity > 0 && "realloc-ing zero space");
- Bits = (BitWord *)std::realloc(Bits, Capacity * sizeof(BitWord));
-
+ size_t NewCapacity = std::max<size_t>(NumBitWords(NewSize), Bits.size() * 2);
+ assert(NewCapacity > 0 && "realloc-ing zero space");
+ BitWord *NewBits =
+ (BitWord *)std::realloc(Bits.data(), NewCapacity * sizeof(BitWord));
+ Bits = MutableArrayRef<BitWord>(NewBits, NewCapacity);
clear_unused_bits();
}
- void init_words(BitWord *B, unsigned NumWords, bool t) {
- if (NumWords > 0)
- memset(B, 0 - (int)t, NumWords*sizeof(BitWord));
+ void init_words(MutableArrayRef<BitWord> B, bool t) {
+ if (B.size() > 0)
+ memset(B.data(), 0 - (int)t, B.size() * sizeof(BitWord));
}
template<bool AddBits, bool InvertMask>
@@ -761,7 +797,8 @@ private:
public:
/// Return the size (in bytes) of the bit vector.
- size_t getMemorySize() const { return Capacity * sizeof(BitWord); }
+ size_t getMemorySize() const { return Bits.size() * sizeof(BitWord); }
+ size_t getBitCapacity() const { return Bits.size() * BITWORD_SIZE; }
};
static inline size_t capacity_in_bytes(const BitVector &X) {
diff --git a/include/llvm/ADT/SmallBitVector.h b/include/llvm/ADT/SmallBitVector.h
index 607e040a606c..bf16af5933f0 100644
--- a/include/llvm/ADT/SmallBitVector.h
+++ b/include/llvm/ADT/SmallBitVector.h
@@ -117,9 +117,7 @@ private:
}
// Return the size.
- size_t getSmallSize() const {
- return getSmallRawBits() >> SmallNumDataBits;
- }
+ size_t getSmallSize() const { return getSmallRawBits() >> SmallNumDataBits; }
void setSmallSize(size_t Size) {
setSmallRawBits(getSmallBits() | (Size << SmallNumDataBits));
@@ -216,6 +214,16 @@ public:
return getPointer()->find_first();
}
+ int find_last() const {
+ if (isSmall()) {
+ uintptr_t Bits = getSmallBits();
+ if (Bits == 0)
+ return -1;
+ return NumBaseBits - countLeadingZeros(Bits);
+ }
+ return getPointer()->find_last();
+ }
+
/// Returns the index of the first unset bit, -1 if all of the bits are set.
int find_first_unset() const {
if (isSmall()) {
@@ -228,6 +236,17 @@ public:
return getPointer()->find_first_unset();
}
+ int find_last_unset() const {
+ if (isSmall()) {
+ if (count() == getSmallSize())
+ return -1;
+
+ uintptr_t Bits = getSmallBits();
+ return NumBaseBits - countLeadingOnes(Bits);
+ }
+ return getPointer()->find_last_unset();
+ }
+
/// Returns the index of the next set bit following the "Prev" bit.
/// Returns -1 if the next set bit is not found.
int find_next(unsigned Prev) const {
diff --git a/include/llvm/ADT/StringExtras.h b/include/llvm/ADT/StringExtras.h
index 8214782bfe80..26f11924b771 100644
--- a/include/llvm/ADT/StringExtras.h
+++ b/include/llvm/ADT/StringExtras.h
@@ -76,6 +76,36 @@ static inline std::string toHex(StringRef Input) {
return Output;
}
+static inline uint8_t hexFromNibbles(char MSB, char LSB) {
+ unsigned U1 = hexDigitValue(MSB);
+ unsigned U2 = hexDigitValue(LSB);
+ assert(U1 != -1U && U2 != -1U);
+
+ return static_cast<uint8_t>((U1 << 4) | U2);
+}
+
+/// Convert hexadecimal string \p Input to its binary representation.
+/// The return string is half the size of \p Input.
+static inline std::string fromHex(StringRef Input) {
+ if (Input.empty())
+ return std::string();
+
+ std::string Output;
+ Output.reserve((Input.size() + 1) / 2);
+ if (Input.size() % 2 == 1) {
+ Output.push_back(hexFromNibbles('0', Input.front()));
+ Input = Input.drop_front();
+ }
+
+ assert(Input.size() % 2 == 0);
+ while (!Input.empty()) {
+ uint8_t Hex = hexFromNibbles(Input[0], Input[1]);
+ Output.push_back(Hex);
+ Input = Input.drop_front(2);
+ }
+ return Output;
+}
+
static inline std::string utostr(uint64_t X, bool isNeg = false) {
char Buffer[21];
char *BufPtr = std::end(Buffer);
diff --git a/include/llvm/ADT/Triple.h b/include/llvm/ADT/Triple.h
index e271075b7e2a..e3a8a31ba9bc 100644
--- a/include/llvm/ADT/Triple.h
+++ b/include/llvm/ADT/Triple.h
@@ -140,7 +140,8 @@ public:
Myriad,
AMD,
Mesa,
- LastVendorType = Mesa
+ SUSE,
+ LastVendorType = SUSE
};
enum OSType {
UnknownOS,
diff --git a/include/llvm/Analysis/DemandedBits.h b/include/llvm/Analysis/DemandedBits.h
index c603274a7161..e5fd8a0007fe 100644
--- a/include/llvm/Analysis/DemandedBits.h
+++ b/include/llvm/Analysis/DemandedBits.h
@@ -35,6 +35,7 @@ class Function;
class Instruction;
class DominatorTree;
class AssumptionCache;
+struct KnownBits;
class DemandedBits {
public:
@@ -58,8 +59,7 @@ private:
void determineLiveOperandBits(const Instruction *UserI,
const Instruction *I, unsigned OperandNo,
const APInt &AOut, APInt &AB,
- APInt &KnownZero, APInt &KnownOne,
- APInt &KnownZero2, APInt &KnownOne2);
+ KnownBits &Known, KnownBits &Known2);
bool Analyzed;
diff --git a/include/llvm/Analysis/InstructionSimplify.h b/include/llvm/Analysis/InstructionSimplify.h
index b829e995db05..25240dae75e7 100644
--- a/include/llvm/Analysis/InstructionSimplify.h
+++ b/include/llvm/Analysis/InstructionSimplify.h
@@ -47,8 +47,33 @@ namespace llvm {
class Type;
class Value;
+ struct SimplifyQuery {
+ const DataLayout &DL;
+ const TargetLibraryInfo *TLI = nullptr;
+ const DominatorTree *DT = nullptr;
+ AssumptionCache *AC = nullptr;
+ const Instruction *CxtI = nullptr;
+ SimplifyQuery(const DataLayout &DL) : DL(DL) {}
+
+ SimplifyQuery(const DataLayout &DL, const TargetLibraryInfo *TLI,
+ const DominatorTree *DT, AssumptionCache *AC = nullptr,
+ const Instruction *CXTI = nullptr)
+ : DL(DL), TLI(TLI), DT(DT), AC(AC), CxtI(CXTI) {}
+ SimplifyQuery getWithInstruction(Instruction *I) const {
+ SimplifyQuery Copy(*this);
+ Copy.CxtI = I;
+ return Copy;
+ }
+ };
+
+ // NOTE: the explicit multiple argument versions of these functions are
+ // deprecated.
+ // Please use the SimplifyQuery versions in new code.
+
/// Given operands for an Add, fold the result or return null.
Value *SimplifyAddInst(Value *LHS, Value *RHS, bool isNSW, bool isNUW,
+ const SimplifyQuery &Q);
+ Value *SimplifyAddInst(Value *LHS, Value *RHS, bool isNSW, bool isNUW,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -57,6 +82,8 @@ namespace llvm {
/// Given operands for a Sub, fold the result or return null.
Value *SimplifySubInst(Value *LHS, Value *RHS, bool isNSW, bool isNUW,
+ const SimplifyQuery &Q);
+ Value *SimplifySubInst(Value *LHS, Value *RHS, bool isNSW, bool isNUW,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -65,6 +92,8 @@ namespace llvm {
/// Given operands for an FAdd, fold the result or return null.
Value *SimplifyFAddInst(Value *LHS, Value *RHS, FastMathFlags FMF,
+ const SimplifyQuery &Q);
+ Value *SimplifyFAddInst(Value *LHS, Value *RHS, FastMathFlags FMF,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -73,6 +102,8 @@ namespace llvm {
/// Given operands for an FSub, fold the result or return null.
Value *SimplifyFSubInst(Value *LHS, Value *RHS, FastMathFlags FMF,
+ const SimplifyQuery &Q);
+ Value *SimplifyFSubInst(Value *LHS, Value *RHS, FastMathFlags FMF,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -81,6 +112,8 @@ namespace llvm {
/// Given operands for an FMul, fold the result or return null.
Value *SimplifyFMulInst(Value *LHS, Value *RHS, FastMathFlags FMF,
+ const SimplifyQuery &Q);
+ Value *SimplifyFMulInst(Value *LHS, Value *RHS, FastMathFlags FMF,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -88,6 +121,7 @@ namespace llvm {
const Instruction *CxtI = nullptr);
/// Given operands for a Mul, fold the result or return null.
+ Value *SimplifyMulInst(Value *LHS, Value *RHS, const SimplifyQuery &Q);
Value *SimplifyMulInst(Value *LHS, Value *RHS, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -95,6 +129,7 @@ namespace llvm {
const Instruction *CxtI = nullptr);
/// Given operands for an SDiv, fold the result or return null.
+ Value *SimplifySDivInst(Value *LHS, Value *RHS, const SimplifyQuery &Q);
Value *SimplifySDivInst(Value *LHS, Value *RHS, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -102,6 +137,7 @@ namespace llvm {
const Instruction *CxtI = nullptr);
/// Given operands for a UDiv, fold the result or return null.
+ Value *SimplifyUDivInst(Value *LHS, Value *RHS, const SimplifyQuery &Q);
Value *SimplifyUDivInst(Value *LHS, Value *RHS, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -110,6 +146,8 @@ namespace llvm {
/// Given operands for an FDiv, fold the result or return null.
Value *SimplifyFDivInst(Value *LHS, Value *RHS, FastMathFlags FMF,
+ const SimplifyQuery &Q);
+ Value *SimplifyFDivInst(Value *LHS, Value *RHS, FastMathFlags FMF,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -117,6 +155,7 @@ namespace llvm {
const Instruction *CxtI = nullptr);
/// Given operands for an SRem, fold the result or return null.
+ Value *SimplifySRemInst(Value *LHS, Value *RHS, const SimplifyQuery &Q);
Value *SimplifySRemInst(Value *LHS, Value *RHS, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -124,6 +163,7 @@ namespace llvm {
const Instruction *CxtI = nullptr);
/// Given operands for a URem, fold the result or return null.
+ Value *SimplifyURemInst(Value *LHS, Value *RHS, const SimplifyQuery &Q);
Value *SimplifyURemInst(Value *LHS, Value *RHS, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -132,6 +172,8 @@ namespace llvm {
/// Given operands for an FRem, fold the result or return null.
Value *SimplifyFRemInst(Value *LHS, Value *RHS, FastMathFlags FMF,
+ const SimplifyQuery &Q);
+ Value *SimplifyFRemInst(Value *LHS, Value *RHS, FastMathFlags FMF,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -140,6 +182,8 @@ namespace llvm {
/// Given operands for a Shl, fold the result or return null.
Value *SimplifyShlInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
+ const SimplifyQuery &Q);
+ Value *SimplifyShlInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -148,6 +192,8 @@ namespace llvm {
/// Given operands for a LShr, fold the result or return null.
Value *SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact,
+ const SimplifyQuery &Q);
+ Value *SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -156,6 +202,8 @@ namespace llvm {
/// Given operands for a AShr, fold the result or return nulll.
Value *SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact,
+ const SimplifyQuery &Q);
+ Value *SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -163,6 +211,7 @@ namespace llvm {
const Instruction *CxtI = nullptr);
/// Given operands for an And, fold the result or return null.
+ Value *SimplifyAndInst(Value *LHS, Value *RHS, const SimplifyQuery &Q);
Value *SimplifyAndInst(Value *LHS, Value *RHS, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -170,6 +219,7 @@ namespace llvm {
const Instruction *CxtI = nullptr);
/// Given operands for an Or, fold the result or return null.
+ Value *SimplifyOrInst(Value *LHS, Value *RHS, const SimplifyQuery &Q);
Value *SimplifyOrInst(Value *LHS, Value *RHS, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -177,6 +227,7 @@ namespace llvm {
const Instruction *CxtI = nullptr);
/// Given operands for an Xor, fold the result or return null.
+ Value *SimplifyXorInst(Value *LHS, Value *RHS, const SimplifyQuery &Q);
Value *SimplifyXorInst(Value *LHS, Value *RHS, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -185,6 +236,8 @@ namespace llvm {
/// Given operands for an ICmpInst, fold the result or return null.
Value *SimplifyICmpInst(unsigned Predicate, Value *LHS, Value *RHS,
+ const SimplifyQuery &Q);
+ Value *SimplifyICmpInst(unsigned Predicate, Value *LHS, Value *RHS,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -193,6 +246,8 @@ namespace llvm {
/// Given operands for an FCmpInst, fold the result or return null.
Value *SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
+ FastMathFlags FMF, const SimplifyQuery &Q);
+ Value *SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
FastMathFlags FMF, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -201,13 +256,17 @@ namespace llvm {
/// Given operands for a SelectInst, fold the result or return null.
Value *SimplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal,
+ const SimplifyQuery &Q);
+ Value *SimplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
AssumptionCache *AC = nullptr,
const Instruction *CxtI = nullptr);
- /// Given operands for a GetElementPtrInst, fold the result or return null.
+ /// Given operands for a GetElementPtrInst, fold the result or return null.
+ Value *SimplifyGEPInst(Type *SrcTy, ArrayRef<Value *> Ops,
+ const SimplifyQuery &Q);
Value *SimplifyGEPInst(Type *SrcTy, ArrayRef<Value *> Ops,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
@@ -217,6 +276,9 @@ namespace llvm {
/// Given operands for an InsertValueInst, fold the result or return null.
Value *SimplifyInsertValueInst(Value *Agg, Value *Val,
+ ArrayRef<unsigned> Idxs,
+ const SimplifyQuery &Q);
+ Value *SimplifyInsertValueInst(Value *Agg, Value *Val,
ArrayRef<unsigned> Idxs, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -225,6 +287,8 @@ namespace llvm {
/// Given operands for an ExtractValueInst, fold the result or return null.
Value *SimplifyExtractValueInst(Value *Agg, ArrayRef<unsigned> Idxs,
+ const SimplifyQuery &Q);
+ Value *SimplifyExtractValueInst(Value *Agg, ArrayRef<unsigned> Idxs,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -233,6 +297,8 @@ namespace llvm {
/// Given operands for an ExtractElementInst, fold the result or return null.
Value *SimplifyExtractElementInst(Value *Vec, Value *Idx,
+ const SimplifyQuery &Q);
+ Value *SimplifyExtractElementInst(Value *Vec, Value *Idx,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -241,6 +307,8 @@ namespace llvm {
/// Given operands for a CastInst, fold the result or return null.
Value *SimplifyCastInst(unsigned CastOpc, Value *Op, Type *Ty,
+ const SimplifyQuery &Q);
+ Value *SimplifyCastInst(unsigned CastOpc, Value *Op, Type *Ty,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -249,6 +317,8 @@ namespace llvm {
/// Given operands for a ShuffleVectorInst, fold the result or return null.
Value *SimplifyShuffleVectorInst(Value *Op0, Value *Op1, Constant *Mask,
+ Type *RetTy, const SimplifyQuery &Q);
+ Value *SimplifyShuffleVectorInst(Value *Op0, Value *Op1, Constant *Mask,
Type *RetTy, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -260,6 +330,8 @@ namespace llvm {
/// Given operands for a CmpInst, fold the result or return null.
Value *SimplifyCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
+ const SimplifyQuery &Q);
+ Value *SimplifyCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -268,6 +340,8 @@ namespace llvm {
/// Given operands for a BinaryOperator, fold the result or return null.
Value *SimplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS,
+ const SimplifyQuery &Q);
+ Value *SimplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS,
const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -278,7 +352,9 @@ namespace llvm {
/// In contrast to SimplifyBinOp, try to use FastMathFlag when folding the
/// result. In case we don't need FastMathFlags, simply fall to SimplifyBinOp.
Value *SimplifyFPBinOp(unsigned Opcode, Value *LHS, Value *RHS,
- const FastMathFlags &FMF, const DataLayout &DL,
+ FastMathFlags FMF, const SimplifyQuery &Q);
+ Value *SimplifyFPBinOp(unsigned Opcode, Value *LHS, Value *RHS,
+ FastMathFlags FMF, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
AssumptionCache *AC = nullptr,
@@ -287,6 +363,8 @@ namespace llvm {
/// Given a function and iterators over arguments, fold the result or return
/// null.
Value *SimplifyCall(Value *V, User::op_iterator ArgBegin,
+ User::op_iterator ArgEnd, const SimplifyQuery &Q);
+ Value *SimplifyCall(Value *V, User::op_iterator ArgBegin,
User::op_iterator ArgEnd, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -294,6 +372,7 @@ namespace llvm {
const Instruction *CxtI = nullptr);
/// Given a function and set of arguments, fold the result or return null.
+ Value *SimplifyCall(Value *V, ArrayRef<Value *> Args, const SimplifyQuery &Q);
Value *SimplifyCall(Value *V, ArrayRef<Value *> Args, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
@@ -302,6 +381,8 @@ namespace llvm {
/// See if we can compute a simplified version of this instruction. If not,
/// return null.
+ Value *SimplifyInstruction(Instruction *I, const SimplifyQuery &Q,
+ OptimizationRemarkEmitter *ORE = nullptr);
Value *SimplifyInstruction(Instruction *I, const DataLayout &DL,
const TargetLibraryInfo *TLI = nullptr,
const DominatorTree *DT = nullptr,
diff --git a/include/llvm/Analysis/LoopInfo.h b/include/llvm/Analysis/LoopInfo.h
index 2fad1737d1c0..096df1e421a7 100644
--- a/include/llvm/Analysis/LoopInfo.h
+++ b/include/llvm/Analysis/LoopInfo.h
@@ -158,7 +158,7 @@ public:
/// True if terminator in the block can branch to another block that is
/// outside of the current loop.
bool isLoopExiting(const BlockT *BB) const {
- for (const auto Succ : children<const BlockT*>(BB)) {
+ for (const auto &Succ : children<const BlockT*>(BB)) {
if (!contains(Succ))
return true;
}
diff --git a/include/llvm/Analysis/LoopInfoImpl.h b/include/llvm/Analysis/LoopInfoImpl.h
index 6dc0422ce0e9..66c9f68afc60 100644
--- a/include/llvm/Analysis/LoopInfoImpl.h
+++ b/include/llvm/Analysis/LoopInfoImpl.h
@@ -35,7 +35,7 @@ template<class BlockT, class LoopT>
void LoopBase<BlockT, LoopT>::
getExitingBlocks(SmallVectorImpl<BlockT *> &ExitingBlocks) const {
for (const auto BB : blocks())
- for (const auto Succ : children<BlockT*>(BB))
+ for (const auto &Succ : children<BlockT*>(BB))
if (!contains(Succ)) {
// Not in current loop? It must be an exit block.
ExitingBlocks.push_back(BB);
@@ -61,7 +61,7 @@ template<class BlockT, class LoopT>
void LoopBase<BlockT, LoopT>::
getExitBlocks(SmallVectorImpl<BlockT*> &ExitBlocks) const {
for (const auto BB : blocks())
- for (const auto Succ : children<BlockT*>(BB))
+ for (const auto &Succ : children<BlockT*>(BB))
if (!contains(Succ))
// Not in current loop? It must be an exit block.
ExitBlocks.push_back(Succ);
@@ -83,7 +83,7 @@ template<class BlockT, class LoopT>
void LoopBase<BlockT, LoopT>::
getExitEdges(SmallVectorImpl<Edge> &ExitEdges) const {
for (const auto BB : blocks())
- for (const auto Succ : children<BlockT*>(BB))
+ for (const auto &Succ : children<BlockT*>(BB))
if (!contains(Succ))
// Not in current loop? It must be an exit block.
ExitEdges.emplace_back(BB, Succ);
diff --git a/include/llvm/Analysis/RegionInfo.h b/include/llvm/Analysis/RegionInfo.h
index caeb21db613e..16ee07fa3177 100644
--- a/include/llvm/Analysis/RegionInfo.h
+++ b/include/llvm/Analysis/RegionInfo.h
@@ -708,10 +708,24 @@ class RegionInfoBase {
/// The top level region.
RegionT *TopLevelRegion;
-private:
/// Map every BB to the smallest region, that contains BB.
BBtoRegionMap BBtoRegion;
+protected:
+ /// \brief Update refences to a RegionInfoT held by the RegionT managed here
+ ///
+ /// This is a post-move helper. Regions hold references to the owning
+ /// RegionInfo object. After a move these need to be fixed.
+ template<typename TheRegionT>
+ void updateRegionTree(RegionInfoT &RI, TheRegionT *R) {
+ if (!R)
+ return;
+ R->RI = &RI;
+ for (auto &SubR : *R)
+ updateRegionTree(RI, SubR.get());
+ }
+
+private:
/// \brief Wipe this region tree's state without releasing any resources.
///
/// This is essentially a post-move helper only. It leaves the object in an
@@ -879,10 +893,12 @@ public:
~RegionInfo() override;
- RegionInfo(RegionInfo &&Arg)
- : Base(std::move(static_cast<Base &>(Arg))) {}
+ RegionInfo(RegionInfo &&Arg) : Base(std::move(static_cast<Base &>(Arg))) {
+ updateRegionTree(*this, TopLevelRegion);
+ }
RegionInfo &operator=(RegionInfo &&RHS) {
Base::operator=(std::move(static_cast<Base &>(RHS)));
+ updateRegionTree(*this, TopLevelRegion);
return *this;
}
diff --git a/include/llvm/Analysis/ScalarEvolution.h b/include/llvm/Analysis/ScalarEvolution.h
index 91aeae0f728f..54bc4dcfd2cd 100644
--- a/include/llvm/Analysis/ScalarEvolution.h
+++ b/include/llvm/Analysis/ScalarEvolution.h
@@ -877,6 +877,47 @@ private:
bool ControlsExit,
bool AllowPredicates = false);
+ // Helper functions for computeExitLimitFromCond to avoid exponential time
+ // complexity.
+
+ class ExitLimitCache {
+ // It may look like we need key on the whole (L, TBB, FBB, ControlsExit,
+ // AllowPredicates) tuple, but recursive calls to
+ // computeExitLimitFromCondCached from computeExitLimitFromCondImpl only
+ // vary the in \c ExitCond and \c ControlsExit parameters. We remember the
+ // initial values of the other values to assert our assumption.
+ SmallDenseMap<PointerIntPair<Value *, 1>, ExitLimit> TripCountMap;
+
+ const Loop *L;
+ BasicBlock *TBB;
+ BasicBlock *FBB;
+ bool AllowPredicates;
+
+ public:
+ ExitLimitCache(const Loop *L, BasicBlock *TBB, BasicBlock *FBB,
+ bool AllowPredicates)
+ : L(L), TBB(TBB), FBB(FBB), AllowPredicates(AllowPredicates) {}
+
+ Optional<ExitLimit> find(const Loop *L, Value *ExitCond, BasicBlock *TBB,
+ BasicBlock *FBB, bool ControlsExit,
+ bool AllowPredicates);
+
+ void insert(const Loop *L, Value *ExitCond, BasicBlock *TBB,
+ BasicBlock *FBB, bool ControlsExit, bool AllowPredicates,
+ const ExitLimit &EL);
+ };
+
+ typedef ExitLimitCache ExitLimitCacheTy;
+ ExitLimit computeExitLimitFromCondCached(ExitLimitCacheTy &Cache,
+ const Loop *L, Value *ExitCond,
+ BasicBlock *TBB, BasicBlock *FBB,
+ bool ControlsExit,
+ bool AllowPredicates);
+ ExitLimit computeExitLimitFromCondImpl(ExitLimitCacheTy &Cache, const Loop *L,
+ Value *ExitCond, BasicBlock *TBB,
+ BasicBlock *FBB, bool ControlsExit,
+ bool AllowPredicates);
+
/// Compute the number of times the backedge of the specified loop will
/// execute if its exit condition were a conditional branch of the ICmpInst
/// ExitCond, TBB, and FBB. If AllowPredicates is set, this call will try
diff --git a/include/llvm/Analysis/ValueTracking.h b/include/llvm/Analysis/ValueTracking.h
index e3c2f3bed227..764308dceed9 100644
--- a/include/llvm/Analysis/ValueTracking.h
+++ b/include/llvm/Analysis/ValueTracking.h
@@ -29,6 +29,7 @@ template <typename T> class ArrayRef;
class DominatorTree;
class GEPOperator;
class Instruction;
+ struct KnownBits;
class Loop;
class LoopInfo;
class OptimizationRemarkEmitter;
@@ -49,7 +50,7 @@ template <typename T> class ArrayRef;
/// where V is a vector, the known zero and known one values are the
/// same width as the vector element, and the bit is set only if it is true
/// for all of the elements in the vector.
- void computeKnownBits(const Value *V, APInt &KnownZero, APInt &KnownOne,
+ void computeKnownBits(const Value *V, KnownBits &Known,
const DataLayout &DL, unsigned Depth = 0,
AssumptionCache *AC = nullptr,
const Instruction *CxtI = nullptr,
diff --git a/include/llvm/CodeGen/DIE.h b/include/llvm/CodeGen/DIE.h
index 95c4b4248bbd..a40147336fe2 100644
--- a/include/llvm/CodeGen/DIE.h
+++ b/include/llvm/CodeGen/DIE.h
@@ -793,6 +793,9 @@ class DIEUnit {
uint32_t Length; /// The length in bytes of all of the DIEs in this unit.
const uint16_t Version; /// The Dwarf version number for this unit.
const uint8_t AddrSize; /// The size in bytes of an address for this unit.
+protected:
+ ~DIEUnit() = default;
+
public:
DIEUnit(uint16_t Version, uint8_t AddrSize, dwarf::Tag UnitTag);
DIEUnit(const DIEUnit &RHS) = delete;
@@ -808,6 +811,10 @@ public:
this->Section = Section;
}
+ virtual const MCSymbol *getCrossSectionRelativeBaseAddress() const {
+ return nullptr;
+ }
+
/// Return the section that this DIEUnit will be emitted into.
///
/// \returns Section pointer which can be NULL.
@@ -822,7 +829,11 @@ public:
const DIE &getUnitDie() const { return Die; }
};
-
+struct BasicDIEUnit final : DIEUnit {
+ BasicDIEUnit(uint16_t Version, uint8_t AddrSize, dwarf::Tag UnitTag)
+ : DIEUnit(Version, AddrSize, UnitTag) {}
+};
+
//===--------------------------------------------------------------------===//
/// DIELoc - Represents an expression location.
//
diff --git a/include/llvm/CodeGen/GlobalISel/InstructionSelector.h b/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
index 911e8756070b..899563acc330 100644
--- a/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
+++ b/include/llvm/CodeGen/GlobalISel/InstructionSelector.h
@@ -18,20 +18,52 @@
#include "llvm/ADT/Optional.h"
#include <cstdint>
+#include <bitset>
+#include <functional>
namespace llvm {
class MachineInstr;
+class MachineInstrBuilder;
+class MachineFunction;
class MachineOperand;
class MachineRegisterInfo;
class RegisterBankInfo;
class TargetInstrInfo;
class TargetRegisterInfo;
+/// Container class for CodeGen predicate results.
+/// This is convenient because std::bitset does not have a constructor
+/// with an initializer list of set bits.
+///
+/// Each InstructionSelector subclass should define a PredicateBitset class with:
+/// const unsigned MAX_SUBTARGET_PREDICATES = 192;
+/// using PredicateBitset = PredicateBitsetImpl<MAX_SUBTARGET_PREDICATES>;
+/// and updating the constant to suit the target. Tablegen provides a suitable
+/// definition for the predicates in use in <Target>GenGlobalISel.inc when
+/// GET_GLOBALISEL_PREDICATE_BITSET is defined.
+template <std::size_t MaxPredicates>
+class PredicateBitsetImpl : public std::bitset<MaxPredicates> {
+public:
+ // Cannot inherit constructors because it's not supported by VC++..
+ PredicateBitsetImpl() = default;
+
+ PredicateBitsetImpl(const std::bitset<MaxPredicates> &B)
+ : std::bitset<MaxPredicates>(B) {}
+
+ PredicateBitsetImpl(std::initializer_list<unsigned> Init) {
+ for (auto I : Init)
+ std::bitset<MaxPredicates>::set(I);
+ }
+};
+
/// Provides the logic to select generic machine instructions.
class InstructionSelector {
public:
virtual ~InstructionSelector() {}
+ /// This is executed before selecting a function.
+ virtual void beginFunction(const MachineFunction &MF) {}
+
/// Select the (possibly generic) instruction \p I to only use target-specific
/// opcodes. It is OK to insert multiple instructions, but they cannot be
/// generic pre-isel instructions.
@@ -46,6 +78,8 @@ public:
virtual bool select(MachineInstr &I) const = 0;
protected:
+ typedef std::function<void(MachineInstrBuilder &)> ComplexRendererFn;
+
InstructionSelector();
/// Mutate the newly-selected instruction \p I to constrain its (possibly
diff --git a/include/llvm/CodeGen/MachineOperand.h b/include/llvm/CodeGen/MachineOperand.h
index 81b43126adeb..e16354088296 100644
--- a/include/llvm/CodeGen/MachineOperand.h
+++ b/include/llvm/CodeGen/MachineOperand.h
@@ -65,7 +65,6 @@ public:
MO_CFIIndex, ///< MCCFIInstruction index.
MO_IntrinsicID, ///< Intrinsic ID for ISel
MO_Predicate, ///< Generic predicate for ISel
- MO_Placeholder, ///< Placeholder for GlobalISel ComplexPattern result.
};
private:
@@ -768,11 +767,6 @@ public:
return Op;
}
- static MachineOperand CreatePlaceholder() {
- MachineOperand Op(MachineOperand::MO_Placeholder);
- return Op;
- }
-
friend class MachineInstr;
friend class MachineRegisterInfo;
private:
diff --git a/include/llvm/CodeGen/SelectionDAG.h b/include/llvm/CodeGen/SelectionDAG.h
index 6f0509543e7d..4bb658898fb5 100644
--- a/include/llvm/CodeGen/SelectionDAG.h
+++ b/include/llvm/CodeGen/SelectionDAG.h
@@ -654,6 +654,15 @@ public:
return getNode(ISD::BUILD_VECTOR, DL, VT, Ops);
}
+ /// Return an ISD::BUILD_VECTOR node. The number of elements in VT,
+ /// which must be a vector type, must match the number of operands in Ops.
+ /// The operands must have the same type as (or, for integers, a type wider
+ /// than) VT's element type.
+ SDValue getBuildVector(EVT VT, const SDLoc &DL, ArrayRef<SDUse> Ops) {
+ // VerifySDNode (via InsertNode) checks BUILD_VECTOR later.
+ return getNode(ISD::BUILD_VECTOR, DL, VT, Ops);
+ }
+
/// Return a splat ISD::BUILD_VECTOR node, consisting of Op splatted to all
/// elements. VT must be a vector type. Op's type must be the same as (or,
/// for integers, a type wider than) VT's element type.
@@ -968,7 +977,7 @@ public:
bool IsExpanding = false);
SDValue getMaskedStore(SDValue Chain, const SDLoc &dl, SDValue Val,
SDValue Ptr, SDValue Mask, EVT MemVT,
- MachineMemOperand *MMO, bool IsTruncating = false,
+ MachineMemOperand *MMO, bool IsTruncating = false,
bool IsCompressing = false);
SDValue getMaskedGather(SDVTList VTs, EVT VT, const SDLoc &dl,
ArrayRef<SDValue> Ops, MachineMemOperand *MMO);
diff --git a/include/llvm/DebugInfo/CodeView/CodeView.h b/include/llvm/DebugInfo/CodeView/CodeView.h
index 2791c9dc3746..e599f8a19e34 100644
--- a/include/llvm/DebugInfo/CodeView/CodeView.h
+++ b/include/llvm/DebugInfo/CodeView/CodeView.h
@@ -546,7 +546,7 @@ enum class TrampolineType : uint16_t { TrampIncremental, BranchIsland };
// These values correspond to the CV_SourceChksum_t enumeration.
enum class FileChecksumKind : uint8_t { None, MD5, SHA1, SHA256 };
-enum LineFlags : uint32_t {
+enum LineFlags : uint16_t {
HaveColumns = 1, // CV_LINES_HAVE_COLUMNS
};
}
diff --git a/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h b/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h
index 1a40654a3f33..31344a9427db 100644
--- a/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h
+++ b/include/llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h
@@ -81,7 +81,7 @@ public:
BinaryStreamReader Reader(Stream);
if (auto EC = Reader.readObject(BlockHeader))
return EC;
- bool HasColumn = Header->Flags & LineFlags::HaveColumns;
+ bool HasColumn = Header->Flags & uint32_t(LineFlags::HaveColumns);
uint32_t LineInfoSize =
BlockHeader->NumLines *
(sizeof(LineNumberEntry) + (HasColumn ? sizeof(ColumnNumberEntry) : 0));
diff --git a/include/llvm/DebugInfo/CodeView/TypeDumperBase.h b/include/llvm/DebugInfo/CodeView/TypeDumperBase.h
deleted file mode 100644
index e69de29bb2d1..000000000000
--- a/include/llvm/DebugInfo/CodeView/TypeDumperBase.h
+++ /dev/null
diff --git a/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h b/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
index b2a4d247ccc6..a46d46a5bff3 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFCompileUnit.h
@@ -18,9 +18,9 @@ namespace llvm {
class DWARFCompileUnit : public DWARFUnit {
public:
DWARFCompileUnit(DWARFContext &Context, const DWARFSection &Section,
- const DWARFDebugAbbrev *DA, StringRef RS, StringRef SS,
- StringRef SOS, StringRef AOS, StringRef LS, bool LE,
- bool IsDWO, const DWARFUnitSectionBase &UnitSection,
+ const DWARFDebugAbbrev *DA, const DWARFSection *RS,
+ StringRef SS, StringRef SOS, StringRef AOS, StringRef LS,
+ bool LE, bool IsDWO, const DWARFUnitSectionBase &UnitSection,
const DWARFUnitIndex::Entry *Entry)
: DWARFUnit(Context, Section, DA, RS, SS, SOS, AOS, LS, LE, IsDWO,
UnitSection, Entry) {}
diff --git a/include/llvm/DebugInfo/DWARF/DWARFContext.h b/include/llvm/DebugInfo/DWARF/DWARFContext.h
index f941cdd1060a..d89e2c684cd3 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFContext.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFContext.h
@@ -50,6 +50,11 @@ class raw_ostream;
// entire size of the debug info sections.
typedef DenseMap<uint64_t, std::pair<uint8_t, int64_t>> RelocAddrMap;
+/// Reads a value from data extractor and applies a relocation to the result if
+/// one exists for the given offset.
+uint64_t getRelocatedValue(const DataExtractor &Data, uint32_t Size,
+ uint32_t *Off, const RelocAddrMap *Relocs);
+
/// DWARFContext
/// This data structure is the top level entity that deals with dwarf debug
/// information parsing. The actual data is supplied through pure virtual
@@ -216,7 +221,7 @@ public:
virtual StringRef getEHFrameSection() = 0;
virtual const DWARFSection &getLineSection() = 0;
virtual StringRef getStringSection() = 0;
- virtual StringRef getRangeSection() = 0;
+ virtual const DWARFSection& getRangeSection() = 0;
virtual StringRef getMacinfoSection() = 0;
virtual StringRef getPubNamesSection() = 0;
virtual StringRef getPubTypesSection() = 0;
@@ -231,7 +236,7 @@ public:
virtual const DWARFSection &getLocDWOSection() = 0;
virtual StringRef getStringDWOSection() = 0;
virtual StringRef getStringOffsetDWOSection() = 0;
- virtual StringRef getRangeDWOSection() = 0;
+ virtual const DWARFSection &getRangeDWOSection() = 0;
virtual StringRef getAddrSection() = 0;
virtual const DWARFSection& getAppleNamesSection() = 0;
virtual const DWARFSection& getAppleTypesSection() = 0;
@@ -271,7 +276,7 @@ class DWARFContextInMemory : public DWARFContext {
StringRef EHFrameSection;
DWARFSection LineSection;
StringRef StringSection;
- StringRef RangeSection;
+ DWARFSection RangeSection;
StringRef MacinfoSection;
StringRef PubNamesSection;
StringRef PubTypesSection;
@@ -286,7 +291,7 @@ class DWARFContextInMemory : public DWARFContext {
DWARFSection LocDWOSection;
StringRef StringDWOSection;
StringRef StringOffsetDWOSection;
- StringRef RangeDWOSection;
+ DWARFSection RangeDWOSection;
StringRef AddrSection;
DWARFSection AppleNamesSection;
DWARFSection AppleTypesSection;
@@ -319,7 +324,7 @@ public:
StringRef getEHFrameSection() override { return EHFrameSection; }
const DWARFSection &getLineSection() override { return LineSection; }
StringRef getStringSection() override { return StringSection; }
- StringRef getRangeSection() override { return RangeSection; }
+ const DWARFSection &getRangeSection() override { return RangeSection; }
StringRef getMacinfoSection() override { return MacinfoSection; }
StringRef getPubNamesSection() override { return PubNamesSection; }
StringRef getPubTypesSection() override { return PubTypesSection; }
@@ -346,7 +351,7 @@ public:
return StringOffsetDWOSection;
}
- StringRef getRangeDWOSection() override { return RangeDWOSection; }
+ const DWARFSection &getRangeDWOSection() override { return RangeDWOSection; }
StringRef getAddrSection() override {
return AddrSection;
diff --git a/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h b/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
index 018a049a3ed8..9172df5bfac6 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFDebugRangeList.h
@@ -11,6 +11,8 @@
#define LLVM_DEBUGINFO_DWARF_DWARFDEBUGRANGELIST_H
#include "llvm/Support/DataExtractor.h"
+#include "llvm/DebugInfo/DWARF/DWARFRelocMap.h"
+
#include <cassert>
#include <cstdint>
#include <utility>
@@ -71,7 +73,7 @@ public:
void clear();
void dump(raw_ostream &OS) const;
- bool extract(DataExtractor data, uint32_t *offset_ptr);
+ bool extract(DataExtractor data, uint32_t *offset_ptr, const RelocAddrMap& Relocs);
const std::vector<RangeListEntry> &getEntries() { return Entries; }
/// getAbsoluteRanges - Returns absolute address ranges defined by this range
diff --git a/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h b/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
index 703316005887..c9da2c9a3e16 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFTypeUnit.h
@@ -30,9 +30,9 @@ private:
public:
DWARFTypeUnit(DWARFContext &Context, const DWARFSection &Section,
- const DWARFDebugAbbrev *DA, StringRef RS, StringRef SS,
- StringRef SOS, StringRef AOS, StringRef LS, bool LE, bool IsDWO,
- const DWARFUnitSectionBase &UnitSection,
+ const DWARFDebugAbbrev *DA, const DWARFSection *RS,
+ StringRef SS, StringRef SOS, StringRef AOS, StringRef LS,
+ bool LE, bool IsDWO, const DWARFUnitSectionBase &UnitSection,
const DWARFUnitIndex::Entry *Entry)
: DWARFUnit(Context, Section, DA, RS, SS, SOS, AOS, LS, LE, IsDWO,
UnitSection, Entry) {}
diff --git a/include/llvm/DebugInfo/DWARF/DWARFUnit.h b/include/llvm/DebugInfo/DWARF/DWARFUnit.h
index 023a0f7b9fb2..e29ba523238c 100644
--- a/include/llvm/DebugInfo/DWARF/DWARFUnit.h
+++ b/include/llvm/DebugInfo/DWARF/DWARFUnit.h
@@ -56,9 +56,9 @@ protected:
~DWARFUnitSectionBase() = default;
virtual void parseImpl(DWARFContext &Context, const DWARFSection &Section,
- const DWARFDebugAbbrev *DA, StringRef RS, StringRef SS,
- StringRef SOS, StringRef AOS, StringRef LS,
- bool isLittleEndian, bool isDWO) = 0;
+ const DWARFDebugAbbrev *DA, const DWARFSection *RS,
+ StringRef SS, StringRef SOS, StringRef AOS,
+ StringRef LS, bool isLittleEndian, bool isDWO) = 0;
};
const DWARFUnitIndex &getDWARFUnitIndex(DWARFContext &Context,
@@ -88,9 +88,9 @@ public:
private:
void parseImpl(DWARFContext &Context, const DWARFSection &Section,
- const DWARFDebugAbbrev *DA, StringRef RS, StringRef SS,
- StringRef SOS, StringRef AOS, StringRef LS, bool LE,
- bool IsDWO) override {
+ const DWARFDebugAbbrev *DA, const DWARFSection *RS,
+ StringRef SS, StringRef SOS, StringRef AOS, StringRef LS,
+ bool LE, bool IsDWO) override {
if (Parsed)
return;
const auto &Index = getDWARFUnitIndex(Context, UnitType::Section);
@@ -115,7 +115,7 @@ class DWARFUnit {
const DWARFSection &InfoSection;
const DWARFDebugAbbrev *Abbrev;
- StringRef RangeSection;
+ const DWARFSection *RangeSection;
uint32_t RangeSectionBase;
StringRef LineSection;
StringRef StringSection;
@@ -171,7 +171,7 @@ protected:
public:
DWARFUnit(DWARFContext &Context, const DWARFSection &Section,
- const DWARFDebugAbbrev *DA, StringRef RS, StringRef SS,
+ const DWARFDebugAbbrev *DA, const DWARFSection *RS, StringRef SS,
StringRef SOS, StringRef AOS, StringRef LS, bool LE, bool IsDWO,
const DWARFUnitSectionBase &UnitSection,
const DWARFUnitIndex::Entry *IndexEntry = nullptr);
@@ -192,7 +192,7 @@ public:
// Recursively update address to Die map.
void updateAddressDieMap(DWARFDie Die);
- void setRangesSection(StringRef RS, uint32_t Base) {
+ void setRangesSection(const DWARFSection *RS, uint32_t Base) {
RangeSection = RS;
RangeSectionBase = Base;
}
diff --git a/include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h b/include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h
index c0633cbdfa52..3710eb29e7f9 100644
--- a/include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h
+++ b/include/llvm/DebugInfo/PDB/DIA/DIARawSymbol.h
@@ -102,7 +102,8 @@ public:
uint32_t getVirtualBaseDispIndex() const override;
uint32_t getVirtualBaseOffset() const override;
uint32_t getVirtualTableShapeId() const override;
- std::unique_ptr<PDBSymbolTypeVTable> getVirtualBaseTableType() const override;
+ std::unique_ptr<PDBSymbolTypeBuiltin>
+ getVirtualBaseTableType() const override;
PDB_DataKind getDataKind() const override;
PDB_SymType getSymTag() const override;
PDB_UniqueId getGuid() const override;
diff --git a/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h b/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h
index 4c28e194bc70..fab086c62c72 100644
--- a/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h
+++ b/include/llvm/DebugInfo/PDB/IPDBRawSymbol.h
@@ -113,7 +113,7 @@ public:
virtual Variant getValue() const = 0;
virtual uint32_t getVirtualBaseDispIndex() const = 0;
virtual uint32_t getVirtualBaseOffset() const = 0;
- virtual std::unique_ptr<PDBSymbolTypeVTable>
+ virtual std::unique_ptr<PDBSymbolTypeBuiltin>
getVirtualBaseTableType() const = 0;
virtual uint32_t getVirtualTableShapeId() const = 0;
virtual PDB_DataKind getDataKind() const = 0;
diff --git a/include/llvm/DebugInfo/PDB/Native/ModStream.h b/include/llvm/DebugInfo/PDB/Native/ModStream.h
index d65e195dbb95..b12d4ff375f3 100644
--- a/include/llvm/DebugInfo/PDB/Native/ModStream.h
+++ b/include/llvm/DebugInfo/PDB/Native/ModStream.h
@@ -40,6 +40,8 @@ public:
iterator_range<codeview::ModuleSubstreamArray::Iterator>
lines(bool *HadError) const;
+ bool hasLineInfo() const;
+
Error commit();
private:
diff --git a/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h b/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
index cffb5d09d225..e1e78035ff38 100644
--- a/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
+++ b/include/llvm/DebugInfo/PDB/Native/NativeRawSymbol.h
@@ -101,7 +101,8 @@ public:
uint32_t getVirtualBaseDispIndex() const override;
uint32_t getVirtualBaseOffset() const override;
uint32_t getVirtualTableShapeId() const override;
- std::unique_ptr<PDBSymbolTypeVTable> getVirtualBaseTableType() const override;
+ std::unique_ptr<PDBSymbolTypeBuiltin>
+ getVirtualBaseTableType() const override;
PDB_DataKind getDataKind() const override;
PDB_SymType getSymTag() const override;
PDB_UniqueId getGuid() const override;
diff --git a/include/llvm/DebugInfo/PDB/UDTLayout.h b/include/llvm/DebugInfo/PDB/UDTLayout.h
index e3dcba50bd1a..6bc3660fbe51 100644
--- a/include/llvm/DebugInfo/PDB/UDTLayout.h
+++ b/include/llvm/DebugInfo/PDB/UDTLayout.h
@@ -15,6 +15,7 @@
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitVector.h"
+#include "llvm/ADT/DenseMap.h"
#include <list>
#include <memory>
@@ -32,40 +33,63 @@ class PDBSymbolTypeVTable;
class ClassLayout;
class BaseClassLayout;
-class StorageItemBase;
+class LayoutItemBase;
class UDTLayoutBase;
-class StorageItemBase {
+class LayoutItemBase {
public:
- StorageItemBase(const UDTLayoutBase &Parent, const PDBSymbol &Symbol,
- const std::string &Name, uint32_t OffsetInParent,
- uint32_t Size);
- virtual ~StorageItemBase() {}
+ LayoutItemBase(const UDTLayoutBase *Parent, const PDBSymbol *Symbol,
+ const std::string &Name, uint32_t OffsetInParent,
+ uint32_t Size, bool IsElided);
+ virtual ~LayoutItemBase() {}
- virtual uint32_t deepPaddingSize() const;
+ uint32_t deepPaddingSize() const;
+ virtual uint32_t immediatePadding() const { return 0; }
+ virtual uint32_t tailPadding() const;
- const UDTLayoutBase &getParent() const { return Parent; }
+ const UDTLayoutBase *getParent() const { return Parent; }
StringRef getName() const { return Name; }
uint32_t getOffsetInParent() const { return OffsetInParent; }
uint32_t getSize() const { return SizeOf; }
- const PDBSymbol &getSymbol() const { return Symbol; }
+ uint32_t getLayoutSize() const { return LayoutSize; }
+ const PDBSymbol *getSymbol() const { return Symbol; }
+ const BitVector &usedBytes() const { return UsedBytes; }
+ bool isElided() const { return IsElided; }
+ virtual bool isVBPtr() const { return false; }
+
+ uint32_t containsOffset(uint32_t Off) const {
+ uint32_t Begin = getOffsetInParent();
+ uint32_t End = Begin + getSize();
+ return (Off >= Begin && Off < End);
+ }
protected:
- const UDTLayoutBase &Parent;
- const PDBSymbol &Symbol;
+ const PDBSymbol *Symbol = nullptr;
+ const UDTLayoutBase *Parent = nullptr;
BitVector UsedBytes;
std::string Name;
uint32_t OffsetInParent = 0;
uint32_t SizeOf = 0;
+ uint32_t LayoutSize = 0;
+ bool IsElided = false;
+};
+
+class VBPtrLayoutItem : public LayoutItemBase {
+public:
+ VBPtrLayoutItem(const UDTLayoutBase &Parent,
+ std::unique_ptr<PDBSymbolTypeBuiltin> Sym, uint32_t Offset,
+ uint32_t Size);
+ virtual bool isVBPtr() const { return true; }
+
+private:
+ std::unique_ptr<PDBSymbolTypeBuiltin> Type;
};
-class DataMemberLayoutItem : public StorageItemBase {
+class DataMemberLayoutItem : public LayoutItemBase {
public:
DataMemberLayoutItem(const UDTLayoutBase &Parent,
std::unique_ptr<PDBSymbolData> DataMember);
- virtual uint32_t deepPaddingSize() const;
-
const PDBSymbolData &getDataMember();
bool hasUDTLayout() const;
const ClassLayout &getUDTLayout() const;
@@ -75,77 +99,73 @@ private:
std::unique_ptr<ClassLayout> UdtLayout;
};
-class VTableLayoutItem : public StorageItemBase {
+class VTableLayoutItem : public LayoutItemBase {
public:
VTableLayoutItem(const UDTLayoutBase &Parent,
std::unique_ptr<PDBSymbolTypeVTable> VTable);
- ArrayRef<PDBSymbolFunc *> funcs() const { return VTableFuncs; }
uint32_t getElementSize() const { return ElementSize; }
- void setFunction(uint32_t Index, PDBSymbolFunc &Func) {
- VTableFuncs[Index] = &Func;
- }
-
private:
uint32_t ElementSize = 0;
- std::unique_ptr<PDBSymbolTypeVTableShape> Shape;
std::unique_ptr<PDBSymbolTypeVTable> VTable;
- std::vector<PDBSymbolFunc *> VTableFuncs;
};
-class UDTLayoutBase {
+class UDTLayoutBase : public LayoutItemBase {
template <typename T> using UniquePtrVector = std::vector<std::unique_ptr<T>>;
public:
- UDTLayoutBase(const PDBSymbol &Symbol, const std::string &Name,
- uint32_t Size);
-
- uint32_t shallowPaddingSize() const;
- uint32_t deepPaddingSize() const;
-
- const BitVector &usedBytes() const { return UsedBytes; }
+ UDTLayoutBase(const UDTLayoutBase *Parent, const PDBSymbol &Sym,
+ const std::string &Name, uint32_t OffsetInParent, uint32_t Size,
+ bool IsElided);
- uint32_t getClassSize() const { return SizeOf; }
+ uint32_t tailPadding() const override;
- ArrayRef<std::unique_ptr<StorageItemBase>> layout_items() const {
- return ChildStorage;
- }
-
- VTableLayoutItem *findVTableAtOffset(uint32_t RelativeOffset);
+ ArrayRef<LayoutItemBase *> layout_items() const { return LayoutItems; }
- StringRef getUDTName() const { return Name; }
+ ArrayRef<BaseClassLayout *> bases() const { return AllBases; }
+ ArrayRef<BaseClassLayout *> regular_bases() const { return NonVirtualBases; }
+ ArrayRef<BaseClassLayout *> virtual_bases() const { return VirtualBases; }
- ArrayRef<BaseClassLayout *> bases() const { return BaseClasses; }
- ArrayRef<std::unique_ptr<PDBSymbolTypeBaseClass>> vbases() const {
- return VirtualBases;
- }
+ uint32_t directVirtualBaseCount() const { return DirectVBaseCount; }
ArrayRef<std::unique_ptr<PDBSymbolFunc>> funcs() const { return Funcs; }
ArrayRef<std::unique_ptr<PDBSymbol>> other_items() const { return Other; }
- const PDBSymbol &getSymbolBase() const { return SymbolBase; }
-
protected:
+ bool hasVBPtrAtOffset(uint32_t Off) const;
void initializeChildren(const PDBSymbol &Sym);
- void addChildToLayout(std::unique_ptr<StorageItemBase> Child);
- void addVirtualOverride(PDBSymbolFunc &Func);
- void addVirtualIntro(PDBSymbolFunc &Func);
+ void addChildToLayout(std::unique_ptr<LayoutItemBase> Child);
- const PDBSymbol &SymbolBase;
- std::string Name;
- uint32_t SizeOf = 0;
+ uint32_t DirectVBaseCount = 0;
- BitVector UsedBytes;
UniquePtrVector<PDBSymbol> Other;
UniquePtrVector<PDBSymbolFunc> Funcs;
- UniquePtrVector<PDBSymbolTypeBaseClass> VirtualBases;
- UniquePtrVector<StorageItemBase> ChildStorage;
- std::vector<std::list<StorageItemBase *>> ChildrenPerByte;
- std::vector<BaseClassLayout *> BaseClasses;
+ UniquePtrVector<LayoutItemBase> ChildStorage;
+ std::vector<LayoutItemBase *> LayoutItems;
+
+ std::vector<BaseClassLayout *> AllBases;
+ ArrayRef<BaseClassLayout *> NonVirtualBases;
+ ArrayRef<BaseClassLayout *> VirtualBases;
+
VTableLayoutItem *VTable = nullptr;
+ VBPtrLayoutItem *VBPtr = nullptr;
+};
+
+class BaseClassLayout : public UDTLayoutBase {
+public:
+ BaseClassLayout(const UDTLayoutBase &Parent, uint32_t OffsetInParent,
+ bool Elide, std::unique_ptr<PDBSymbolTypeBaseClass> Base);
+
+ const PDBSymbolTypeBaseClass &getBase() const { return *Base; }
+ bool isVirtualBase() const { return IsVirtualBase; }
+ bool isEmptyBase() { return SizeOf == 1 && LayoutSize == 0; }
+
+private:
+ std::unique_ptr<PDBSymbolTypeBaseClass> Base;
+ bool IsVirtualBase;
};
class ClassLayout : public UDTLayoutBase {
@@ -156,24 +176,13 @@ public:
ClassLayout(ClassLayout &&Other) = default;
const PDBSymbolTypeUDT &getClass() const { return UDT; }
+ uint32_t immediatePadding() const override;
private:
+ BitVector ImmediateUsedBytes;
std::unique_ptr<PDBSymbolTypeUDT> OwnedStorage;
const PDBSymbolTypeUDT &UDT;
};
-
-class BaseClassLayout : public UDTLayoutBase, public StorageItemBase {
-public:
- BaseClassLayout(const UDTLayoutBase &Parent,
- std::unique_ptr<PDBSymbolTypeBaseClass> Base);
-
- const PDBSymbolTypeBaseClass &getBase() const { return *Base; }
- bool isVirtualBase() const { return IsVirtualBase; }
-
-private:
- std::unique_ptr<PDBSymbolTypeBaseClass> Base;
- bool IsVirtualBase;
-};
}
} // namespace llvm
diff --git a/include/llvm/ExecutionEngine/Orc/RPCSerialization.h b/include/llvm/ExecutionEngine/Orc/RPCSerialization.h
index 84a037b2f998..a3be242b4457 100644
--- a/include/llvm/ExecutionEngine/Orc/RPCSerialization.h
+++ b/include/llvm/ExecutionEngine/Orc/RPCSerialization.h
@@ -348,7 +348,7 @@ public:
// key of the deserializers map to save us from duplicating the string in
// the serializer. This should be changed to use a stringpool if we switch
// to a map type that may move keys in memory.
- std::lock_guard<std::mutex> Lock(DeserializersMutex);
+ std::lock_guard<std::recursive_mutex> Lock(DeserializersMutex);
auto I =
Deserializers.insert(Deserializers.begin(),
std::make_pair(std::move(Name),
@@ -358,7 +358,7 @@ public:
{
assert(KeyName != nullptr && "No keyname pointer");
- std::lock_guard<std::mutex> Lock(SerializersMutex);
+ std::lock_guard<std::recursive_mutex> Lock(SerializersMutex);
// FIXME: Move capture Serialize once we have C++14.
Serializers[ErrorInfoT::classID()] =
[KeyName, Serialize](ChannelT &C, const ErrorInfoBase &EIB) -> Error {
@@ -372,7 +372,8 @@ public:
}
static Error serialize(ChannelT &C, Error &&Err) {
- std::lock_guard<std::mutex> Lock(SerializersMutex);
+ std::lock_guard<std::recursive_mutex> Lock(SerializersMutex);
+
if (!Err)
return serializeSeq(C, std::string());
@@ -386,7 +387,7 @@ public:
}
static Error deserialize(ChannelT &C, Error &Err) {
- std::lock_guard<std::mutex> Lock(DeserializersMutex);
+ std::lock_guard<std::recursive_mutex> Lock(DeserializersMutex);
std::string Key;
if (auto Err = deserializeSeq(C, Key))
@@ -406,8 +407,6 @@ public:
private:
static Error serializeAsStringError(ChannelT &C, const ErrorInfoBase &EIB) {
- assert(EIB.dynamicClassID() != StringError::classID() &&
- "StringError serialization not registered");
std::string ErrMsg;
{
raw_string_ostream ErrMsgStream(ErrMsg);
@@ -417,17 +416,17 @@ private:
inconvertibleErrorCode()));
}
- static std::mutex SerializersMutex;
- static std::mutex DeserializersMutex;
+ static std::recursive_mutex SerializersMutex;
+ static std::recursive_mutex DeserializersMutex;
static std::map<const void*, WrappedErrorSerializer> Serializers;
static std::map<std::string, WrappedErrorDeserializer> Deserializers;
};
template <typename ChannelT>
-std::mutex SerializationTraits<ChannelT, Error>::SerializersMutex;
+std::recursive_mutex SerializationTraits<ChannelT, Error>::SerializersMutex;
template <typename ChannelT>
-std::mutex SerializationTraits<ChannelT, Error>::DeserializersMutex;
+std::recursive_mutex SerializationTraits<ChannelT, Error>::DeserializersMutex;
template <typename ChannelT>
std::map<const void*,
@@ -439,27 +438,39 @@ std::map<std::string,
typename SerializationTraits<ChannelT, Error>::WrappedErrorDeserializer>
SerializationTraits<ChannelT, Error>::Deserializers;
+/// Registers a serializer and deserializer for the given error type on the
+/// given channel type.
+template <typename ChannelT, typename ErrorInfoT, typename SerializeFtor,
+ typename DeserializeFtor>
+void registerErrorSerialization(std::string Name, SerializeFtor &&Serialize,
+ DeserializeFtor &&Deserialize) {
+ SerializationTraits<ChannelT, Error>::template registerErrorType<ErrorInfoT>(
+ std::move(Name),
+ std::forward<SerializeFtor>(Serialize),
+ std::forward<DeserializeFtor>(Deserialize));
+}
+
+/// Registers serialization/deserialization for StringError.
template <typename ChannelT>
void registerStringError() {
static bool AlreadyRegistered = false;
if (!AlreadyRegistered) {
- SerializationTraits<ChannelT, Error>::
- template registerErrorType<StringError>(
- "StringError",
- [](ChannelT &C, const StringError &SE) {
- return serializeSeq(C, SE.getMessage());
- },
- [](ChannelT &C, Error &Err) {
- ErrorAsOutParameter EAO(&Err);
- std::string Msg;
- if (auto E2 = deserializeSeq(C, Msg))
- return E2;
- Err =
- make_error<StringError>(std::move(Msg),
- orcError(
- OrcErrorCode::UnknownErrorCodeFromRemote));
- return Error::success();
- });
+ registerErrorSerialization<ChannelT, StringError>(
+ "StringError",
+ [](ChannelT &C, const StringError &SE) {
+ return serializeSeq(C, SE.getMessage());
+ },
+ [](ChannelT &C, Error &Err) -> Error {
+ ErrorAsOutParameter EAO(&Err);
+ std::string Msg;
+ if (auto E2 = deserializeSeq(C, Msg))
+ return E2;
+ Err =
+ make_error<StringError>(std::move(Msg),
+ orcError(
+ OrcErrorCode::UnknownErrorCodeFromRemote));
+ return Error::success();
+ });
AlreadyRegistered = true;
}
}
diff --git a/include/llvm/IR/Attributes.h b/include/llvm/IR/Attributes.h
index b13f197d25fd..e2cd4c236fcc 100644
--- a/include/llvm/IR/Attributes.h
+++ b/include/llvm/IR/Attributes.h
@@ -509,7 +509,7 @@ public:
unsigned getSlotIndex(unsigned Slot) const;
/// \brief Return the attributes at the given slot.
- AttributeList getSlotAttributes(unsigned Slot) const;
+ AttributeSet getSlotAttributes(unsigned Slot) const;
void dump() const;
};
diff --git a/include/llvm/IR/ConstantRange.h b/include/llvm/IR/ConstantRange.h
index 47004e82cc19..fd7f96abb19e 100644
--- a/include/llvm/IR/ConstantRange.h
+++ b/include/llvm/IR/ConstantRange.h
@@ -93,7 +93,7 @@ public:
///
/// NB! The returned set does *not* contain **all** possible values of X for
/// which "X BinOpC Y" does not wrap -- some viable values of X may be
- /// missing, so you cannot use this to contrain X's range. E.g. in the last
+ /// missing, so you cannot use this to constrain X's range. E.g. in the last
/// example, "(-2) + 1" is both nsw and nuw (so the "X" could be -2), but (-2)
/// is not in the set returned.
///
diff --git a/include/llvm/IR/Dominators.h b/include/llvm/IR/Dominators.h
index cae03d33a7ee..8f6c85f53efc 100644
--- a/include/llvm/IR/Dominators.h
+++ b/include/llvm/IR/Dominators.h
@@ -157,6 +157,10 @@ public:
/// This should only be used for debugging as it aborts the program if the
/// verification fails.
void verifyDomTree() const;
+
+ // Pop up a GraphViz/gv window with the Dominator Tree rendered using `dot`.
+ void viewGraph(const Twine &Name, const Twine &Title);
+ void viewGraph();
};
//===-------------------------------------
diff --git a/include/llvm/IR/IntrinsicsAMDGPU.td b/include/llvm/IR/IntrinsicsAMDGPU.td
index 5415c6b0d151..21d8a15e7e7a 100644
--- a/include/llvm/IR/IntrinsicsAMDGPU.td
+++ b/include/llvm/IR/IntrinsicsAMDGPU.td
@@ -629,6 +629,8 @@ def int_amdgcn_readfirstlane :
GCCBuiltin<"__builtin_amdgcn_readfirstlane">,
Intrinsic<[llvm_i32_ty], [llvm_i32_ty], [IntrNoMem, IntrConvergent]>;
+// The lane argument must be uniform across the currently active threads of the
+// current wave. Otherwise, the result is undefined.
def int_amdgcn_readlane :
GCCBuiltin<"__builtin_amdgcn_readlane">,
Intrinsic<[llvm_i32_ty], [llvm_i32_ty, llvm_i32_ty], [IntrNoMem, IntrConvergent]>;
diff --git a/include/llvm/IR/Module.h b/include/llvm/IR/Module.h
index 70c57cf90add..67c35cd22b34 100644
--- a/include/llvm/IR/Module.h
+++ b/include/llvm/IR/Module.h
@@ -319,7 +319,7 @@ public:
/// exist, add a prototype for the function and return it. This function
/// guarantees to return a constant of pointer to the specified function type
/// or a ConstantExpr BitCast of that type if the named function has a
- /// different type. This version of the method takes a null terminated list of
+ /// different type. This version of the method takes a list of
/// function arguments, which makes it easier for clients to use.
template<typename... ArgsTy>
Constant *getOrInsertFunction(StringRef Name,
diff --git a/include/llvm/IR/Value.h b/include/llvm/IR/Value.h
index a4b48d7f3539..00f821399257 100644
--- a/include/llvm/IR/Value.h
+++ b/include/llvm/IR/Value.h
@@ -482,6 +482,17 @@ public:
static_cast<const Value *>(this)->stripPointerCasts());
}
+ /// \brief Strip off pointer casts, all-zero GEPs, aliases and barriers.
+ ///
+ /// Returns the original uncasted value. If this is called on a non-pointer
+ /// value, it returns 'this'. This function should be used only in
+ /// Alias analysis.
+ const Value *stripPointerCastsAndBarriers() const;
+ Value *stripPointerCastsAndBarriers() {
+ return const_cast<Value *>(
+ static_cast<const Value *>(this)->stripPointerCastsAndBarriers());
+ }
+
/// \brief Strip off pointer casts and all-zero GEPs.
///
/// Returns the original uncasted value. If this is called on a non-pointer
diff --git a/include/llvm/MC/MCTargetOptions.h b/include/llvm/MC/MCTargetOptions.h
index 06f58d498030..ab027ab27a41 100644
--- a/include/llvm/MC/MCTargetOptions.h
+++ b/include/llvm/MC/MCTargetOptions.h
@@ -54,6 +54,7 @@ public:
int DwarfVersion = 0;
std::string ABIName;
+ std::string SplitDwarfFile;
/// Additional paths to search for `.include` directives when using the
/// integrated assembler.
diff --git a/include/llvm/Object/ELF.h b/include/llvm/Object/ELF.h
index 7a3155b3953e..9c72bd4023d8 100644
--- a/include/llvm/Object/ELF.h
+++ b/include/llvm/Object/ELF.h
@@ -14,9 +14,19 @@
#ifndef LLVM_OBJECT_ELF_H
#define LLVM_OBJECT_ELF_H
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/Object/ELFTypes.h"
-#include "llvm/Support/MemoryBuffer.h"
+#include "llvm/Object/Error.h"
+#include "llvm/Support/ELF.h"
+#include "llvm/Support/Endian.h"
+#include "llvm/Support/Error.h"
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <limits>
+#include <utility>
namespace llvm {
namespace object {
@@ -41,27 +51,27 @@ template <class ELFT>
class ELFFile {
public:
LLVM_ELF_IMPORT_TYPES_ELFT(ELFT)
- typedef typename ELFT::uint uintX_t;
- typedef typename ELFT::Ehdr Elf_Ehdr;
- typedef typename ELFT::Shdr Elf_Shdr;
- typedef typename ELFT::Sym Elf_Sym;
- typedef typename ELFT::Dyn Elf_Dyn;
- typedef typename ELFT::Phdr Elf_Phdr;
- typedef typename ELFT::Rel Elf_Rel;
- typedef typename ELFT::Rela Elf_Rela;
- typedef typename ELFT::Verdef Elf_Verdef;
- typedef typename ELFT::Verdaux Elf_Verdaux;
- typedef typename ELFT::Verneed Elf_Verneed;
- typedef typename ELFT::Vernaux Elf_Vernaux;
- typedef typename ELFT::Versym Elf_Versym;
- typedef typename ELFT::Hash Elf_Hash;
- typedef typename ELFT::GnuHash Elf_GnuHash;
- typedef typename ELFT::DynRange Elf_Dyn_Range;
- typedef typename ELFT::ShdrRange Elf_Shdr_Range;
- typedef typename ELFT::SymRange Elf_Sym_Range;
- typedef typename ELFT::RelRange Elf_Rel_Range;
- typedef typename ELFT::RelaRange Elf_Rela_Range;
- typedef typename ELFT::PhdrRange Elf_Phdr_Range;
+ using uintX_t = typename ELFT::uint;
+ using Elf_Ehdr = typename ELFT::Ehdr;
+ using Elf_Shdr = typename ELFT::Shdr;
+ using Elf_Sym = typename ELFT::Sym;
+ using Elf_Dyn = typename ELFT::Dyn;
+ using Elf_Phdr = typename ELFT::Phdr;
+ using Elf_Rel = typename ELFT::Rel;
+ using Elf_Rela = typename ELFT::Rela;
+ using Elf_Verdef = typename ELFT::Verdef;
+ using Elf_Verdaux = typename ELFT::Verdaux;
+ using Elf_Verneed = typename ELFT::Verneed;
+ using Elf_Vernaux = typename ELFT::Vernaux;
+ using Elf_Versym = typename ELFT::Versym;
+ using Elf_Hash = typename ELFT::Hash;
+ using Elf_GnuHash = typename ELFT::GnuHash;
+ using Elf_Dyn_Range = typename ELFT::DynRange;
+ using Elf_Shdr_Range = typename ELFT::ShdrRange;
+ using Elf_Sym_Range = typename ELFT::SymRange;
+ using Elf_Rel_Range = typename ELFT::RelRange;
+ using Elf_Rela_Range = typename ELFT::RelaRange;
+ using Elf_Phdr_Range = typename ELFT::PhdrRange;
const uint8_t *base() const {
return reinterpret_cast<const uint8_t *>(Buf.data());
@@ -70,7 +80,6 @@ public:
size_t getBufSize() const { return Buf.size(); }
private:
-
StringRef Buf;
public:
@@ -161,10 +170,10 @@ public:
Expected<ArrayRef<uint8_t>> getSectionContents(const Elf_Shdr *Sec) const;
};
-typedef ELFFile<ELFType<support::little, false>> ELF32LEFile;
-typedef ELFFile<ELFType<support::little, true>> ELF64LEFile;
-typedef ELFFile<ELFType<support::big, false>> ELF32BEFile;
-typedef ELFFile<ELFType<support::big, true>> ELF64BEFile;
+using ELF32LEFile = ELFFile<ELFType<support::little, false>>;
+using ELF64LEFile = ELFFile<ELFType<support::little, true>>;
+using ELF32BEFile = ELFFile<ELFType<support::big, false>>;
+using ELF64BEFile = ELFFile<ELFType<support::big, true>>;
template <class ELFT>
inline Expected<const typename ELFT::Shdr *>
@@ -194,7 +203,7 @@ ELFFile<ELFT>::getSectionIndex(const Elf_Sym *Sym, Elf_Sym_Range Syms,
ArrayRef<Elf_Word> ShndxTable) const {
uint32_t Index = Sym->st_shndx;
if (Index == ELF::SHN_XINDEX) {
- auto ErrorOrIndex = object::getExtendedSymbolTableIndex<ELFT>(
+ auto ErrorOrIndex = getExtendedSymbolTableIndex<ELFT>(
Sym, Syms.begin(), ShndxTable);
if (!ErrorOrIndex)
return ErrorOrIndex.takeError();
@@ -519,7 +528,8 @@ inline unsigned hashSysV(StringRef SymbolName) {
}
return h;
}
+
} // end namespace object
} // end namespace llvm
-#endif
+#endif // LLVM_OBJECT_ELF_H
diff --git a/include/llvm/Object/ELFObjectFile.h b/include/llvm/Object/ELFObjectFile.h
index 9e95f2958aa4..d8b58b8079fa 100644
--- a/include/llvm/Object/ELFObjectFile.h
+++ b/include/llvm/Object/ELFObjectFile.h
@@ -27,6 +27,7 @@
#include "llvm/Object/ObjectFile.h"
#include "llvm/Object/SymbolicFile.h"
#include "llvm/Support/ARMAttributeParser.h"
+#include "llvm/Support/ARMBuildAttributes.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ELF.h"
#include "llvm/Support/Endian.h"
@@ -42,13 +43,11 @@ namespace llvm {
namespace object {
class elf_symbol_iterator;
-class ELFSymbolRef;
-class ELFRelocationRef;
class ELFObjectFileBase : public ObjectFile {
- friend class ELFSymbolRef;
- friend class ELFSectionRef;
friend class ELFRelocationRef;
+ friend class ELFSectionRef;
+ friend class ELFSymbolRef;
protected:
ELFObjectFileBase(unsigned int Type, MemoryBufferRef Source);
@@ -65,7 +64,8 @@ protected:
virtual ErrorOr<int64_t> getRelocationAddend(DataRefImpl Rel) const = 0;
public:
- typedef iterator_range<elf_symbol_iterator> elf_symbol_iterator_range;
+ using elf_symbol_iterator_range = iterator_range<elf_symbol_iterator>;
+
virtual elf_symbol_iterator_range getDynamicSymbolIterators() const = 0;
elf_symbol_iterator_range symbols() const;
@@ -201,14 +201,14 @@ template <class ELFT> class ELFObjectFile : public ELFObjectFileBase {
public:
LLVM_ELF_IMPORT_TYPES_ELFT(ELFT)
- typedef typename ELFFile<ELFT>::uintX_t uintX_t;
+ using uintX_t = typename ELFFile<ELFT>::uintX_t;
- typedef typename ELFFile<ELFT>::Elf_Sym Elf_Sym;
- typedef typename ELFFile<ELFT>::Elf_Shdr Elf_Shdr;
- typedef typename ELFFile<ELFT>::Elf_Ehdr Elf_Ehdr;
- typedef typename ELFFile<ELFT>::Elf_Rel Elf_Rel;
- typedef typename ELFFile<ELFT>::Elf_Rela Elf_Rela;
- typedef typename ELFFile<ELFT>::Elf_Dyn Elf_Dyn;
+ using Elf_Sym = typename ELFFile<ELFT>::Elf_Sym;
+ using Elf_Shdr = typename ELFFile<ELFT>::Elf_Shdr;
+ using Elf_Ehdr = typename ELFFile<ELFT>::Elf_Ehdr;
+ using Elf_Rel = typename ELFFile<ELFT>::Elf_Rel;
+ using Elf_Rela = typename ELFFile<ELFT>::Elf_Rela;
+ using Elf_Dyn = typename ELFFile<ELFT>::Elf_Dyn;
protected:
ELFFile<ELFT> EF;
@@ -398,10 +398,10 @@ public:
bool isRelocatableObject() const override;
};
-typedef ELFObjectFile<ELFType<support::little, false>> ELF32LEObjectFile;
-typedef ELFObjectFile<ELFType<support::little, true>> ELF64LEObjectFile;
-typedef ELFObjectFile<ELFType<support::big, false>> ELF32BEObjectFile;
-typedef ELFObjectFile<ELFType<support::big, true>> ELF64BEObjectFile;
+using ELF32LEObjectFile = ELFObjectFile<ELFType<support::little, false>>;
+using ELF64LEObjectFile = ELFObjectFile<ELFType<support::little, true>>;
+using ELF32BEObjectFile = ELFObjectFile<ELFType<support::big, false>>;
+using ELF64BEObjectFile = ELFObjectFile<ELFType<support::big, true>>;
template <class ELFT>
void ELFObjectFile<ELFT>::moveSymbolNext(DataRefImpl &Sym) const {
diff --git a/include/llvm/Object/ELFTypes.h b/include/llvm/Object/ELFTypes.h
index 3e03fd8b980e..99346fe1a882 100644
--- a/include/llvm/Object/ELFTypes.h
+++ b/include/llvm/Object/ELFTypes.h
@@ -11,10 +11,15 @@
#define LLVM_OBJECT_ELFTYPES_H
#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/Object/Error.h"
#include "llvm/Support/ELF.h"
#include "llvm/Support/Endian.h"
-#include "llvm/Support/ErrorOr.h"
+#include "llvm/Support/Error.h"
+#include <cassert>
+#include <cstdint>
+#include <cstring>
+#include <type_traits>
namespace llvm {
namespace object {
@@ -45,58 +50,58 @@ public:
static const endianness TargetEndianness = E;
static const bool Is64Bits = Is64;
- typedef typename std::conditional<Is64, uint64_t, uint32_t>::type uint;
- typedef Elf_Ehdr_Impl<ELFType<E, Is64>> Ehdr;
- typedef Elf_Shdr_Impl<ELFType<E, Is64>> Shdr;
- typedef Elf_Sym_Impl<ELFType<E, Is64>> Sym;
- typedef Elf_Dyn_Impl<ELFType<E, Is64>> Dyn;
- typedef Elf_Phdr_Impl<ELFType<E, Is64>> Phdr;
- typedef Elf_Rel_Impl<ELFType<E, Is64>, false> Rel;
- typedef Elf_Rel_Impl<ELFType<E, Is64>, true> Rela;
- typedef Elf_Verdef_Impl<ELFType<E, Is64>> Verdef;
- typedef Elf_Verdaux_Impl<ELFType<E, Is64>> Verdaux;
- typedef Elf_Verneed_Impl<ELFType<E, Is64>> Verneed;
- typedef Elf_Vernaux_Impl<ELFType<E, Is64>> Vernaux;
- typedef Elf_Versym_Impl<ELFType<E, Is64>> Versym;
- typedef Elf_Hash_Impl<ELFType<E, Is64>> Hash;
- typedef Elf_GnuHash_Impl<ELFType<E, Is64>> GnuHash;
- typedef Elf_Chdr_Impl<ELFType<E, Is64>> Chdr;
- typedef ArrayRef<Dyn> DynRange;
- typedef ArrayRef<Shdr> ShdrRange;
- typedef ArrayRef<Sym> SymRange;
- typedef ArrayRef<Rel> RelRange;
- typedef ArrayRef<Rela> RelaRange;
- typedef ArrayRef<Phdr> PhdrRange;
-
- typedef packed<uint16_t> Half;
- typedef packed<uint32_t> Word;
- typedef packed<int32_t> Sword;
- typedef packed<uint64_t> Xword;
- typedef packed<int64_t> Sxword;
- typedef packed<uint> Addr;
- typedef packed<uint> Off;
-};
-
-typedef ELFType<support::little, false> ELF32LE;
-typedef ELFType<support::big, false> ELF32BE;
-typedef ELFType<support::little, true> ELF64LE;
-typedef ELFType<support::big, true> ELF64BE;
+ using uint = typename std::conditional<Is64, uint64_t, uint32_t>::type;
+ using Ehdr = Elf_Ehdr_Impl<ELFType<E, Is64>>;
+ using Shdr = Elf_Shdr_Impl<ELFType<E, Is64>>;
+ using Sym = Elf_Sym_Impl<ELFType<E, Is64>>;
+ using Dyn = Elf_Dyn_Impl<ELFType<E, Is64>>;
+ using Phdr = Elf_Phdr_Impl<ELFType<E, Is64>>;
+ using Rel = Elf_Rel_Impl<ELFType<E, Is64>, false>;
+ using Rela = Elf_Rel_Impl<ELFType<E, Is64>, true>;
+ using Verdef = Elf_Verdef_Impl<ELFType<E, Is64>>;
+ using Verdaux = Elf_Verdaux_Impl<ELFType<E, Is64>>;
+ using Verneed = Elf_Verneed_Impl<ELFType<E, Is64>>;
+ using Vernaux = Elf_Vernaux_Impl<ELFType<E, Is64>>;
+ using Versym = Elf_Versym_Impl<ELFType<E, Is64>>;
+ using Hash = Elf_Hash_Impl<ELFType<E, Is64>>;
+ using GnuHash = Elf_GnuHash_Impl<ELFType<E, Is64>>;
+ using Chdr = Elf_Chdr_Impl<ELFType<E, Is64>>;
+ using DynRange = ArrayRef<Dyn>;
+ using ShdrRange = ArrayRef<Shdr>;
+ using SymRange = ArrayRef<Sym>;
+ using RelRange = ArrayRef<Rel>;
+ using RelaRange = ArrayRef<Rela>;
+ using PhdrRange = ArrayRef<Phdr>;
+
+ using Half = packed<uint16_t>;
+ using Word = packed<uint32_t>;
+ using Sword = packed<int32_t>;
+ using Xword = packed<uint64_t>;
+ using Sxword = packed<int64_t>;
+ using Addr = packed<uint>;
+ using Off = packed<uint>;
+};
+
+using ELF32LE = ELFType<support::little, false>;
+using ELF32BE = ELFType<support::big, false>;
+using ELF64LE = ELFType<support::little, true>;
+using ELF64BE = ELFType<support::big, true>;
// Use an alignment of 2 for the typedefs since that is the worst case for
// ELF files in archives.
// Templates to choose Elf_Addr and Elf_Off depending on is64Bits.
template <endianness target_endianness> struct ELFDataTypeTypedefHelperCommon {
- typedef support::detail::packed_endian_specific_integral<
- uint16_t, target_endianness, 2> Elf_Half;
- typedef support::detail::packed_endian_specific_integral<
- uint32_t, target_endianness, 2> Elf_Word;
- typedef support::detail::packed_endian_specific_integral<
- int32_t, target_endianness, 2> Elf_Sword;
- typedef support::detail::packed_endian_specific_integral<
- uint64_t, target_endianness, 2> Elf_Xword;
- typedef support::detail::packed_endian_specific_integral<
- int64_t, target_endianness, 2> Elf_Sxword;
+ using Elf_Half = support::detail::packed_endian_specific_integral<
+ uint16_t, target_endianness, 2>;
+ using Elf_Word = support::detail::packed_endian_specific_integral<
+ uint32_t, target_endianness, 2>;
+ using Elf_Sword = support::detail::packed_endian_specific_integral<
+ int32_t, target_endianness, 2>;
+ using Elf_Xword = support::detail::packed_endian_specific_integral<
+ uint64_t, target_endianness, 2>;
+ using Elf_Sxword = support::detail::packed_endian_specific_integral<
+ int64_t, target_endianness, 2>;
};
template <class ELFT> struct ELFDataTypeTypedefHelper;
@@ -105,34 +110,34 @@ template <class ELFT> struct ELFDataTypeTypedefHelper;
template <endianness TargetEndianness>
struct ELFDataTypeTypedefHelper<ELFType<TargetEndianness, false>>
: ELFDataTypeTypedefHelperCommon<TargetEndianness> {
- typedef uint32_t value_type;
- typedef support::detail::packed_endian_specific_integral<
- value_type, TargetEndianness, 2> Elf_Addr;
- typedef support::detail::packed_endian_specific_integral<
- value_type, TargetEndianness, 2> Elf_Off;
+ using value_type = uint32_t;
+ using Elf_Addr = support::detail::packed_endian_specific_integral<
+ value_type, TargetEndianness, 2>;
+ using Elf_Off = support::detail::packed_endian_specific_integral<
+ value_type, TargetEndianness, 2>;
};
/// ELF 64bit types.
template <endianness TargetEndianness>
struct ELFDataTypeTypedefHelper<ELFType<TargetEndianness, true>>
: ELFDataTypeTypedefHelperCommon<TargetEndianness> {
- typedef uint64_t value_type;
- typedef support::detail::packed_endian_specific_integral<
- value_type, TargetEndianness, 2> Elf_Addr;
- typedef support::detail::packed_endian_specific_integral<
- value_type, TargetEndianness, 2> Elf_Off;
+ using value_type = uint64_t;
+ using Elf_Addr = support::detail::packed_endian_specific_integral<
+ value_type, TargetEndianness, 2>;
+ using Elf_Off = support::detail::packed_endian_specific_integral<
+ value_type, TargetEndianness, 2>;
};
// I really don't like doing this, but the alternative is copypasta.
#define LLVM_ELF_IMPORT_TYPES_ELFT(ELFT) \
- typedef typename ELFT::Addr Elf_Addr; \
- typedef typename ELFT::Off Elf_Off; \
- typedef typename ELFT::Half Elf_Half; \
- typedef typename ELFT::Word Elf_Word; \
- typedef typename ELFT::Sword Elf_Sword; \
- typedef typename ELFT::Xword Elf_Xword; \
- typedef typename ELFT::Sxword Elf_Sxword;
+ using Elf_Addr = typename ELFT::Addr; \
+ using Elf_Off = typename ELFT::Off; \
+ using Elf_Half = typename ELFT::Half; \
+ using Elf_Word = typename ELFT::Word; \
+ using Elf_Sword = typename ELFT::Sword; \
+ using Elf_Xword = typename ELFT::Xword; \
+ using Elf_Sxword = typename ELFT::Sxword;
#define LLD_ELF_COMMA ,
#define LLVM_ELF_IMPORT_TYPES(E, W) \
@@ -222,6 +227,7 @@ struct Elf_Sym_Impl : Elf_Sym_Base<ELFT> {
uint64_t getValue() const { return st_value; }
void setBinding(unsigned char b) { setBindingAndType(b, getType()); }
void setType(unsigned char t) { setBindingAndType(getBinding(), t); }
+
void setBindingAndType(unsigned char b, unsigned char t) {
st_info = (b << 4) + (t & 0x0f);
}
@@ -238,22 +244,29 @@ struct Elf_Sym_Impl : Elf_Sym_Base<ELFT> {
}
bool isAbsolute() const { return st_shndx == ELF::SHN_ABS; }
+
bool isCommon() const {
return getType() == ELF::STT_COMMON || st_shndx == ELF::SHN_COMMON;
}
+
bool isDefined() const { return !isUndefined(); }
+
bool isProcessorSpecific() const {
return st_shndx >= ELF::SHN_LOPROC && st_shndx <= ELF::SHN_HIPROC;
}
+
bool isOSSpecific() const {
return st_shndx >= ELF::SHN_LOOS && st_shndx <= ELF::SHN_HIOS;
}
+
bool isReserved() const {
// ELF::SHN_HIRESERVE is 0xffff so st_shndx <= ELF::SHN_HIRESERVE is always
// true and some compilers warn about it.
return st_shndx >= ELF::SHN_LORESERVE;
}
+
bool isUndefined() const { return st_shndx == ELF::SHN_UNDEF; }
+
bool isExternal() const {
return getBinding() != ELF::STB_LOCAL;
}
@@ -277,14 +290,12 @@ struct Elf_Versym_Impl {
Elf_Half vs_index; // Version index with flags (e.g. VERSYM_HIDDEN)
};
-template <class ELFT> struct Elf_Verdaux_Impl;
-
/// Elf_Verdef: This is the structure of entries in the SHT_GNU_verdef section
/// (.gnu.version_d). This structure is identical for ELF32 and ELF64.
template <class ELFT>
struct Elf_Verdef_Impl {
LLVM_ELF_IMPORT_TYPES_ELFT(ELFT)
- typedef Elf_Verdaux_Impl<ELFT> Elf_Verdaux;
+ using Elf_Verdaux = Elf_Verdaux_Impl<ELFT>;
Elf_Half vd_version; // Version of this structure (e.g. VER_DEF_CURRENT)
Elf_Half vd_flags; // Bitwise flags (VER_DEF_*)
Elf_Half vd_ndx; // Version index, used in .gnu.version entries
@@ -361,10 +372,10 @@ template <class ELFT>
struct Elf_Dyn_Impl : Elf_Dyn_Base<ELFT> {
using Elf_Dyn_Base<ELFT>::d_tag;
using Elf_Dyn_Base<ELFT>::d_un;
- typedef typename std::conditional<ELFT::Is64Bits,
- int64_t, int32_t>::type intX_t;
- typedef typename std::conditional<ELFT::Is64Bits,
- uint64_t, uint32_t>::type uintX_t;
+ using intX_t = typename std::conditional<ELFT::Is64Bits,
+ int64_t, int32_t>::type;
+ using uintX_t = typename std::conditional<ELFT::Is64Bits,
+ uint64_t, uint32_t>::type;
intX_t getTag() const { return d_tag; }
uintX_t getVal() const { return d_un.d_val; }
uintX_t getPtr() const { return d_un.d_ptr; }
@@ -430,6 +441,7 @@ struct Elf_Rel_Impl<ELFType<TargetEndianness, true>, false> {
return (t << 32) | ((t >> 8) & 0xff000000) | ((t >> 24) & 0x00ff0000) |
((t >> 40) & 0x0000ff00) | ((t >> 56) & 0x000000ff);
}
+
void setRInfo(uint64_t R, bool IsMips64EL) {
if (IsMips64EL)
r_info = (R >> 32) | ((R & 0xff000000) << 8) | ((R & 0x00ff0000) << 24) |
@@ -483,15 +495,15 @@ struct Elf_Ehdr_Impl {
Elf_Half e_shnum; // Number of entries in the section header table
Elf_Half e_shstrndx; // Section header table index of section name
// string table
+
bool checkMagic() const {
return (memcmp(e_ident, ELF::ElfMagic, strlen(ELF::ElfMagic))) == 0;
}
+
unsigned char getFileClass() const { return e_ident[ELF::EI_CLASS]; }
unsigned char getDataEncoding() const { return e_ident[ELF::EI_DATA]; }
};
-template <class ELFT> struct Elf_Phdr_Impl;
-
template <endianness TargetEndianness>
struct Elf_Phdr_Impl<ELFType<TargetEndianness, false>> {
LLVM_ELF_IMPORT_TYPES(TargetEndianness, false)
@@ -582,7 +594,7 @@ struct Elf_Chdr_Impl<ELFType<TargetEndianness, true>> {
template <class ELFT>
struct Elf_Mips_RegInfo;
-template <llvm::support::endianness TargetEndianness>
+template <support::endianness TargetEndianness>
struct Elf_Mips_RegInfo<ELFType<TargetEndianness, false>> {
LLVM_ELF_IMPORT_TYPES(TargetEndianness, false)
Elf_Word ri_gprmask; // bit-mask of used general registers
@@ -590,7 +602,7 @@ struct Elf_Mips_RegInfo<ELFType<TargetEndianness, false>> {
Elf_Addr ri_gp_value; // gp register value
};
-template <llvm::support::endianness TargetEndianness>
+template <support::endianness TargetEndianness>
struct Elf_Mips_RegInfo<ELFType<TargetEndianness, true>> {
LLVM_ELF_IMPORT_TYPES(TargetEndianness, true)
Elf_Word ri_gprmask; // bit-mask of used general registers
@@ -609,7 +621,7 @@ template <class ELFT> struct Elf_Mips_Options {
Elf_Word info; // Kind-specific information
Elf_Mips_RegInfo<ELFT> &getRegInfo() {
- assert(kind == llvm::ELF::ODK_REGINFO);
+ assert(kind == ELF::ODK_REGINFO);
return *reinterpret_cast<Elf_Mips_RegInfo<ELFT> *>(
(uint8_t *)this + sizeof(Elf_Mips_Options));
}
@@ -637,4 +649,4 @@ template <class ELFT> struct Elf_Mips_ABIFlags {
} // end namespace object.
} // end namespace llvm.
-#endif
+#endif // LLVM_OBJECT_ELFTYPES_H
diff --git a/include/llvm/Object/IRSymtab.h b/include/llvm/Object/IRSymtab.h
index be0f02aa7f17..b425543bf637 100644
--- a/include/llvm/Object/IRSymtab.h
+++ b/include/llvm/Object/IRSymtab.h
@@ -25,23 +25,31 @@
#define LLVM_OBJECT_IRSYMTAB_H
#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/iterator_range.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/Object/SymbolicFile.h"
#include "llvm/Support/Endian.h"
+#include "llvm/Support/Error.h"
+#include <cassert>
+#include <cstdint>
+#include <vector>
namespace llvm {
namespace irsymtab {
+
namespace storage {
// The data structures in this namespace define the low-level serialization
// format. Clients that just want to read a symbol table should use the
// irsymtab::Reader class.
-typedef support::ulittle32_t Word;
+using Word = support::ulittle32_t;
/// A reference to a string in the string table.
struct Str {
Word Offset, Size;
+
StringRef get(StringRef Strtab) const {
return {Strtab.data() + Offset, Size};
}
@@ -50,6 +58,7 @@ struct Str {
/// A reference to a range of objects in the symbol table.
template <typename T> struct Range {
Word Offset, Size;
+
ArrayRef<T> get(StringRef Symtab) const {
return {reinterpret_cast<const T *>(Symtab.data() + Offset), Size};
}
@@ -122,7 +131,7 @@ struct Header {
Str COFFLinkerOpts;
};
-}
+} // end namespace storage
/// Fills in Symtab and Strtab with a valid symbol and string table for Mods.
Error build(ArrayRef<Module *> Mods, SmallVector<char, 0> &Symtab,
@@ -152,18 +161,22 @@ struct Symbol {
int getComdatIndex() const { return ComdatIndex; }
using S = storage::Symbol;
+
GlobalValue::VisibilityTypes getVisibility() const {
return GlobalValue::VisibilityTypes((Flags >> S::FB_visibility) & 3);
}
+
bool isUndefined() const { return (Flags >> S::FB_undefined) & 1; }
bool isWeak() const { return (Flags >> S::FB_weak) & 1; }
bool isCommon() const { return (Flags >> S::FB_common) & 1; }
bool isIndirect() const { return (Flags >> S::FB_indirect) & 1; }
bool isUsed() const { return (Flags >> S::FB_used) & 1; }
bool isTLS() const { return (Flags >> S::FB_tls) & 1; }
+
bool canBeOmittedFromSymbolTable() const {
return (Flags >> S::FB_may_omit) & 1;
}
+
bool isGlobal() const { return (Flags >> S::FB_global) & 1; }
bool isFormatSpecific() const { return (Flags >> S::FB_format_specific) & 1; }
bool isUnnamedAddr() const { return (Flags >> S::FB_unnamed_addr) & 1; }
@@ -173,6 +186,7 @@ struct Symbol {
assert(isCommon());
return CommonSize;
}
+
uint32_t getCommonAlignment() const {
assert(isCommon());
return CommonAlign;
@@ -197,9 +211,11 @@ class Reader {
ArrayRef<storage::Uncommon> Uncommons;
StringRef str(storage::Str S) const { return S.get(Strtab); }
+
template <typename T> ArrayRef<T> range(storage::Range<T> R) const {
return R.get(Symtab);
}
+
const storage::Header &header() const {
return *reinterpret_cast<const storage::Header *>(Symtab.data());
}
@@ -215,7 +231,7 @@ public:
Uncommons = range(header().Uncommons);
}
- typedef iterator_range<object::content_iterator<SymbolRef>> symbol_range;
+ using symbol_range = iterator_range<object::content_iterator<SymbolRef>>;
/// Returns the symbol table for the entire bitcode file.
/// The symbols enumerated by this method are ephemeral, but they can be
@@ -298,8 +314,7 @@ inline Reader::symbol_range Reader::module_symbols(unsigned I) const {
SymbolRef(MEnd, MEnd, nullptr, this)};
}
-}
-
-}
+} // end namespace irsymtab
+} // end namespace llvm
-#endif
+#endif // LLVM_OBJECT_IRSYMTAB_H
diff --git a/include/llvm/Object/MachO.h b/include/llvm/Object/MachO.h
index 1ee571cce738..29553558f72f 100644
--- a/include/llvm/Object/MachO.h
+++ b/include/llvm/Object/MachO.h
@@ -16,10 +16,25 @@
#define LLVM_OBJECT_MACHO_H
#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/iterator_range.h"
+#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringExtras.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Triple.h"
+#include "llvm/MC/SubtargetFeature.h"
+#include "llvm/Object/Binary.h"
#include "llvm/Object/ObjectFile.h"
+#include "llvm/Object/SymbolicFile.h"
+#include "llvm/Support/Error.h"
+#include "llvm/Support/Format.h"
#include "llvm/Support/MachO.h"
+#include "llvm/Support/MemoryBuffer.h"
+#include "llvm/Support/raw_ostream.h"
+#include <cstdint>
+#include <memory>
+#include <string>
+#include <system_error>
namespace llvm {
namespace object {
@@ -28,11 +43,10 @@ namespace object {
/// data in code entry in the table in a Mach-O object file.
class DiceRef {
DataRefImpl DicePimpl;
- const ObjectFile *OwningObject;
+ const ObjectFile *OwningObject = nullptr;
public:
- DiceRef() : OwningObject(nullptr) { }
-
+ DiceRef() = default;
DiceRef(DataRefImpl DiceP, const ObjectFile *Owner);
bool operator==(const DiceRef &Other) const;
@@ -47,7 +61,7 @@ public:
DataRefImpl getRawDataRefImpl() const;
const ObjectFile *getObjectFile() const;
};
-typedef content_iterator<DiceRef> dice_iterator;
+using dice_iterator = content_iterator<DiceRef>;
/// ExportEntry encapsulates the current-state-of-the-walk used when doing a
/// non-recursive walk of the trie data structure. This allows you to iterate
@@ -71,6 +85,7 @@ public:
private:
friend class MachOObjectFile;
+
void moveToFirst();
void moveToEnd();
uint64_t readULEB128(const uint8_t *&p);
@@ -80,25 +95,26 @@ private:
// Represents a node in the mach-o exports trie.
struct NodeState {
NodeState(const uint8_t *Ptr);
+
const uint8_t *Start;
const uint8_t *Current;
- uint64_t Flags;
- uint64_t Address;
- uint64_t Other;
- const char *ImportName;
- unsigned ChildCount;
- unsigned NextChildIndex;
- unsigned ParentStringLength;
- bool IsExportNode;
+ uint64_t Flags = 0;
+ uint64_t Address = 0;
+ uint64_t Other = 0;
+ const char *ImportName = nullptr;
+ unsigned ChildCount = 0;
+ unsigned NextChildIndex = 0;
+ unsigned ParentStringLength = 0;
+ bool IsExportNode = false;
};
ArrayRef<uint8_t> Trie;
SmallString<256> CumulativeString;
SmallVector<NodeState, 16> Stack;
- bool Malformed;
- bool Done;
+ bool Malformed = false;
+ bool Done = false;
};
-typedef content_iterator<ExportEntry> export_iterator;
+using export_iterator = content_iterator<ExportEntry>;
// Segment info so SegIndex/SegOffset pairs in a Mach-O Bind or Rebase entry
// can be checked and translated. Only the SegIndex/SegOffset pairs from
@@ -106,7 +122,7 @@ typedef content_iterator<ExportEntry> export_iterator;
// address() methods below.
class BindRebaseSegInfo {
public:
- BindRebaseSegInfo(const object::MachOObjectFile *Obj);
+ BindRebaseSegInfo(const MachOObjectFile *Obj);
// Used to check a Mach-O Bind or Rebase entry for errors when iterating.
const char *checkSegAndOffset(int32_t SegIndex, uint64_t SegOffset,
@@ -130,6 +146,7 @@ private:
int32_t SegmentIndex;
};
const SectionInfo &findSection(int32_t SegIndex, uint64_t SegOffset);
+
SmallVector<SectionInfo, 32> Sections;
int32_t MaxSegIndex;
};
@@ -159,6 +176,7 @@ public:
private:
friend class MachOObjectFile;
+
void moveToFirst();
void moveToEnd();
uint64_t readULEB128(const char **error);
@@ -167,15 +185,15 @@ private:
const MachOObjectFile *O;
ArrayRef<uint8_t> Opcodes;
const uint8_t *Ptr;
- uint64_t SegmentOffset;
- int32_t SegmentIndex;
- uint64_t RemainingLoopCount;
- uint64_t AdvanceAmount;
- uint8_t RebaseType;
+ uint64_t SegmentOffset = 0;
+ int32_t SegmentIndex = -1;
+ uint64_t RemainingLoopCount = 0;
+ uint64_t AdvanceAmount = 0;
+ uint8_t RebaseType = 0;
uint8_t PointerSize;
- bool Done;
+ bool Done = false;
};
-typedef content_iterator<MachORebaseEntry> rebase_iterator;
+using rebase_iterator = content_iterator<MachORebaseEntry>;
/// MachOBindEntry encapsulates the current state in the decompression of
/// binding opcodes. This allows you to iterate through the compressed table of
@@ -209,6 +227,7 @@ public:
private:
friend class MachOObjectFile;
+
void moveToFirst();
void moveToEnd();
uint64_t readULEB128(const char **error);
@@ -218,21 +237,21 @@ private:
const MachOObjectFile *O;
ArrayRef<uint8_t> Opcodes;
const uint8_t *Ptr;
- uint64_t SegmentOffset;
- int32_t SegmentIndex;
+ uint64_t SegmentOffset = 0;
+ int32_t SegmentIndex = -1;
StringRef SymbolName;
- bool LibraryOrdinalSet;
- int Ordinal;
- uint32_t Flags;
- int64_t Addend;
- uint64_t RemainingLoopCount;
- uint64_t AdvanceAmount;
- uint8_t BindType;
+ bool LibraryOrdinalSet = false;
+ int Ordinal = 0;
+ uint32_t Flags = 0;
+ int64_t Addend = 0;
+ uint64_t RemainingLoopCount = 0;
+ uint64_t AdvanceAmount = 0;
+ uint8_t BindType = 0;
uint8_t PointerSize;
Kind TableKind;
- bool Done;
+ bool Done = false;
};
-typedef content_iterator<MachOBindEntry> bind_iterator;
+using bind_iterator = content_iterator<MachOBindEntry>;
class MachOObjectFile : public ObjectFile {
public:
@@ -240,8 +259,8 @@ public:
const char *Ptr; // Where in memory the load command is.
MachO::load_command C; // The command itself.
};
- typedef SmallVector<LoadCommandInfo, 4> LoadCommandList;
- typedef LoadCommandList::const_iterator load_command_iterator;
+ using LoadCommandList = SmallVector<LoadCommandInfo, 4>;
+ using load_command_iterator = LoadCommandList::const_iterator;
static Expected<std::unique_ptr<MachOObjectFile>>
create(MemoryBufferRef Object, bool IsLittleEndian, bool Is64Bits,
@@ -563,7 +582,7 @@ public:
case MachO::PLATFORM_BRIDGEOS: return "bridgeos";
default:
std::string ret;
- llvm::raw_string_ostream ss(ret);
+ raw_string_ostream ss(ret);
ss << format_hex(platform, 8, true);
return ss.str();
}
@@ -576,7 +595,7 @@ public:
case MachO::TOOL_LD: return "ld";
default:
std::string ret;
- llvm::raw_string_ostream ss(ret);
+ raw_string_ostream ss(ret);
ss << format_hex(tools, 8, true);
return ss.str();
}
@@ -595,7 +614,6 @@ public:
}
private:
-
MachOObjectFile(MemoryBufferRef Object, bool IsLittleEndian, bool Is64Bits,
Error &Err, uint32_t UniversalCputype = 0,
uint32_t UniversalIndex = 0);
@@ -606,23 +624,23 @@ private:
MachO::mach_header_64 Header64;
MachO::mach_header Header;
};
- typedef SmallVector<const char*, 1> SectionList;
+ using SectionList = SmallVector<const char*, 1>;
SectionList Sections;
- typedef SmallVector<const char*, 1> LibraryList;
+ using LibraryList = SmallVector<const char*, 1>;
LibraryList Libraries;
LoadCommandList LoadCommands;
- typedef SmallVector<StringRef, 1> LibraryShortName;
+ using LibraryShortName = SmallVector<StringRef, 1>;
using BuildToolList = SmallVector<const char*, 1>;
BuildToolList BuildTools;
mutable LibraryShortName LibrariesShortNames;
std::unique_ptr<BindRebaseSegInfo> BindRebaseSectionTable;
- const char *SymtabLoadCmd;
- const char *DysymtabLoadCmd;
- const char *DataInCodeLoadCmd;
- const char *LinkOptHintsLoadCmd;
- const char *DyldInfoLoadCmd;
- const char *UuidLoadCmd;
- bool HasPageZeroSegment;
+ const char *SymtabLoadCmd = nullptr;
+ const char *DysymtabLoadCmd = nullptr;
+ const char *DataInCodeLoadCmd = nullptr;
+ const char *LinkOptHintsLoadCmd = nullptr;
+ const char *DyldInfoLoadCmd = nullptr;
+ const char *UuidLoadCmd = nullptr;
+ bool HasPageZeroSegment = false;
};
/// DiceRef
@@ -679,7 +697,7 @@ inline const ObjectFile *DiceRef::getObjectFile() const {
return OwningObject;
}
-}
-}
+} // end namespace object
+} // end namespace llvm
-#endif
+#endif // LLVM_OBJECT_MACHO_H
diff --git a/include/llvm/Object/ModuleSummaryIndexObjectFile.h b/include/llvm/Object/ModuleSummaryIndexObjectFile.h
index 713022264ea7..f733f861e2c0 100644
--- a/include/llvm/Object/ModuleSummaryIndexObjectFile.h
+++ b/include/llvm/Object/ModuleSummaryIndexObjectFile.h
@@ -1,4 +1,4 @@
-//===- ModuleSummaryIndexObjectFile.h - Summary index file implementation -=//
+//===- ModuleSummaryIndexObjectFile.h - Summary index file implementation -===//
//
// The LLVM Compiler Infrastructure
//
@@ -14,14 +14,22 @@
#ifndef LLVM_OBJECT_MODULESUMMARYINDEXOBJECTFILE_H
#define LLVM_OBJECT_MODULESUMMARYINDEXOBJECTFILE_H
-#include "llvm/IR/DiagnosticInfo.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/Object/Binary.h"
#include "llvm/Object/SymbolicFile.h"
+#include "llvm/Support/Error.h"
+#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/ErrorOr.h"
+#include "llvm/Support/MemoryBuffer.h"
+#include <memory>
+#include <system_error>
namespace llvm {
+
class ModuleSummaryIndex;
-class Module;
namespace object {
+
class ObjectFile;
/// This class is used to read just the module summary index related
@@ -41,15 +49,18 @@ public:
void moveSymbolNext(DataRefImpl &Symb) const override {
llvm_unreachable("not implemented");
}
+
std::error_code printSymbolName(raw_ostream &OS,
DataRefImpl Symb) const override {
llvm_unreachable("not implemented");
return std::error_code();
}
+
uint32_t getSymbolFlags(DataRefImpl Symb) const override {
llvm_unreachable("not implemented");
return 0;
}
+
basic_symbol_iterator symbol_begin() const override {
llvm_unreachable("not implemented");
return basic_symbol_iterator(BasicSymbolRef());
@@ -85,7 +96,8 @@ public:
static Expected<std::unique_ptr<ModuleSummaryIndexObjectFile>>
create(MemoryBufferRef Object);
};
-}
+
+} // end namespace object
/// Parse the module summary index out of an IR file and return the module
/// summary index object if found, or nullptr if not. If Identifier is
@@ -94,6 +106,7 @@ public:
/// containing minimized bitcode just for the thin link.
Expected<std::unique_ptr<ModuleSummaryIndex>>
getModuleSummaryIndexForFile(StringRef Path, StringRef Identifier = "");
-}
-#endif
+} // end namespace llvm
+
+#endif // LLVM_OBJECT_MODULESUMMARYINDEXOBJECTFILE_H
diff --git a/include/llvm/Object/ModuleSymbolTable.h b/include/llvm/Object/ModuleSymbolTable.h
index 333301d5b456..9e9322885388 100644
--- a/include/llvm/Object/ModuleSymbolTable.h
+++ b/include/llvm/Object/ModuleSymbolTable.h
@@ -1,4 +1,4 @@
-//===- ModuleSymbolTable.h - symbol table for in-memory IR ----------------===//
+//===- ModuleSymbolTable.h - symbol table for in-memory IR ------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -16,22 +16,24 @@
#ifndef LLVM_OBJECT_MODULESYMBOLTABLE_H
#define LLVM_OBJECT_MODULESYMBOLTABLE_H
+#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/PointerUnion.h"
-#include "llvm/ADT/Triple.h"
#include "llvm/IR/Mangler.h"
#include "llvm/Object/SymbolicFile.h"
+#include "llvm/Support/Allocator.h"
+#include <cstdint>
#include <string>
#include <utility>
+#include <vector>
namespace llvm {
class GlobalValue;
-class RecordStreamer;
class ModuleSymbolTable {
public:
- typedef std::pair<std::string, uint32_t> AsmSymbol;
- typedef PointerUnion<GlobalValue *, AsmSymbol *> Symbol;
+ using AsmSymbol = std::pair<std::string, uint32_t>;
+ using Symbol = PointerUnion<GlobalValue *, AsmSymbol *>;
private:
Module *FirstMod = nullptr;
@@ -57,6 +59,6 @@ public:
function_ref<void(StringRef, object::BasicSymbolRef::Flags)> AsmSymbol);
};
-}
+} // end namespace llvm
-#endif
+#endif // LLVM_OBJECT_MODULESYMBOLTABLE_H
diff --git a/include/llvm/Object/RelocVisitor.h b/include/llvm/Object/RelocVisitor.h
index 3a0a62d9283b..73c7ce367cb0 100644
--- a/include/llvm/Object/RelocVisitor.h
+++ b/include/llvm/Object/RelocVisitor.h
@@ -1,4 +1,4 @@
-//===-- RelocVisitor.h - Visitor for object file relocations -*- C++ -*-===//
+//===- RelocVisitor.h - Visitor for object file relocations -----*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -16,34 +16,38 @@
#ifndef LLVM_OBJECT_RELOCVISITOR_H
#define LLVM_OBJECT_RELOCVISITOR_H
+#include "llvm/ADT/Triple.h"
#include "llvm/Object/COFF.h"
#include "llvm/Object/ELFObjectFile.h"
#include "llvm/Object/MachO.h"
#include "llvm/Object/ObjectFile.h"
-#include "llvm/Support/Debug.h"
+#include "llvm/Support/Casting.h"
#include "llvm/Support/ELF.h"
+#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/MachO.h"
-#include "llvm/Support/raw_ostream.h"
+#include <cstdint>
+#include <system_error>
namespace llvm {
namespace object {
struct RelocToApply {
// The computed value after applying the relevant relocations.
- int64_t Value;
+ int64_t Value = 0;
// The width of the value; how many bytes to touch when applying the
// relocation.
- char Width;
+ char Width = 0;
+
+ RelocToApply() = default;
RelocToApply(int64_t Value, char Width) : Value(Value), Width(Width) {}
- RelocToApply() : Value(0), Width(0) {}
};
/// @brief Base class for object file relocation visitors.
class RelocVisitor {
public:
- explicit RelocVisitor(const ObjectFile &Obj)
- : ObjToVisit(Obj), HasError(false) {}
+ explicit RelocVisitor(const ObjectFile &Obj) : ObjToVisit(Obj) {}
// TODO: Should handle multiple applied relocations via either passing in the
// previously computed value or just count paired relocations as a single
@@ -64,22 +68,22 @@ public:
private:
const ObjectFile &ObjToVisit;
- bool HasError;
+ bool HasError = false;
RelocToApply visitELF(uint32_t RelocType, RelocationRef R, uint64_t Value) {
if (ObjToVisit.getBytesInAddress() == 8) { // 64-bit object file
switch (ObjToVisit.getArch()) {
case Triple::x86_64:
switch (RelocType) {
- case llvm::ELF::R_X86_64_NONE:
+ case ELF::R_X86_64_NONE:
return visitELF_X86_64_NONE(R);
- case llvm::ELF::R_X86_64_64:
+ case ELF::R_X86_64_64:
return visitELF_X86_64_64(R, Value);
- case llvm::ELF::R_X86_64_PC32:
+ case ELF::R_X86_64_PC32:
return visitELF_X86_64_PC32(R, Value);
- case llvm::ELF::R_X86_64_32:
+ case ELF::R_X86_64_32:
return visitELF_X86_64_32(R, Value);
- case llvm::ELF::R_X86_64_32S:
+ case ELF::R_X86_64_32S:
return visitELF_X86_64_32S(R, Value);
default:
HasError = true;
@@ -88,9 +92,9 @@ private:
case Triple::aarch64:
case Triple::aarch64_be:
switch (RelocType) {
- case llvm::ELF::R_AARCH64_ABS32:
+ case ELF::R_AARCH64_ABS32:
return visitELF_AARCH64_ABS32(R, Value);
- case llvm::ELF::R_AARCH64_ABS64:
+ case ELF::R_AARCH64_ABS64:
return visitELF_AARCH64_ABS64(R, Value);
default:
HasError = true;
@@ -99,9 +103,9 @@ private:
case Triple::bpfel:
case Triple::bpfeb:
switch (RelocType) {
- case llvm::ELF::R_BPF_64_64:
+ case ELF::R_BPF_64_64:
return visitELF_BPF_64_64(R, Value);
- case llvm::ELF::R_BPF_64_32:
+ case ELF::R_BPF_64_32:
return visitELF_BPF_64_32(R, Value);
default:
HasError = true;
@@ -110,9 +114,9 @@ private:
case Triple::mips64el:
case Triple::mips64:
switch (RelocType) {
- case llvm::ELF::R_MIPS_32:
+ case ELF::R_MIPS_32:
return visitELF_MIPS64_32(R, Value);
- case llvm::ELF::R_MIPS_64:
+ case ELF::R_MIPS_64:
return visitELF_MIPS64_64(R, Value);
default:
HasError = true;
@@ -121,9 +125,9 @@ private:
case Triple::ppc64le:
case Triple::ppc64:
switch (RelocType) {
- case llvm::ELF::R_PPC64_ADDR32:
+ case ELF::R_PPC64_ADDR32:
return visitELF_PPC64_ADDR32(R, Value);
- case llvm::ELF::R_PPC64_ADDR64:
+ case ELF::R_PPC64_ADDR64:
return visitELF_PPC64_ADDR64(R, Value);
default:
HasError = true;
@@ -131,9 +135,9 @@ private:
}
case Triple::systemz:
switch (RelocType) {
- case llvm::ELF::R_390_32:
+ case ELF::R_390_32:
return visitELF_390_32(R, Value);
- case llvm::ELF::R_390_64:
+ case ELF::R_390_64:
return visitELF_390_64(R, Value);
default:
HasError = true;
@@ -141,11 +145,11 @@ private:
}
case Triple::sparcv9:
switch (RelocType) {
- case llvm::ELF::R_SPARC_32:
- case llvm::ELF::R_SPARC_UA32:
+ case ELF::R_SPARC_32:
+ case ELF::R_SPARC_UA32:
return visitELF_SPARCV9_32(R, Value);
- case llvm::ELF::R_SPARC_64:
- case llvm::ELF::R_SPARC_UA64:
+ case ELF::R_SPARC_64:
+ case ELF::R_SPARC_UA64:
return visitELF_SPARCV9_64(R, Value);
default:
HasError = true;
@@ -153,9 +157,9 @@ private:
}
case Triple::amdgcn:
switch (RelocType) {
- case llvm::ELF::R_AMDGPU_ABS32:
+ case ELF::R_AMDGPU_ABS32:
return visitELF_AMDGPU_ABS32(R, Value);
- case llvm::ELF::R_AMDGPU_ABS64:
+ case ELF::R_AMDGPU_ABS64:
return visitELF_AMDGPU_ABS64(R, Value);
default:
HasError = true;
@@ -169,11 +173,11 @@ private:
switch (ObjToVisit.getArch()) {
case Triple::x86:
switch (RelocType) {
- case llvm::ELF::R_386_NONE:
+ case ELF::R_386_NONE:
return visitELF_386_NONE(R);
- case llvm::ELF::R_386_32:
+ case ELF::R_386_32:
return visitELF_386_32(R, Value);
- case llvm::ELF::R_386_PC32:
+ case ELF::R_386_PC32:
return visitELF_386_PC32(R, Value);
default:
HasError = true;
@@ -181,7 +185,7 @@ private:
}
case Triple::ppc:
switch (RelocType) {
- case llvm::ELF::R_PPC_ADDR32:
+ case ELF::R_PPC_ADDR32:
return visitELF_PPC_ADDR32(R, Value);
default:
HasError = true;
@@ -193,12 +197,12 @@ private:
default:
HasError = true;
return RelocToApply();
- case llvm::ELF::R_ARM_ABS32:
+ case ELF::R_ARM_ABS32:
return visitELF_ARM_ABS32(R, Value);
}
case Triple::lanai:
switch (RelocType) {
- case llvm::ELF::R_LANAI_32:
+ case ELF::R_LANAI_32:
return visitELF_Lanai_32(R, Value);
default:
HasError = true;
@@ -207,7 +211,7 @@ private:
case Triple::mipsel:
case Triple::mips:
switch (RelocType) {
- case llvm::ELF::R_MIPS_32:
+ case ELF::R_MIPS_32:
return visitELF_MIPS_32(R, Value);
default:
HasError = true;
@@ -215,8 +219,8 @@ private:
}
case Triple::sparc:
switch (RelocType) {
- case llvm::ELF::R_SPARC_32:
- case llvm::ELF::R_SPARC_UA32:
+ case ELF::R_SPARC_32:
+ case ELF::R_SPARC_UA32:
return visitELF_SPARC_32(R, Value);
default:
HasError = true;
@@ -224,7 +228,7 @@ private:
}
case Triple::hexagon:
switch (RelocType) {
- case llvm::ELF::R_HEX_32:
+ case ELF::R_HEX_32:
return visitELF_HEX_32(R, Value);
default:
HasError = true;
@@ -483,6 +487,7 @@ private:
}
};
-}
-}
-#endif
+} // end namespace object
+} // end namespace llvm
+
+#endif // LLVM_OBJECT_RELOCVISITOR_H
diff --git a/include/llvm/Object/StackMapParser.h b/include/llvm/Object/StackMapParser.h
index efea62bb3cb3..0c5e1e38cbaa 100644
--- a/include/llvm/Object/StackMapParser.h
+++ b/include/llvm/Object/StackMapParser.h
@@ -1,4 +1,4 @@
-//===-------- StackMapParser.h - StackMap Parsing Support -------*- C++ -*-===//
+//===- StackMapParser.h - StackMap Parsing Support --------------*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -11,7 +11,11 @@
#define LLVM_CODEGEN_STACKMAPPARSER_H
#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/Endian.h"
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
#include <vector>
namespace llvm {
@@ -19,12 +23,11 @@ namespace llvm {
template <support::endianness Endianness>
class StackMapV2Parser {
public:
-
template <typename AccessorT>
class AccessorIterator {
public:
-
AccessorIterator(AccessorT A) : A(A) {}
+
AccessorIterator& operator++() { A = A.next(); return *this; }
AccessorIterator operator++(int) {
auto tmp = *this;
@@ -48,8 +51,8 @@ public:
/// Accessor for function records.
class FunctionAccessor {
friend class StackMapV2Parser;
- public:
+ public:
/// Get the function address.
uint64_t getFunctionAddress() const {
return read<uint64_t>(P);
@@ -80,13 +83,12 @@ public:
/// Accessor for constants.
class ConstantAccessor {
friend class StackMapV2Parser;
- public:
+ public:
/// Return the value of this constant.
uint64_t getValue() const { return read<uint64_t>(P); }
private:
-
ConstantAccessor(const uint8_t *P) : P(P) {}
const static int ConstantAccessorSize = sizeof(uint64_t);
@@ -98,20 +100,16 @@ public:
const uint8_t *P;
};
- // Forward-declare RecordAccessor so we can friend it below.
- class RecordAccessor;
-
enum class LocationKind : uint8_t {
Register = 1, Direct = 2, Indirect = 3, Constant = 4, ConstantIndex = 5
};
-
/// Accessor for location records.
class LocationAccessor {
friend class StackMapV2Parser;
friend class RecordAccessor;
- public:
+ public:
/// Get the Kind for this location.
LocationKind getKind() const {
return LocationKind(P[KindOffset]);
@@ -144,7 +142,6 @@ public:
}
private:
-
LocationAccessor(const uint8_t *P) : P(P) {}
LocationAccessor next() const {
@@ -163,8 +160,8 @@ public:
class LiveOutAccessor {
friend class StackMapV2Parser;
friend class RecordAccessor;
- public:
+ public:
/// Get the Dwarf register number for this live-out.
uint16_t getDwarfRegNum() const {
return read<uint16_t>(P + DwarfRegNumOffset);
@@ -176,7 +173,6 @@ public:
}
private:
-
LiveOutAccessor(const uint8_t *P) : P(P) {}
LiveOutAccessor next() const {
@@ -194,10 +190,10 @@ public:
/// Accessor for stackmap records.
class RecordAccessor {
friend class StackMapV2Parser;
- public:
- typedef AccessorIterator<LocationAccessor> location_iterator;
- typedef AccessorIterator<LiveOutAccessor> liveout_iterator;
+ public:
+ using location_iterator = AccessorIterator<LocationAccessor>;
+ using liveout_iterator = AccessorIterator<LiveOutAccessor>;
/// Get the patchpoint/stackmap ID for this record.
uint64_t getID() const {
@@ -254,7 +250,6 @@ public:
return liveout_iterator(getLiveOut(0));
}
-
/// End iterator for live-outs.
liveout_iterator liveouts_end() const {
return liveout_iterator(getLiveOut(getNumLiveOuts()));
@@ -266,7 +261,6 @@ public:
}
private:
-
RecordAccessor(const uint8_t *P) : P(P) {}
unsigned getNumLiveOutsOffset() const {
@@ -316,9 +310,9 @@ public:
}
}
- typedef AccessorIterator<FunctionAccessor> function_iterator;
- typedef AccessorIterator<ConstantAccessor> constant_iterator;
- typedef AccessorIterator<RecordAccessor> record_iterator;
+ using function_iterator = AccessorIterator<FunctionAccessor>;
+ using constant_iterator = AccessorIterator<ConstantAccessor>;
+ using record_iterator = AccessorIterator<RecordAccessor>;
/// Get the version number of this stackmap. (Always returns 2).
unsigned getVersion() const { return 2; }
@@ -413,7 +407,6 @@ public:
}
private:
-
template <typename T>
static T read(const uint8_t *P) {
return support::endian::read<T, Endianness, 1>(P);
@@ -441,6 +434,6 @@ private:
std::vector<unsigned> StackMapRecordOffsets;
};
-}
+} // end namespace llvm
-#endif
+#endif // LLVM_CODEGEN_STACKMAPPARSER_H
diff --git a/include/llvm/Object/Wasm.h b/include/llvm/Object/Wasm.h
index 43ad62be68b6..6b6bbe252f65 100644
--- a/include/llvm/Object/Wasm.h
+++ b/include/llvm/Object/Wasm.h
@@ -17,6 +17,8 @@
#ifndef LLVM_OBJECT_WASM_H
#define LLVM_OBJECT_WASM_H
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/Support/Error.h"
@@ -47,10 +49,10 @@ public:
class WasmSection {
public:
- WasmSection() : Type(0), Offset(0) {}
+ WasmSection() = default;
- uint32_t Type; // Section type (See below)
- uint32_t Offset; // Offset with in the file
+ uint32_t Type = 0; // Section type (See below)
+ uint32_t Offset = 0; // Offset with in the file
StringRef Name; // Section name (User-defined sections only)
ArrayRef<uint8_t> Content; // Section content
std::vector<wasm::WasmRelocation> Relocations; // Relocations for this section
@@ -74,12 +76,15 @@ public:
const std::vector<wasm::WasmLimits>& memories() const { return Memories; }
const std::vector<wasm::WasmGlobal>& globals() const { return Globals; }
const std::vector<wasm::WasmExport>& exports() const { return Exports; }
+
const std::vector<wasm::WasmElemSegment>& elements() const {
return ElemSegments;
}
+
const std::vector<wasm::WasmDataSegment>& dataSegments() const {
return DataSegments;
}
+
const std::vector<wasm::WasmFunction>& functions() const { return Functions; }
const ArrayRef<uint8_t>& code() const { return CodeSection; }
uint32_t startFunction() const { return StartFunction; }
@@ -178,7 +183,7 @@ private:
std::vector<WasmSymbol> Symbols;
std::vector<wasm::WasmFunction> Functions;
ArrayRef<uint8_t> CodeSection;
- uint32_t StartFunction;
+ uint32_t StartFunction = -1;
};
} // end namespace object
diff --git a/include/llvm/ObjectYAML/WasmYAML.h b/include/llvm/ObjectYAML/WasmYAML.h
index b1af8bbdfa6e..dfeeb8589f82 100644
--- a/include/llvm/ObjectYAML/WasmYAML.h
+++ b/include/llvm/ObjectYAML/WasmYAML.h
@@ -88,7 +88,7 @@ struct Relocation {
RelocType Type;
uint32_t Index;
yaml::Hex32 Offset;
- yaml::Hex32 Addend;
+ int32_t Addend;
};
struct DataSegment {
diff --git a/include/llvm/ProfileData/InstrProf.h b/include/llvm/ProfileData/InstrProf.h
index c9828858cce3..1b07c33746e7 100644
--- a/include/llvm/ProfileData/InstrProf.h
+++ b/include/llvm/ProfileData/InstrProf.h
@@ -79,14 +79,6 @@ inline StringRef getInstrProfValueRangeProfFuncName() {
return INSTR_PROF_VALUE_RANGE_PROF_FUNC_STR;
}
-/// Return the name of the section containing function coverage mapping
-/// data.
-std::string getInstrProfCoverageSectionName(const Module *M = nullptr);
-/// Similar to the above, but used by host tool (e.g, coverage) which has
-/// object format information. The section name returned is not prefixed
-/// with segment name.
-std::string getInstrProfCoverageSectionNameInObject(bool isCoff);
-
/// Return the name prefix of variables containing instrumented function names.
inline StringRef getInstrProfNameVarPrefix() { return "__profn_"; }
diff --git a/include/llvm/Support/BranchProbability.h b/include/llvm/Support/BranchProbability.h
index e8eb50d53eb6..b403d7fbf117 100644
--- a/include/llvm/Support/BranchProbability.h
+++ b/include/llvm/Support/BranchProbability.h
@@ -112,6 +112,13 @@ public:
return *this;
}
+ BranchProbability &operator*=(uint32_t RHS) {
+ assert(N != UnknownN &&
+ "Unknown probability cannot participate in arithmetics.");
+ N = (uint64_t(N) * RHS > D) ? D : N * RHS;
+ return *this;
+ }
+
BranchProbability &operator/=(uint32_t RHS) {
assert(N != UnknownN &&
"Unknown probability cannot participate in arithmetics.");
@@ -135,6 +142,11 @@ public:
return Prob *= RHS;
}
+ BranchProbability operator*(uint32_t RHS) const {
+ BranchProbability Prob(*this);
+ return Prob *= RHS;
+ }
+
BranchProbability operator/(uint32_t RHS) const {
BranchProbability Prob(*this);
return Prob /= RHS;
diff --git a/include/llvm/Support/FileSystem.h b/include/llvm/Support/FileSystem.h
index 29515c231bc4..e3c5de7fbe64 100644
--- a/include/llvm/Support/FileSystem.h
+++ b/include/llvm/Support/FileSystem.h
@@ -116,7 +116,9 @@ inline perms &operator&=(perms &l, perms r) {
return l;
}
inline perms operator~(perms x) {
- return static_cast<perms>(~static_cast<unsigned short>(x));
+ // Avoid UB by explicitly truncating the (unsigned) ~ result.
+ return static_cast<perms>(
+ static_cast<unsigned short>(~static_cast<unsigned short>(x)));
}
class UniqueID {
diff --git a/include/llvm/Support/GenericDomTree.h b/include/llvm/Support/GenericDomTree.h
index eb7c27d2ffa5..851ff7d80403 100644
--- a/include/llvm/Support/GenericDomTree.h
+++ b/include/llvm/Support/GenericDomTree.h
@@ -286,13 +286,13 @@ protected:
NodeRef NewBBSucc = *GraphT::child_begin(NewBB);
std::vector<NodeRef> PredBlocks;
- for (const auto Pred : children<Inverse<N>>(NewBB))
+ for (const auto &Pred : children<Inverse<N>>(NewBB))
PredBlocks.push_back(Pred);
assert(!PredBlocks.empty() && "No predblocks?");
bool NewBBDominatesNewBBSucc = true;
- for (const auto Pred : children<Inverse<N>>(NewBBSucc)) {
+ for (const auto &Pred : children<Inverse<N>>(NewBBSucc)) {
if (Pred != NewBB && !dominates(NewBBSucc, Pred) &&
isReachableFromEntry(Pred)) {
NewBBDominatesNewBBSucc = false;
diff --git a/include/llvm/Support/KnownBits.h b/include/llvm/Support/KnownBits.h
new file mode 100644
index 000000000000..08d4dedd0ac8
--- /dev/null
+++ b/include/llvm/Support/KnownBits.h
@@ -0,0 +1,43 @@
+//===- llvm/Support/KnownBits.h - Stores known zeros/ones -------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file contains a class for representing known zeros and ones used by
+// computeKnownBits.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_SUPPORT_KNOWNBITS_H
+#define LLVM_SUPPORT_KNOWNBITS_H
+
+#include "llvm/ADT/APInt.h"
+
+namespace llvm {
+
+// For now this is a simple wrapper around two APInts.
+struct KnownBits {
+ APInt Zero;
+ APInt One;
+
+ // Default construct Zero and One.
+ KnownBits() {}
+
+ /// Create a known bits object of BitWidth bits initialized to unknown.
+ KnownBits(unsigned BitWidth) : Zero(BitWidth, 0), One(BitWidth, 0) {}
+
+ /// Get the bit width of this value.
+ unsigned getBitWidth() const {
+ assert(Zero.getBitWidth() == One.getBitWidth() &&
+ "Zero and One should have the same width!");
+ return Zero.getBitWidth();
+ }
+};
+
+} // end namespace llvm
+
+#endif
diff --git a/include/llvm/Support/YAMLTraits.h b/include/llvm/Support/YAMLTraits.h
index 6d02e4aba48a..ffea679fab82 100644
--- a/include/llvm/Support/YAMLTraits.h
+++ b/include/llvm/Support/YAMLTraits.h
@@ -606,7 +606,7 @@ public:
template <typename T>
void bitSetCase(T &Val, const char* Str, const T ConstVal) {
if ( bitSetMatch(Str, outputting() && (Val & ConstVal) == ConstVal) ) {
- Val = Val | ConstVal;
+ Val = static_cast<T>(Val | ConstVal);
}
}
@@ -614,7 +614,7 @@ public:
template <typename T>
void bitSetCase(T &Val, const char* Str, const uint32_t ConstVal) {
if ( bitSetMatch(Str, outputting() && (Val & ConstVal) == ConstVal) ) {
- Val = Val | ConstVal;
+ Val = static_cast<T>(Val | ConstVal);
}
}
diff --git a/include/llvm/Target/GlobalISel/Target.td b/include/llvm/Target/GlobalISel/Target.td
index fa1a424b5895..fd2ebca86d60 100644
--- a/include/llvm/Target/GlobalISel/Target.td
+++ b/include/llvm/Target/GlobalISel/Target.td
@@ -30,21 +30,13 @@ def s64 : LLT;
// Definitions that inherit from this may also inherit from
// GIComplexPatternEquiv to enable the import of SelectionDAG patterns involving
// those ComplexPatterns.
-class GIComplexOperandMatcher<LLT type, dag operands, string matcherfn> {
+class GIComplexOperandMatcher<LLT type, string matcherfn> {
// The expected type of the root of the match.
//
// TODO: We should probably support, any-type, any-scalar, and multiple types
// in the future.
LLT Type = type;
- // The operands that result from a successful match
- // Should be of the form '(ops ty1, ty2, ...)' where ty1/ty2 are definitions
- // that inherit from Operand.
- //
- // FIXME: Which definition is used for ty1/ty2 doesn't actually matter at the
- // moment. Only the number of operands is used.
- dag Operands = operands;
-
// The function that determines whether the operand matches. It should be of
// the form:
// bool select(const MatchOperand &Root, MatchOperand &Result1)
diff --git a/include/llvm/Target/TargetInstrInfo.h b/include/llvm/Target/TargetInstrInfo.h
index 0dc9cf70d335..82a682cf1f7e 100644
--- a/include/llvm/Target/TargetInstrInfo.h
+++ b/include/llvm/Target/TargetInstrInfo.h
@@ -1108,7 +1108,7 @@ public:
/// Return the noop instruction to use for a noop.
- virtual void getNoopForMachoTarget(MCInst &NopInst) const;
+ virtual void getNoop(MCInst &NopInst) const;
/// Return true for post-incremented instructions.
virtual bool isPostIncrement(const MachineInstr &MI) const {
diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h
index 24039ea10816..51f11e1a9a25 100644
--- a/include/llvm/Target/TargetLowering.h
+++ b/include/llvm/Target/TargetLowering.h
@@ -236,6 +236,12 @@ public:
return getPointerTy(DL, DL.getAllocaAddrSpace());
}
+ /// Return the type for operands of fence.
+ /// TODO: Let fence operands be of i32 type and remove this.
+ virtual MVT getFenceOperandTy(const DataLayout &DL) const {
+ return getPointerTy(DL);
+ }
+
/// EVT is not used in-tree, but is used by out-of-tree target.
/// A documentation for this function would be nice...
virtual MVT getScalarShiftAmountTy(const DataLayout &, EVT) const;
@@ -2268,7 +2274,8 @@ protected:
/// Return true if the value types that can be represented by the specified
/// register class are all legal.
- bool isLegalRC(const TargetRegisterClass *RC) const;
+ bool isLegalRC(const TargetRegisterInfo &TRI,
+ const TargetRegisterClass &RC) const;
/// Replace/modify any TargetFrameIndex operands with a targte-dependent
/// sequence of memory operands that is recognized by PrologEpilogInserter.
@@ -2388,30 +2395,39 @@ public:
New = N;
return true;
}
-
- /// Check to see if the specified operand of the specified instruction is a
- /// constant integer. If so, check to see if there are any bits set in the
- /// constant that are not demanded. If so, shrink the constant and return
- /// true.
- bool ShrinkDemandedConstant(SDValue Op, const APInt &Demanded);
-
- /// Convert x+y to (VT)((SmallVT)x+(SmallVT)y) if the casts are free. This
- /// uses isZExtFree and ZERO_EXTEND for the widening cast, but it could be
- /// generalized for targets with other types of implicit widening casts.
- bool ShrinkDemandedOp(SDValue Op, unsigned BitWidth, const APInt &Demanded,
- const SDLoc &dl);
-
- /// Helper for SimplifyDemandedBits that can simplify an operation with
- /// multiple uses. This function uses TLI.SimplifyDemandedBits to
- /// simplify Operand \p OpIdx of \p User and then updated \p User with
- /// the simplified version. No other uses of \p OpIdx are updated.
- /// If \p User is the only user of \p OpIdx, this function behaves exactly
- /// like TLI.SimplifyDemandedBits except that it also updates the DAG by
- /// calling DCI.CommitTargetLoweringOpt.
- bool SimplifyDemandedBits(SDNode *User, unsigned OpIdx,
- const APInt &Demanded, DAGCombinerInfo &DCI);
};
+ /// Check to see if the specified operand of the specified instruction is a
+ /// constant integer. If so, check to see if there are any bits set in the
+ /// constant that are not demanded. If so, shrink the constant and return
+ /// true.
+ bool ShrinkDemandedConstant(SDValue Op, const APInt &Demanded,
+ TargetLoweringOpt &TLO) const;
+
+ // Target hook to do target-specific const optimization, which is called by
+ // ShrinkDemandedConstant. This function should return true if the target
+ // doesn't want ShrinkDemandedConstant to further optimize the constant.
+ virtual bool targetShrinkDemandedConstant(SDValue Op, const APInt &Demanded,
+ TargetLoweringOpt &TLO) const {
+ return false;
+ }
+
+ /// Convert x+y to (VT)((SmallVT)x+(SmallVT)y) if the casts are free. This
+ /// uses isZExtFree and ZERO_EXTEND for the widening cast, but it could be
+ /// generalized for targets with other types of implicit widening casts.
+ bool ShrinkDemandedOp(SDValue Op, unsigned BitWidth, const APInt &Demanded,
+ TargetLoweringOpt &TLO) const;
+
+ /// Helper for SimplifyDemandedBits that can simplify an operation with
+ /// multiple uses. This function simplifies operand \p OpIdx of \p User and
+ /// then updates \p User with the simplified version. No other uses of
+ /// \p OpIdx are updated. If \p User is the only user of \p OpIdx, this
+ /// function behaves exactly like function SimplifyDemandedBits declared
+ /// below except that it also updates the DAG by calling
+ /// DCI.CommitTargetLoweringOpt.
+ bool SimplifyDemandedBits(SDNode *User, unsigned OpIdx, const APInt &Demanded,
+ DAGCombinerInfo &DCI, TargetLoweringOpt &TLO) const;
+
/// Look at Op. At this point, we know that only the DemandedMask bits of the
/// result of Op are ever used downstream. If we can use this information to
/// simplify Op, create a new simplified DAG node and return true, returning
diff --git a/include/llvm/Target/TargetRegisterInfo.h b/include/llvm/Target/TargetRegisterInfo.h
index 3f5daea63ab5..4ce6d2ff5e26 100644
--- a/include/llvm/Target/TargetRegisterInfo.h
+++ b/include/llvm/Target/TargetRegisterInfo.h
@@ -40,13 +40,12 @@ class TargetRegisterClass {
public:
typedef const MCPhysReg* iterator;
typedef const MCPhysReg* const_iterator;
- typedef const MVT::SimpleValueType* vt_iterator;
typedef const TargetRegisterClass* const * sc_iterator;
// Instance variables filled by tablegen, do not use!
const MCRegisterClass *MC;
const uint16_t SpillSize, SpillAlignment;
- const vt_iterator VTs;
+ const MVT::SimpleValueType *VTs;
const uint32_t *SubClassMask;
const uint16_t *SuperRegIndices;
const LaneBitmask LaneMask;
@@ -93,13 +92,6 @@ public:
return MC->contains(Reg1, Reg2);
}
- /// Return the size of the register in bytes, which is also the size
- /// of a stack slot allocated to hold a spilled copy of this register.
- unsigned getSize() const { return SpillSize; }
-
- /// Return the minimum required alignment for a register of this class.
- unsigned getAlignment() const { return SpillAlignment; }
-
/// Return the cost of copying a value between two registers in this class.
/// A negative number means the register class is very expensive
/// to copy e.g. status flag register classes.
@@ -109,26 +101,6 @@ public:
/// registers.
bool isAllocatable() const { return MC->isAllocatable(); }
- /// Return true if this TargetRegisterClass has the ValueType vt.
- bool hasType(MVT vt) const {
- for(int i = 0; VTs[i] != MVT::Other; ++i)
- if (MVT(VTs[i]) == vt)
- return true;
- return false;
- }
-
- /// vt_begin / vt_end - Loop over all of the value types that can be
- /// represented by values in this register class.
- vt_iterator vt_begin() const {
- return VTs;
- }
-
- vt_iterator vt_end() const {
- vt_iterator I = VTs;
- while (*I != MVT::Other) ++I;
- return I;
- }
-
/// Return true if the specified TargetRegisterClass
/// is a proper sub-class of this TargetRegisterClass.
bool hasSubClass(const TargetRegisterClass *RC) const {
@@ -246,6 +218,7 @@ struct RegClassWeight {
class TargetRegisterInfo : public MCRegisterInfo {
public:
typedef const TargetRegisterClass * const * regclass_iterator;
+ typedef const MVT::SimpleValueType* vt_iterator;
private:
const TargetRegisterInfoDesc *InfoDesc; // Extra desc array for codegen
const char *const *SubRegIndexNames; // Names of subreg indexes.
@@ -327,6 +300,44 @@ public:
return Index | (1u << 31);
}
+ /// Return the size in bits of a register from class RC.
+ unsigned getRegSizeInBits(const TargetRegisterClass &RC) const {
+ return RC.SpillSize * 8;
+ }
+
+ /// Return the size in bytes of the stack slot allocated to hold a spilled
+ /// copy of a register from class RC.
+ unsigned getSpillSize(const TargetRegisterClass &RC) const {
+ return RC.SpillSize;
+ }
+
+ /// Return the minimum required alignment for a spill slot for a register
+ /// of this class.
+ unsigned getSpillAlignment(const TargetRegisterClass &RC) const {
+ return RC.SpillAlignment;
+ }
+
+ /// Return true if the given TargetRegisterClass has the ValueType T.
+ bool isTypeLegalForClass(const TargetRegisterClass &RC, MVT T) const {
+ for (int i = 0; RC.VTs[i] != MVT::Other; ++i)
+ if (MVT(RC.VTs[i]) == T)
+ return true;
+ return false;
+ }
+
+ /// Loop over all of the value types that can be represented by values
+ // in the given register class.
+ vt_iterator legalclasstypes_begin(const TargetRegisterClass &RC) const {
+ return RC.VTs;
+ }
+
+ vt_iterator legalclasstypes_end(const TargetRegisterClass &RC) const {
+ vt_iterator I = RC.VTs;
+ while (*I != MVT::Other)
+ ++I;
+ return I;
+ }
+
/// Returns the Register Class of a physical register of the given type,
/// picking the most sub register class of the right type that contains this
/// physreg.
diff --git a/include/llvm/Transforms/Instrumentation.h b/include/llvm/Transforms/Instrumentation.h
index 01a3975a4f2c..db6723da1e61 100644
--- a/include/llvm/Transforms/Instrumentation.h
+++ b/include/llvm/Transforms/Instrumentation.h
@@ -131,7 +131,8 @@ FunctionPass *createAddressSanitizerFunctionPass(bool CompileKernel = false,
bool Recover = false,
bool UseAfterScope = false);
ModulePass *createAddressSanitizerModulePass(bool CompileKernel = false,
- bool Recover = false);
+ bool Recover = false,
+ bool UseGlobalsGC = true);
// Insert MemorySanitizer instrumentation (detection of uninitialized reads)
FunctionPass *createMemorySanitizerPass(int TrackOrigins = 0,
diff --git a/include/llvm/Transforms/Scalar/ConstantHoisting.h b/include/llvm/Transforms/Scalar/ConstantHoisting.h
index 3e2b3327a9fe..edc91add7a73 100644
--- a/include/llvm/Transforms/Scalar/ConstantHoisting.h
+++ b/include/llvm/Transforms/Scalar/ConstantHoisting.h
@@ -36,6 +36,7 @@
#ifndef LLVM_TRANSFORMS_SCALAR_CONSTANTHOISTING_H
#define LLVM_TRANSFORMS_SCALAR_CONSTANTHOISTING_H
+#include "llvm/Analysis/BlockFrequencyInfo.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/PassManager.h"
@@ -98,7 +99,7 @@ public:
// Glue for old PM.
bool runImpl(Function &F, TargetTransformInfo &TTI, DominatorTree &DT,
- BasicBlock &Entry);
+ BlockFrequencyInfo *BFI, BasicBlock &Entry);
void releaseMemory() {
ConstantVec.clear();
@@ -112,6 +113,7 @@ private:
const TargetTransformInfo *TTI;
DominatorTree *DT;
+ BlockFrequencyInfo *BFI;
BasicBlock *Entry;
/// Keeps track of constant candidates found in the function.
@@ -124,8 +126,8 @@ private:
SmallVector<consthoist::ConstantInfo, 8> ConstantVec;
Instruction *findMatInsertPt(Instruction *Inst, unsigned Idx = ~0U) const;
- Instruction *findConstantInsertionPoint(
- const consthoist::ConstantInfo &ConstInfo) const;
+ SmallPtrSet<Instruction *, 8>
+ findConstantInsertionPoint(const consthoist::ConstantInfo &ConstInfo) const;
void collectConstantCandidates(ConstCandMapType &ConstCandMap,
Instruction *Inst, unsigned Idx,
ConstantInt *ConstInt);
diff --git a/lib/Analysis/BasicAliasAnalysis.cpp b/lib/Analysis/BasicAliasAnalysis.cpp
index 3db041cc0fa6..537823020301 100644
--- a/lib/Analysis/BasicAliasAnalysis.cpp
+++ b/lib/Analysis/BasicAliasAnalysis.cpp
@@ -924,8 +924,8 @@ static AliasResult aliasSameBasePointerGEPs(const GEPOperator *GEP1,
uint64_t V2Size,
const DataLayout &DL) {
- assert(GEP1->getPointerOperand()->stripPointerCasts() ==
- GEP2->getPointerOperand()->stripPointerCasts() &&
+ assert(GEP1->getPointerOperand()->stripPointerCastsAndBarriers() ==
+ GEP2->getPointerOperand()->stripPointerCastsAndBarriers() &&
GEP1->getPointerOperandType() == GEP2->getPointerOperandType() &&
"Expected GEPs with the same pointer operand");
@@ -1184,8 +1184,8 @@ AliasResult BasicAAResult::aliasGEP(const GEPOperator *GEP1, uint64_t V1Size,
// If we know the two GEPs are based off of the exact same pointer (and not
// just the same underlying object), see if that tells us anything about
// the resulting pointers.
- if (GEP1->getPointerOperand()->stripPointerCasts() ==
- GEP2->getPointerOperand()->stripPointerCasts() &&
+ if (GEP1->getPointerOperand()->stripPointerCastsAndBarriers() ==
+ GEP2->getPointerOperand()->stripPointerCastsAndBarriers() &&
GEP1->getPointerOperandType() == GEP2->getPointerOperandType()) {
AliasResult R = aliasSameBasePointerGEPs(GEP1, V1Size, GEP2, V2Size, DL);
// If we couldn't find anything interesting, don't abandon just yet.
@@ -1500,8 +1500,8 @@ AliasResult BasicAAResult::aliasCheck(const Value *V1, uint64_t V1Size,
return NoAlias;
// Strip off any casts if they exist.
- V1 = V1->stripPointerCasts();
- V2 = V2->stripPointerCasts();
+ V1 = V1->stripPointerCastsAndBarriers();
+ V2 = V2->stripPointerCastsAndBarriers();
// If V1 or V2 is undef, the result is NoAlias because we can always pick a
// value for undef that aliases nothing in the program.
diff --git a/lib/Analysis/ConstantFolding.cpp b/lib/Analysis/ConstantFolding.cpp
index 14176dac2104..863fbdba7e67 100644
--- a/lib/Analysis/ConstantFolding.cpp
+++ b/lib/Analysis/ConstantFolding.cpp
@@ -42,6 +42,7 @@
#include "llvm/IR/Value.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/MathExtras.h"
#include <cassert>
#include <cerrno>
@@ -687,21 +688,21 @@ Constant *SymbolicallyEvaluateBinop(unsigned Opc, Constant *Op0, Constant *Op1,
if (Opc == Instruction::And) {
unsigned BitWidth = DL.getTypeSizeInBits(Op0->getType()->getScalarType());
- APInt KnownZero0(BitWidth, 0), KnownOne0(BitWidth, 0);
- APInt KnownZero1(BitWidth, 0), KnownOne1(BitWidth, 0);
- computeKnownBits(Op0, KnownZero0, KnownOne0, DL);
- computeKnownBits(Op1, KnownZero1, KnownOne1, DL);
- if ((KnownOne1 | KnownZero0).isAllOnesValue()) {
+ KnownBits Known0(BitWidth);
+ KnownBits Known1(BitWidth);
+ computeKnownBits(Op0, Known0, DL);
+ computeKnownBits(Op1, Known1, DL);
+ if ((Known1.One | Known0.Zero).isAllOnesValue()) {
// All the bits of Op0 that the 'and' could be masking are already zero.
return Op0;
}
- if ((KnownOne0 | KnownZero1).isAllOnesValue()) {
+ if ((Known0.One | Known1.Zero).isAllOnesValue()) {
// All the bits of Op1 that the 'and' could be masking are already zero.
return Op1;
}
- APInt KnownZero = KnownZero0 | KnownZero1;
- APInt KnownOne = KnownOne0 & KnownOne1;
+ APInt KnownZero = Known0.Zero | Known1.Zero;
+ APInt KnownOne = Known0.One & Known1.One;
if ((KnownZero | KnownOne).isAllOnesValue()) {
return ConstantInt::get(Op0->getType(), KnownOne);
}
diff --git a/lib/Analysis/DemandedBits.cpp b/lib/Analysis/DemandedBits.cpp
index 151c0b0e6c93..285339deaaf5 100644
--- a/lib/Analysis/DemandedBits.cpp
+++ b/lib/Analysis/DemandedBits.cpp
@@ -37,6 +37,7 @@
#include "llvm/IR/Operator.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
@@ -72,8 +73,7 @@ static bool isAlwaysLive(Instruction *I) {
void DemandedBits::determineLiveOperandBits(
const Instruction *UserI, const Instruction *I, unsigned OperandNo,
- const APInt &AOut, APInt &AB, APInt &KnownZero, APInt &KnownOne,
- APInt &KnownZero2, APInt &KnownOne2) {
+ const APInt &AOut, APInt &AB, KnownBits &Known, KnownBits &Known2) {
unsigned BitWidth = AB.getBitWidth();
// We're called once per operand, but for some instructions, we need to
@@ -85,15 +85,13 @@ void DemandedBits::determineLiveOperandBits(
auto ComputeKnownBits =
[&](unsigned BitWidth, const Value *V1, const Value *V2) {
const DataLayout &DL = I->getModule()->getDataLayout();
- KnownZero = APInt(BitWidth, 0);
- KnownOne = APInt(BitWidth, 0);
- computeKnownBits(const_cast<Value *>(V1), KnownZero, KnownOne, DL, 0,
+ Known = KnownBits(BitWidth);
+ computeKnownBits(const_cast<Value *>(V1), Known, DL, 0,
&AC, UserI, &DT);
if (V2) {
- KnownZero2 = APInt(BitWidth, 0);
- KnownOne2 = APInt(BitWidth, 0);
- computeKnownBits(const_cast<Value *>(V2), KnownZero2, KnownOne2, DL,
+ Known2 = KnownBits(BitWidth);
+ computeKnownBits(const_cast<Value *>(V2), Known2, DL,
0, &AC, UserI, &DT);
}
};
@@ -120,7 +118,7 @@ void DemandedBits::determineLiveOperandBits(
// known to be one.
ComputeKnownBits(BitWidth, I, nullptr);
AB = APInt::getHighBitsSet(BitWidth,
- std::min(BitWidth, KnownOne.countLeadingZeros()+1));
+ std::min(BitWidth, Known.One.countLeadingZeros()+1));
}
break;
case Intrinsic::cttz:
@@ -130,7 +128,7 @@ void DemandedBits::determineLiveOperandBits(
// known to be one.
ComputeKnownBits(BitWidth, I, nullptr);
AB = APInt::getLowBitsSet(BitWidth,
- std::min(BitWidth, KnownOne.countTrailingZeros()+1));
+ std::min(BitWidth, Known.One.countTrailingZeros()+1));
}
break;
}
@@ -200,11 +198,11 @@ void DemandedBits::determineLiveOperandBits(
// dead).
if (OperandNo == 0) {
ComputeKnownBits(BitWidth, I, UserI->getOperand(1));
- AB &= ~KnownZero2;
+ AB &= ~Known2.Zero;
} else {
if (!isa<Instruction>(UserI->getOperand(0)))
ComputeKnownBits(BitWidth, UserI->getOperand(0), I);
- AB &= ~(KnownZero & ~KnownZero2);
+ AB &= ~(Known.Zero & ~Known2.Zero);
}
break;
case Instruction::Or:
@@ -216,11 +214,11 @@ void DemandedBits::determineLiveOperandBits(
// dead).
if (OperandNo == 0) {
ComputeKnownBits(BitWidth, I, UserI->getOperand(1));
- AB &= ~KnownOne2;
+ AB &= ~Known2.One;
} else {
if (!isa<Instruction>(UserI->getOperand(0)))
ComputeKnownBits(BitWidth, UserI->getOperand(0), I);
- AB &= ~(KnownOne & ~KnownOne2);
+ AB &= ~(Known.One & ~Known2.One);
}
break;
case Instruction::Xor:
@@ -318,7 +316,7 @@ void DemandedBits::performAnalysis() {
if (!UserI->getType()->isIntegerTy())
Visited.insert(UserI);
- APInt KnownZero, KnownOne, KnownZero2, KnownOne2;
+ KnownBits Known, Known2;
// Compute the set of alive bits for each operand. These are anded into the
// existing set, if any, and if that changes the set of alive bits, the
// operand is added to the work-list.
@@ -335,8 +333,7 @@ void DemandedBits::performAnalysis() {
// Bits of each operand that are used to compute alive bits of the
// output are alive, all others are dead.
determineLiveOperandBits(UserI, I, OI.getOperandNo(), AOut, AB,
- KnownZero, KnownOne,
- KnownZero2, KnownOne2);
+ Known, Known2);
}
// If we've added to the set of alive bits (or the operand has not
diff --git a/lib/Analysis/DomPrinter.cpp b/lib/Analysis/DomPrinter.cpp
index 7acfb41500d4..8abc0e7d0df9 100644
--- a/lib/Analysis/DomPrinter.cpp
+++ b/lib/Analysis/DomPrinter.cpp
@@ -80,6 +80,22 @@ struct DOTGraphTraits<PostDominatorTree*>
};
}
+void DominatorTree::viewGraph(const Twine &Name, const Twine &Title) {
+#ifndef NDEBUG
+ ViewGraph(this, Name, false, Title);
+#else
+ errs() << "DomTree dump not available, build with DEBUG\n";
+#endif // NDEBUG
+}
+
+void DominatorTree::viewGraph() {
+#ifndef NDEBUG
+ this->viewGraph("domtree", "Dominator Tree for function");
+#else
+ errs() << "DomTree dump not available, build with DEBUG\n";
+#endif // NDEBUG
+}
+
namespace {
struct DominatorTreeWrapperPassAnalysisGraphTraits {
static DominatorTree *getGraph(DominatorTreeWrapperPass *DTWP) {
diff --git a/lib/Analysis/IVUsers.cpp b/lib/Analysis/IVUsers.cpp
index fde805a5fde5..c30feb973e60 100644
--- a/lib/Analysis/IVUsers.cpp
+++ b/lib/Analysis/IVUsers.cpp
@@ -253,18 +253,8 @@ bool IVUsers::AddUsersImpl(Instruction *I,
const SCEV *OriginalISE = ISE;
auto NormalizePred = [&](const SCEVAddRecExpr *AR) {
- // We only allow affine AddRecs to be normalized, otherwise we would not
- // be able to correctly denormalize.
- // e.g. {1,+,3,+,2} == {-2,+,1,+,2} + {3,+,2}
- // Normalized form: {-2,+,1,+,2}
- // Denormalized form: {1,+,3,+,2}
- //
- // However, denormalization would use a different step expression than
- // normalization (see getPostIncExpr), generating the wrong final
- // expression: {-2,+,1,+,2} + {1,+,2} => {-1,+,3,+,2}
auto *L = AR->getLoop();
- bool Result =
- AR->isAffine() && IVUseShouldUsePostIncValue(User, I, L, DT);
+ bool Result = IVUseShouldUsePostIncValue(User, I, L, DT);
if (Result)
NewUse.PostIncLoops.insert(L);
return Result;
diff --git a/lib/Analysis/InlineCost.cpp b/lib/Analysis/InlineCost.cpp
index 1f8dec2aed80..788f908bafca 100644
--- a/lib/Analysis/InlineCost.cpp
+++ b/lib/Analysis/InlineCost.cpp
@@ -1557,7 +1557,6 @@ InlineParams llvm::getInlineParams(int Threshold) {
Params.ColdCallSiteThreshold = ColdCallSiteThreshold;
// Set the OptMinSizeThreshold and OptSizeThreshold params only if the
- // Set the OptMinSizeThreshold and OptSizeThreshold params only if the
// -inlinehint-threshold commandline option is not explicitly given. If that
// option is present, then its value applies even for callees with size and
// minsize attributes.
diff --git a/lib/Analysis/InstructionSimplify.cpp b/lib/Analysis/InstructionSimplify.cpp
index 2259fbaeb982..e720e3ebecdb 100644
--- a/lib/Analysis/InstructionSimplify.cpp
+++ b/lib/Analysis/InstructionSimplify.cpp
@@ -35,6 +35,7 @@
#include "llvm/IR/Operator.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/IR/ValueHandle.h"
+#include "llvm/Support/KnownBits.h"
#include <algorithm>
using namespace llvm;
using namespace llvm::PatternMatch;
@@ -46,34 +47,19 @@ enum { RecursionLimit = 3 };
STATISTIC(NumExpand, "Number of expansions");
STATISTIC(NumReassoc, "Number of reassociations");
-namespace {
-struct Query {
- const DataLayout &DL;
- const TargetLibraryInfo *TLI;
- const DominatorTree *DT;
- AssumptionCache *AC;
- const Instruction *CxtI;
-
- Query(const DataLayout &DL, const TargetLibraryInfo *tli,
- const DominatorTree *dt, AssumptionCache *ac = nullptr,
- const Instruction *cxti = nullptr)
- : DL(DL), TLI(tli), DT(dt), AC(ac), CxtI(cxti) {}
-};
-} // end anonymous namespace
-
-static Value *SimplifyAndInst(Value *, Value *, const Query &, unsigned);
-static Value *SimplifyBinOp(unsigned, Value *, Value *, const Query &,
+static Value *SimplifyAndInst(Value *, Value *, const SimplifyQuery &, unsigned);
+static Value *SimplifyBinOp(unsigned, Value *, Value *, const SimplifyQuery &,
unsigned);
static Value *SimplifyFPBinOp(unsigned, Value *, Value *, const FastMathFlags &,
- const Query &, unsigned);
-static Value *SimplifyCmpInst(unsigned, Value *, Value *, const Query &,
+ const SimplifyQuery &, unsigned);
+static Value *SimplifyCmpInst(unsigned, Value *, Value *, const SimplifyQuery &,
unsigned);
static Value *SimplifyICmpInst(unsigned Predicate, Value *LHS, Value *RHS,
- const Query &Q, unsigned MaxRecurse);
-static Value *SimplifyOrInst(Value *, Value *, const Query &, unsigned);
-static Value *SimplifyXorInst(Value *, Value *, const Query &, unsigned);
+ const SimplifyQuery &Q, unsigned MaxRecurse);
+static Value *SimplifyOrInst(Value *, Value *, const SimplifyQuery &, unsigned);
+static Value *SimplifyXorInst(Value *, Value *, const SimplifyQuery &, unsigned);
static Value *SimplifyCastInst(unsigned, Value *, Type *,
- const Query &, unsigned);
+ const SimplifyQuery &, unsigned);
/// For a boolean type or a vector of boolean type, return false or a vector
/// with every element false.
@@ -138,7 +124,7 @@ static bool ValueDominatesPHI(Value *V, PHINode *P, const DominatorTree *DT) {
/// Also performs the transform "(A op' B) op C" -> "(A op C) op' (B op C)".
/// Returns the simplified value, or null if no simplification was performed.
static Value *ExpandBinOp(Instruction::BinaryOps Opcode, Value *LHS, Value *RHS,
- Instruction::BinaryOps OpcodeToExpand, const Query &Q,
+ Instruction::BinaryOps OpcodeToExpand, const SimplifyQuery &Q,
unsigned MaxRecurse) {
// Recursion is always used, so bail out at once if we already hit the limit.
if (!MaxRecurse--)
@@ -196,7 +182,7 @@ static Value *ExpandBinOp(Instruction::BinaryOps Opcode, Value *LHS, Value *RHS,
/// Generic simplifications for associative binary operations.
/// Returns the simpler value, or null if none was found.
static Value *SimplifyAssociativeBinOp(Instruction::BinaryOps Opcode,
- Value *LHS, Value *RHS, const Query &Q,
+ Value *LHS, Value *RHS, const SimplifyQuery &Q,
unsigned MaxRecurse) {
assert(Instruction::isAssociative(Opcode) && "Not an associative operation!");
@@ -295,7 +281,7 @@ static Value *SimplifyAssociativeBinOp(Instruction::BinaryOps Opcode,
/// of the select results in the same value. Returns the common value if so,
/// otherwise returns null.
static Value *ThreadBinOpOverSelect(Instruction::BinaryOps Opcode, Value *LHS,
- Value *RHS, const Query &Q,
+ Value *RHS, const SimplifyQuery &Q,
unsigned MaxRecurse) {
// Recursion is always used, so bail out at once if we already hit the limit.
if (!MaxRecurse--)
@@ -367,7 +353,7 @@ static Value *ThreadBinOpOverSelect(Instruction::BinaryOps Opcode, Value *LHS,
/// comparison by seeing whether both branches of the select result in the same
/// value. Returns the common value if so, otherwise returns null.
static Value *ThreadCmpOverSelect(CmpInst::Predicate Pred, Value *LHS,
- Value *RHS, const Query &Q,
+ Value *RHS, const SimplifyQuery &Q,
unsigned MaxRecurse) {
// Recursion is always used, so bail out at once if we already hit the limit.
if (!MaxRecurse--)
@@ -449,7 +435,7 @@ static Value *ThreadCmpOverSelect(CmpInst::Predicate Pred, Value *LHS,
/// phi values yields the same result for every value. If so returns the common
/// value, otherwise returns null.
static Value *ThreadBinOpOverPHI(Instruction::BinaryOps Opcode, Value *LHS,
- Value *RHS, const Query &Q,
+ Value *RHS, const SimplifyQuery &Q,
unsigned MaxRecurse) {
// Recursion is always used, so bail out at once if we already hit the limit.
if (!MaxRecurse--)
@@ -492,7 +478,7 @@ static Value *ThreadBinOpOverPHI(Instruction::BinaryOps Opcode, Value *LHS,
/// yields the same result every time. If so returns the common result,
/// otherwise returns null.
static Value *ThreadCmpOverPHI(CmpInst::Predicate Pred, Value *LHS, Value *RHS,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
// Recursion is always used, so bail out at once if we already hit the limit.
if (!MaxRecurse--)
return nullptr;
@@ -527,7 +513,7 @@ static Value *ThreadCmpOverPHI(CmpInst::Predicate Pred, Value *LHS, Value *RHS,
static Constant *foldOrCommuteConstant(Instruction::BinaryOps Opcode,
Value *&Op0, Value *&Op1,
- const Query &Q) {
+ const SimplifyQuery &Q) {
if (auto *CLHS = dyn_cast<Constant>(Op0)) {
if (auto *CRHS = dyn_cast<Constant>(Op1))
return ConstantFoldBinaryOpOperands(Opcode, CLHS, CRHS, Q.DL);
@@ -542,7 +528,7 @@ static Constant *foldOrCommuteConstant(Instruction::BinaryOps Opcode,
/// Given operands for an Add, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyAddInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Instruction::Add, Op0, Op1, Q))
return C;
@@ -601,10 +587,15 @@ Value *llvm::SimplifyAddInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
const DataLayout &DL, const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyAddInst(Op0, Op1, isNSW, isNUW, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyAddInst(Op0, Op1, isNSW, isNUW, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyAddInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
+ const SimplifyQuery &Query) {
+ return ::SimplifyAddInst(Op0, Op1, isNSW, isNUW, Query, RecursionLimit);
+}
+
/// \brief Compute the base pointer and cumulative constant offsets for V.
///
/// This strips all constant offsets off of V, leaving it the base pointer, and
@@ -679,7 +670,7 @@ static Constant *computePointerDifference(const DataLayout &DL, Value *LHS,
/// Given operands for a Sub, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifySubInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Instruction::Sub, Op0, Op1, Q))
return C;
@@ -703,10 +694,9 @@ static Value *SimplifySubInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
return Op0;
unsigned BitWidth = Op1->getType()->getScalarSizeInBits();
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
- computeKnownBits(Op1, KnownZero, KnownOne, Q.DL, 0, Q.AC, Q.CxtI, Q.DT);
- if (KnownZero.isMaxSignedValue()) {
+ KnownBits Known(BitWidth);
+ computeKnownBits(Op1, Known, Q.DL, 0, Q.AC, Q.CxtI, Q.DT);
+ if (Known.Zero.isMaxSignedValue()) {
// Op1 is either 0 or the minimum signed value. If the sub is NSW, then
// Op1 must be 0 because negating the minimum signed value is undefined.
if (isNSW)
@@ -813,14 +803,19 @@ Value *llvm::SimplifySubInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
const DataLayout &DL, const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifySubInst(Op0, Op1, isNSW, isNUW, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifySubInst(Op0, Op1, isNSW, isNUW, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifySubInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
+ const SimplifyQuery &Q) {
+ return ::SimplifySubInst(Op0, Op1, isNSW, isNUW, Q, RecursionLimit);
+}
+
/// Given operands for an FAdd, see if we can fold the result. If not, this
/// returns null.
static Value *SimplifyFAddInst(Value *Op0, Value *Op1, FastMathFlags FMF,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Instruction::FAdd, Op0, Op1, Q))
return C;
@@ -854,7 +849,7 @@ static Value *SimplifyFAddInst(Value *Op0, Value *Op1, FastMathFlags FMF,
/// Given operands for an FSub, see if we can fold the result. If not, this
/// returns null.
static Value *SimplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Instruction::FSub, Op0, Op1, Q))
return C;
@@ -886,7 +881,7 @@ static Value *SimplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF,
/// Given the operands for an FMul, see if we can fold the result
static Value *SimplifyFMulInst(Value *Op0, Value *Op1, FastMathFlags FMF,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Instruction::FMul, Op0, Op1, Q))
return C;
@@ -903,7 +898,7 @@ static Value *SimplifyFMulInst(Value *Op0, Value *Op1, FastMathFlags FMF,
/// Given operands for a Mul, see if we can fold the result.
/// If not, this returns null.
-static Value *SimplifyMulInst(Value *Op0, Value *Op1, const Query &Q,
+static Value *SimplifyMulInst(Value *Op0, Value *Op1, const SimplifyQuery &Q,
unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Instruction::Mul, Op0, Op1, Q))
return C;
@@ -963,34 +958,52 @@ Value *llvm::SimplifyFAddInst(Value *Op0, Value *Op1, FastMathFlags FMF,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyFAddInst(Op0, Op1, FMF, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyFAddInst(Op0, Op1, FMF, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyFAddInst(Value *Op0, Value *Op1, FastMathFlags FMF,
+ const SimplifyQuery &Q) {
+ return ::SimplifyFAddInst(Op0, Op1, FMF, Q, RecursionLimit);
+}
+
Value *llvm::SimplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF,
const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyFSubInst(Op0, Op1, FMF, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyFSubInst(Op0, Op1, FMF, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyFSubInst(Value *Op0, Value *Op1, FastMathFlags FMF,
+ const SimplifyQuery &Q) {
+ return ::SimplifyFSubInst(Op0, Op1, FMF, Q, RecursionLimit);
+}
+
Value *llvm::SimplifyFMulInst(Value *Op0, Value *Op1, FastMathFlags FMF,
const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyFMulInst(Op0, Op1, FMF, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyFMulInst(Op0, Op1, FMF, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyFMulInst(Value *Op0, Value *Op1, FastMathFlags FMF,
+ const SimplifyQuery &Q) {
+ return ::SimplifyFMulInst(Op0, Op1, FMF, Q, RecursionLimit);
+}
+
Value *llvm::SimplifyMulInst(Value *Op0, Value *Op1, const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyMulInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI),
- RecursionLimit);
+ return ::SimplifyMulInst(Op0, Op1, {DL, TLI, DT, AC, CxtI}, RecursionLimit);
+}
+
+Value *llvm::SimplifyMulInst(Value *Op0, Value *Op1, const SimplifyQuery &Q) {
+ return ::SimplifyMulInst(Op0, Op1, Q, RecursionLimit);
}
/// Check for common or similar folds of integer division or integer remainder.
@@ -1047,7 +1060,7 @@ static Value *simplifyDivRem(Value *Op0, Value *Op1, bool IsDiv) {
/// Given operands for an SDiv or UDiv, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyDiv(Instruction::BinaryOps Opcode, Value *Op0, Value *Op1,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Opcode, Op0, Op1, Q))
return C;
@@ -1103,7 +1116,7 @@ static Value *SimplifyDiv(Instruction::BinaryOps Opcode, Value *Op0, Value *Op1,
/// Given operands for an SDiv, see if we can fold the result.
/// If not, this returns null.
-static Value *SimplifySDivInst(Value *Op0, Value *Op1, const Query &Q,
+static Value *SimplifySDivInst(Value *Op0, Value *Op1, const SimplifyQuery &Q,
unsigned MaxRecurse) {
if (Value *V = SimplifyDiv(Instruction::SDiv, Op0, Op1, Q, MaxRecurse))
return V;
@@ -1115,13 +1128,16 @@ Value *llvm::SimplifySDivInst(Value *Op0, Value *Op1, const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifySDivInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI),
- RecursionLimit);
+ return ::SimplifySDivInst(Op0, Op1, {DL, TLI, DT, AC, CxtI}, RecursionLimit);
+}
+
+Value *llvm::SimplifySDivInst(Value *Op0, Value *Op1, const SimplifyQuery &Q) {
+ return ::SimplifySDivInst(Op0, Op1, Q, RecursionLimit);
}
/// Given operands for a UDiv, see if we can fold the result.
/// If not, this returns null.
-static Value *SimplifyUDivInst(Value *Op0, Value *Op1, const Query &Q,
+static Value *SimplifyUDivInst(Value *Op0, Value *Op1, const SimplifyQuery &Q,
unsigned MaxRecurse) {
if (Value *V = SimplifyDiv(Instruction::UDiv, Op0, Op1, Q, MaxRecurse))
return V;
@@ -1143,12 +1159,15 @@ Value *llvm::SimplifyUDivInst(Value *Op0, Value *Op1, const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyUDivInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI),
- RecursionLimit);
+ return ::SimplifyUDivInst(Op0, Op1, {DL, TLI, DT, AC, CxtI}, RecursionLimit);
+}
+
+Value *llvm::SimplifyUDivInst(Value *Op0, Value *Op1, const SimplifyQuery &Q) {
+ return ::SimplifyUDivInst(Op0, Op1, Q, RecursionLimit);
}
static Value *SimplifyFDivInst(Value *Op0, Value *Op1, FastMathFlags FMF,
- const Query &Q, unsigned) {
+ const SimplifyQuery &Q, unsigned) {
if (Constant *C = foldOrCommuteConstant(Instruction::FDiv, Op0, Op1, Q))
return C;
@@ -1193,14 +1212,19 @@ Value *llvm::SimplifyFDivInst(Value *Op0, Value *Op1, FastMathFlags FMF,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyFDivInst(Op0, Op1, FMF, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyFDivInst(Op0, Op1, FMF, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyFDivInst(Value *Op0, Value *Op1, FastMathFlags FMF,
+ const SimplifyQuery &Q) {
+ return ::SimplifyFDivInst(Op0, Op1, FMF, Q, RecursionLimit);
+}
+
/// Given operands for an SRem or URem, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyRem(Instruction::BinaryOps Opcode, Value *Op0, Value *Op1,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Opcode, Op0, Op1, Q))
return C;
@@ -1231,7 +1255,7 @@ static Value *SimplifyRem(Instruction::BinaryOps Opcode, Value *Op0, Value *Op1,
/// Given operands for an SRem, see if we can fold the result.
/// If not, this returns null.
-static Value *SimplifySRemInst(Value *Op0, Value *Op1, const Query &Q,
+static Value *SimplifySRemInst(Value *Op0, Value *Op1, const SimplifyQuery &Q,
unsigned MaxRecurse) {
if (Value *V = SimplifyRem(Instruction::SRem, Op0, Op1, Q, MaxRecurse))
return V;
@@ -1243,13 +1267,16 @@ Value *llvm::SimplifySRemInst(Value *Op0, Value *Op1, const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifySRemInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI),
- RecursionLimit);
+ return ::SimplifySRemInst(Op0, Op1, {DL, TLI, DT, AC, CxtI}, RecursionLimit);
+}
+
+Value *llvm::SimplifySRemInst(Value *Op0, Value *Op1, const SimplifyQuery &Q) {
+ return ::SimplifySRemInst(Op0, Op1, Q, RecursionLimit);
}
/// Given operands for a URem, see if we can fold the result.
/// If not, this returns null.
-static Value *SimplifyURemInst(Value *Op0, Value *Op1, const Query &Q,
+static Value *SimplifyURemInst(Value *Op0, Value *Op1, const SimplifyQuery &Q,
unsigned MaxRecurse) {
if (Value *V = SimplifyRem(Instruction::URem, Op0, Op1, Q, MaxRecurse))
return V;
@@ -1271,12 +1298,15 @@ Value *llvm::SimplifyURemInst(Value *Op0, Value *Op1, const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyURemInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI),
- RecursionLimit);
+ return ::SimplifyURemInst(Op0, Op1, {DL, TLI, DT, AC, CxtI}, RecursionLimit);
+}
+
+Value *llvm::SimplifyURemInst(Value *Op0, Value *Op1, const SimplifyQuery &Q) {
+ return ::SimplifyURemInst(Op0, Op1, Q, RecursionLimit);
}
static Value *SimplifyFRemInst(Value *Op0, Value *Op1, FastMathFlags FMF,
- const Query &Q, unsigned) {
+ const SimplifyQuery &Q, unsigned) {
if (Constant *C = foldOrCommuteConstant(Instruction::FRem, Op0, Op1, Q))
return C;
@@ -1302,10 +1332,15 @@ Value *llvm::SimplifyFRemInst(Value *Op0, Value *Op1, FastMathFlags FMF,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyFRemInst(Op0, Op1, FMF, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyFRemInst(Op0, Op1, FMF, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyFRemInst(Value *Op0, Value *Op1, FastMathFlags FMF,
+ const SimplifyQuery &Q) {
+ return ::SimplifyFRemInst(Op0, Op1, FMF, Q, RecursionLimit);
+}
+
/// Returns true if a shift by \c Amount always yields undef.
static bool isUndefShift(Value *Amount) {
Constant *C = dyn_cast<Constant>(Amount);
@@ -1336,7 +1371,7 @@ static bool isUndefShift(Value *Amount) {
/// Given operands for an Shl, LShr or AShr, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyShift(Instruction::BinaryOps Opcode, Value *Op0,
- Value *Op1, const Query &Q, unsigned MaxRecurse) {
+ Value *Op1, const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Opcode, Op0, Op1, Q))
return C;
@@ -1367,17 +1402,15 @@ static Value *SimplifyShift(Instruction::BinaryOps Opcode, Value *Op0,
// If any bits in the shift amount make that value greater than or equal to
// the number of bits in the type, the shift is undefined.
unsigned BitWidth = Op1->getType()->getScalarSizeInBits();
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
- computeKnownBits(Op1, KnownZero, KnownOne, Q.DL, 0, Q.AC, Q.CxtI, Q.DT);
- if (KnownOne.getLimitedValue() >= BitWidth)
+ KnownBits Known(BitWidth);
+ computeKnownBits(Op1, Known, Q.DL, 0, Q.AC, Q.CxtI, Q.DT);
+ if (Known.One.getLimitedValue() >= BitWidth)
return UndefValue::get(Op0->getType());
// If all valid bits in the shift amount are known zero, the first operand is
// unchanged.
unsigned NumValidShiftBits = Log2_32_Ceil(BitWidth);
- APInt ShiftAmountMask = APInt::getLowBitsSet(BitWidth, NumValidShiftBits);
- if ((KnownZero & ShiftAmountMask) == ShiftAmountMask)
+ if (Known.Zero.countTrailingOnes() >= NumValidShiftBits)
return Op0;
return nullptr;
@@ -1386,7 +1419,7 @@ static Value *SimplifyShift(Instruction::BinaryOps Opcode, Value *Op0,
/// \brief Given operands for an Shl, LShr or AShr, see if we can
/// fold the result. If not, this returns null.
static Value *SimplifyRightShift(Instruction::BinaryOps Opcode, Value *Op0,
- Value *Op1, bool isExact, const Query &Q,
+ Value *Op1, bool isExact, const SimplifyQuery &Q,
unsigned MaxRecurse) {
if (Value *V = SimplifyShift(Opcode, Op0, Op1, Q, MaxRecurse))
return V;
@@ -1403,11 +1436,9 @@ static Value *SimplifyRightShift(Instruction::BinaryOps Opcode, Value *Op0,
// The low bit cannot be shifted out of an exact shift if it is set.
if (isExact) {
unsigned BitWidth = Op0->getType()->getScalarSizeInBits();
- APInt Op0KnownZero(BitWidth, 0);
- APInt Op0KnownOne(BitWidth, 0);
- computeKnownBits(Op0, Op0KnownZero, Op0KnownOne, Q.DL, /*Depth=*/0, Q.AC,
- Q.CxtI, Q.DT);
- if (Op0KnownOne[0])
+ KnownBits Op0Known(BitWidth);
+ computeKnownBits(Op0, Op0Known, Q.DL, /*Depth=*/0, Q.AC, Q.CxtI, Q.DT);
+ if (Op0Known.One[0])
return Op0;
}
@@ -1417,7 +1448,7 @@ static Value *SimplifyRightShift(Instruction::BinaryOps Opcode, Value *Op0,
/// Given operands for an Shl, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyShlInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Value *V = SimplifyShift(Instruction::Shl, Op0, Op1, Q, MaxRecurse))
return V;
@@ -1437,14 +1468,19 @@ Value *llvm::SimplifyShlInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
const DataLayout &DL, const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyShlInst(Op0, Op1, isNSW, isNUW, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyShlInst(Op0, Op1, isNSW, isNUW, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyShlInst(Value *Op0, Value *Op1, bool isNSW, bool isNUW,
+ const SimplifyQuery &Q) {
+ return ::SimplifyShlInst(Op0, Op1, isNSW, isNUW, Q, RecursionLimit);
+}
+
/// Given operands for an LShr, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Value *V = SimplifyRightShift(Instruction::LShr, Op0, Op1, isExact, Q,
MaxRecurse))
return V;
@@ -1462,14 +1498,19 @@ Value *llvm::SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyLShrInst(Op0, Op1, isExact, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyLShrInst(Op0, Op1, isExact, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyLShrInst(Value *Op0, Value *Op1, bool isExact,
+ const SimplifyQuery &Q) {
+ return ::SimplifyLShrInst(Op0, Op1, isExact, Q, RecursionLimit);
+}
+
/// Given operands for an AShr, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (Value *V = SimplifyRightShift(Instruction::AShr, Op0, Op1, isExact, Q,
MaxRecurse))
return V;
@@ -1496,10 +1537,15 @@ Value *llvm::SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyAShrInst(Op0, Op1, isExact, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyAShrInst(Op0, Op1, isExact, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyAShrInst(Value *Op0, Value *Op1, bool isExact,
+ const SimplifyQuery &Q) {
+ return ::SimplifyAShrInst(Op0, Op1, isExact, Q, RecursionLimit);
+}
+
static Value *simplifyUnsignedRangeCheck(ICmpInst *ZeroICmp,
ICmpInst *UnsignedICmp, bool IsAnd) {
Value *X, *Y;
@@ -1575,6 +1621,7 @@ static Value *SimplifyAndOfICmps(ICmpInst *Op0, ICmpInst *Op1) {
if (Value *X = simplifyAndOfICmpsWithSameOperands(Op0, Op1))
return X;
+ // FIXME: This should be shared with or-of-icmps.
// Look for this pattern: (icmp V, C0) & (icmp V, C1)).
Type *ITy = Op0->getType();
ICmpInst::Predicate Pred0, Pred1;
@@ -1584,10 +1631,16 @@ static Value *SimplifyAndOfICmps(ICmpInst *Op0, ICmpInst *Op1) {
match(Op1, m_ICmp(Pred1, m_Specific(V), m_APInt(C1)))) {
// Make a constant range that's the intersection of the two icmp ranges.
// If the intersection is empty, we know that the result is false.
- auto Range0 = ConstantRange::makeAllowedICmpRegion(Pred0, *C0);
- auto Range1 = ConstantRange::makeAllowedICmpRegion(Pred1, *C1);
+ auto Range0 = ConstantRange::makeExactICmpRegion(Pred0, *C0);
+ auto Range1 = ConstantRange::makeExactICmpRegion(Pred1, *C1);
if (Range0.intersectWith(Range1).isEmptySet())
return getFalse(ITy);
+
+ // If a range is a superset of the other, the smaller set is all we need.
+ if (Range0.contains(Range1))
+ return Op1;
+ if (Range1.contains(Range0))
+ return Op0;
}
// (icmp (add V, C0), C1) & (icmp V, C0)
@@ -1633,7 +1686,7 @@ static Value *SimplifyAndOfICmps(ICmpInst *Op0, ICmpInst *Op1) {
/// Given operands for an And, see if we can fold the result.
/// If not, this returns null.
-static Value *SimplifyAndInst(Value *Op0, Value *Op1, const Query &Q,
+static Value *SimplifyAndInst(Value *Op0, Value *Op1, const SimplifyQuery &Q,
unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Instruction::And, Op0, Op1, Q))
return C;
@@ -1744,8 +1797,11 @@ Value *llvm::SimplifyAndInst(Value *Op0, Value *Op1, const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyAndInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI),
- RecursionLimit);
+ return ::SimplifyAndInst(Op0, Op1, {DL, TLI, DT, AC, CxtI}, RecursionLimit);
+}
+
+Value *llvm::SimplifyAndInst(Value *Op0, Value *Op1, const SimplifyQuery &Q) {
+ return ::SimplifyAndInst(Op0, Op1, Q, RecursionLimit);
}
/// Commuted variants are assumed to be handled by calling this function again
@@ -1830,7 +1886,7 @@ static Value *SimplifyOrOfICmps(ICmpInst *Op0, ICmpInst *Op1) {
/// Given operands for an Or, see if we can fold the result.
/// If not, this returns null.
-static Value *SimplifyOrInst(Value *Op0, Value *Op1, const Query &Q,
+static Value *SimplifyOrInst(Value *Op0, Value *Op1, const SimplifyQuery &Q,
unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Instruction::Or, Op0, Op1, Q))
return C;
@@ -1877,6 +1933,25 @@ static Value *SimplifyOrInst(Value *Op0, Value *Op1, const Query &Q,
(A == Op0 || B == Op0))
return Constant::getAllOnesValue(Op0->getType());
+ // (A & ~B) | (A ^ B) -> (A ^ B)
+ // (~B & A) | (A ^ B) -> (A ^ B)
+ // (A & ~B) | (B ^ A) -> (B ^ A)
+ // (~B & A) | (B ^ A) -> (B ^ A)
+ if (match(Op1, m_Xor(m_Value(A), m_Value(B))) &&
+ (match(Op0, m_c_And(m_Specific(A), m_Not(m_Specific(B)))) ||
+ match(Op0, m_c_And(m_Not(m_Specific(A)), m_Specific(B)))))
+ return Op1;
+
+ // Commute the 'or' operands.
+ // (A ^ B) | (A & ~B) -> (A ^ B)
+ // (A ^ B) | (~B & A) -> (A ^ B)
+ // (B ^ A) | (A & ~B) -> (B ^ A)
+ // (B ^ A) | (~B & A) -> (B ^ A)
+ if (match(Op0, m_Xor(m_Value(A), m_Value(B))) &&
+ (match(Op1, m_c_And(m_Specific(A), m_Not(m_Specific(B)))) ||
+ match(Op1, m_c_And(m_Not(m_Specific(A)), m_Specific(B)))))
+ return Op0;
+
if (auto *ICILHS = dyn_cast<ICmpInst>(Op0)) {
if (auto *ICIRHS = dyn_cast<ICmpInst>(Op1)) {
if (Value *V = SimplifyOrOfICmps(ICILHS, ICIRHS))
@@ -1952,13 +2027,16 @@ Value *llvm::SimplifyOrInst(Value *Op0, Value *Op1, const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyOrInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI),
- RecursionLimit);
+ return ::SimplifyOrInst(Op0, Op1, {DL, TLI, DT, AC, CxtI}, RecursionLimit);
+}
+
+Value *llvm::SimplifyOrInst(Value *Op0, Value *Op1, const SimplifyQuery &Q) {
+ return ::SimplifyOrInst(Op0, Op1, Q, RecursionLimit);
}
/// Given operands for a Xor, see if we can fold the result.
/// If not, this returns null.
-static Value *SimplifyXorInst(Value *Op0, Value *Op1, const Query &Q,
+static Value *SimplifyXorInst(Value *Op0, Value *Op1, const SimplifyQuery &Q,
unsigned MaxRecurse) {
if (Constant *C = foldOrCommuteConstant(Instruction::Xor, Op0, Op1, Q))
return C;
@@ -2001,10 +2079,14 @@ Value *llvm::SimplifyXorInst(Value *Op0, Value *Op1, const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyXorInst(Op0, Op1, Query(DL, TLI, DT, AC, CxtI),
- RecursionLimit);
+ return ::SimplifyXorInst(Op0, Op1, {DL, TLI, DT, AC, CxtI}, RecursionLimit);
+}
+
+Value *llvm::SimplifyXorInst(Value *Op0, Value *Op1, const SimplifyQuery &Q) {
+ return ::SimplifyXorInst(Op0, Op1, Q, RecursionLimit);
}
+
static Type *GetCompareTy(Value *Op) {
return CmpInst::makeCmpResultType(Op->getType());
}
@@ -2238,7 +2320,7 @@ computePointerICmp(const DataLayout &DL, const TargetLibraryInfo *TLI,
/// Fold an icmp when its operands have i1 scalar type.
static Value *simplifyICmpOfBools(CmpInst::Predicate Pred, Value *LHS,
- Value *RHS, const Query &Q) {
+ Value *RHS, const SimplifyQuery &Q) {
Type *ITy = GetCompareTy(LHS); // The return type.
Type *OpTy = LHS->getType(); // The operand type.
if (!OpTy->getScalarType()->isIntegerTy(1))
@@ -2301,7 +2383,7 @@ static Value *simplifyICmpOfBools(CmpInst::Predicate Pred, Value *LHS,
/// Try hard to fold icmp with zero RHS because this is a common case.
static Value *simplifyICmpWithZero(CmpInst::Predicate Pred, Value *LHS,
- Value *RHS, const Query &Q) {
+ Value *RHS, const SimplifyQuery &Q) {
if (!match(RHS, m_Zero()))
return nullptr;
@@ -2556,7 +2638,7 @@ static Value *simplifyICmpWithConstant(CmpInst::Predicate Pred, Value *LHS,
}
static Value *simplifyICmpWithBinOp(CmpInst::Predicate Pred, Value *LHS,
- Value *RHS, const Query &Q,
+ Value *RHS, const SimplifyQuery &Q,
unsigned MaxRecurse) {
Type *ITy = GetCompareTy(LHS); // The return type.
@@ -2866,7 +2948,7 @@ static Value *simplifyICmpWithBinOp(CmpInst::Predicate Pred, Value *LHS,
/// Simplify integer comparisons where at least one operand of the compare
/// matches an integer min/max idiom.
static Value *simplifyICmpWithMinMax(CmpInst::Predicate Pred, Value *LHS,
- Value *RHS, const Query &Q,
+ Value *RHS, const SimplifyQuery &Q,
unsigned MaxRecurse) {
Type *ITy = GetCompareTy(LHS); // The return type.
Value *A, *B;
@@ -3070,7 +3152,7 @@ static Value *simplifyICmpWithMinMax(CmpInst::Predicate Pred, Value *LHS,
/// Given operands for an ICmpInst, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyICmpInst(unsigned Predicate, Value *LHS, Value *RHS,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
CmpInst::Predicate Pred = (CmpInst::Predicate)Predicate;
assert(CmpInst::isIntPredicate(Pred) && "Not an integer compare!");
@@ -3342,11 +3424,10 @@ static Value *SimplifyICmpInst(unsigned Predicate, Value *LHS, Value *RHS,
const APInt *RHSVal;
if (match(RHS, m_APInt(RHSVal))) {
unsigned BitWidth = RHSVal->getBitWidth();
- APInt LHSKnownZero(BitWidth, 0);
- APInt LHSKnownOne(BitWidth, 0);
- computeKnownBits(LHS, LHSKnownZero, LHSKnownOne, Q.DL, /*Depth=*/0, Q.AC,
- Q.CxtI, Q.DT);
- if (((LHSKnownZero & *RHSVal) != 0) || ((LHSKnownOne & ~(*RHSVal)) != 0))
+ KnownBits LHSKnown(BitWidth);
+ computeKnownBits(LHS, LHSKnown, Q.DL, /*Depth=*/0, Q.AC, Q.CxtI, Q.DT);
+ if (LHSKnown.Zero.intersects(*RHSVal) ||
+ !LHSKnown.One.isSubsetOf(*RHSVal))
return Pred == ICmpInst::ICMP_EQ ? ConstantInt::getFalse(ITy)
: ConstantInt::getTrue(ITy);
}
@@ -3372,14 +3453,19 @@ Value *llvm::SimplifyICmpInst(unsigned Predicate, Value *LHS, Value *RHS,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyICmpInst(Predicate, LHS, RHS, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyICmpInst(Predicate, LHS, RHS, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyICmpInst(unsigned Predicate, Value *LHS, Value *RHS,
+ const SimplifyQuery &Q) {
+ return ::SimplifyICmpInst(Predicate, LHS, RHS, Q, RecursionLimit);
+}
+
/// Given operands for an FCmpInst, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
- FastMathFlags FMF, const Query &Q,
+ FastMathFlags FMF, const SimplifyQuery &Q,
unsigned MaxRecurse) {
CmpInst::Predicate Pred = (CmpInst::Predicate)Predicate;
assert(CmpInst::isFPPredicate(Pred) && "Not an FP compare!");
@@ -3505,13 +3591,18 @@ Value *llvm::SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyFCmpInst(Predicate, LHS, RHS, FMF,
- Query(DL, TLI, DT, AC, CxtI), RecursionLimit);
+ return ::SimplifyFCmpInst(Predicate, LHS, RHS, FMF, {DL, TLI, DT, AC, CxtI},
+ RecursionLimit);
+}
+
+Value *llvm::SimplifyFCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
+ FastMathFlags FMF, const SimplifyQuery &Q) {
+ return ::SimplifyFCmpInst(Predicate, LHS, RHS, FMF, Q, RecursionLimit);
}
/// See if V simplifies when its operand Op is replaced with RepOp.
static const Value *SimplifyWithOpReplaced(Value *V, Value *Op, Value *RepOp,
- const Query &Q,
+ const SimplifyQuery &Q,
unsigned MaxRecurse) {
// Trivial replacement.
if (V == Op)
@@ -3659,7 +3750,7 @@ static Value *simplifySelectWithFakeICmpEq(Value *CmpLHS, Value *TrueVal,
/// Try to simplify a select instruction when its condition operand is an
/// integer comparison.
static Value *simplifySelectWithICmpCond(Value *CondVal, Value *TrueVal,
- Value *FalseVal, const Query &Q,
+ Value *FalseVal, const SimplifyQuery &Q,
unsigned MaxRecurse) {
ICmpInst::Predicate Pred;
Value *CmpLHS, *CmpRHS;
@@ -3738,7 +3829,7 @@ static Value *simplifySelectWithICmpCond(Value *CondVal, Value *TrueVal,
/// Given operands for a SelectInst, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifySelectInst(Value *CondVal, Value *TrueVal,
- Value *FalseVal, const Query &Q,
+ Value *FalseVal, const SimplifyQuery &Q,
unsigned MaxRecurse) {
// select true, X, Y -> X
// select false, X, Y -> Y
@@ -3775,14 +3866,19 @@ Value *llvm::SimplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifySelectInst(Cond, TrueVal, FalseVal,
- Query(DL, TLI, DT, AC, CxtI), RecursionLimit);
+ return ::SimplifySelectInst(Cond, TrueVal, FalseVal, {DL, TLI, DT, AC, CxtI},
+ RecursionLimit);
+}
+
+Value *llvm::SimplifySelectInst(Value *Cond, Value *TrueVal, Value *FalseVal,
+ const SimplifyQuery &Q) {
+ return ::SimplifySelectInst(Cond, TrueVal, FalseVal, Q, RecursionLimit);
}
/// Given operands for an GetElementPtrInst, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyGEPInst(Type *SrcTy, ArrayRef<Value *> Ops,
- const Query &Q, unsigned) {
+ const SimplifyQuery &Q, unsigned) {
// The type of the GEP pointer operand.
unsigned AS =
cast<PointerType>(Ops[0]->getType()->getScalarType())->getAddressSpace();
@@ -3896,14 +3992,18 @@ Value *llvm::SimplifyGEPInst(Type *SrcTy, ArrayRef<Value *> Ops,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyGEPInst(SrcTy, Ops,
- Query(DL, TLI, DT, AC, CxtI), RecursionLimit);
+ return ::SimplifyGEPInst(SrcTy, Ops, {DL, TLI, DT, AC, CxtI}, RecursionLimit);
+}
+
+Value *llvm::SimplifyGEPInst(Type *SrcTy, ArrayRef<Value *> Ops,
+ const SimplifyQuery &Q) {
+ return ::SimplifyGEPInst(SrcTy, Ops, Q, RecursionLimit);
}
/// Given operands for an InsertValueInst, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyInsertValueInst(Value *Agg, Value *Val,
- ArrayRef<unsigned> Idxs, const Query &Q,
+ ArrayRef<unsigned> Idxs, const SimplifyQuery &Q,
unsigned) {
if (Constant *CAgg = dyn_cast<Constant>(Agg))
if (Constant *CVal = dyn_cast<Constant>(Val))
@@ -3933,14 +4033,20 @@ Value *llvm::SimplifyInsertValueInst(
Value *Agg, Value *Val, ArrayRef<unsigned> Idxs, const DataLayout &DL,
const TargetLibraryInfo *TLI, const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyInsertValueInst(Agg, Val, Idxs, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyInsertValueInst(Agg, Val, Idxs, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyInsertValueInst(Value *Agg, Value *Val,
+ ArrayRef<unsigned> Idxs,
+ const SimplifyQuery &Q) {
+ return ::SimplifyInsertValueInst(Agg, Val, Idxs, Q, RecursionLimit);
+}
+
/// Given operands for an ExtractValueInst, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyExtractValueInst(Value *Agg, ArrayRef<unsigned> Idxs,
- const Query &, unsigned) {
+ const SimplifyQuery &, unsigned) {
if (auto *CAgg = dyn_cast<Constant>(Agg))
return ConstantFoldExtractValueInstruction(CAgg, Idxs);
@@ -3968,13 +4074,18 @@ Value *llvm::SimplifyExtractValueInst(Value *Agg, ArrayRef<unsigned> Idxs,
const DominatorTree *DT,
AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyExtractValueInst(Agg, Idxs, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyExtractValueInst(Agg, Idxs, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyExtractValueInst(Value *Agg, ArrayRef<unsigned> Idxs,
+ const SimplifyQuery &Q) {
+ return ::SimplifyExtractValueInst(Agg, Idxs, Q, RecursionLimit);
+}
+
/// Given operands for an ExtractElementInst, see if we can fold the result.
/// If not, this returns null.
-static Value *SimplifyExtractElementInst(Value *Vec, Value *Idx, const Query &,
+static Value *SimplifyExtractElementInst(Value *Vec, Value *Idx, const SimplifyQuery &,
unsigned) {
if (auto *CVec = dyn_cast<Constant>(Vec)) {
if (auto *CIdx = dyn_cast<Constant>(Idx))
@@ -4000,12 +4111,17 @@ static Value *SimplifyExtractElementInst(Value *Vec, Value *Idx, const Query &,
Value *llvm::SimplifyExtractElementInst(
Value *Vec, Value *Idx, const DataLayout &DL, const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC, const Instruction *CxtI) {
- return ::SimplifyExtractElementInst(Vec, Idx, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyExtractElementInst(Vec, Idx, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyExtractElementInst(Value *Vec, Value *Idx,
+ const SimplifyQuery &Q) {
+ return ::SimplifyExtractElementInst(Vec, Idx, Q, RecursionLimit);
+}
+
/// See if we can fold the given phi. If not, returns null.
-static Value *SimplifyPHINode(PHINode *PN, const Query &Q) {
+static Value *SimplifyPHINode(PHINode *PN, const SimplifyQuery &Q) {
// If all of the PHI's incoming values are the same then replace the PHI node
// with the common value.
Value *CommonValue = nullptr;
@@ -4038,7 +4154,7 @@ static Value *SimplifyPHINode(PHINode *PN, const Query &Q) {
}
static Value *SimplifyCastInst(unsigned CastOpc, Value *Op,
- Type *Ty, const Query &Q, unsigned MaxRecurse) {
+ Type *Ty, const SimplifyQuery &Q, unsigned MaxRecurse) {
if (auto *C = dyn_cast<Constant>(Op))
return ConstantFoldCastOperand(CastOpc, C, Ty, Q.DL);
@@ -4076,10 +4192,15 @@ Value *llvm::SimplifyCastInst(unsigned CastOpc, Value *Op, Type *Ty,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyCastInst(CastOpc, Op, Ty, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyCastInst(CastOpc, Op, Ty, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyCastInst(unsigned CastOpc, Value *Op, Type *Ty,
+ const SimplifyQuery &Q) {
+ return ::SimplifyCastInst(CastOpc, Op, Ty, Q, RecursionLimit);
+}
+
/// For the given destination element of a shuffle, peek through shuffles to
/// match a root vector source operand that contains that element in the same
/// vector lane (ie, the same mask index), so we can eliminate the shuffle(s).
@@ -4135,7 +4256,7 @@ static Value *foldIdentityShuffles(int DestElt, Value *Op0, Value *Op1,
}
static Value *SimplifyShuffleVectorInst(Value *Op0, Value *Op1, Constant *Mask,
- Type *RetTy, const Query &Q,
+ Type *RetTy, const SimplifyQuery &Q,
unsigned MaxRecurse) {
Type *InVecTy = Op0->getType();
unsigned MaskNumElts = Mask->getType()->getVectorNumElements();
@@ -4207,8 +4328,13 @@ Value *llvm::SimplifyShuffleVectorInst(
Value *Op0, Value *Op1, Constant *Mask, Type *RetTy,
const DataLayout &DL, const TargetLibraryInfo *TLI, const DominatorTree *DT,
AssumptionCache *AC, const Instruction *CxtI) {
- return ::SimplifyShuffleVectorInst(
- Op0, Op1, Mask, RetTy, Query(DL, TLI, DT, AC, CxtI), RecursionLimit);
+ return ::SimplifyShuffleVectorInst(Op0, Op1, Mask, RetTy,
+ {DL, TLI, DT, AC, CxtI}, RecursionLimit);
+}
+
+Value *llvm::SimplifyShuffleVectorInst(Value *Op0, Value *Op1, Constant *Mask,
+ Type *RetTy, const SimplifyQuery &Q) {
+ return ::SimplifyShuffleVectorInst(Op0, Op1, Mask, RetTy, Q, RecursionLimit);
}
//=== Helper functions for higher up the class hierarchy.
@@ -4216,7 +4342,7 @@ Value *llvm::SimplifyShuffleVectorInst(
/// Given operands for a BinaryOperator, see if we can fold the result.
/// If not, this returns null.
static Value *SimplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
switch (Opcode) {
case Instruction::Add:
return SimplifyAddInst(LHS, RHS, false, false, Q, MaxRecurse);
@@ -4264,7 +4390,7 @@ static Value *SimplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS,
/// In contrast to SimplifyBinOp, try to use FastMathFlag when folding the
/// result. In case we don't need FastMathFlags, simply fall to SimplifyBinOp.
static Value *SimplifyFPBinOp(unsigned Opcode, Value *LHS, Value *RHS,
- const FastMathFlags &FMF, const Query &Q,
+ const FastMathFlags &FMF, const SimplifyQuery &Q,
unsigned MaxRecurse) {
switch (Opcode) {
case Instruction::FAdd:
@@ -4284,22 +4410,32 @@ Value *llvm::SimplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS,
const DataLayout &DL, const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyBinOp(Opcode, LHS, RHS, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyBinOp(Opcode, LHS, RHS, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyBinOp(unsigned Opcode, Value *LHS, Value *RHS,
+ const SimplifyQuery &Q) {
+ return ::SimplifyBinOp(Opcode, LHS, RHS, Q, RecursionLimit);
+}
+
Value *llvm::SimplifyFPBinOp(unsigned Opcode, Value *LHS, Value *RHS,
- const FastMathFlags &FMF, const DataLayout &DL,
+ FastMathFlags FMF, const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyFPBinOp(Opcode, LHS, RHS, FMF, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyFPBinOp(Opcode, LHS, RHS, FMF, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyFPBinOp(unsigned Opcode, Value *LHS, Value *RHS,
+ FastMathFlags FMF, const SimplifyQuery &Q) {
+ return ::SimplifyFPBinOp(Opcode, LHS, RHS, FMF, Q, RecursionLimit);
+}
+
/// Given operands for a CmpInst, see if we can fold the result.
static Value *SimplifyCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
if (CmpInst::isIntPredicate((CmpInst::Predicate)Predicate))
return SimplifyICmpInst(Predicate, LHS, RHS, Q, MaxRecurse);
return SimplifyFCmpInst(Predicate, LHS, RHS, FastMathFlags(), Q, MaxRecurse);
@@ -4309,10 +4445,15 @@ Value *llvm::SimplifyCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
const DataLayout &DL, const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyCmpInst(Predicate, LHS, RHS, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyCmpInst(Predicate, LHS, RHS, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyCmpInst(unsigned Predicate, Value *LHS, Value *RHS,
+ const SimplifyQuery &Q) {
+ return ::SimplifyCmpInst(Predicate, LHS, RHS, Q, RecursionLimit);
+}
+
static bool IsIdempotent(Intrinsic::ID ID) {
switch (ID) {
default: return false;
@@ -4403,7 +4544,7 @@ static bool maskIsAllZeroOrUndef(Value *Mask) {
template <typename IterTy>
static Value *SimplifyIntrinsic(Function *F, IterTy ArgBegin, IterTy ArgEnd,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
Intrinsic::ID IID = F->getIntrinsicID();
unsigned NumOperands = std::distance(ArgBegin, ArgEnd);
@@ -4497,7 +4638,7 @@ static Value *SimplifyIntrinsic(Function *F, IterTy ArgBegin, IterTy ArgEnd,
template <typename IterTy>
static Value *SimplifyCall(Value *V, IterTy ArgBegin, IterTy ArgEnd,
- const Query &Q, unsigned MaxRecurse) {
+ const SimplifyQuery &Q, unsigned MaxRecurse) {
Type *Ty = V->getType();
if (PointerType *PTy = dyn_cast<PointerType>(Ty))
Ty = PTy->getElementType();
@@ -4535,16 +4676,26 @@ Value *llvm::SimplifyCall(Value *V, User::op_iterator ArgBegin,
User::op_iterator ArgEnd, const DataLayout &DL,
const TargetLibraryInfo *TLI, const DominatorTree *DT,
AssumptionCache *AC, const Instruction *CxtI) {
- return ::SimplifyCall(V, ArgBegin, ArgEnd, Query(DL, TLI, DT, AC, CxtI),
+ return ::SimplifyCall(V, ArgBegin, ArgEnd, {DL, TLI, DT, AC, CxtI},
RecursionLimit);
}
+Value *llvm::SimplifyCall(Value *V, User::op_iterator ArgBegin,
+ User::op_iterator ArgEnd, const SimplifyQuery &Q) {
+ return ::SimplifyCall(V, ArgBegin, ArgEnd, Q, RecursionLimit);
+}
+
Value *llvm::SimplifyCall(Value *V, ArrayRef<Value *> Args,
const DataLayout &DL, const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
const Instruction *CxtI) {
- return ::SimplifyCall(V, Args.begin(), Args.end(),
- Query(DL, TLI, DT, AC, CxtI), RecursionLimit);
+ return ::SimplifyCall(V, Args.begin(), Args.end(), {DL, TLI, DT, AC, CxtI},
+ RecursionLimit);
+}
+
+Value *llvm::SimplifyCall(Value *V, ArrayRef<Value *> Args,
+ const SimplifyQuery &Q) {
+ return ::SimplifyCall(V, Args.begin(), Args.end(), Q, RecursionLimit);
}
/// See if we can compute a simplified version of this instruction.
@@ -4553,152 +4704,141 @@ Value *llvm::SimplifyInstruction(Instruction *I, const DataLayout &DL,
const TargetLibraryInfo *TLI,
const DominatorTree *DT, AssumptionCache *AC,
OptimizationRemarkEmitter *ORE) {
+ return SimplifyInstruction(I, {DL, TLI, DT, AC, I}, ORE);
+}
+
+Value *llvm::SimplifyInstruction(Instruction *I, const SimplifyQuery &Q,
+ OptimizationRemarkEmitter *ORE) {
Value *Result;
switch (I->getOpcode()) {
default:
- Result = ConstantFoldInstruction(I, DL, TLI);
+ Result = ConstantFoldInstruction(I, Q.DL, Q.TLI);
break;
case Instruction::FAdd:
Result = SimplifyFAddInst(I->getOperand(0), I->getOperand(1),
- I->getFastMathFlags(), DL, TLI, DT, AC, I);
+ I->getFastMathFlags(), Q);
break;
case Instruction::Add:
Result = SimplifyAddInst(I->getOperand(0), I->getOperand(1),
cast<BinaryOperator>(I)->hasNoSignedWrap(),
- cast<BinaryOperator>(I)->hasNoUnsignedWrap(), DL,
- TLI, DT, AC, I);
+ cast<BinaryOperator>(I)->hasNoUnsignedWrap(), Q);
break;
case Instruction::FSub:
Result = SimplifyFSubInst(I->getOperand(0), I->getOperand(1),
- I->getFastMathFlags(), DL, TLI, DT, AC, I);
+ I->getFastMathFlags(), Q);
break;
case Instruction::Sub:
Result = SimplifySubInst(I->getOperand(0), I->getOperand(1),
cast<BinaryOperator>(I)->hasNoSignedWrap(),
- cast<BinaryOperator>(I)->hasNoUnsignedWrap(), DL,
- TLI, DT, AC, I);
+ cast<BinaryOperator>(I)->hasNoUnsignedWrap(), Q);
break;
case Instruction::FMul:
Result = SimplifyFMulInst(I->getOperand(0), I->getOperand(1),
- I->getFastMathFlags(), DL, TLI, DT, AC, I);
+ I->getFastMathFlags(), Q);
break;
case Instruction::Mul:
- Result =
- SimplifyMulInst(I->getOperand(0), I->getOperand(1), DL, TLI, DT, AC, I);
+ Result = SimplifyMulInst(I->getOperand(0), I->getOperand(1), Q);
break;
case Instruction::SDiv:
- Result = SimplifySDivInst(I->getOperand(0), I->getOperand(1), DL, TLI, DT,
- AC, I);
+ Result = SimplifySDivInst(I->getOperand(0), I->getOperand(1), Q);
break;
case Instruction::UDiv:
- Result = SimplifyUDivInst(I->getOperand(0), I->getOperand(1), DL, TLI, DT,
- AC, I);
+ Result = SimplifyUDivInst(I->getOperand(0), I->getOperand(1), Q);
break;
case Instruction::FDiv:
Result = SimplifyFDivInst(I->getOperand(0), I->getOperand(1),
- I->getFastMathFlags(), DL, TLI, DT, AC, I);
+ I->getFastMathFlags(), Q);
break;
case Instruction::SRem:
- Result = SimplifySRemInst(I->getOperand(0), I->getOperand(1), DL, TLI, DT,
- AC, I);
+ Result = SimplifySRemInst(I->getOperand(0), I->getOperand(1), Q);
break;
case Instruction::URem:
- Result = SimplifyURemInst(I->getOperand(0), I->getOperand(1), DL, TLI, DT,
- AC, I);
+ Result = SimplifyURemInst(I->getOperand(0), I->getOperand(1), Q);
break;
case Instruction::FRem:
Result = SimplifyFRemInst(I->getOperand(0), I->getOperand(1),
- I->getFastMathFlags(), DL, TLI, DT, AC, I);
+ I->getFastMathFlags(), Q);
break;
case Instruction::Shl:
Result = SimplifyShlInst(I->getOperand(0), I->getOperand(1),
cast<BinaryOperator>(I)->hasNoSignedWrap(),
- cast<BinaryOperator>(I)->hasNoUnsignedWrap(), DL,
- TLI, DT, AC, I);
+ cast<BinaryOperator>(I)->hasNoUnsignedWrap(), Q);
break;
case Instruction::LShr:
Result = SimplifyLShrInst(I->getOperand(0), I->getOperand(1),
- cast<BinaryOperator>(I)->isExact(), DL, TLI, DT,
- AC, I);
+ cast<BinaryOperator>(I)->isExact(), Q);
break;
case Instruction::AShr:
Result = SimplifyAShrInst(I->getOperand(0), I->getOperand(1),
- cast<BinaryOperator>(I)->isExact(), DL, TLI, DT,
- AC, I);
+ cast<BinaryOperator>(I)->isExact(), Q);
break;
case Instruction::And:
- Result =
- SimplifyAndInst(I->getOperand(0), I->getOperand(1), DL, TLI, DT, AC, I);
+ Result = SimplifyAndInst(I->getOperand(0), I->getOperand(1), Q);
break;
case Instruction::Or:
- Result =
- SimplifyOrInst(I->getOperand(0), I->getOperand(1), DL, TLI, DT, AC, I);
+ Result = SimplifyOrInst(I->getOperand(0), I->getOperand(1), Q);
break;
case Instruction::Xor:
- Result =
- SimplifyXorInst(I->getOperand(0), I->getOperand(1), DL, TLI, DT, AC, I);
+ Result = SimplifyXorInst(I->getOperand(0), I->getOperand(1), Q);
break;
case Instruction::ICmp:
- Result =
- SimplifyICmpInst(cast<ICmpInst>(I)->getPredicate(), I->getOperand(0),
- I->getOperand(1), DL, TLI, DT, AC, I);
+ Result = SimplifyICmpInst(cast<ICmpInst>(I)->getPredicate(),
+ I->getOperand(0), I->getOperand(1), Q);
break;
case Instruction::FCmp:
- Result = SimplifyFCmpInst(cast<FCmpInst>(I)->getPredicate(),
- I->getOperand(0), I->getOperand(1),
- I->getFastMathFlags(), DL, TLI, DT, AC, I);
+ Result =
+ SimplifyFCmpInst(cast<FCmpInst>(I)->getPredicate(), I->getOperand(0),
+ I->getOperand(1), I->getFastMathFlags(), Q);
break;
case Instruction::Select:
Result = SimplifySelectInst(I->getOperand(0), I->getOperand(1),
- I->getOperand(2), DL, TLI, DT, AC, I);
+ I->getOperand(2), Q);
break;
case Instruction::GetElementPtr: {
- SmallVector<Value*, 8> Ops(I->op_begin(), I->op_end());
+ SmallVector<Value *, 8> Ops(I->op_begin(), I->op_end());
Result = SimplifyGEPInst(cast<GetElementPtrInst>(I)->getSourceElementType(),
- Ops, DL, TLI, DT, AC, I);
+ Ops, Q);
break;
}
case Instruction::InsertValue: {
InsertValueInst *IV = cast<InsertValueInst>(I);
Result = SimplifyInsertValueInst(IV->getAggregateOperand(),
IV->getInsertedValueOperand(),
- IV->getIndices(), DL, TLI, DT, AC, I);
+ IV->getIndices(), Q);
break;
}
case Instruction::ExtractValue: {
auto *EVI = cast<ExtractValueInst>(I);
Result = SimplifyExtractValueInst(EVI->getAggregateOperand(),
- EVI->getIndices(), DL, TLI, DT, AC, I);
+ EVI->getIndices(), Q);
break;
}
case Instruction::ExtractElement: {
auto *EEI = cast<ExtractElementInst>(I);
- Result = SimplifyExtractElementInst(
- EEI->getVectorOperand(), EEI->getIndexOperand(), DL, TLI, DT, AC, I);
+ Result = SimplifyExtractElementInst(EEI->getVectorOperand(),
+ EEI->getIndexOperand(), Q);
break;
}
case Instruction::ShuffleVector: {
auto *SVI = cast<ShuffleVectorInst>(I);
Result = SimplifyShuffleVectorInst(SVI->getOperand(0), SVI->getOperand(1),
- SVI->getMask(), SVI->getType(), DL, TLI,
- DT, AC, I);
+ SVI->getMask(), SVI->getType(), Q);
break;
}
case Instruction::PHI:
- Result = SimplifyPHINode(cast<PHINode>(I), Query(DL, TLI, DT, AC, I));
+ Result = SimplifyPHINode(cast<PHINode>(I), Q);
break;
case Instruction::Call: {
CallSite CS(cast<CallInst>(I));
- Result = SimplifyCall(CS.getCalledValue(), CS.arg_begin(), CS.arg_end(), DL,
- TLI, DT, AC, I);
+ Result = SimplifyCall(CS.getCalledValue(), CS.arg_begin(), CS.arg_end(), Q);
break;
}
#define HANDLE_CAST_INST(num, opc, clas) case Instruction::opc:
#include "llvm/IR/Instruction.def"
#undef HANDLE_CAST_INST
- Result = SimplifyCastInst(I->getOpcode(), I->getOperand(0), I->getType(),
- DL, TLI, DT, AC, I);
+ Result =
+ SimplifyCastInst(I->getOpcode(), I->getOperand(0), I->getType(), Q);
break;
case Instruction::Alloca:
// No simplifications for Alloca and it can't be constant folded.
@@ -4710,11 +4850,10 @@ Value *llvm::SimplifyInstruction(Instruction *I, const DataLayout &DL,
// value even when the operands are not all constants.
if (!Result && I->getType()->isIntOrIntVectorTy()) {
unsigned BitWidth = I->getType()->getScalarSizeInBits();
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
- computeKnownBits(I, KnownZero, KnownOne, DL, /*Depth*/0, AC, I, DT, ORE);
- if ((KnownZero | KnownOne).isAllOnesValue())
- Result = ConstantInt::get(I->getType(), KnownOne);
+ KnownBits Known(BitWidth);
+ computeKnownBits(I, Known, Q.DL, /*Depth*/ 0, Q.AC, I, Q.DT, ORE);
+ if ((Known.Zero | Known.One).isAllOnesValue())
+ Result = ConstantInt::get(I->getType(), Known.One);
}
/// If called on unreachable code, the above logic may report that the
diff --git a/lib/Analysis/Lint.cpp b/lib/Analysis/Lint.cpp
index 2ca46b1fe872..0f04af54cdc7 100644
--- a/lib/Analysis/Lint.cpp
+++ b/lib/Analysis/Lint.cpp
@@ -70,6 +70,7 @@
#include "llvm/Pass.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
@@ -534,10 +535,9 @@ static bool isZero(Value *V, const DataLayout &DL, DominatorTree *DT,
VectorType *VecTy = dyn_cast<VectorType>(V->getType());
if (!VecTy) {
unsigned BitWidth = V->getType()->getIntegerBitWidth();
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
- computeKnownBits(V, KnownZero, KnownOne, DL, 0, AC,
- dyn_cast<Instruction>(V), DT);
- return KnownZero.isAllOnesValue();
+ KnownBits Known(BitWidth);
+ computeKnownBits(V, Known, DL, 0, AC, dyn_cast<Instruction>(V), DT);
+ return Known.Zero.isAllOnesValue();
}
// Per-component check doesn't work with zeroinitializer
@@ -556,9 +556,9 @@ static bool isZero(Value *V, const DataLayout &DL, DominatorTree *DT,
if (isa<UndefValue>(Elem))
return true;
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
- computeKnownBits(Elem, KnownZero, KnownOne, DL);
- if (KnownZero.isAllOnesValue())
+ KnownBits Known(BitWidth);
+ computeKnownBits(Elem, Known, DL);
+ if (Known.Zero.isAllOnesValue())
return true;
}
diff --git a/lib/Analysis/MemorySSAUpdater.cpp b/lib/Analysis/MemorySSAUpdater.cpp
index c63677fe5502..da5c79ab6c81 100644
--- a/lib/Analysis/MemorySSAUpdater.cpp
+++ b/lib/Analysis/MemorySSAUpdater.cpp
@@ -29,7 +29,7 @@
#define DEBUG_TYPE "memoryssa"
using namespace llvm;
-namespace llvm {
+
// This is the marker algorithm from "Simple and Efficient Construction of
// Static Single Assignment Form"
// The simple, non-marker algorithm places phi nodes at any join
@@ -211,8 +211,8 @@ void MemorySSAUpdater::insertUse(MemoryUse *MU) {
}
// Set every incoming edge {BB, MP->getBlock()} of MemoryPhi MP to NewDef.
-void setMemoryPhiValueForBlock(MemoryPhi *MP, const BasicBlock *BB,
- MemoryAccess *NewDef) {
+static void setMemoryPhiValueForBlock(MemoryPhi *MP, const BasicBlock *BB,
+ MemoryAccess *NewDef) {
// Replace any operand with us an incoming block with the new defining
// access.
int i = MP->getBasicBlockIndex(BB);
@@ -415,6 +415,7 @@ static MemoryAccess *onlySingleValue(MemoryPhi *MP) {
}
return MA;
}
+
void MemorySSAUpdater::removeMemoryAccess(MemoryAccess *MA) {
assert(!MSSA->isLiveOnEntryDef(MA) &&
"Trying to remove the live on entry def");
@@ -490,5 +491,3 @@ MemoryUseOrDef *MemorySSAUpdater::createMemoryAccessAfter(
++InsertPt->getIterator());
return NewAccess;
}
-
-} // namespace llvm
diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp
index 700c383a9dd4..3ac4bf1276eb 100644
--- a/lib/Analysis/ScalarEvolution.cpp
+++ b/lib/Analysis/ScalarEvolution.cpp
@@ -89,6 +89,7 @@
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/SaveAndRestore.h"
@@ -4575,10 +4576,10 @@ uint32_t ScalarEvolution::GetMinTrailingZerosImpl(const SCEV *S) {
if (const SCEVUnknown *U = dyn_cast<SCEVUnknown>(S)) {
// For a SCEVUnknown, ask ValueTracking.
unsigned BitWidth = getTypeSizeInBits(U->getType());
- APInt Zeros(BitWidth, 0), Ones(BitWidth, 0);
- computeKnownBits(U->getValue(), Zeros, Ones, getDataLayout(), 0, &AC,
+ KnownBits Known(BitWidth);
+ computeKnownBits(U->getValue(), Known, getDataLayout(), 0, &AC,
nullptr, &DT);
- return Zeros.countTrailingOnes();
+ return Known.Zero.countTrailingOnes();
}
// SCEVUDivExpr
@@ -4757,11 +4758,12 @@ ScalarEvolution::getRange(const SCEV *S,
const DataLayout &DL = getDataLayout();
if (SignHint == ScalarEvolution::HINT_RANGE_UNSIGNED) {
// For a SCEVUnknown, ask ValueTracking.
- APInt Zeros(BitWidth, 0), Ones(BitWidth, 0);
- computeKnownBits(U->getValue(), Zeros, Ones, DL, 0, &AC, nullptr, &DT);
- if (Ones != ~Zeros + 1)
+ KnownBits Known(BitWidth);
+ computeKnownBits(U->getValue(), Known, DL, 0, &AC, nullptr, &DT);
+ if (Known.One != ~Known.Zero + 1)
ConservativeResult =
- ConservativeResult.intersectWith(ConstantRange(Ones, ~Zeros + 1));
+ ConservativeResult.intersectWith(ConstantRange(Known.One,
+ ~Known.Zero + 1));
} else {
assert(SignHint == ScalarEvolution::HINT_RANGE_SIGNED &&
"generalize as needed!");
@@ -5292,13 +5294,13 @@ const SCEV *ScalarEvolution::createSCEV(Value *V) {
unsigned LZ = A.countLeadingZeros();
unsigned TZ = A.countTrailingZeros();
unsigned BitWidth = A.getBitWidth();
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
- computeKnownBits(BO->LHS, KnownZero, KnownOne, getDataLayout(),
+ KnownBits Known(BitWidth);
+ computeKnownBits(BO->LHS, Known, getDataLayout(),
0, &AC, nullptr, &DT);
APInt EffectiveMask =
APInt::getLowBitsSet(BitWidth, BitWidth - LZ - TZ).shl(TZ);
- if ((LZ != 0 || TZ != 0) && !((~A & ~KnownZero) & EffectiveMask)) {
+ if ((LZ != 0 || TZ != 0) && !((~A & ~Known.Zero) & EffectiveMask)) {
const SCEV *MulCount = getConstant(APInt::getOneBitSet(BitWidth, TZ));
const SCEV *LHS = getSCEV(BO->LHS);
const SCEV *ShiftedLHS = nullptr;
@@ -5328,12 +5330,28 @@ const SCEV *ScalarEvolution::createSCEV(Value *V) {
break;
case Instruction::Or:
- // Use ValueTracking to check whether this is actually an add.
- if (haveNoCommonBitsSet(BO->LHS, BO->RHS, getDataLayout(), &AC,
- nullptr, &DT)) {
- // There aren't any common bits set, so the add can't wrap.
- auto Flags = SCEV::NoWrapFlags(SCEV::FlagNUW | SCEV::FlagNSW);
- return getAddExpr(getSCEV(BO->LHS), getSCEV(BO->RHS), Flags);
+ // If the RHS of the Or is a constant, we may have something like:
+ // X*4+1 which got turned into X*4|1. Handle this as an Add so loop
+ // optimizations will transparently handle this case.
+ //
+ // In order for this transformation to be safe, the LHS must be of the
+ // form X*(2^n) and the Or constant must be less than 2^n.
+ if (ConstantInt *CI = dyn_cast<ConstantInt>(BO->RHS)) {
+ const SCEV *LHS = getSCEV(BO->LHS);
+ const APInt &CIVal = CI->getValue();
+ if (GetMinTrailingZeros(LHS) >=
+ (CIVal.getBitWidth() - CIVal.countLeadingZeros())) {
+ // Build a plain add SCEV.
+ const SCEV *S = getAddExpr(LHS, getSCEV(CI));
+ // If the LHS of the add was an addrec and it has no-wrap flags,
+ // transfer the no-wrap flags, since an or won't introduce a wrap.
+ if (const SCEVAddRecExpr *NewAR = dyn_cast<SCEVAddRecExpr>(S)) {
+ const SCEVAddRecExpr *OldAR = cast<SCEVAddRecExpr>(LHS);
+ const_cast<SCEVAddRecExpr *>(NewAR)->setNoWrapFlags(
+ OldAR->getNoWrapFlags());
+ }
+ return S;
+ }
}
break;
@@ -6063,24 +6081,74 @@ ScalarEvolution::computeExitLimit(const Loop *L, BasicBlock *ExitingBlock,
return getCouldNotCompute();
}
-ScalarEvolution::ExitLimit
-ScalarEvolution::computeExitLimitFromCond(const Loop *L,
- Value *ExitCond,
- BasicBlock *TBB,
- BasicBlock *FBB,
- bool ControlsExit,
- bool AllowPredicates) {
+ScalarEvolution::ExitLimit ScalarEvolution::computeExitLimitFromCond(
+ const Loop *L, Value *ExitCond, BasicBlock *TBB, BasicBlock *FBB,
+ bool ControlsExit, bool AllowPredicates) {
+ ScalarEvolution::ExitLimitCacheTy Cache(L, TBB, FBB, AllowPredicates);
+ return computeExitLimitFromCondCached(Cache, L, ExitCond, TBB, FBB,
+ ControlsExit, AllowPredicates);
+}
+
+Optional<ScalarEvolution::ExitLimit>
+ScalarEvolution::ExitLimitCache::find(const Loop *L, Value *ExitCond,
+ BasicBlock *TBB, BasicBlock *FBB,
+ bool ControlsExit, bool AllowPredicates) {
+ (void)this->L;
+ (void)this->TBB;
+ (void)this->FBB;
+ (void)this->AllowPredicates;
+
+ assert(this->L == L && this->TBB == TBB && this->FBB == FBB &&
+ this->AllowPredicates == AllowPredicates &&
+ "Variance in assumed invariant key components!");
+ auto Itr = TripCountMap.find({ExitCond, ControlsExit});
+ if (Itr == TripCountMap.end())
+ return None;
+ return Itr->second;
+}
+
+void ScalarEvolution::ExitLimitCache::insert(const Loop *L, Value *ExitCond,
+ BasicBlock *TBB, BasicBlock *FBB,
+ bool ControlsExit,
+ bool AllowPredicates,
+ const ExitLimit &EL) {
+ assert(this->L == L && this->TBB == TBB && this->FBB == FBB &&
+ this->AllowPredicates == AllowPredicates &&
+ "Variance in assumed invariant key components!");
+
+ auto InsertResult = TripCountMap.insert({{ExitCond, ControlsExit}, EL});
+ assert(InsertResult.second && "Expected successful insertion!");
+ (void)InsertResult;
+}
+
+ScalarEvolution::ExitLimit ScalarEvolution::computeExitLimitFromCondCached(
+ ExitLimitCacheTy &Cache, const Loop *L, Value *ExitCond, BasicBlock *TBB,
+ BasicBlock *FBB, bool ControlsExit, bool AllowPredicates) {
+
+ if (auto MaybeEL =
+ Cache.find(L, ExitCond, TBB, FBB, ControlsExit, AllowPredicates))
+ return *MaybeEL;
+
+ ExitLimit EL = computeExitLimitFromCondImpl(Cache, L, ExitCond, TBB, FBB,
+ ControlsExit, AllowPredicates);
+ Cache.insert(L, ExitCond, TBB, FBB, ControlsExit, AllowPredicates, EL);
+ return EL;
+}
+
+ScalarEvolution::ExitLimit ScalarEvolution::computeExitLimitFromCondImpl(
+ ExitLimitCacheTy &Cache, const Loop *L, Value *ExitCond, BasicBlock *TBB,
+ BasicBlock *FBB, bool ControlsExit, bool AllowPredicates) {
// Check if the controlling expression for this loop is an And or Or.
if (BinaryOperator *BO = dyn_cast<BinaryOperator>(ExitCond)) {
if (BO->getOpcode() == Instruction::And) {
// Recurse on the operands of the and.
bool EitherMayExit = L->contains(TBB);
- ExitLimit EL0 = computeExitLimitFromCond(L, BO->getOperand(0), TBB, FBB,
- ControlsExit && !EitherMayExit,
- AllowPredicates);
- ExitLimit EL1 = computeExitLimitFromCond(L, BO->getOperand(1), TBB, FBB,
- ControlsExit && !EitherMayExit,
- AllowPredicates);
+ ExitLimit EL0 = computeExitLimitFromCondCached(
+ Cache, L, BO->getOperand(0), TBB, FBB, ControlsExit && !EitherMayExit,
+ AllowPredicates);
+ ExitLimit EL1 = computeExitLimitFromCondCached(
+ Cache, L, BO->getOperand(1), TBB, FBB, ControlsExit && !EitherMayExit,
+ AllowPredicates);
const SCEV *BECount = getCouldNotCompute();
const SCEV *MaxBECount = getCouldNotCompute();
if (EitherMayExit) {
@@ -6124,12 +6192,12 @@ ScalarEvolution::computeExitLimitFromCond(const Loop *L,
if (BO->getOpcode() == Instruction::Or) {
// Recurse on the operands of the or.
bool EitherMayExit = L->contains(FBB);
- ExitLimit EL0 = computeExitLimitFromCond(L, BO->getOperand(0), TBB, FBB,
- ControlsExit && !EitherMayExit,
- AllowPredicates);
- ExitLimit EL1 = computeExitLimitFromCond(L, BO->getOperand(1), TBB, FBB,
- ControlsExit && !EitherMayExit,
- AllowPredicates);
+ ExitLimit EL0 = computeExitLimitFromCondCached(
+ Cache, L, BO->getOperand(0), TBB, FBB, ControlsExit && !EitherMayExit,
+ AllowPredicates);
+ ExitLimit EL1 = computeExitLimitFromCondCached(
+ Cache, L, BO->getOperand(1), TBB, FBB, ControlsExit && !EitherMayExit,
+ AllowPredicates);
const SCEV *BECount = getCouldNotCompute();
const SCEV *MaxBECount = getCouldNotCompute();
if (EitherMayExit) {
@@ -10221,84 +10289,75 @@ void ScalarEvolution::forgetMemoizedResults(const SCEV *S) {
RemoveSCEVFromBackedgeMap(PredicatedBackedgeTakenCounts);
}
-typedef DenseMap<const Loop *, std::string> VerifyMap;
+void ScalarEvolution::verify() const {
+ ScalarEvolution &SE = *const_cast<ScalarEvolution *>(this);
+ ScalarEvolution SE2(F, TLI, AC, DT, LI);
+
+ SmallVector<Loop *, 8> LoopStack(LI.begin(), LI.end());
-/// replaceSubString - Replaces all occurrences of From in Str with To.
-static void replaceSubString(std::string &Str, StringRef From, StringRef To) {
- size_t Pos = 0;
- while ((Pos = Str.find(From, Pos)) != std::string::npos) {
- Str.replace(Pos, From.size(), To.data(), To.size());
- Pos += To.size();
- }
-}
+ // Map's SCEV expressions from one ScalarEvolution "universe" to another.
+ struct SCEVMapper : public SCEVRewriteVisitor<SCEVMapper> {
+ const SCEV *visitConstant(const SCEVConstant *Constant) {
+ return SE.getConstant(Constant->getAPInt());
+ }
+ const SCEV *visitUnknown(const SCEVUnknown *Expr) {
+ return SE.getUnknown(Expr->getValue());
+ }
-/// getLoopBackedgeTakenCounts - Helper method for verifyAnalysis.
-static void
-getLoopBackedgeTakenCounts(Loop *L, VerifyMap &Map, ScalarEvolution &SE) {
- std::string &S = Map[L];
- if (S.empty()) {
- raw_string_ostream OS(S);
- SE.getBackedgeTakenCount(L)->print(OS);
+ const SCEV *visitCouldNotCompute(const SCEVCouldNotCompute *Expr) {
+ return SE.getCouldNotCompute();
+ }
+ SCEVMapper(ScalarEvolution &SE) : SCEVRewriteVisitor<SCEVMapper>(SE) {}
+ };
- // false and 0 are semantically equivalent. This can happen in dead loops.
- replaceSubString(OS.str(), "false", "0");
- // Remove wrap flags, their use in SCEV is highly fragile.
- // FIXME: Remove this when SCEV gets smarter about them.
- replaceSubString(OS.str(), "<nw>", "");
- replaceSubString(OS.str(), "<nsw>", "");
- replaceSubString(OS.str(), "<nuw>", "");
- }
+ SCEVMapper SCM(SE2);
- for (auto *R : reverse(*L))
- getLoopBackedgeTakenCounts(R, Map, SE); // recurse.
-}
+ while (!LoopStack.empty()) {
+ auto *L = LoopStack.pop_back_val();
+ LoopStack.insert(LoopStack.end(), L->begin(), L->end());
-void ScalarEvolution::verify() const {
- ScalarEvolution &SE = *const_cast<ScalarEvolution *>(this);
+ auto *CurBECount = SCM.visit(
+ const_cast<ScalarEvolution *>(this)->getBackedgeTakenCount(L));
+ auto *NewBECount = SE2.getBackedgeTakenCount(L);
- // Gather stringified backedge taken counts for all loops using SCEV's caches.
- // FIXME: It would be much better to store actual values instead of strings,
- // but SCEV pointers will change if we drop the caches.
- VerifyMap BackedgeDumpsOld, BackedgeDumpsNew;
- for (LoopInfo::reverse_iterator I = LI.rbegin(), E = LI.rend(); I != E; ++I)
- getLoopBackedgeTakenCounts(*I, BackedgeDumpsOld, SE);
+ if (CurBECount == SE2.getCouldNotCompute() ||
+ NewBECount == SE2.getCouldNotCompute()) {
+ // NB! This situation is legal, but is very suspicious -- whatever pass
+ // change the loop to make a trip count go from could not compute to
+ // computable or vice-versa *should have* invalidated SCEV. However, we
+ // choose not to assert here (for now) since we don't want false
+ // positives.
+ continue;
+ }
- // Gather stringified backedge taken counts for all loops using a fresh
- // ScalarEvolution object.
- ScalarEvolution SE2(F, TLI, AC, DT, LI);
- for (LoopInfo::reverse_iterator I = LI.rbegin(), E = LI.rend(); I != E; ++I)
- getLoopBackedgeTakenCounts(*I, BackedgeDumpsNew, SE2);
-
- // Now compare whether they're the same with and without caches. This allows
- // verifying that no pass changed the cache.
- assert(BackedgeDumpsOld.size() == BackedgeDumpsNew.size() &&
- "New loops suddenly appeared!");
-
- for (VerifyMap::iterator OldI = BackedgeDumpsOld.begin(),
- OldE = BackedgeDumpsOld.end(),
- NewI = BackedgeDumpsNew.begin();
- OldI != OldE; ++OldI, ++NewI) {
- assert(OldI->first == NewI->first && "Loop order changed!");
-
- // Compare the stringified SCEVs. We don't care if undef backedgetaken count
- // changes.
- // FIXME: We currently ignore SCEV changes from/to CouldNotCompute. This
- // means that a pass is buggy or SCEV has to learn a new pattern but is
- // usually not harmful.
- if (OldI->second != NewI->second &&
- OldI->second.find("undef") == std::string::npos &&
- NewI->second.find("undef") == std::string::npos &&
- OldI->second != "***COULDNOTCOMPUTE***" &&
- NewI->second != "***COULDNOTCOMPUTE***") {
- dbgs() << "SCEVValidator: SCEV for loop '"
- << OldI->first->getHeader()->getName()
- << "' changed from '" << OldI->second
- << "' to '" << NewI->second << "'!\n";
+ if (containsUndefs(CurBECount) || containsUndefs(NewBECount)) {
+ // SCEV treats "undef" as an unknown but consistent value (i.e. it does
+ // not propagate undef aggressively). This means we can (and do) fail
+ // verification in cases where a transform makes the trip count of a loop
+ // go from "undef" to "undef+1" (say). The transform is fine, since in
+ // both cases the loop iterates "undef" times, but SCEV thinks we
+ // increased the trip count of the loop by 1 incorrectly.
+ continue;
+ }
+
+ if (SE.getTypeSizeInBits(CurBECount->getType()) >
+ SE.getTypeSizeInBits(NewBECount->getType()))
+ NewBECount = SE2.getZeroExtendExpr(NewBECount, CurBECount->getType());
+ else if (SE.getTypeSizeInBits(CurBECount->getType()) <
+ SE.getTypeSizeInBits(NewBECount->getType()))
+ CurBECount = SE2.getZeroExtendExpr(CurBECount, NewBECount->getType());
+
+ auto *ConstantDelta =
+ dyn_cast<SCEVConstant>(SE2.getMinusSCEV(CurBECount, NewBECount));
+
+ if (ConstantDelta && ConstantDelta->getAPInt() != 0) {
+ dbgs() << "Trip Count Changed!\n";
+ dbgs() << "Old: " << *CurBECount << "\n";
+ dbgs() << "New: " << *NewBECount << "\n";
+ dbgs() << "Delta: " << *ConstantDelta << "\n";
std::abort();
}
}
-
- // TODO: Verify more things.
}
bool ScalarEvolution::invalidate(
diff --git a/lib/Analysis/ScalarEvolutionNormalization.cpp b/lib/Analysis/ScalarEvolutionNormalization.cpp
index 2aaa4c1ae117..54c44c8e542d 100644
--- a/lib/Analysis/ScalarEvolutionNormalization.cpp
+++ b/lib/Analysis/ScalarEvolutionNormalization.cpp
@@ -51,40 +51,47 @@ NormalizeDenormalizeRewriter::visitAddRecExpr(const SCEVAddRecExpr *AR) {
transform(AR->operands(), std::back_inserter(Operands),
[&](const SCEV *Op) { return visit(Op); });
- // Conservatively use AnyWrap until/unless we need FlagNW.
- const SCEV *Result =
- SE.getAddRecExpr(Operands, AR->getLoop(), SCEV::FlagAnyWrap);
- switch (Kind) {
- case Normalize:
- // We want to normalize step expression, because otherwise we might not be
- // able to denormalize to the original expression.
+ if (!Pred(AR))
+ return SE.getAddRecExpr(Operands, AR->getLoop(), SCEV::FlagAnyWrap);
+
+ // Normalization and denormalization are fancy names for decrementing and
+ // incrementing a SCEV expression with respect to a set of loops. Since
+ // Pred(AR) has returned true, we know we need to normalize or denormalize AR
+ // with respect to its loop.
+
+ if (Kind == Denormalize) {
+ // Denormalization / "partial increment" is essentially the same as \c
+ // SCEVAddRecExpr::getPostIncExpr. Here we use an explicit loop to make the
+ // symmetry with Normalization clear.
+ for (int i = 0, e = Operands.size() - 1; i < e; i++)
+ Operands[i] = SE.getAddExpr(Operands[i], Operands[i + 1]);
+ } else {
+ assert(Kind == Normalize && "Only two possibilities!");
+
+ // Normalization / "partial decrement" is a bit more subtle. Since
+ // incrementing a SCEV expression (in general) changes the step of the SCEV
+ // expression as well, we cannot use the step of the current expression.
+ // Instead, we have to use the step of the very expression we're trying to
+ // compute!
+ //
+ // We solve the issue by recursively building up the result, starting from
+ // the "least significant" operand in the add recurrence:
//
- // Here is an example what will happen if we don't normalize step:
- // ORIGINAL ISE:
- // {(100 /u {1,+,1}<%bb16>),+,(100 /u {1,+,1}<%bb16>)}<%bb25>
- // NORMALIZED ISE:
- // {((-1 * (100 /u {1,+,1}<%bb16>)) + (100 /u {0,+,1}<%bb16>)),+,
- // (100 /u {0,+,1}<%bb16>)}<%bb25>
- // DENORMALIZED BACK ISE:
- // {((2 * (100 /u {1,+,1}<%bb16>)) + (-1 * (100 /u {2,+,1}<%bb16>))),+,
- // (100 /u {1,+,1}<%bb16>)}<%bb25>
- // Note that the initial value changes after normalization +
- // denormalization, which isn't correct.
- if (Pred(AR)) {
- const SCEV *TransformedStep = visit(AR->getStepRecurrence(SE));
- Result = SE.getMinusSCEV(Result, TransformedStep);
- }
- break;
- case Denormalize:
- // Here we want to normalize step expressions for the same reasons, as
- // stated above.
- if (Pred(AR)) {
- const SCEV *TransformedStep = visit(AR->getStepRecurrence(SE));
- Result = SE.getAddExpr(Result, TransformedStep);
- }
- break;
+ // Base case:
+ // Single operand add recurrence. It's its own normalization.
+ //
+ // N-operand case:
+ // {S_{N-1},+,S_{N-2},+,...,+,S_0} = S
+ //
+ // Since the step recurrence of S is {S_{N-2},+,...,+,S_0}, we know its
+ // normalization by induction. We subtract the normalized step
+ // recurrence from S_{N-1} to get the normalization of S.
+
+ for (int i = Operands.size() - 2; i >= 0; i--)
+ Operands[i] = SE.getMinusSCEV(Operands[i], Operands[i + 1]);
}
- return Result;
+
+ return SE.getAddRecExpr(Operands, AR->getLoop(), SCEV::FlagAnyWrap);
}
const SCEV *llvm::normalizeForPostIncUse(const SCEV *S,
diff --git a/lib/Analysis/ValueTracking.cpp b/lib/Analysis/ValueTracking.cpp
index 900a2363e60d..af964b6259bb 100644
--- a/lib/Analysis/ValueTracking.cpp
+++ b/lib/Analysis/ValueTracking.cpp
@@ -38,6 +38,7 @@
#include "llvm/IR/PatternMatch.h"
#include "llvm/IR/Statepoint.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/MathExtras.h"
#include <algorithm>
#include <array>
@@ -130,15 +131,15 @@ static const Instruction *safeCxtI(const Value *V, const Instruction *CxtI) {
return nullptr;
}
-static void computeKnownBits(const Value *V, APInt &KnownZero, APInt &KnownOne,
+static void computeKnownBits(const Value *V, KnownBits &Known,
unsigned Depth, const Query &Q);
-void llvm::computeKnownBits(const Value *V, APInt &KnownZero, APInt &KnownOne,
+void llvm::computeKnownBits(const Value *V, KnownBits &Known,
const DataLayout &DL, unsigned Depth,
AssumptionCache *AC, const Instruction *CxtI,
const DominatorTree *DT,
OptimizationRemarkEmitter *ORE) {
- ::computeKnownBits(V, KnownZero, KnownOne, Depth,
+ ::computeKnownBits(V, Known, Depth,
Query(DL, AC, safeCxtI(V, CxtI), DT, ORE));
}
@@ -151,11 +152,11 @@ bool llvm::haveNoCommonBitsSet(const Value *LHS, const Value *RHS,
assert(LHS->getType()->isIntOrIntVectorTy() &&
"LHS and RHS should be integers");
IntegerType *IT = cast<IntegerType>(LHS->getType()->getScalarType());
- APInt LHSKnownZero(IT->getBitWidth(), 0), LHSKnownOne(IT->getBitWidth(), 0);
- APInt RHSKnownZero(IT->getBitWidth(), 0), RHSKnownOne(IT->getBitWidth(), 0);
- computeKnownBits(LHS, LHSKnownZero, LHSKnownOne, DL, 0, AC, CxtI, DT);
- computeKnownBits(RHS, RHSKnownZero, RHSKnownOne, DL, 0, AC, CxtI, DT);
- return (LHSKnownZero | RHSKnownZero).isAllOnesValue();
+ KnownBits LHSKnown(IT->getBitWidth());
+ KnownBits RHSKnown(IT->getBitWidth());
+ computeKnownBits(LHS, LHSKnown, DL, 0, AC, CxtI, DT);
+ computeKnownBits(RHS, RHSKnown, DL, 0, AC, CxtI, DT);
+ return (LHSKnown.Zero | RHSKnown.Zero).isAllOnesValue();
}
static void ComputeSignBit(const Value *V, bool &KnownZero, bool &KnownOne,
@@ -252,67 +253,65 @@ unsigned llvm::ComputeNumSignBits(const Value *V, const DataLayout &DL,
static void computeKnownBitsAddSub(bool Add, const Value *Op0, const Value *Op1,
bool NSW,
- APInt &KnownZero, APInt &KnownOne,
- APInt &KnownZero2, APInt &KnownOne2,
+ KnownBits &KnownOut, KnownBits &Known2,
unsigned Depth, const Query &Q) {
- unsigned BitWidth = KnownZero.getBitWidth();
+ unsigned BitWidth = KnownOut.getBitWidth();
// If an initial sequence of bits in the result is not needed, the
// corresponding bits in the operands are not needed.
- APInt LHSKnownZero(BitWidth, 0), LHSKnownOne(BitWidth, 0);
- computeKnownBits(Op0, LHSKnownZero, LHSKnownOne, Depth + 1, Q);
- computeKnownBits(Op1, KnownZero2, KnownOne2, Depth + 1, Q);
+ KnownBits LHSKnown(BitWidth);
+ computeKnownBits(Op0, LHSKnown, Depth + 1, Q);
+ computeKnownBits(Op1, Known2, Depth + 1, Q);
// Carry in a 1 for a subtract, rather than a 0.
uint64_t CarryIn = 0;
if (!Add) {
// Sum = LHS + ~RHS + 1
- std::swap(KnownZero2, KnownOne2);
+ std::swap(Known2.Zero, Known2.One);
CarryIn = 1;
}
- APInt PossibleSumZero = ~LHSKnownZero + ~KnownZero2 + CarryIn;
- APInt PossibleSumOne = LHSKnownOne + KnownOne2 + CarryIn;
+ APInt PossibleSumZero = ~LHSKnown.Zero + ~Known2.Zero + CarryIn;
+ APInt PossibleSumOne = LHSKnown.One + Known2.One + CarryIn;
// Compute known bits of the carry.
- APInt CarryKnownZero = ~(PossibleSumZero ^ LHSKnownZero ^ KnownZero2);
- APInt CarryKnownOne = PossibleSumOne ^ LHSKnownOne ^ KnownOne2;
+ APInt CarryKnownZero = ~(PossibleSumZero ^ LHSKnown.Zero ^ Known2.Zero);
+ APInt CarryKnownOne = PossibleSumOne ^ LHSKnown.One ^ Known2.One;
// Compute set of known bits (where all three relevant bits are known).
- APInt LHSKnown = LHSKnownZero | LHSKnownOne;
- APInt RHSKnown = KnownZero2 | KnownOne2;
- APInt CarryKnown = CarryKnownZero | CarryKnownOne;
- APInt Known = LHSKnown & RHSKnown & CarryKnown;
+ APInt LHSKnownUnion = LHSKnown.Zero | LHSKnown.One;
+ APInt RHSKnownUnion = Known2.Zero | Known2.One;
+ APInt CarryKnownUnion = CarryKnownZero | CarryKnownOne;
+ APInt Known = LHSKnownUnion & RHSKnownUnion & CarryKnownUnion;
assert((PossibleSumZero & Known) == (PossibleSumOne & Known) &&
"known bits of sum differ");
// Compute known bits of the result.
- KnownZero = ~PossibleSumOne & Known;
- KnownOne = PossibleSumOne & Known;
+ KnownOut.Zero = ~PossibleSumOne & Known;
+ KnownOut.One = PossibleSumOne & Known;
// Are we still trying to solve for the sign bit?
if (!Known.isSignBitSet()) {
if (NSW) {
// Adding two non-negative numbers, or subtracting a negative number from
// a non-negative one, can't wrap into negative.
- if (LHSKnownZero.isSignBitSet() && KnownZero2.isSignBitSet())
- KnownZero.setSignBit();
+ if (LHSKnown.Zero.isSignBitSet() && Known2.Zero.isSignBitSet())
+ KnownOut.Zero.setSignBit();
// Adding two negative numbers, or subtracting a non-negative number from
// a negative one, can't wrap into non-negative.
- else if (LHSKnownOne.isSignBitSet() && KnownOne2.isSignBitSet())
- KnownOne.setSignBit();
+ else if (LHSKnown.One.isSignBitSet() && Known2.One.isSignBitSet())
+ KnownOut.One.setSignBit();
}
}
}
static void computeKnownBitsMul(const Value *Op0, const Value *Op1, bool NSW,
- APInt &KnownZero, APInt &KnownOne,
- APInt &KnownZero2, APInt &KnownOne2,
+ KnownBits &Known, KnownBits &Known2,
unsigned Depth, const Query &Q) {
- unsigned BitWidth = KnownZero.getBitWidth();
- computeKnownBits(Op1, KnownZero, KnownOne, Depth + 1, Q);
- computeKnownBits(Op0, KnownZero2, KnownOne2, Depth + 1, Q);
+ unsigned BitWidth = Known.getBitWidth();
+ computeKnownBits(Op1, Known, Depth + 1, Q);
+ computeKnownBits(Op0, Known2, Depth + 1, Q);
bool isKnownNegative = false;
bool isKnownNonNegative = false;
@@ -322,10 +321,10 @@ static void computeKnownBitsMul(const Value *Op0, const Value *Op1, bool NSW,
// The product of a number with itself is non-negative.
isKnownNonNegative = true;
} else {
- bool isKnownNonNegativeOp1 = KnownZero.isSignBitSet();
- bool isKnownNonNegativeOp0 = KnownZero2.isSignBitSet();
- bool isKnownNegativeOp1 = KnownOne.isSignBitSet();
- bool isKnownNegativeOp0 = KnownOne2.isSignBitSet();
+ bool isKnownNonNegativeOp1 = Known.Zero.isSignBitSet();
+ bool isKnownNonNegativeOp0 = Known2.Zero.isSignBitSet();
+ bool isKnownNegativeOp1 = Known.One.isSignBitSet();
+ bool isKnownNegativeOp0 = Known2.One.isSignBitSet();
// The product of two numbers with the same sign is non-negative.
isKnownNonNegative = (isKnownNegativeOp1 && isKnownNegativeOp0) ||
(isKnownNonNegativeOp1 && isKnownNonNegativeOp0);
@@ -343,28 +342,28 @@ static void computeKnownBitsMul(const Value *Op0, const Value *Op1, bool NSW,
// Also compute a conservative estimate for high known-0 bits.
// More trickiness is possible, but this is sufficient for the
// interesting case of alignment computation.
- KnownOne.clearAllBits();
- unsigned TrailZ = KnownZero.countTrailingOnes() +
- KnownZero2.countTrailingOnes();
- unsigned LeadZ = std::max(KnownZero.countLeadingOnes() +
- KnownZero2.countLeadingOnes(),
+ Known.One.clearAllBits();
+ unsigned TrailZ = Known.Zero.countTrailingOnes() +
+ Known2.Zero.countTrailingOnes();
+ unsigned LeadZ = std::max(Known.Zero.countLeadingOnes() +
+ Known2.Zero.countLeadingOnes(),
BitWidth) - BitWidth;
TrailZ = std::min(TrailZ, BitWidth);
LeadZ = std::min(LeadZ, BitWidth);
- KnownZero.clearAllBits();
- KnownZero.setLowBits(TrailZ);
- KnownZero.setHighBits(LeadZ);
+ Known.Zero.clearAllBits();
+ Known.Zero.setLowBits(TrailZ);
+ Known.Zero.setHighBits(LeadZ);
// Only make use of no-wrap flags if we failed to compute the sign bit
// directly. This matters if the multiplication always overflows, in
// which case we prefer to follow the result of the direct computation,
// though as the program is invoking undefined behaviour we can choose
// whatever we like here.
- if (isKnownNonNegative && !KnownOne.isSignBitSet())
- KnownZero.setSignBit();
- else if (isKnownNegative && !KnownZero.isSignBitSet())
- KnownOne.setSignBit();
+ if (isKnownNonNegative && !Known.One.isSignBitSet())
+ Known.Zero.setSignBit();
+ else if (isKnownNegative && !Known.Zero.isSignBitSet())
+ Known.One.setSignBit();
}
void llvm::computeKnownBitsFromRangeMetadata(const MDNode &Ranges,
@@ -499,15 +498,14 @@ bool llvm::isValidAssumeForContext(const Instruction *Inv,
return !isEphemeralValueOf(Inv, CxtI);
}
-static void computeKnownBitsFromAssume(const Value *V, APInt &KnownZero,
- APInt &KnownOne, unsigned Depth,
- const Query &Q) {
+static void computeKnownBitsFromAssume(const Value *V, KnownBits &Known,
+ unsigned Depth, const Query &Q) {
// Use of assumptions is context-sensitive. If we don't have a context, we
// cannot use them!
if (!Q.AC || !Q.CxtI)
return;
- unsigned BitWidth = KnownZero.getBitWidth();
+ unsigned BitWidth = Known.getBitWidth();
// Note that the patterns below need to be kept in sync with the code
// in AssumptionCache::updateAffectedValues.
@@ -532,15 +530,15 @@ static void computeKnownBitsFromAssume(const Value *V, APInt &KnownZero,
if (Arg == V && isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
assert(BitWidth == 1 && "assume operand is not i1?");
- KnownZero.clearAllBits();
- KnownOne.setAllBits();
+ Known.Zero.clearAllBits();
+ Known.One.setAllBits();
return;
}
if (match(Arg, m_Not(m_Specific(V))) &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
assert(BitWidth == 1 && "assume operand is not i1?");
- KnownZero.setAllBits();
- KnownOne.clearAllBits();
+ Known.Zero.setAllBits();
+ Known.One.clearAllBits();
return;
}
@@ -558,126 +556,126 @@ static void computeKnownBitsFromAssume(const Value *V, APInt &KnownZero,
// assume(v = a)
if (match(Arg, m_c_ICmp(Pred, m_V, m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ && isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
- KnownZero |= RHSKnownZero;
- KnownOne |= RHSKnownOne;
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
+ Known.Zero |= RHSKnown.Zero;
+ Known.One |= RHSKnown.One;
// assume(v & b = a)
} else if (match(Arg,
m_c_ICmp(Pred, m_c_And(m_V, m_Value(B)), m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
- APInt MaskKnownZero(BitWidth, 0), MaskKnownOne(BitWidth, 0);
- computeKnownBits(B, MaskKnownZero, MaskKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
+ KnownBits MaskKnown(BitWidth);
+ computeKnownBits(B, MaskKnown, Depth+1, Query(Q, I));
// For those bits in the mask that are known to be one, we can propagate
// known bits from the RHS to V.
- KnownZero |= RHSKnownZero & MaskKnownOne;
- KnownOne |= RHSKnownOne & MaskKnownOne;
+ Known.Zero |= RHSKnown.Zero & MaskKnown.One;
+ Known.One |= RHSKnown.One & MaskKnown.One;
// assume(~(v & b) = a)
} else if (match(Arg, m_c_ICmp(Pred, m_Not(m_c_And(m_V, m_Value(B))),
m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
- APInt MaskKnownZero(BitWidth, 0), MaskKnownOne(BitWidth, 0);
- computeKnownBits(B, MaskKnownZero, MaskKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
+ KnownBits MaskKnown(BitWidth);
+ computeKnownBits(B, MaskKnown, Depth+1, Query(Q, I));
// For those bits in the mask that are known to be one, we can propagate
// inverted known bits from the RHS to V.
- KnownZero |= RHSKnownOne & MaskKnownOne;
- KnownOne |= RHSKnownZero & MaskKnownOne;
+ Known.Zero |= RHSKnown.One & MaskKnown.One;
+ Known.One |= RHSKnown.Zero & MaskKnown.One;
// assume(v | b = a)
} else if (match(Arg,
m_c_ICmp(Pred, m_c_Or(m_V, m_Value(B)), m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
- APInt BKnownZero(BitWidth, 0), BKnownOne(BitWidth, 0);
- computeKnownBits(B, BKnownZero, BKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
+ KnownBits BKnown(BitWidth);
+ computeKnownBits(B, BKnown, Depth+1, Query(Q, I));
// For those bits in B that are known to be zero, we can propagate known
// bits from the RHS to V.
- KnownZero |= RHSKnownZero & BKnownZero;
- KnownOne |= RHSKnownOne & BKnownZero;
+ Known.Zero |= RHSKnown.Zero & BKnown.Zero;
+ Known.One |= RHSKnown.One & BKnown.Zero;
// assume(~(v | b) = a)
} else if (match(Arg, m_c_ICmp(Pred, m_Not(m_c_Or(m_V, m_Value(B))),
m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
- APInt BKnownZero(BitWidth, 0), BKnownOne(BitWidth, 0);
- computeKnownBits(B, BKnownZero, BKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
+ KnownBits BKnown(BitWidth);
+ computeKnownBits(B, BKnown, Depth+1, Query(Q, I));
// For those bits in B that are known to be zero, we can propagate
// inverted known bits from the RHS to V.
- KnownZero |= RHSKnownOne & BKnownZero;
- KnownOne |= RHSKnownZero & BKnownZero;
+ Known.Zero |= RHSKnown.One & BKnown.Zero;
+ Known.One |= RHSKnown.Zero & BKnown.Zero;
// assume(v ^ b = a)
} else if (match(Arg,
m_c_ICmp(Pred, m_c_Xor(m_V, m_Value(B)), m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
- APInt BKnownZero(BitWidth, 0), BKnownOne(BitWidth, 0);
- computeKnownBits(B, BKnownZero, BKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
+ KnownBits BKnown(BitWidth);
+ computeKnownBits(B, BKnown, Depth+1, Query(Q, I));
// For those bits in B that are known to be zero, we can propagate known
// bits from the RHS to V. For those bits in B that are known to be one,
// we can propagate inverted known bits from the RHS to V.
- KnownZero |= RHSKnownZero & BKnownZero;
- KnownOne |= RHSKnownOne & BKnownZero;
- KnownZero |= RHSKnownOne & BKnownOne;
- KnownOne |= RHSKnownZero & BKnownOne;
+ Known.Zero |= RHSKnown.Zero & BKnown.Zero;
+ Known.One |= RHSKnown.One & BKnown.Zero;
+ Known.Zero |= RHSKnown.One & BKnown.One;
+ Known.One |= RHSKnown.Zero & BKnown.One;
// assume(~(v ^ b) = a)
} else if (match(Arg, m_c_ICmp(Pred, m_Not(m_c_Xor(m_V, m_Value(B))),
m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
- APInt BKnownZero(BitWidth, 0), BKnownOne(BitWidth, 0);
- computeKnownBits(B, BKnownZero, BKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
+ KnownBits BKnown(BitWidth);
+ computeKnownBits(B, BKnown, Depth+1, Query(Q, I));
// For those bits in B that are known to be zero, we can propagate
// inverted known bits from the RHS to V. For those bits in B that are
// known to be one, we can propagate known bits from the RHS to V.
- KnownZero |= RHSKnownOne & BKnownZero;
- KnownOne |= RHSKnownZero & BKnownZero;
- KnownZero |= RHSKnownZero & BKnownOne;
- KnownOne |= RHSKnownOne & BKnownOne;
+ Known.Zero |= RHSKnown.One & BKnown.Zero;
+ Known.One |= RHSKnown.Zero & BKnown.Zero;
+ Known.Zero |= RHSKnown.Zero & BKnown.One;
+ Known.One |= RHSKnown.One & BKnown.One;
// assume(v << c = a)
} else if (match(Arg, m_c_ICmp(Pred, m_Shl(m_V, m_ConstantInt(C)),
m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
// For those bits in RHS that are known, we can propagate them to known
// bits in V shifted to the right by C.
- RHSKnownZero.lshrInPlace(C->getZExtValue());
- KnownZero |= RHSKnownZero;
- RHSKnownOne.lshrInPlace(C->getZExtValue());
- KnownOne |= RHSKnownOne;
+ RHSKnown.Zero.lshrInPlace(C->getZExtValue());
+ Known.Zero |= RHSKnown.Zero;
+ RHSKnown.One.lshrInPlace(C->getZExtValue());
+ Known.One |= RHSKnown.One;
// assume(~(v << c) = a)
} else if (match(Arg, m_c_ICmp(Pred, m_Not(m_Shl(m_V, m_ConstantInt(C))),
m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
// For those bits in RHS that are known, we can propagate them inverted
// to known bits in V shifted to the right by C.
- RHSKnownOne.lshrInPlace(C->getZExtValue());
- KnownZero |= RHSKnownOne;
- RHSKnownZero.lshrInPlace(C->getZExtValue());
- KnownOne |= RHSKnownZero;
+ RHSKnown.One.lshrInPlace(C->getZExtValue());
+ Known.Zero |= RHSKnown.One;
+ RHSKnown.Zero.lshrInPlace(C->getZExtValue());
+ Known.One |= RHSKnown.Zero;
// assume(v >> c = a)
} else if (match(Arg,
m_c_ICmp(Pred, m_CombineOr(m_LShr(m_V, m_ConstantInt(C)),
@@ -685,12 +683,12 @@ static void computeKnownBitsFromAssume(const Value *V, APInt &KnownZero,
m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
// For those bits in RHS that are known, we can propagate them to known
// bits in V shifted to the right by C.
- KnownZero |= RHSKnownZero << C->getZExtValue();
- KnownOne |= RHSKnownOne << C->getZExtValue();
+ Known.Zero |= RHSKnown.Zero << C->getZExtValue();
+ Known.One |= RHSKnown.One << C->getZExtValue();
// assume(~(v >> c) = a)
} else if (match(Arg, m_c_ICmp(Pred, m_Not(m_CombineOr(
m_LShr(m_V, m_ConstantInt(C)),
@@ -698,78 +696,78 @@ static void computeKnownBitsFromAssume(const Value *V, APInt &KnownZero,
m_Value(A))) &&
Pred == ICmpInst::ICMP_EQ &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
// For those bits in RHS that are known, we can propagate them inverted
// to known bits in V shifted to the right by C.
- KnownZero |= RHSKnownOne << C->getZExtValue();
- KnownOne |= RHSKnownZero << C->getZExtValue();
+ Known.Zero |= RHSKnown.One << C->getZExtValue();
+ Known.One |= RHSKnown.Zero << C->getZExtValue();
// assume(v >=_s c) where c is non-negative
} else if (match(Arg, m_ICmp(Pred, m_V, m_Value(A))) &&
Pred == ICmpInst::ICMP_SGE &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
- if (RHSKnownZero.isSignBitSet()) {
+ if (RHSKnown.Zero.isSignBitSet()) {
// We know that the sign bit is zero.
- KnownZero.setSignBit();
+ Known.Zero.setSignBit();
}
// assume(v >_s c) where c is at least -1.
} else if (match(Arg, m_ICmp(Pred, m_V, m_Value(A))) &&
Pred == ICmpInst::ICMP_SGT &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
- if (RHSKnownOne.isAllOnesValue() || RHSKnownZero.isSignBitSet()) {
+ if (RHSKnown.One.isAllOnesValue() || RHSKnown.Zero.isSignBitSet()) {
// We know that the sign bit is zero.
- KnownZero.setSignBit();
+ Known.Zero.setSignBit();
}
// assume(v <=_s c) where c is negative
} else if (match(Arg, m_ICmp(Pred, m_V, m_Value(A))) &&
Pred == ICmpInst::ICMP_SLE &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
- if (RHSKnownOne.isSignBitSet()) {
+ if (RHSKnown.One.isSignBitSet()) {
// We know that the sign bit is one.
- KnownOne.setSignBit();
+ Known.One.setSignBit();
}
// assume(v <_s c) where c is non-positive
} else if (match(Arg, m_ICmp(Pred, m_V, m_Value(A))) &&
Pred == ICmpInst::ICMP_SLT &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
- if (RHSKnownZero.isAllOnesValue() || RHSKnownOne.isSignBitSet()) {
+ if (RHSKnown.Zero.isAllOnesValue() || RHSKnown.One.isSignBitSet()) {
// We know that the sign bit is one.
- KnownOne.setSignBit();
+ Known.One.setSignBit();
}
// assume(v <=_u c)
} else if (match(Arg, m_ICmp(Pred, m_V, m_Value(A))) &&
Pred == ICmpInst::ICMP_ULE &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
// Whatever high bits in c are zero are known to be zero.
- KnownZero.setHighBits(RHSKnownZero.countLeadingOnes());
+ Known.Zero.setHighBits(RHSKnown.Zero.countLeadingOnes());
// assume(v <_u c)
} else if (match(Arg, m_ICmp(Pred, m_V, m_Value(A))) &&
Pred == ICmpInst::ICMP_ULT &&
isValidAssumeForContext(I, Q.CxtI, Q.DT)) {
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
- computeKnownBits(A, RHSKnownZero, RHSKnownOne, Depth+1, Query(Q, I));
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(A, RHSKnown, Depth+1, Query(Q, I));
// Whatever high bits in c are zero are known to be zero (if c is a power
// of 2, then one more).
if (isKnownToBeAPowerOfTwo(A, false, Depth + 1, Query(Q, I)))
- KnownZero.setHighBits(RHSKnownZero.countLeadingOnes()+1);
+ Known.Zero.setHighBits(RHSKnown.Zero.countLeadingOnes()+1);
else
- KnownZero.setHighBits(RHSKnownZero.countLeadingOnes());
+ Known.Zero.setHighBits(RHSKnown.Zero.countLeadingOnes());
}
}
@@ -778,9 +776,9 @@ static void computeKnownBitsFromAssume(const Value *V, APInt &KnownZero,
// so this isn't a real bug. On the other hand, the program may have undefined
// behavior, or we might have a bug in the compiler. We can't assert/crash, so
// clear out the known bits, try to warn the user, and hope for the best.
- if ((KnownZero & KnownOne) != 0) {
- KnownZero.clearAllBits();
- KnownOne.clearAllBits();
+ if (Known.Zero.intersects(Known.One)) {
+ Known.Zero.clearAllBits();
+ Known.One.clearAllBits();
if (Q.ORE) {
auto *CxtI = const_cast<Instruction *>(Q.CxtI);
@@ -793,57 +791,57 @@ static void computeKnownBitsFromAssume(const Value *V, APInt &KnownZero,
}
// Compute known bits from a shift operator, including those with a
-// non-constant shift amount. KnownZero and KnownOne are the outputs of this
-// function. KnownZero2 and KnownOne2 are pre-allocated temporaries with the
-// same bit width as KnownZero and KnownOne. KZF and KOF are operator-specific
-// functors that, given the known-zero or known-one bits respectively, and a
-// shift amount, compute the implied known-zero or known-one bits of the shift
-// operator's result respectively for that shift amount. The results from calling
-// KZF and KOF are conservatively combined for all permitted shift amounts.
+// non-constant shift amount. Known is the outputs of this function. Known2 is a
+// pre-allocated temporary with the/ same bit width as Known. KZF and KOF are
+// operator-specific functors that, given the known-zero or known-one bits
+// respectively, and a shift amount, compute the implied known-zero or known-one
+// bits of the shift operator's result respectively for that shift amount. The
+// results from calling KZF and KOF are conservatively combined for all
+// permitted shift amounts.
static void computeKnownBitsFromShiftOperator(
- const Operator *I, APInt &KnownZero, APInt &KnownOne, APInt &KnownZero2,
- APInt &KnownOne2, unsigned Depth, const Query &Q,
+ const Operator *I, KnownBits &Known, KnownBits &Known2,
+ unsigned Depth, const Query &Q,
function_ref<APInt(const APInt &, unsigned)> KZF,
function_ref<APInt(const APInt &, unsigned)> KOF) {
- unsigned BitWidth = KnownZero.getBitWidth();
+ unsigned BitWidth = Known.getBitWidth();
if (auto *SA = dyn_cast<ConstantInt>(I->getOperand(1))) {
unsigned ShiftAmt = SA->getLimitedValue(BitWidth-1);
- computeKnownBits(I->getOperand(0), KnownZero, KnownOne, Depth + 1, Q);
- KnownZero = KZF(KnownZero, ShiftAmt);
- KnownOne = KOF(KnownOne, ShiftAmt);
- // If there is conflict between KnownZero and KnownOne, this must be an
- // overflowing left shift, so the shift result is undefined. Clear KnownZero
- // and KnownOne bits so that other code could propagate this undef.
- if ((KnownZero & KnownOne) != 0) {
- KnownZero.clearAllBits();
- KnownOne.clearAllBits();
+ computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
+ Known.Zero = KZF(Known.Zero, ShiftAmt);
+ Known.One = KOF(Known.One, ShiftAmt);
+ // If there is conflict between Known.Zero and Known.One, this must be an
+ // overflowing left shift, so the shift result is undefined. Clear Known
+ // bits so that other code could propagate this undef.
+ if ((Known.Zero & Known.One) != 0) {
+ Known.Zero.clearAllBits();
+ Known.One.clearAllBits();
}
return;
}
- computeKnownBits(I->getOperand(1), KnownZero, KnownOne, Depth + 1, Q);
+ computeKnownBits(I->getOperand(1), Known, Depth + 1, Q);
// If the shift amount could be greater than or equal to the bit-width of the LHS, the
// value could be undef, so we don't know anything about it.
- if ((~KnownZero).uge(BitWidth)) {
- KnownZero.clearAllBits();
- KnownOne.clearAllBits();
+ if ((~Known.Zero).uge(BitWidth)) {
+ Known.Zero.clearAllBits();
+ Known.One.clearAllBits();
return;
}
- // Note: We cannot use KnownZero.getLimitedValue() here, because if
+ // Note: We cannot use Known.Zero.getLimitedValue() here, because if
// BitWidth > 64 and any upper bits are known, we'll end up returning the
// limit value (which implies all bits are known).
- uint64_t ShiftAmtKZ = KnownZero.zextOrTrunc(64).getZExtValue();
- uint64_t ShiftAmtKO = KnownOne.zextOrTrunc(64).getZExtValue();
+ uint64_t ShiftAmtKZ = Known.Zero.zextOrTrunc(64).getZExtValue();
+ uint64_t ShiftAmtKO = Known.One.zextOrTrunc(64).getZExtValue();
// It would be more-clearly correct to use the two temporaries for this
// calculation. Reusing the APInts here to prevent unnecessary allocations.
- KnownZero.clearAllBits();
- KnownOne.clearAllBits();
+ Known.Zero.clearAllBits();
+ Known.One.clearAllBits();
// If we know the shifter operand is nonzero, we can sometimes infer more
// known bits. However this is expensive to compute, so be lazy about it and
@@ -858,9 +856,10 @@ static void computeKnownBitsFromShiftOperator(
return;
}
- computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q);
+ computeKnownBits(I->getOperand(0), Known2, Depth + 1, Q);
- KnownZero = KnownOne = APInt::getAllOnesValue(BitWidth);
+ Known.Zero.setAllBits();
+ Known.One.setAllBits();
for (unsigned ShiftAmt = 0; ShiftAmt < BitWidth; ++ShiftAmt) {
// Combine the shifted known input bits only for those shift amounts
// compatible with its known constraints.
@@ -879,8 +878,8 @@ static void computeKnownBitsFromShiftOperator(
continue;
}
- KnownZero &= KZF(KnownZero2, ShiftAmt);
- KnownOne &= KOF(KnownOne2, ShiftAmt);
+ Known.Zero &= KZF(Known2.Zero, ShiftAmt);
+ Known.One &= KOF(Known2.One, ShiftAmt);
}
// If there are no compatible shift amounts, then we've proven that the shift
@@ -888,33 +887,32 @@ static void computeKnownBitsFromShiftOperator(
// return anything we'd like, but we need to make sure the sets of known bits
// stay disjoint (it should be better for some other code to actually
// propagate the undef than to pick a value here using known bits).
- if ((KnownZero & KnownOne) != 0) {
- KnownZero.clearAllBits();
- KnownOne.clearAllBits();
+ if (Known.Zero.intersects(Known.One)) {
+ Known.Zero.clearAllBits();
+ Known.One.clearAllBits();
}
}
-static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
- APInt &KnownOne, unsigned Depth,
- const Query &Q) {
- unsigned BitWidth = KnownZero.getBitWidth();
+static void computeKnownBitsFromOperator(const Operator *I, KnownBits &Known,
+ unsigned Depth, const Query &Q) {
+ unsigned BitWidth = Known.getBitWidth();
- APInt KnownZero2(KnownZero), KnownOne2(KnownOne);
+ KnownBits Known2(Known);
switch (I->getOpcode()) {
default: break;
case Instruction::Load:
if (MDNode *MD = cast<LoadInst>(I)->getMetadata(LLVMContext::MD_range))
- computeKnownBitsFromRangeMetadata(*MD, KnownZero, KnownOne);
+ computeKnownBitsFromRangeMetadata(*MD, Known.Zero, Known.One);
break;
case Instruction::And: {
// If either the LHS or the RHS are Zero, the result is zero.
- computeKnownBits(I->getOperand(1), KnownZero, KnownOne, Depth + 1, Q);
- computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q);
+ computeKnownBits(I->getOperand(1), Known, Depth + 1, Q);
+ computeKnownBits(I->getOperand(0), Known2, Depth + 1, Q);
// Output known-1 bits are only known if set in both the LHS & RHS.
- KnownOne &= KnownOne2;
+ Known.One &= Known2.One;
// Output known-0 are known to be clear if zero in either the LHS | RHS.
- KnownZero |= KnownZero2;
+ Known.Zero |= Known2.Zero;
// and(x, add (x, -1)) is a common idiom that always clears the low bit;
// here we handle the more general case of adding any odd number by
@@ -922,115 +920,115 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
// TODO: This could be generalized to clearing any bit set in y where the
// following bit is known to be unset in y.
Value *Y = nullptr;
- if (!KnownZero[0] && !KnownOne[0] &&
+ if (!Known.Zero[0] && !Known.One[0] &&
(match(I->getOperand(0), m_Add(m_Specific(I->getOperand(1)),
m_Value(Y))) ||
match(I->getOperand(1), m_Add(m_Specific(I->getOperand(0)),
m_Value(Y))))) {
- KnownZero2.clearAllBits(); KnownOne2.clearAllBits();
- computeKnownBits(Y, KnownZero2, KnownOne2, Depth + 1, Q);
- if (KnownOne2.countTrailingOnes() > 0)
- KnownZero.setBit(0);
+ Known2.Zero.clearAllBits(); Known2.One.clearAllBits();
+ computeKnownBits(Y, Known2, Depth + 1, Q);
+ if (Known2.One.countTrailingOnes() > 0)
+ Known.Zero.setBit(0);
}
break;
}
case Instruction::Or: {
- computeKnownBits(I->getOperand(1), KnownZero, KnownOne, Depth + 1, Q);
- computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q);
+ computeKnownBits(I->getOperand(1), Known, Depth + 1, Q);
+ computeKnownBits(I->getOperand(0), Known2, Depth + 1, Q);
// Output known-0 bits are only known if clear in both the LHS & RHS.
- KnownZero &= KnownZero2;
+ Known.Zero &= Known2.Zero;
// Output known-1 are known to be set if set in either the LHS | RHS.
- KnownOne |= KnownOne2;
+ Known.One |= Known2.One;
break;
}
case Instruction::Xor: {
- computeKnownBits(I->getOperand(1), KnownZero, KnownOne, Depth + 1, Q);
- computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q);
+ computeKnownBits(I->getOperand(1), Known, Depth + 1, Q);
+ computeKnownBits(I->getOperand(0), Known2, Depth + 1, Q);
// Output known-0 bits are known if clear or set in both the LHS & RHS.
- APInt KnownZeroOut = (KnownZero & KnownZero2) | (KnownOne & KnownOne2);
+ APInt KnownZeroOut = (Known.Zero & Known2.Zero) | (Known.One & Known2.One);
// Output known-1 are known to be set if set in only one of the LHS, RHS.
- KnownOne = (KnownZero & KnownOne2) | (KnownOne & KnownZero2);
- KnownZero = std::move(KnownZeroOut);
+ Known.One = (Known.Zero & Known2.One) | (Known.One & Known2.Zero);
+ Known.Zero = std::move(KnownZeroOut);
break;
}
case Instruction::Mul: {
bool NSW = cast<OverflowingBinaryOperator>(I)->hasNoSignedWrap();
- computeKnownBitsMul(I->getOperand(0), I->getOperand(1), NSW, KnownZero,
- KnownOne, KnownZero2, KnownOne2, Depth, Q);
+ computeKnownBitsMul(I->getOperand(0), I->getOperand(1), NSW, Known,
+ Known2, Depth, Q);
break;
}
case Instruction::UDiv: {
// For the purposes of computing leading zeros we can conservatively
// treat a udiv as a logical right shift by the power of 2 known to
// be less than the denominator.
- computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q);
- unsigned LeadZ = KnownZero2.countLeadingOnes();
+ computeKnownBits(I->getOperand(0), Known2, Depth + 1, Q);
+ unsigned LeadZ = Known2.Zero.countLeadingOnes();
- KnownOne2.clearAllBits();
- KnownZero2.clearAllBits();
- computeKnownBits(I->getOperand(1), KnownZero2, KnownOne2, Depth + 1, Q);
- unsigned RHSUnknownLeadingOnes = KnownOne2.countLeadingZeros();
+ Known2.One.clearAllBits();
+ Known2.Zero.clearAllBits();
+ computeKnownBits(I->getOperand(1), Known2, Depth + 1, Q);
+ unsigned RHSUnknownLeadingOnes = Known2.One.countLeadingZeros();
if (RHSUnknownLeadingOnes != BitWidth)
LeadZ = std::min(BitWidth,
LeadZ + BitWidth - RHSUnknownLeadingOnes - 1);
- KnownZero.setHighBits(LeadZ);
+ Known.Zero.setHighBits(LeadZ);
break;
}
case Instruction::Select: {
const Value *LHS, *RHS;
SelectPatternFlavor SPF = matchSelectPattern(I, LHS, RHS).Flavor;
if (SelectPatternResult::isMinOrMax(SPF)) {
- computeKnownBits(RHS, KnownZero, KnownOne, Depth + 1, Q);
- computeKnownBits(LHS, KnownZero2, KnownOne2, Depth + 1, Q);
+ computeKnownBits(RHS, Known, Depth + 1, Q);
+ computeKnownBits(LHS, Known2, Depth + 1, Q);
} else {
- computeKnownBits(I->getOperand(2), KnownZero, KnownOne, Depth + 1, Q);
- computeKnownBits(I->getOperand(1), KnownZero2, KnownOne2, Depth + 1, Q);
+ computeKnownBits(I->getOperand(2), Known, Depth + 1, Q);
+ computeKnownBits(I->getOperand(1), Known2, Depth + 1, Q);
}
unsigned MaxHighOnes = 0;
unsigned MaxHighZeros = 0;
if (SPF == SPF_SMAX) {
// If both sides are negative, the result is negative.
- if (KnownOne.isSignBitSet() && KnownOne2.isSignBitSet())
+ if (Known.One.isSignBitSet() && Known2.One.isSignBitSet())
// We can derive a lower bound on the result by taking the max of the
// leading one bits.
- MaxHighOnes =
- std::max(KnownOne.countLeadingOnes(), KnownOne2.countLeadingOnes());
+ MaxHighOnes = std::max(Known.One.countLeadingOnes(),
+ Known2.One.countLeadingOnes());
// If either side is non-negative, the result is non-negative.
- else if (KnownZero.isSignBitSet() || KnownZero2.isSignBitSet())
+ else if (Known.Zero.isSignBitSet() || Known2.Zero.isSignBitSet())
MaxHighZeros = 1;
} else if (SPF == SPF_SMIN) {
// If both sides are non-negative, the result is non-negative.
- if (KnownZero.isSignBitSet() && KnownZero2.isSignBitSet())
+ if (Known.Zero.isSignBitSet() && Known2.Zero.isSignBitSet())
// We can derive an upper bound on the result by taking the max of the
// leading zero bits.
- MaxHighZeros = std::max(KnownZero.countLeadingOnes(),
- KnownZero2.countLeadingOnes());
+ MaxHighZeros = std::max(Known.Zero.countLeadingOnes(),
+ Known2.Zero.countLeadingOnes());
// If either side is negative, the result is negative.
- else if (KnownOne.isSignBitSet() || KnownOne2.isSignBitSet())
+ else if (Known.One.isSignBitSet() || Known2.One.isSignBitSet())
MaxHighOnes = 1;
} else if (SPF == SPF_UMAX) {
// We can derive a lower bound on the result by taking the max of the
// leading one bits.
MaxHighOnes =
- std::max(KnownOne.countLeadingOnes(), KnownOne2.countLeadingOnes());
+ std::max(Known.One.countLeadingOnes(), Known2.One.countLeadingOnes());
} else if (SPF == SPF_UMIN) {
// We can derive an upper bound on the result by taking the max of the
// leading zero bits.
MaxHighZeros =
- std::max(KnownZero.countLeadingOnes(), KnownZero2.countLeadingOnes());
+ std::max(Known.Zero.countLeadingOnes(), Known2.Zero.countLeadingOnes());
}
// Only known if known in both the LHS and RHS.
- KnownOne &= KnownOne2;
- KnownZero &= KnownZero2;
+ Known.One &= Known2.One;
+ Known.Zero &= Known2.Zero;
if (MaxHighOnes > 0)
- KnownOne.setHighBits(MaxHighOnes);
+ Known.One.setHighBits(MaxHighOnes);
if (MaxHighZeros > 0)
- KnownZero.setHighBits(MaxHighZeros);
+ Known.Zero.setHighBits(MaxHighZeros);
break;
}
case Instruction::FPTrunc:
@@ -1054,14 +1052,14 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
SrcBitWidth = Q.DL.getTypeSizeInBits(SrcTy->getScalarType());
assert(SrcBitWidth && "SrcBitWidth can't be zero");
- KnownZero = KnownZero.zextOrTrunc(SrcBitWidth);
- KnownOne = KnownOne.zextOrTrunc(SrcBitWidth);
- computeKnownBits(I->getOperand(0), KnownZero, KnownOne, Depth + 1, Q);
- KnownZero = KnownZero.zextOrTrunc(BitWidth);
- KnownOne = KnownOne.zextOrTrunc(BitWidth);
+ Known.Zero = Known.Zero.zextOrTrunc(SrcBitWidth);
+ Known.One = Known.One.zextOrTrunc(SrcBitWidth);
+ computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
+ Known.Zero = Known.Zero.zextOrTrunc(BitWidth);
+ Known.One = Known.One.zextOrTrunc(BitWidth);
// Any top bits are known to be zero.
if (BitWidth > SrcBitWidth)
- KnownZero.setBitsFrom(SrcBitWidth);
+ Known.Zero.setBitsFrom(SrcBitWidth);
break;
}
case Instruction::BitCast: {
@@ -1070,7 +1068,7 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
// TODO: For now, not handling conversions like:
// (bitcast i64 %x to <2 x i32>)
!I->getType()->isVectorTy()) {
- computeKnownBits(I->getOperand(0), KnownZero, KnownOne, Depth + 1, Q);
+ computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
break;
}
break;
@@ -1079,13 +1077,13 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
// Compute the bits in the result that are not present in the input.
unsigned SrcBitWidth = I->getOperand(0)->getType()->getScalarSizeInBits();
- KnownZero = KnownZero.trunc(SrcBitWidth);
- KnownOne = KnownOne.trunc(SrcBitWidth);
- computeKnownBits(I->getOperand(0), KnownZero, KnownOne, Depth + 1, Q);
+ Known.Zero = Known.Zero.trunc(SrcBitWidth);
+ Known.One = Known.One.trunc(SrcBitWidth);
+ computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
// If the sign bit of the input is known set or clear, then we know the
// top bits of the result.
- KnownZero = KnownZero.sext(BitWidth);
- KnownOne = KnownOne.sext(BitWidth);
+ Known.Zero = Known.Zero.sext(BitWidth);
+ Known.One = Known.One.sext(BitWidth);
break;
}
case Instruction::Shl: {
@@ -1108,9 +1106,7 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
return KOResult;
};
- computeKnownBitsFromShiftOperator(I, KnownZero, KnownOne,
- KnownZero2, KnownOne2, Depth, Q, KZF,
- KOF);
+ computeKnownBitsFromShiftOperator(I, Known, Known2, Depth, Q, KZF, KOF);
break;
}
case Instruction::LShr: {
@@ -1126,9 +1122,7 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
return KnownOne.lshr(ShiftAmt);
};
- computeKnownBitsFromShiftOperator(I, KnownZero, KnownOne,
- KnownZero2, KnownOne2, Depth, Q, KZF,
- KOF);
+ computeKnownBitsFromShiftOperator(I, Known, Known2, Depth, Q, KZF, KOF);
break;
}
case Instruction::AShr: {
@@ -1141,23 +1135,19 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
return KnownOne.ashr(ShiftAmt);
};
- computeKnownBitsFromShiftOperator(I, KnownZero, KnownOne,
- KnownZero2, KnownOne2, Depth, Q, KZF,
- KOF);
+ computeKnownBitsFromShiftOperator(I, Known, Known2, Depth, Q, KZF, KOF);
break;
}
case Instruction::Sub: {
bool NSW = cast<OverflowingBinaryOperator>(I)->hasNoSignedWrap();
computeKnownBitsAddSub(false, I->getOperand(0), I->getOperand(1), NSW,
- KnownZero, KnownOne, KnownZero2, KnownOne2, Depth,
- Q);
+ Known, Known2, Depth, Q);
break;
}
case Instruction::Add: {
bool NSW = cast<OverflowingBinaryOperator>(I)->hasNoSignedWrap();
computeKnownBitsAddSub(true, I->getOperand(0), I->getOperand(1), NSW,
- KnownZero, KnownOne, KnownZero2, KnownOne2, Depth,
- Q);
+ Known, Known2, Depth, Q);
break;
}
case Instruction::SRem:
@@ -1165,34 +1155,33 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
APInt RA = Rem->getValue().abs();
if (RA.isPowerOf2()) {
APInt LowBits = RA - 1;
- computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1,
- Q);
+ computeKnownBits(I->getOperand(0), Known2, Depth + 1, Q);
// The low bits of the first operand are unchanged by the srem.
- KnownZero = KnownZero2 & LowBits;
- KnownOne = KnownOne2 & LowBits;
+ Known.Zero = Known2.Zero & LowBits;
+ Known.One = Known2.One & LowBits;
// If the first operand is non-negative or has all low bits zero, then
// the upper bits are all zero.
- if (KnownZero2.isSignBitSet() || ((KnownZero2 & LowBits) == LowBits))
- KnownZero |= ~LowBits;
+ if (Known2.Zero.isSignBitSet() || ((Known2.Zero & LowBits) == LowBits))
+ Known.Zero |= ~LowBits;
// If the first operand is negative and not all low bits are zero, then
// the upper bits are all one.
- if (KnownOne2.isSignBitSet() && ((KnownOne2 & LowBits) != 0))
- KnownOne |= ~LowBits;
+ if (Known2.One.isSignBitSet() && ((Known2.One & LowBits) != 0))
+ Known.One |= ~LowBits;
- assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
+ assert((Known.Zero & Known.One) == 0 && "Bits known to be one AND zero?");
break;
}
}
// The sign bit is the LHS's sign bit, except when the result of the
// remainder is zero.
- computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q);
+ computeKnownBits(I->getOperand(0), Known2, Depth + 1, Q);
// If it's known zero, our sign bit is also zero.
- if (KnownZero2.isSignBitSet())
- KnownZero.setSignBit();
+ if (Known2.Zero.isSignBitSet())
+ Known.Zero.setSignBit();
break;
case Instruction::URem: {
@@ -1200,23 +1189,23 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
const APInt &RA = Rem->getValue();
if (RA.isPowerOf2()) {
APInt LowBits = (RA - 1);
- computeKnownBits(I->getOperand(0), KnownZero, KnownOne, Depth + 1, Q);
- KnownZero |= ~LowBits;
- KnownOne &= LowBits;
+ computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
+ Known.Zero |= ~LowBits;
+ Known.One &= LowBits;
break;
}
}
// Since the result is less than or equal to either operand, any leading
// zero bits in either operand must also exist in the result.
- computeKnownBits(I->getOperand(0), KnownZero, KnownOne, Depth + 1, Q);
- computeKnownBits(I->getOperand(1), KnownZero2, KnownOne2, Depth + 1, Q);
-
- unsigned Leaders = std::max(KnownZero.countLeadingOnes(),
- KnownZero2.countLeadingOnes());
- KnownOne.clearAllBits();
- KnownZero.clearAllBits();
- KnownZero.setHighBits(Leaders);
+ computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
+ computeKnownBits(I->getOperand(1), Known2, Depth + 1, Q);
+
+ unsigned Leaders = std::max(Known.Zero.countLeadingOnes(),
+ Known2.Zero.countLeadingOnes());
+ Known.One.clearAllBits();
+ Known.Zero.clearAllBits();
+ Known.Zero.setHighBits(Leaders);
break;
}
@@ -1227,16 +1216,15 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
Align = Q.DL.getABITypeAlignment(AI->getAllocatedType());
if (Align > 0)
- KnownZero.setLowBits(countTrailingZeros(Align));
+ Known.Zero.setLowBits(countTrailingZeros(Align));
break;
}
case Instruction::GetElementPtr: {
// Analyze all of the subscripts of this getelementptr instruction
// to determine if we can prove known low zero bits.
- APInt LocalKnownZero(BitWidth, 0), LocalKnownOne(BitWidth, 0);
- computeKnownBits(I->getOperand(0), LocalKnownZero, LocalKnownOne, Depth + 1,
- Q);
- unsigned TrailZ = LocalKnownZero.countTrailingOnes();
+ KnownBits LocalKnown(BitWidth);
+ computeKnownBits(I->getOperand(0), LocalKnown, Depth + 1, Q);
+ unsigned TrailZ = LocalKnown.Zero.countTrailingOnes();
gep_type_iterator GTI = gep_type_begin(I);
for (unsigned i = 1, e = I->getNumOperands(); i != e; ++i, ++GTI) {
@@ -1266,15 +1254,15 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
}
unsigned GEPOpiBits = Index->getType()->getScalarSizeInBits();
uint64_t TypeSize = Q.DL.getTypeAllocSize(IndexedTy);
- LocalKnownZero = LocalKnownOne = APInt(GEPOpiBits, 0);
- computeKnownBits(Index, LocalKnownZero, LocalKnownOne, Depth + 1, Q);
+ LocalKnown.Zero = LocalKnown.One = APInt(GEPOpiBits, 0);
+ computeKnownBits(Index, LocalKnown, Depth + 1, Q);
TrailZ = std::min(TrailZ,
unsigned(countTrailingZeros(TypeSize) +
- LocalKnownZero.countTrailingOnes()));
+ LocalKnown.Zero.countTrailingOnes()));
}
}
- KnownZero.setLowBits(TrailZ);
+ Known.Zero.setLowBits(TrailZ);
break;
}
case Instruction::PHI: {
@@ -1309,14 +1297,14 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
break;
// Ok, we have a PHI of the form L op= R. Check for low
// zero bits.
- computeKnownBits(R, KnownZero2, KnownOne2, Depth + 1, Q);
+ computeKnownBits(R, Known2, Depth + 1, Q);
// We need to take the minimum number of known bits
- APInt KnownZero3(KnownZero), KnownOne3(KnownOne);
- computeKnownBits(L, KnownZero3, KnownOne3, Depth + 1, Q);
+ KnownBits Known3(Known);
+ computeKnownBits(L, Known3, Depth + 1, Q);
- KnownZero.setLowBits(std::min(KnownZero2.countTrailingOnes(),
- KnownZero3.countTrailingOnes()));
+ Known.Zero.setLowBits(std::min(Known2.Zero.countTrailingOnes(),
+ Known3.Zero.countTrailingOnes()));
if (DontImproveNonNegativePhiBits)
break;
@@ -1333,25 +1321,25 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
// (add non-negative, non-negative) --> non-negative
// (add negative, negative) --> negative
if (Opcode == Instruction::Add) {
- if (KnownZero2.isSignBitSet() && KnownZero3.isSignBitSet())
- KnownZero.setSignBit();
- else if (KnownOne2.isSignBitSet() && KnownOne3.isSignBitSet())
- KnownOne.setSignBit();
+ if (Known2.Zero.isSignBitSet() && Known3.Zero.isSignBitSet())
+ Known.Zero.setSignBit();
+ else if (Known2.One.isSignBitSet() && Known3.One.isSignBitSet())
+ Known.One.setSignBit();
}
// (sub nsw non-negative, negative) --> non-negative
// (sub nsw negative, non-negative) --> negative
else if (Opcode == Instruction::Sub && LL == I) {
- if (KnownZero2.isSignBitSet() && KnownOne3.isSignBitSet())
- KnownZero.setSignBit();
- else if (KnownOne2.isSignBitSet() && KnownZero3.isSignBitSet())
- KnownOne.setSignBit();
+ if (Known2.Zero.isSignBitSet() && Known3.One.isSignBitSet())
+ Known.Zero.setSignBit();
+ else if (Known2.One.isSignBitSet() && Known3.Zero.isSignBitSet())
+ Known.One.setSignBit();
}
// (mul nsw non-negative, non-negative) --> non-negative
- else if (Opcode == Instruction::Mul && KnownZero2.isSignBitSet() &&
- KnownZero3.isSignBitSet())
- KnownZero.setSignBit();
+ else if (Opcode == Instruction::Mul && Known2.Zero.isSignBitSet() &&
+ Known3.Zero.isSignBitSet())
+ Known.Zero.setSignBit();
}
break;
@@ -1365,27 +1353,26 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
// Otherwise take the unions of the known bit sets of the operands,
// taking conservative care to avoid excessive recursion.
- if (Depth < MaxDepth - 1 && !KnownZero && !KnownOne) {
+ if (Depth < MaxDepth - 1 && !Known.Zero && !Known.One) {
// Skip if every incoming value references to ourself.
if (dyn_cast_or_null<UndefValue>(P->hasConstantValue()))
break;
- KnownZero.setAllBits();
- KnownOne.setAllBits();
+ Known.Zero.setAllBits();
+ Known.One.setAllBits();
for (Value *IncValue : P->incoming_values()) {
// Skip direct self references.
if (IncValue == P) continue;
- KnownZero2 = APInt(BitWidth, 0);
- KnownOne2 = APInt(BitWidth, 0);
+ Known2 = KnownBits(BitWidth);
// Recurse, but cap the recursion to one level, because we don't
// want to waste time spinning around in loops.
- computeKnownBits(IncValue, KnownZero2, KnownOne2, MaxDepth - 1, Q);
- KnownZero &= KnownZero2;
- KnownOne &= KnownOne2;
+ computeKnownBits(IncValue, Known2, MaxDepth - 1, Q);
+ Known.Zero &= Known2.Zero;
+ Known.One &= Known2.One;
// If all bits have been ruled out, there's no need to check
// more operands.
- if (!KnownZero && !KnownOne)
+ if (!Known.Zero && !Known.One)
break;
}
}
@@ -1397,24 +1384,24 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
// and then intersect with known bits based on other properties of the
// function.
if (MDNode *MD = cast<Instruction>(I)->getMetadata(LLVMContext::MD_range))
- computeKnownBitsFromRangeMetadata(*MD, KnownZero, KnownOne);
+ computeKnownBitsFromRangeMetadata(*MD, Known.Zero, Known.One);
if (const Value *RV = ImmutableCallSite(I).getReturnedArgOperand()) {
- computeKnownBits(RV, KnownZero2, KnownOne2, Depth + 1, Q);
- KnownZero |= KnownZero2;
- KnownOne |= KnownOne2;
+ computeKnownBits(RV, Known2, Depth + 1, Q);
+ Known.Zero |= Known2.Zero;
+ Known.One |= Known2.One;
}
if (const IntrinsicInst *II = dyn_cast<IntrinsicInst>(I)) {
switch (II->getIntrinsicID()) {
default: break;
case Intrinsic::bitreverse:
- computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q);
- KnownZero |= KnownZero2.reverseBits();
- KnownOne |= KnownOne2.reverseBits();
+ computeKnownBits(I->getOperand(0), Known2, Depth + 1, Q);
+ Known.Zero |= Known2.Zero.reverseBits();
+ Known.One |= Known2.One.reverseBits();
break;
case Intrinsic::bswap:
- computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q);
- KnownZero |= KnownZero2.byteSwap();
- KnownOne |= KnownOne2.byteSwap();
+ computeKnownBits(I->getOperand(0), Known2, Depth + 1, Q);
+ Known.Zero |= Known2.Zero.byteSwap();
+ Known.One |= Known2.One.byteSwap();
break;
case Intrinsic::ctlz:
case Intrinsic::cttz: {
@@ -1422,22 +1409,22 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
// If this call is undefined for 0, the result will be less than 2^n.
if (II->getArgOperand(1) == ConstantInt::getTrue(II->getContext()))
LowBits -= 1;
- KnownZero.setBitsFrom(LowBits);
+ Known.Zero.setBitsFrom(LowBits);
break;
}
case Intrinsic::ctpop: {
- computeKnownBits(I->getOperand(0), KnownZero2, KnownOne2, Depth + 1, Q);
+ computeKnownBits(I->getOperand(0), Known2, Depth + 1, Q);
// We can bound the space the count needs. Also, bits known to be zero
// can't contribute to the population.
- unsigned BitsPossiblySet = BitWidth - KnownZero2.countPopulation();
+ unsigned BitsPossiblySet = BitWidth - Known2.Zero.countPopulation();
unsigned LowBits = Log2_32(BitsPossiblySet)+1;
- KnownZero.setBitsFrom(LowBits);
+ Known.Zero.setBitsFrom(LowBits);
// TODO: we could bound KnownOne using the lower bound on the number
// of bits which might be set provided by popcnt KnownOne2.
break;
}
case Intrinsic::x86_sse42_crc32_64_64:
- KnownZero.setBitsFrom(32);
+ Known.Zero.setBitsFrom(32);
break;
}
}
@@ -1447,7 +1434,7 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
// tracking the specific element. But at least we might find information
// valid for all elements of the vector (for example if vector is sign
// extended, shifted, etc).
- computeKnownBits(I->getOperand(0), KnownZero, KnownOne, Depth + 1, Q);
+ computeKnownBits(I->getOperand(0), Known, Depth + 1, Q);
break;
case Instruction::ExtractValue:
if (IntrinsicInst *II = dyn_cast<IntrinsicInst>(I->getOperand(0))) {
@@ -1459,20 +1446,19 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
case Intrinsic::uadd_with_overflow:
case Intrinsic::sadd_with_overflow:
computeKnownBitsAddSub(true, II->getArgOperand(0),
- II->getArgOperand(1), false, KnownZero,
- KnownOne, KnownZero2, KnownOne2, Depth, Q);
+ II->getArgOperand(1), false, Known, Known2,
+ Depth, Q);
break;
case Intrinsic::usub_with_overflow:
case Intrinsic::ssub_with_overflow:
computeKnownBitsAddSub(false, II->getArgOperand(0),
- II->getArgOperand(1), false, KnownZero,
- KnownOne, KnownZero2, KnownOne2, Depth, Q);
+ II->getArgOperand(1), false, Known, Known2,
+ Depth, Q);
break;
case Intrinsic::umul_with_overflow:
case Intrinsic::smul_with_overflow:
computeKnownBitsMul(II->getArgOperand(0), II->getArgOperand(1), false,
- KnownZero, KnownOne, KnownZero2, KnownOne2, Depth,
- Q);
+ Known, Known2, Depth, Q);
break;
}
}
@@ -1481,7 +1467,7 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
}
/// Determine which bits of V are known to be either zero or one and return
-/// them in the KnownZero/KnownOne bit sets.
+/// them in the Known bit set.
///
/// NOTE: we cannot consider 'undef' to be "IsZero" here. The problem is that
/// we cannot optimize based on the assumption that it is zero without changing
@@ -1495,11 +1481,11 @@ static void computeKnownBitsFromOperator(const Operator *I, APInt &KnownZero,
/// where V is a vector, known zero, and known one values are the
/// same width as the vector element, and the bit is set only if it is true
/// for all of the elements in the vector.
-void computeKnownBits(const Value *V, APInt &KnownZero, APInt &KnownOne,
- unsigned Depth, const Query &Q) {
+void computeKnownBits(const Value *V, KnownBits &Known, unsigned Depth,
+ const Query &Q) {
assert(V && "No Value?");
assert(Depth <= MaxDepth && "Limit Search Depth");
- unsigned BitWidth = KnownZero.getBitWidth();
+ unsigned BitWidth = Known.getBitWidth();
assert((V->getType()->isIntOrIntVectorTy() ||
V->getType()->getScalarType()->isPointerTy()) &&
@@ -1507,22 +1493,20 @@ void computeKnownBits(const Value *V, APInt &KnownZero, APInt &KnownOne,
assert((Q.DL.getTypeSizeInBits(V->getType()->getScalarType()) == BitWidth) &&
(!V->getType()->isIntOrIntVectorTy() ||
V->getType()->getScalarSizeInBits() == BitWidth) &&
- KnownZero.getBitWidth() == BitWidth &&
- KnownOne.getBitWidth() == BitWidth &&
- "V, KnownOne and KnownZero should have same BitWidth");
+ "V and Known should have same BitWidth");
(void)BitWidth;
const APInt *C;
if (match(V, m_APInt(C))) {
// We know all of the bits for a scalar constant or a splat vector constant!
- KnownOne = *C;
- KnownZero = ~KnownOne;
+ Known.One = *C;
+ Known.Zero = ~Known.One;
return;
}
// Null and aggregate-zero are all-zeros.
if (isa<ConstantPointerNull>(V) || isa<ConstantAggregateZero>(V)) {
- KnownOne.clearAllBits();
- KnownZero.setAllBits();
+ Known.One.clearAllBits();
+ Known.Zero.setAllBits();
return;
}
// Handle a constant vector by taking the intersection of the known bits of
@@ -1530,12 +1514,12 @@ void computeKnownBits(const Value *V, APInt &KnownZero, APInt &KnownOne,
if (const ConstantDataSequential *CDS = dyn_cast<ConstantDataSequential>(V)) {
// We know that CDS must be a vector of integers. Take the intersection of
// each element.
- KnownZero.setAllBits(); KnownOne.setAllBits();
- APInt Elt(KnownZero.getBitWidth(), 0);
+ Known.Zero.setAllBits(); Known.One.setAllBits();
+ APInt Elt(BitWidth, 0);
for (unsigned i = 0, e = CDS->getNumElements(); i != e; ++i) {
Elt = CDS->getElementAsInteger(i);
- KnownZero &= ~Elt;
- KnownOne &= Elt;
+ Known.Zero &= ~Elt;
+ Known.One &= Elt;
}
return;
}
@@ -1543,25 +1527,25 @@ void computeKnownBits(const Value *V, APInt &KnownZero, APInt &KnownOne,
if (const auto *CV = dyn_cast<ConstantVector>(V)) {
// We know that CV must be a vector of integers. Take the intersection of
// each element.
- KnownZero.setAllBits(); KnownOne.setAllBits();
- APInt Elt(KnownZero.getBitWidth(), 0);
+ Known.Zero.setAllBits(); Known.One.setAllBits();
+ APInt Elt(BitWidth, 0);
for (unsigned i = 0, e = CV->getNumOperands(); i != e; ++i) {
Constant *Element = CV->getAggregateElement(i);
auto *ElementCI = dyn_cast_or_null<ConstantInt>(Element);
if (!ElementCI) {
- KnownZero.clearAllBits();
- KnownOne.clearAllBits();
+ Known.Zero.clearAllBits();
+ Known.One.clearAllBits();
return;
}
Elt = ElementCI->getValue();
- KnownZero &= ~Elt;
- KnownOne &= Elt;
+ Known.Zero &= ~Elt;
+ Known.One &= Elt;
}
return;
}
// Start out not knowing anything.
- KnownZero.clearAllBits(); KnownOne.clearAllBits();
+ Known.Zero.clearAllBits(); Known.One.clearAllBits();
// We can't imply anything about undefs.
if (isa<UndefValue>(V))
@@ -1580,27 +1564,27 @@ void computeKnownBits(const Value *V, APInt &KnownZero, APInt &KnownOne,
// the bits of its aliasee.
if (const GlobalAlias *GA = dyn_cast<GlobalAlias>(V)) {
if (!GA->isInterposable())
- computeKnownBits(GA->getAliasee(), KnownZero, KnownOne, Depth + 1, Q);
+ computeKnownBits(GA->getAliasee(), Known, Depth + 1, Q);
return;
}
if (const Operator *I = dyn_cast<Operator>(V))
- computeKnownBitsFromOperator(I, KnownZero, KnownOne, Depth, Q);
+ computeKnownBitsFromOperator(I, Known, Depth, Q);
- // Aligned pointers have trailing zeros - refine KnownZero set
+ // Aligned pointers have trailing zeros - refine Known.Zero set
if (V->getType()->isPointerTy()) {
unsigned Align = V->getPointerAlignment(Q.DL);
if (Align)
- KnownZero.setLowBits(countTrailingZeros(Align));
+ Known.Zero.setLowBits(countTrailingZeros(Align));
}
- // computeKnownBitsFromAssume strictly refines KnownZero and
- // KnownOne. Therefore, we run them after computeKnownBitsFromOperator.
+ // computeKnownBitsFromAssume strictly refines Known.
+ // Therefore, we run them after computeKnownBitsFromOperator.
// Check whether a nearby assume intrinsic can determine some known bits.
- computeKnownBitsFromAssume(V, KnownZero, KnownOne, Depth, Q);
+ computeKnownBitsFromAssume(V, Known, Depth, Q);
- assert((KnownZero & KnownOne) == 0 && "Bits known to be one AND zero?");
+ assert((Known.Zero & Known.One) == 0 && "Bits known to be one AND zero?");
}
/// Determine whether the sign bit is known to be zero or one.
@@ -1613,11 +1597,10 @@ void ComputeSignBit(const Value *V, bool &KnownZero, bool &KnownOne,
KnownOne = false;
return;
}
- APInt ZeroBits(BitWidth, 0);
- APInt OneBits(BitWidth, 0);
- computeKnownBits(V, ZeroBits, OneBits, Depth, Q);
- KnownOne = OneBits.isSignBitSet();
- KnownZero = ZeroBits.isSignBitSet();
+ KnownBits Bits(BitWidth);
+ computeKnownBits(V, Bits, Depth, Q);
+ KnownOne = Bits.One.isSignBitSet();
+ KnownZero = Bits.Zero.isSignBitSet();
}
/// Return true if the given value is known to have exactly one
@@ -1689,18 +1672,18 @@ bool isKnownToBeAPowerOfTwo(const Value *V, bool OrZero, unsigned Depth,
return true;
unsigned BitWidth = V->getType()->getScalarSizeInBits();
- APInt LHSZeroBits(BitWidth, 0), LHSOneBits(BitWidth, 0);
- computeKnownBits(X, LHSZeroBits, LHSOneBits, Depth, Q);
+ KnownBits LHSBits(BitWidth);
+ computeKnownBits(X, LHSBits, Depth, Q);
- APInt RHSZeroBits(BitWidth, 0), RHSOneBits(BitWidth, 0);
- computeKnownBits(Y, RHSZeroBits, RHSOneBits, Depth, Q);
+ KnownBits RHSBits(BitWidth);
+ computeKnownBits(Y, RHSBits, Depth, Q);
// If i8 V is a power of two or zero:
// ZeroBits: 1 1 1 0 1 1 1 1
// ~ZeroBits: 0 0 0 1 0 0 0 0
- if ((~(LHSZeroBits & RHSZeroBits)).isPowerOf2())
+ if ((~(LHSBits.Zero & RHSBits.Zero)).isPowerOf2())
// If OrZero isn't set, we cannot give back a zero result.
// Make sure either the LHS or RHS has a bit set.
- if (OrZero || RHSOneBits.getBoolValue() || LHSOneBits.getBoolValue())
+ if (OrZero || RHSBits.One.getBoolValue() || LHSBits.One.getBoolValue())
return true;
}
}
@@ -1871,10 +1854,9 @@ bool isKnownNonZero(const Value *V, unsigned Depth, const Query &Q) {
if (BO->hasNoUnsignedWrap())
return isKnownNonZero(X, Depth, Q);
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
- computeKnownBits(X, KnownZero, KnownOne, Depth, Q);
- if (KnownOne[0])
+ KnownBits Known(BitWidth);
+ computeKnownBits(X, Known, Depth, Q);
+ if (Known.One[0])
return true;
}
// shr X, Y != 0 if X is negative. Note that the value of the shift is not
@@ -1894,16 +1876,15 @@ bool isKnownNonZero(const Value *V, unsigned Depth, const Query &Q) {
// out are known to be zero, and X is known non-zero then at least one
// non-zero bit must remain.
if (ConstantInt *Shift = dyn_cast<ConstantInt>(Y)) {
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
- computeKnownBits(X, KnownZero, KnownOne, Depth, Q);
+ KnownBits Known(BitWidth);
+ computeKnownBits(X, Known, Depth, Q);
auto ShiftVal = Shift->getLimitedValue(BitWidth - 1);
// Is there a known one in the portion not shifted out?
- if (KnownOne.countLeadingZeros() < BitWidth - ShiftVal)
+ if (Known.One.countLeadingZeros() < BitWidth - ShiftVal)
return true;
// Are all the bits to be shifted out known zero?
- if (KnownZero.countTrailingOnes() >= ShiftVal)
+ if (Known.Zero.countTrailingOnes() >= ShiftVal)
return isKnownNonZero(X, Depth, Q);
}
}
@@ -1927,18 +1908,17 @@ bool isKnownNonZero(const Value *V, unsigned Depth, const Query &Q) {
// If X and Y are both negative (as signed values) then their sum is not
// zero unless both X and Y equal INT_MIN.
if (BitWidth && XKnownNegative && YKnownNegative) {
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
+ KnownBits Known(BitWidth);
APInt Mask = APInt::getSignedMaxValue(BitWidth);
// The sign bit of X is set. If some other bit is set then X is not equal
// to INT_MIN.
- computeKnownBits(X, KnownZero, KnownOne, Depth, Q);
- if ((KnownOne & Mask) != 0)
+ computeKnownBits(X, Known, Depth, Q);
+ if (Known.One.intersects(Mask))
return true;
// The sign bit of Y is set. If some other bit is set then Y is not equal
// to INT_MIN.
- computeKnownBits(Y, KnownZero, KnownOne, Depth, Q);
- if ((KnownOne & Mask) != 0)
+ computeKnownBits(Y, Known, Depth, Q);
+ if (Known.One.intersects(Mask))
return true;
}
@@ -1993,10 +1973,9 @@ bool isKnownNonZero(const Value *V, unsigned Depth, const Query &Q) {
}
if (!BitWidth) return false;
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
- computeKnownBits(V, KnownZero, KnownOne, Depth, Q);
- return KnownOne != 0;
+ KnownBits Known(BitWidth);
+ computeKnownBits(V, Known, Depth, Q);
+ return Known.One != 0;
}
/// Return true if V2 == V1 + X, where X is known non-zero.
@@ -2028,14 +2007,13 @@ static bool isKnownNonEqual(const Value *V1, const Value *V2, const Query &Q) {
// Are any known bits in V1 contradictory to known bits in V2? If V1
// has a known zero where V2 has a known one, they must not be equal.
auto BitWidth = Ty->getBitWidth();
- APInt KnownZero1(BitWidth, 0);
- APInt KnownOne1(BitWidth, 0);
- computeKnownBits(V1, KnownZero1, KnownOne1, 0, Q);
- APInt KnownZero2(BitWidth, 0);
- APInt KnownOne2(BitWidth, 0);
- computeKnownBits(V2, KnownZero2, KnownOne2, 0, Q);
-
- auto OppositeBits = (KnownZero1 & KnownOne2) | (KnownZero2 & KnownOne1);
+ KnownBits Known1(BitWidth);
+ computeKnownBits(V1, Known1, 0, Q);
+ KnownBits Known2(BitWidth);
+ computeKnownBits(V2, Known2, 0, Q);
+
+ APInt OppositeBits = (Known1.Zero & Known2.One) |
+ (Known2.Zero & Known1.One);
if (OppositeBits.getBoolValue())
return true;
}
@@ -2053,9 +2031,9 @@ static bool isKnownNonEqual(const Value *V1, const Value *V2, const Query &Q) {
/// for all of the elements in the vector.
bool MaskedValueIsZero(const Value *V, const APInt &Mask, unsigned Depth,
const Query &Q) {
- APInt KnownZero(Mask.getBitWidth(), 0), KnownOne(Mask.getBitWidth(), 0);
- computeKnownBits(V, KnownZero, KnownOne, Depth, Q);
- return (KnownZero & Mask) == Mask;
+ KnownBits Known(Mask.getBitWidth());
+ computeKnownBits(V, Known, Depth, Q);
+ return Mask.isSubsetOf(Known.Zero);
}
/// For vector constants, loop over the elements and find the constant with the
@@ -2233,17 +2211,17 @@ static unsigned ComputeNumSignBitsImpl(const Value *V, unsigned Depth,
// Special case decrementing a value (ADD X, -1):
if (const auto *CRHS = dyn_cast<Constant>(U->getOperand(1)))
if (CRHS->isAllOnesValue()) {
- APInt KnownZero(TyBits, 0), KnownOne(TyBits, 0);
- computeKnownBits(U->getOperand(0), KnownZero, KnownOne, Depth + 1, Q);
+ KnownBits Known(TyBits);
+ computeKnownBits(U->getOperand(0), Known, Depth + 1, Q);
// If the input is known to be 0 or 1, the output is 0/-1, which is all
// sign bits set.
- if ((KnownZero | APInt(TyBits, 1)).isAllOnesValue())
+ if ((Known.Zero | 1).isAllOnesValue())
return TyBits;
// If we are subtracting one from a positive number, there is no carry
// out of the result.
- if (KnownZero.isSignBitSet())
+ if (Known.Zero.isSignBitSet())
return Tmp;
}
@@ -2258,16 +2236,16 @@ static unsigned ComputeNumSignBitsImpl(const Value *V, unsigned Depth,
// Handle NEG.
if (const auto *CLHS = dyn_cast<Constant>(U->getOperand(0)))
if (CLHS->isNullValue()) {
- APInt KnownZero(TyBits, 0), KnownOne(TyBits, 0);
- computeKnownBits(U->getOperand(1), KnownZero, KnownOne, Depth + 1, Q);
+ KnownBits Known(TyBits);
+ computeKnownBits(U->getOperand(1), Known, Depth + 1, Q);
// If the input is known to be 0 or 1, the output is 0/-1, which is all
// sign bits set.
- if ((KnownZero | APInt(TyBits, 1)).isAllOnesValue())
+ if ((Known.Zero | 1).isAllOnesValue())
return TyBits;
// If the input is known to be positive (the sign bit is known clear),
// the output of the NEG has the same number of sign bits as the input.
- if (KnownZero.isSignBitSet())
+ if (Known.Zero.isSignBitSet())
return Tmp2;
// Otherwise, we treat this like a SUB.
@@ -2319,16 +2297,16 @@ static unsigned ComputeNumSignBitsImpl(const Value *V, unsigned Depth,
if (unsigned VecSignBits = computeNumSignBitsVectorConstant(V, TyBits))
return VecSignBits;
- APInt KnownZero(TyBits, 0), KnownOne(TyBits, 0);
- computeKnownBits(V, KnownZero, KnownOne, Depth, Q);
+ KnownBits Known(TyBits);
+ computeKnownBits(V, Known, Depth, Q);
// If we know that the sign bit is either zero or one, determine the number of
// identical bits in the top of the input value.
- if (KnownZero.isSignBitSet())
- return std::max(FirstAnswer, KnownZero.countLeadingOnes());
+ if (Known.Zero.isSignBitSet())
+ return std::max(FirstAnswer, Known.Zero.countLeadingOnes());
- if (KnownOne.isSignBitSet())
- return std::max(FirstAnswer, KnownOne.countLeadingOnes());
+ if (Known.One.isSignBitSet())
+ return std::max(FirstAnswer, Known.One.countLeadingOnes());
// computeKnownBits gave us no extra information about the top bits.
return FirstAnswer;
@@ -3534,26 +3512,22 @@ OverflowResult llvm::computeOverflowForUnsignedMul(const Value *LHS,
// we can guarantee that the result does not overflow.
// Ref: "Hacker's Delight" by Henry Warren
unsigned BitWidth = LHS->getType()->getScalarSizeInBits();
- APInt LHSKnownZero(BitWidth, 0);
- APInt LHSKnownOne(BitWidth, 0);
- APInt RHSKnownZero(BitWidth, 0);
- APInt RHSKnownOne(BitWidth, 0);
- computeKnownBits(LHS, LHSKnownZero, LHSKnownOne, DL, /*Depth=*/0, AC, CxtI,
- DT);
- computeKnownBits(RHS, RHSKnownZero, RHSKnownOne, DL, /*Depth=*/0, AC, CxtI,
- DT);
+ KnownBits LHSKnown(BitWidth);
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(LHS, LHSKnown, DL, /*Depth=*/0, AC, CxtI, DT);
+ computeKnownBits(RHS, RHSKnown, DL, /*Depth=*/0, AC, CxtI, DT);
// Note that underestimating the number of zero bits gives a more
// conservative answer.
- unsigned ZeroBits = LHSKnownZero.countLeadingOnes() +
- RHSKnownZero.countLeadingOnes();
+ unsigned ZeroBits = LHSKnown.Zero.countLeadingOnes() +
+ RHSKnown.Zero.countLeadingOnes();
// First handle the easy case: if we have enough zero bits there's
// definitely no overflow.
if (ZeroBits >= BitWidth)
return OverflowResult::NeverOverflows;
// Get the largest possible values for each operand.
- APInt LHSMax = ~LHSKnownZero;
- APInt RHSMax = ~RHSKnownZero;
+ APInt LHSMax = ~LHSKnown.Zero;
+ APInt RHSMax = ~RHSKnown.Zero;
// We know the multiply operation doesn't overflow if the maximum values for
// each operand will not overflow after we multiply them together.
@@ -3565,7 +3539,7 @@ OverflowResult llvm::computeOverflowForUnsignedMul(const Value *LHS,
// We know it always overflows if multiplying the smallest possible values for
// the operands also results in overflow.
bool MinOverflow;
- (void)LHSKnownOne.umul_ov(RHSKnownOne, MinOverflow);
+ (void)LHSKnown.One.umul_ov(RHSKnown.One, MinOverflow);
if (MinOverflow)
return OverflowResult::AlwaysOverflows;
@@ -4284,11 +4258,10 @@ static bool isTruePredicate(CmpInst::Predicate Pred,
// If X & C == 0 then (X | C) == X +_{nuw} C
if (match(A, m_Or(m_Value(X), m_APInt(CA))) &&
match(B, m_Or(m_Specific(X), m_APInt(CB)))) {
- unsigned BitWidth = CA->getBitWidth();
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
- computeKnownBits(X, KnownZero, KnownOne, DL, Depth + 1, AC, CxtI, DT);
+ KnownBits Known(CA->getBitWidth());
+ computeKnownBits(X, Known, DL, Depth + 1, AC, CxtI, DT);
- if ((KnownZero & *CA) == *CA && (KnownZero & *CB) == *CB)
+ if (CA->isSubsetOf(Known.Zero) && CB->isSubsetOf(Known.Zero))
return true;
}
diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp
index 1d3cde2f5ddb..e5aba03c8dc1 100644
--- a/lib/Bitcode/Writer/BitcodeWriter.cpp
+++ b/lib/Bitcode/Writer/BitcodeWriter.cpp
@@ -726,54 +726,50 @@ static uint64_t getAttrKindEncoding(Attribute::AttrKind Kind) {
}
void ModuleBitcodeWriter::writeAttributeGroupTable() {
- const std::vector<AttributeList> &AttrGrps = VE.getAttributeGroups();
+ const std::vector<ValueEnumerator::IndexAndAttrSet> &AttrGrps =
+ VE.getAttributeGroups();
if (AttrGrps.empty()) return;
Stream.EnterSubblock(bitc::PARAMATTR_GROUP_BLOCK_ID, 3);
SmallVector<uint64_t, 64> Record;
- for (unsigned i = 0, e = AttrGrps.size(); i != e; ++i) {
- AttributeList AS = AttrGrps[i];
- for (unsigned i = 0, e = AS.getNumSlots(); i != e; ++i) {
- AttributeList A = AS.getSlotAttributes(i);
-
- Record.push_back(VE.getAttributeGroupID(A));
- Record.push_back(AS.getSlotIndex(i));
-
- for (AttributeList::iterator I = AS.begin(0), E = AS.end(0); I != E;
- ++I) {
- Attribute Attr = *I;
- if (Attr.isEnumAttribute()) {
- Record.push_back(0);
- Record.push_back(getAttrKindEncoding(Attr.getKindAsEnum()));
- } else if (Attr.isIntAttribute()) {
- Record.push_back(1);
- Record.push_back(getAttrKindEncoding(Attr.getKindAsEnum()));
- Record.push_back(Attr.getValueAsInt());
- } else {
- StringRef Kind = Attr.getKindAsString();
- StringRef Val = Attr.getValueAsString();
-
- Record.push_back(Val.empty() ? 3 : 4);
- Record.append(Kind.begin(), Kind.end());
+ for (ValueEnumerator::IndexAndAttrSet Pair : AttrGrps) {
+ unsigned AttrListIndex = Pair.first;
+ AttributeSet AS = Pair.second;
+ Record.push_back(VE.getAttributeGroupID(Pair));
+ Record.push_back(AttrListIndex);
+
+ for (Attribute Attr : AS) {
+ if (Attr.isEnumAttribute()) {
+ Record.push_back(0);
+ Record.push_back(getAttrKindEncoding(Attr.getKindAsEnum()));
+ } else if (Attr.isIntAttribute()) {
+ Record.push_back(1);
+ Record.push_back(getAttrKindEncoding(Attr.getKindAsEnum()));
+ Record.push_back(Attr.getValueAsInt());
+ } else {
+ StringRef Kind = Attr.getKindAsString();
+ StringRef Val = Attr.getValueAsString();
+
+ Record.push_back(Val.empty() ? 3 : 4);
+ Record.append(Kind.begin(), Kind.end());
+ Record.push_back(0);
+ if (!Val.empty()) {
+ Record.append(Val.begin(), Val.end());
Record.push_back(0);
- if (!Val.empty()) {
- Record.append(Val.begin(), Val.end());
- Record.push_back(0);
- }
}
}
-
- Stream.EmitRecord(bitc::PARAMATTR_GRP_CODE_ENTRY, Record);
- Record.clear();
}
+
+ Stream.EmitRecord(bitc::PARAMATTR_GRP_CODE_ENTRY, Record);
+ Record.clear();
}
Stream.ExitBlock();
}
void ModuleBitcodeWriter::writeAttributeTable() {
- const std::vector<AttributeList> &Attrs = VE.getAttributes();
+ const std::vector<AttributeList> &Attrs = VE.getAttributeLists();
if (Attrs.empty()) return;
Stream.EnterSubblock(bitc::PARAMATTR_BLOCK_ID, 3);
@@ -782,7 +778,8 @@ void ModuleBitcodeWriter::writeAttributeTable() {
for (unsigned i = 0, e = Attrs.size(); i != e; ++i) {
const AttributeList &A = Attrs[i];
for (unsigned i = 0, e = A.getNumSlots(); i != e; ++i)
- Record.push_back(VE.getAttributeGroupID(A.getSlotAttributes(i)));
+ Record.push_back(
+ VE.getAttributeGroupID({A.getSlotIndex(i), A.getSlotAttributes(i)}));
Stream.EmitRecord(bitc::PARAMATTR_CODE_ENTRY, Record);
Record.clear();
@@ -1270,7 +1267,7 @@ void ModuleBitcodeWriter::writeModuleInfo() {
Vals.push_back(F.getCallingConv());
Vals.push_back(F.isDeclaration());
Vals.push_back(getEncodedLinkage(F));
- Vals.push_back(VE.getAttributeID(F.getAttributes()));
+ Vals.push_back(VE.getAttributeListID(F.getAttributes()));
Vals.push_back(Log2_32(F.getAlignment())+1);
Vals.push_back(F.hasSection() ? SectionMap[F.getSection()] : 0);
Vals.push_back(getEncodedVisibility(F));
@@ -2616,7 +2613,7 @@ void ModuleBitcodeWriter::writeInstruction(const Instruction &I,
Code = bitc::FUNC_CODE_INST_INVOKE;
- Vals.push_back(VE.getAttributeID(II->getAttributes()));
+ Vals.push_back(VE.getAttributeListID(II->getAttributes()));
Vals.push_back(II->getCallingConv() | 1 << 13);
Vals.push_back(VE.getValueID(II->getNormalDest()));
Vals.push_back(VE.getValueID(II->getUnwindDest()));
@@ -2808,7 +2805,7 @@ void ModuleBitcodeWriter::writeInstruction(const Instruction &I,
Code = bitc::FUNC_CODE_INST_CALL;
- Vals.push_back(VE.getAttributeID(CI.getAttributes()));
+ Vals.push_back(VE.getAttributeListID(CI.getAttributes()));
unsigned Flags = getOptimizationFlags(&I);
Vals.push_back(CI.getCallingConv() << bitc::CALL_CCONV |
diff --git a/lib/Bitcode/Writer/ValueEnumerator.cpp b/lib/Bitcode/Writer/ValueEnumerator.cpp
index 3800d9abd429..861150766986 100644
--- a/lib/Bitcode/Writer/ValueEnumerator.cpp
+++ b/lib/Bitcode/Writer/ValueEnumerator.cpp
@@ -891,19 +891,19 @@ void ValueEnumerator::EnumerateAttributes(AttributeList PAL) {
if (PAL.isEmpty()) return; // null is always 0.
// Do a lookup.
- unsigned &Entry = AttributeMap[PAL];
+ unsigned &Entry = AttributeListMap[PAL];
if (Entry == 0) {
// Never saw this before, add it.
- Attribute.push_back(PAL);
- Entry = Attribute.size();
+ AttributeLists.push_back(PAL);
+ Entry = AttributeLists.size();
}
// Do lookups for all attribute groups.
for (unsigned i = 0, e = PAL.getNumSlots(); i != e; ++i) {
- AttributeList AS = PAL.getSlotAttributes(i);
- unsigned &Entry = AttributeGroupMap[AS];
+ IndexAndAttrSet Pair = {PAL.getSlotIndex(i), PAL.getSlotAttributes(i)};
+ unsigned &Entry = AttributeGroupMap[Pair];
if (Entry == 0) {
- AttributeGroups.push_back(AS);
+ AttributeGroups.push_back(Pair);
Entry = AttributeGroups.size();
}
}
diff --git a/lib/Bitcode/Writer/ValueEnumerator.h b/lib/Bitcode/Writer/ValueEnumerator.h
index 8a82aab29836..e7ccc8df1e5f 100644
--- a/lib/Bitcode/Writer/ValueEnumerator.h
+++ b/lib/Bitcode/Writer/ValueEnumerator.h
@@ -48,6 +48,10 @@ public:
// For each value, we remember its Value* and occurrence frequency.
typedef std::vector<std::pair<const Value*, unsigned> > ValueList;
+ /// Attribute groups as encoded in bitcode are almost AttributeSets, but they
+ /// include the AttributeList index, so we have to track that in our map.
+ typedef std::pair<unsigned, AttributeSet> IndexAndAttrSet;
+
UseListOrderStack UseListOrders;
private:
@@ -102,13 +106,13 @@ private:
bool ShouldPreserveUseListOrder;
- typedef DenseMap<AttributeList, unsigned> AttributeGroupMapType;
+ typedef DenseMap<IndexAndAttrSet, unsigned> AttributeGroupMapType;
AttributeGroupMapType AttributeGroupMap;
- std::vector<AttributeList> AttributeGroups;
+ std::vector<IndexAndAttrSet> AttributeGroups;
- typedef DenseMap<AttributeList, unsigned> AttributeMapType;
- AttributeMapType AttributeMap;
- std::vector<AttributeList> Attribute;
+ typedef DenseMap<AttributeList, unsigned> AttributeListMapType;
+ AttributeListMapType AttributeListMap;
+ std::vector<AttributeList> AttributeLists;
/// GlobalBasicBlockIDs - This map memoizes the basic block ID's referenced by
/// the "getGlobalBasicBlockID" method.
@@ -166,16 +170,17 @@ public:
unsigned getInstructionID(const Instruction *I) const;
void setInstructionID(const Instruction *I);
- unsigned getAttributeID(AttributeList PAL) const {
+ unsigned getAttributeListID(AttributeList PAL) const {
if (PAL.isEmpty()) return 0; // Null maps to zero.
- AttributeMapType::const_iterator I = AttributeMap.find(PAL);
- assert(I != AttributeMap.end() && "Attribute not in ValueEnumerator!");
+ AttributeListMapType::const_iterator I = AttributeListMap.find(PAL);
+ assert(I != AttributeListMap.end() && "Attribute not in ValueEnumerator!");
return I->second;
}
- unsigned getAttributeGroupID(AttributeList PAL) const {
- if (PAL.isEmpty()) return 0; // Null maps to zero.
- AttributeGroupMapType::const_iterator I = AttributeGroupMap.find(PAL);
+ unsigned getAttributeGroupID(IndexAndAttrSet Group) const {
+ if (!Group.second.hasAttributes())
+ return 0; // Null maps to zero.
+ AttributeGroupMapType::const_iterator I = AttributeGroupMap.find(Group);
assert(I != AttributeGroupMap.end() && "Attribute not in ValueEnumerator!");
return I->second;
}
@@ -206,8 +211,8 @@ public:
const std::vector<const BasicBlock*> &getBasicBlocks() const {
return BasicBlocks;
}
- const std::vector<AttributeList> &getAttributes() const { return Attribute; }
- const std::vector<AttributeList> &getAttributeGroups() const {
+ const std::vector<AttributeList> &getAttributeLists() const { return AttributeLists; }
+ const std::vector<IndexAndAttrSet> &getAttributeGroups() const {
return AttributeGroups;
}
diff --git a/lib/CodeGen/AggressiveAntiDepBreaker.cpp b/lib/CodeGen/AggressiveAntiDepBreaker.cpp
index 955524c2a676..3a57772cc7f5 100644
--- a/lib/CodeGen/AggressiveAntiDepBreaker.cpp
+++ b/lib/CodeGen/AggressiveAntiDepBreaker.cpp
@@ -964,10 +964,8 @@ unsigned AggressiveAntiDepBreaker::BreakAntiDependencies(
// sure to update that as well.
const SUnit *SU = MISUnitMap[Q.second.Operand->getParent()];
if (!SU) continue;
- for (DbgValueVector::iterator DVI = DbgValues.begin(),
- DVE = DbgValues.end(); DVI != DVE; ++DVI)
- if (DVI->second == Q.second.Operand->getParent())
- UpdateDbgValue(*DVI->first, AntiDepReg, NewReg);
+ UpdateDbgValues(DbgValues, Q.second.Operand->getParent(),
+ AntiDepReg, NewReg);
}
// We just went back in time and modified history; the
diff --git a/lib/CodeGen/AntiDepBreaker.h b/lib/CodeGen/AntiDepBreaker.h
index 04f7f419f5ea..d14d93100adb 100644
--- a/lib/CodeGen/AntiDepBreaker.h
+++ b/lib/CodeGen/AntiDepBreaker.h
@@ -60,6 +60,25 @@ public:
if (MI.getOperand(0).isReg() && MI.getOperand(0).getReg() == OldReg)
MI.getOperand(0).setReg(NewReg);
}
+
+ /// Update all DBG_VALUE instructions that may be affected by the dependency
+ /// breaker's update of ParentMI to use NewReg.
+ void UpdateDbgValues(const DbgValueVector &DbgValues, MachineInstr *ParentMI,
+ unsigned OldReg, unsigned NewReg) {
+ // The following code is dependent on the order in which the DbgValues are
+ // constructed in ScheduleDAGInstrs::buildSchedGraph.
+ MachineInstr *PrevDbgMI = nullptr;
+ for (const auto &DV : make_range(DbgValues.crbegin(), DbgValues.crend())) {
+ MachineInstr *PrevMI = DV.second;
+ if ((PrevMI == ParentMI) || (PrevMI == PrevDbgMI)) {
+ MachineInstr *DbgMI = DV.first;
+ UpdateDbgValue(*DbgMI, OldReg, NewReg);
+ PrevDbgMI = DbgMI;
+ } else if (PrevDbgMI) {
+ break; // If no match and already found a DBG_VALUE, we're done.
+ }
+ }
+ }
};
}
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 028c79f3ab6d..d99065b1b67a 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -825,41 +825,25 @@ static bool emitDebugValueComment(const MachineInstr *MI, AsmPrinter &AP) {
OS << Name << ":";
}
OS << V->getName();
-
- const DIExpression *Expr = MI->getDebugExpression();
- auto Fragment = Expr->getFragmentInfo();
- if (Fragment)
- OS << " [fragment offset=" << Fragment->OffsetInBits
- << " size=" << Fragment->SizeInBits << "]";
OS << " <- ";
// The second operand is only an offset if it's an immediate.
- bool Deref = false;
bool MemLoc = MI->getOperand(0).isReg() && MI->getOperand(1).isImm();
int64_t Offset = MemLoc ? MI->getOperand(1).getImm() : 0;
- for (unsigned i = 0; i < Expr->getNumElements(); ++i) {
- uint64_t Op = Expr->getElement(i);
- if (Op == dwarf::DW_OP_LLVM_fragment) {
- // There can't be any operands after this in a valid expression
- break;
- } else if (Deref) {
- // We currently don't support extra Offsets or derefs after the first
- // one. Bail out early instead of emitting an incorrect comment.
- OS << " [complex expression]";
- AP.OutStreamer->emitRawComment(OS.str());
- return true;
- } else if (Op == dwarf::DW_OP_deref) {
- Deref = true;
- continue;
- }
-
- uint64_t ExtraOffset = Expr->getElement(i++);
- if (Op == dwarf::DW_OP_plus)
- Offset += ExtraOffset;
- else {
- assert(Op == dwarf::DW_OP_minus);
- Offset -= ExtraOffset;
+ const DIExpression *Expr = MI->getDebugExpression();
+ if (Expr->getNumElements()) {
+ OS << '[';
+ bool NeedSep = false;
+ for (auto Op : Expr->expr_ops()) {
+ if (NeedSep)
+ OS << ", ";
+ else
+ NeedSep = true;
+ OS << dwarf::OperationEncodingString(Op.getOp());
+ for (unsigned I = 0; I < Op.getNumArgs(); ++I)
+ OS << ' ' << Op.getArg(I);
}
+ OS << "] ";
}
// Register or immediate value. Register 0 means undef.
@@ -890,7 +874,7 @@ static bool emitDebugValueComment(const MachineInstr *MI, AsmPrinter &AP) {
const TargetFrameLowering *TFI = AP.MF->getSubtarget().getFrameLowering();
Offset += TFI->getFrameIndexReference(*AP.MF,
MI->getOperand(0).getIndex(), Reg);
- Deref = true;
+ MemLoc = true;
}
if (Reg == 0) {
// Suppress offset, it is not meaningful here.
@@ -899,12 +883,12 @@ static bool emitDebugValueComment(const MachineInstr *MI, AsmPrinter &AP) {
AP.OutStreamer->emitRawComment(OS.str());
return true;
}
- if (MemLoc || Deref)
+ if (MemLoc)
OS << '[';
OS << PrintReg(Reg, AP.MF->getSubtarget().getRegisterInfo());
}
- if (MemLoc || Deref)
+ if (MemLoc)
OS << '+' << Offset << ']';
// NOTE: Want this comment at start of line, don't emit with AddComment.
@@ -936,6 +920,16 @@ void AsmPrinter::emitCFIInstruction(const MachineInstr &MI) {
if (needsCFIMoves() == CFI_M_None)
return;
+ // If there is no "real" instruction following this CFI instruction, skip
+ // emitting it; it would be beyond the end of the function's FDE range.
+ auto *MBB = MI.getParent();
+ auto I = std::next(MI.getIterator());
+ while (I != MBB->end() && I->isTransient())
+ ++I;
+ if (I == MBB->instr_end() &&
+ MBB->getReverseIterator() == MBB->getParent()->rbegin())
+ return;
+
const std::vector<MCCFIInstruction> &Instrs = MF->getFrameInstructions();
unsigned CFIIndex = MI.getOperand(0).getCFIIndex();
const MCCFIInstruction &CFI = Instrs[CFIIndex];
@@ -1046,15 +1040,23 @@ void AsmPrinter::EmitFunctionBody() {
// If the function is empty and the object file uses .subsections_via_symbols,
// then we need to emit *something* to the function body to prevent the
// labels from collapsing together. Just emit a noop.
- if ((MAI->hasSubsectionsViaSymbols() && !HasAnyRealCode)) {
+ // Similarly, don't emit empty functions on Windows either. It can lead to
+ // duplicate entries (two functions with the same RVA) in the Guard CF Table
+ // after linking, causing the kernel not to load the binary:
+ // https://developercommunity.visualstudio.com/content/problem/45366/vc-linker-creates-invalid-dll-with-clang-cl.html
+ // FIXME: Hide this behind some API in e.g. MCAsmInfo or MCTargetStreamer.
+ const Triple &TT = TM.getTargetTriple();
+ if (!HasAnyRealCode && (MAI->hasSubsectionsViaSymbols() ||
+ (TT.isOSWindows() && TT.isOSBinFormatCOFF()))) {
MCInst Noop;
- MF->getSubtarget().getInstrInfo()->getNoopForMachoTarget(Noop);
- OutStreamer->AddComment("avoids zero-length function");
+ MF->getSubtarget().getInstrInfo()->getNoop(Noop);
// Targets can opt-out of emitting the noop here by leaving the opcode
// unspecified.
- if (Noop.getOpcode())
+ if (Noop.getOpcode()) {
+ OutStreamer->AddComment("avoids zero-length function");
OutStreamer->EmitInstruction(Noop, getSubtargetInfo());
+ }
}
const Function *F = MF->getFunction();
diff --git a/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp b/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
index 683e622e3d53..a0bf1632dff3 100644
--- a/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
+++ b/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
@@ -144,6 +144,9 @@ void AsmPrinter::EmitInlineAsm(StringRef Str, const MCSubtargetInfo &STI,
" we don't have an asm parser for this target\n");
Parser->setAssemblerDialect(Dialect);
Parser->setTargetParser(*TAP.get());
+ if (Dialect == InlineAsm::AD_Intel)
+ // We need this flag to be able to parse numbers like "0bH"
+ Parser->setParsingInlineAsm(true);
if (MF) {
const TargetRegisterInfo *TRI = MF->getSubtarget().getRegisterInfo();
TAP->SetFrameRegister(TRI->getFrameRegister(*MF));
diff --git a/lib/CodeGen/AsmPrinter/DIE.cpp b/lib/CodeGen/AsmPrinter/DIE.cpp
index 31c2b3b5e752..30bfd7c94e68 100644
--- a/lib/CodeGen/AsmPrinter/DIE.cpp
+++ b/lib/CodeGen/AsmPrinter/DIE.cpp
@@ -655,20 +655,12 @@ void DIEEntry::EmitValue(const AsmPrinter *AP, dwarf::Form Form) const {
case dwarf::DW_FORM_ref_addr: {
// Get the absolute offset for this DIE within the debug info/types section.
unsigned Addr = Entry->getDebugSectionOffset();
- if (AP->MAI->doesDwarfUseRelocationsAcrossSections()) {
- const DwarfDebug *DD = AP->getDwarfDebug();
- if (DD)
- assert(!DD->useSplitDwarf() &&
- "TODO: dwo files can't have relocations.");
- const DIEUnit *Unit = Entry->getUnit();
- assert(Unit && "CUDie should belong to a CU.");
- MCSection *Section = Unit->getSection();
- if (Section) {
- const MCSymbol *SectionSym = Section->getBeginSymbol();
- AP->EmitLabelPlusOffset(SectionSym, Addr, SizeOf(AP, Form), true);
- return;
- }
+ if (const MCSymbol *SectionSym =
+ Entry->getUnit()->getCrossSectionRelativeBaseAddress()) {
+ AP->EmitLabelPlusOffset(SectionSym, Addr, SizeOf(AP, Form), true);
+ return;
}
+
AP->OutStreamer->EmitIntValue(Addr, SizeOf(AP, Form));
return;
}
diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
index 9a64b4b76b06..20a415150b4d 100644
--- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
+++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
@@ -28,7 +28,7 @@ class DwarfFile;
class MCSymbol;
class LexicalScope;
-class DwarfCompileUnit : public DwarfUnit {
+class DwarfCompileUnit final : public DwarfUnit {
/// A numeric ID unique among all CUs in the module
unsigned UniqueID;
diff --git a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
index d72656bcc58d..6f442f5c3172 100644
--- a/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
@@ -91,14 +91,6 @@ DwarfAccelTables("dwarf-accel-tables", cl::Hidden,
cl::init(Default));
static cl::opt<DefaultOnOff>
-SplitDwarf("split-dwarf", cl::Hidden,
- cl::desc("Output DWARF5 split debug info."),
- cl::values(clEnumVal(Default, "Default for platform"),
- clEnumVal(Enable, "Enabled"),
- clEnumVal(Disable, "Disabled")),
- cl::init(Default));
-
-static cl::opt<DefaultOnOff>
DwarfPubSections("generate-dwarf-pub-sections", cl::Hidden,
cl::desc("Generate DWARF pubnames and pubtypes sections"),
cl::values(clEnumVal(Default, "Default for platform"),
@@ -253,11 +245,8 @@ DwarfDebug::DwarfDebug(AsmPrinter *A, Module *M)
HasAppleExtensionAttributes = tuneForLLDB();
- // Handle split DWARF. Off by default for now.
- if (SplitDwarf == Default)
- HasSplitDwarf = false;
- else
- HasSplitDwarf = SplitDwarf == Enable;
+ // Handle split DWARF.
+ HasSplitDwarf = !Asm->TM.Options.MCOptions.SplitDwarfFile.empty();
// Pubnames/pubtypes on by default for GDB.
if (DwarfPubSections == Default)
@@ -412,7 +401,7 @@ DwarfDebug::constructDwarfCompileUnit(const DICompileUnit *DIUnit) {
if (useSplitDwarf()) {
NewCU.setSkeleton(constructSkeletonCU(NewCU));
NewCU.addString(Die, dwarf::DW_AT_GNU_dwo_name,
- DIUnit->getSplitDebugFilename());
+ Asm->TM.Options.MCOptions.SplitDwarfFile);
}
// LTO with assembly output shares a single line table amongst multiple CUs.
@@ -1885,7 +1874,7 @@ void DwarfDebug::emitDebugMacinfo() {
void DwarfDebug::initSkeletonUnit(const DwarfUnit &U, DIE &Die,
std::unique_ptr<DwarfCompileUnit> NewU) {
NewU->addString(Die, dwarf::DW_AT_GNU_dwo_name,
- U.getCUNode()->getSplitDebugFilename());
+ Asm->TM.Options.MCOptions.SplitDwarfFile);
if (!CompilationDir.empty())
NewU->addString(Die, dwarf::DW_AT_comp_dir, CompilationDir);
diff --git a/lib/CodeGen/AsmPrinter/DwarfExpression.cpp b/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
index f65dc151f301..ccd326917bfd 100644
--- a/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfExpression.cpp
@@ -117,8 +117,9 @@ bool DwarfExpression::addMachineReg(const TargetRegisterInfo &TRI,
// Otherwise, attempt to find a covering set of sub-register numbers.
// For example, Q0 on ARM is a composition of D0+D1.
unsigned CurPos = 0;
- // The size of the register in bits, assuming 8 bits per byte.
- unsigned RegSize = TRI.getMinimalPhysRegClass(MachineReg)->getSize() * 8;
+ // The size of the register in bits.
+ const TargetRegisterClass *RC = TRI.getMinimalPhysRegClass(MachineReg);
+ unsigned RegSize = TRI.getRegSizeInBits(*RC);
// Keep track of the bits in the register we already emitted, so we
// can avoid emitting redundant aliasing subregs.
SmallBitVector Coverage(RegSize, false);
@@ -198,8 +199,10 @@ bool DwarfExpression::addMachineRegExpression(const TargetRegisterInfo &TRI,
unsigned MachineReg,
unsigned FragmentOffsetInBits) {
auto Fragment = ExprCursor.getFragmentInfo();
- if (!addMachineReg(TRI, MachineReg, Fragment ? Fragment->SizeInBits : ~1U))
+ if (!addMachineReg(TRI, MachineReg, Fragment ? Fragment->SizeInBits : ~1U)) {
+ LocationKind = Unknown;
return false;
+ }
bool HasComplexExpression = false;
auto Op = ExprCursor.peek();
@@ -212,6 +215,7 @@ bool DwarfExpression::addMachineRegExpression(const TargetRegisterInfo &TRI,
// operation to multiple DW_OP_pieces.
if (HasComplexExpression && DwarfRegs.size() > 1) {
DwarfRegs.clear();
+ LocationKind = Unknown;
return false;
}
@@ -233,6 +237,7 @@ bool DwarfExpression::addMachineRegExpression(const TargetRegisterInfo &TRI,
return Op.getOp() == dwarf::DW_OP_stack_value;
})) {
DwarfRegs.clear();
+ LocationKind = Unknown;
return false;
}
@@ -343,7 +348,6 @@ void DwarfExpression::addExpression(DIExpressionCursor &&ExprCursor,
emitUnsigned(Op->getArg(0));
break;
case dwarf::DW_OP_stack_value:
- assert(LocationKind == Unknown || LocationKind == Implicit);
LocationKind = Implicit;
break;
case dwarf::DW_OP_swap:
diff --git a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
index bac0c204d04f..16fb20dd7e20 100644
--- a/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
@@ -1595,3 +1595,11 @@ void DwarfTypeUnit::addGlobalType(const DIType *Ty, const DIE &Die,
const DIScope *Context) {
getCU().addGlobalTypeUnitType(Ty, Context);
}
+
+const MCSymbol *DwarfUnit::getCrossSectionRelativeBaseAddress() const {
+ if (!Asm->MAI->doesDwarfUseRelocationsAcrossSections())
+ return nullptr;
+ if (isDwoUnit())
+ return nullptr;
+ return getSection()->getBeginSymbol();
+}
diff --git a/lib/CodeGen/AsmPrinter/DwarfUnit.h b/lib/CodeGen/AsmPrinter/DwarfUnit.h
index d626ef920f95..e84df4650882 100644
--- a/lib/CodeGen/AsmPrinter/DwarfUnit.h
+++ b/lib/CodeGen/AsmPrinter/DwarfUnit.h
@@ -104,8 +104,6 @@ protected:
bool applySubprogramDefinitionAttributes(const DISubprogram *SP, DIE &SPDie);
public:
- virtual ~DwarfUnit();
-
// Accessors.
AsmPrinter* getAsmPrinter() const { return Asm; }
uint16_t getLanguage() const { return CUNode->getSourceLanguage(); }
@@ -289,6 +287,8 @@ public:
void constructTypeDIE(DIE &Buffer, const DICompositeType *CTy);
protected:
+ ~DwarfUnit();
+
/// Create new static data member DIE.
DIE *getOrCreateStaticMemberDIE(const DIDerivedType *DT);
@@ -335,9 +335,10 @@ private:
void setIndexTyDie(DIE *D) { IndexTyDie = D; }
virtual bool isDwoUnit() const = 0;
+ const MCSymbol *getCrossSectionRelativeBaseAddress() const override;
};
-class DwarfTypeUnit : public DwarfUnit {
+class DwarfTypeUnit final : public DwarfUnit {
uint64_t TypeSignature;
const DIE *Ty;
DwarfCompileUnit &CU;
diff --git a/lib/CodeGen/CriticalAntiDepBreaker.cpp b/lib/CodeGen/CriticalAntiDepBreaker.cpp
index e1eeddf0816c..b2d6652b075e 100644
--- a/lib/CodeGen/CriticalAntiDepBreaker.cpp
+++ b/lib/CodeGen/CriticalAntiDepBreaker.cpp
@@ -648,10 +648,8 @@ BreakAntiDependencies(const std::vector<SUnit>& SUnits,
// as well.
const SUnit *SU = MISUnitMap[Q->second->getParent()];
if (!SU) continue;
- for (DbgValueVector::iterator DVI = DbgValues.begin(),
- DVE = DbgValues.end(); DVI != DVE; ++DVI)
- if (DVI->second == Q->second->getParent())
- UpdateDbgValue(*DVI->first, AntiDepReg, NewReg);
+ UpdateDbgValues(DbgValues, Q->second->getParent(),
+ AntiDepReg, NewReg);
}
// We just went back in time and modified history; the
diff --git a/lib/CodeGen/GlobalISel/InstructionSelect.cpp b/lib/CodeGen/GlobalISel/InstructionSelect.cpp
index 26454c1ef00f..cf97c635e79a 100644
--- a/lib/CodeGen/GlobalISel/InstructionSelect.cpp
+++ b/lib/CodeGen/GlobalISel/InstructionSelect.cpp
@@ -145,6 +145,8 @@ bool InstructionSelect::runOnMachineFunction(MachineFunction &MF) {
}
}
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
+
// Now that selection is complete, there are no more generic vregs. Verify
// that the size of the now-constrained vreg is unchanged and that it has a
// register class.
@@ -165,7 +167,7 @@ bool InstructionSelect::runOnMachineFunction(MachineFunction &MF) {
continue;
if (VRegToType.second.isValid() &&
- VRegToType.second.getSizeInBits() > (RC->getSize() * 8)) {
+ VRegToType.second.getSizeInBits() > TRI.getRegSizeInBits(*RC)) {
reportGISelFailure(MF, TPC, MORE, "gisel-select",
"VReg has explicit size different from class size",
*MI);
diff --git a/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
index 58778077bc0e..ef5818dabe23 100644
--- a/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ b/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -76,6 +76,12 @@ void LegalizerHelper::extractParts(unsigned Reg, LLT Ty, int NumParts,
static RTLIB::Libcall getRTLibDesc(unsigned Opcode, unsigned Size) {
switch (Opcode) {
+ case TargetOpcode::G_SDIV:
+ assert(Size == 32 && "Unsupported size");
+ return RTLIB::SDIV_I32;
+ case TargetOpcode::G_UDIV:
+ assert(Size == 32 && "Unsupported size");
+ return RTLIB::UDIV_I32;
case TargetOpcode::G_FADD:
assert((Size == 32 || Size == 64) && "Unsupported size");
return Size == 64 ? RTLIB::ADD_F64 : RTLIB::ADD_F32;
@@ -87,31 +93,43 @@ static RTLIB::Libcall getRTLibDesc(unsigned Opcode, unsigned Size) {
llvm_unreachable("Unknown libcall function");
}
+static LegalizerHelper::LegalizeResult
+simpleLibcall(MachineInstr &MI, MachineIRBuilder &MIRBuilder, unsigned Size,
+ Type *OpType) {
+ auto &CLI = *MIRBuilder.getMF().getSubtarget().getCallLowering();
+ auto &TLI = *MIRBuilder.getMF().getSubtarget().getTargetLowering();
+ auto Libcall = getRTLibDesc(MI.getOpcode(), Size);
+ const char *Name = TLI.getLibcallName(Libcall);
+ MIRBuilder.getMF().getFrameInfo().setHasCalls(true);
+ CLI.lowerCall(MIRBuilder, TLI.getLibcallCallingConv(Libcall),
+ MachineOperand::CreateES(Name),
+ {MI.getOperand(0).getReg(), OpType},
+ {{MI.getOperand(1).getReg(), OpType},
+ {MI.getOperand(2).getReg(), OpType}});
+ MI.eraseFromParent();
+ return LegalizerHelper::Legalized;
+}
+
LegalizerHelper::LegalizeResult
LegalizerHelper::libcall(MachineInstr &MI) {
LLT Ty = MRI.getType(MI.getOperand(0).getReg());
unsigned Size = Ty.getSizeInBits();
+ auto &Ctx = MIRBuilder.getMF().getFunction()->getContext();
MIRBuilder.setInstr(MI);
switch (MI.getOpcode()) {
default:
return UnableToLegalize;
+ case TargetOpcode::G_SDIV:
+ case TargetOpcode::G_UDIV: {
+ Type *Ty = Type::getInt32Ty(Ctx);
+ return simpleLibcall(MI, MIRBuilder, Size, Ty);
+ }
case TargetOpcode::G_FADD:
case TargetOpcode::G_FPOW:
case TargetOpcode::G_FREM: {
- auto &Ctx = MIRBuilder.getMF().getFunction()->getContext();
Type *Ty = Size == 64 ? Type::getDoubleTy(Ctx) : Type::getFloatTy(Ctx);
- auto &CLI = *MIRBuilder.getMF().getSubtarget().getCallLowering();
- auto &TLI = *MIRBuilder.getMF().getSubtarget().getTargetLowering();
- auto Libcall = getRTLibDesc(MI.getOpcode(), Size);
- const char *Name = TLI.getLibcallName(Libcall);
- MIRBuilder.getMF().getFrameInfo().setHasCalls(true);
- CLI.lowerCall(
- MIRBuilder, TLI.getLibcallCallingConv(Libcall),
- MachineOperand::CreateES(Name), {MI.getOperand(0).getReg(), Ty},
- {{MI.getOperand(1).getReg(), Ty}, {MI.getOperand(2).getReg(), Ty}});
- MI.eraseFromParent();
- return Legalized;
+ return simpleLibcall(MI, MIRBuilder, Size, Ty);
}
}
}
diff --git a/lib/CodeGen/GlobalISel/RegisterBank.cpp b/lib/CodeGen/GlobalISel/RegisterBank.cpp
index 940957d02152..83b21e637097 100644
--- a/lib/CodeGen/GlobalISel/RegisterBank.cpp
+++ b/lib/CodeGen/GlobalISel/RegisterBank.cpp
@@ -48,7 +48,7 @@ bool RegisterBank::verify(const TargetRegisterInfo &TRI) const {
// Verify that the Size of the register bank is big enough to cover
// all the register classes it covers.
- assert((getSize() >= SubRC.getSize() * 8) &&
+ assert(getSize() >= TRI.getRegSizeInBits(SubRC) &&
"Size is not big enough for all the subclasses!");
assert(covers(SubRC) && "Not all subclasses are covered");
}
diff --git a/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp b/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
index b2df2f159676..d5ae9a6776a4 100644
--- a/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
+++ b/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp
@@ -421,7 +421,7 @@ unsigned RegisterBankInfo::getSizeInBits(unsigned Reg,
RC = MRI.getRegClass(Reg);
}
assert(RC && "Unable to deduce the register class");
- return RC->getSize() * 8;
+ return TRI.getRegSizeInBits(*RC);
}
//------------------------------------------------------------------------------
diff --git a/lib/CodeGen/MIRPrinter.cpp b/lib/CodeGen/MIRPrinter.cpp
index 6da174a53666..b6624b88fe23 100644
--- a/lib/CodeGen/MIRPrinter.cpp
+++ b/lib/CodeGen/MIRPrinter.cpp
@@ -925,9 +925,6 @@ void MIPrinter::print(const MachineOperand &Op, const TargetRegisterInfo *TRI,
<< CmpInst::getPredicateName(Pred) << ')';
break;
}
- case MachineOperand::MO_Placeholder:
- OS << "<placeholder>";
- break;
}
}
diff --git a/lib/CodeGen/MachineInstr.cpp b/lib/CodeGen/MachineInstr.cpp
index 4bd5fbfe38e6..1faf6292a9c1 100644
--- a/lib/CodeGen/MachineInstr.cpp
+++ b/lib/CodeGen/MachineInstr.cpp
@@ -287,8 +287,6 @@ bool MachineOperand::isIdenticalTo(const MachineOperand &Other) const {
return getIntrinsicID() == Other.getIntrinsicID();
case MachineOperand::MO_Predicate:
return getPredicate() == Other.getPredicate();
- case MachineOperand::MO_Placeholder:
- return true;
}
llvm_unreachable("Invalid machine operand type");
}
@@ -337,8 +335,6 @@ hash_code llvm::hash_value(const MachineOperand &MO) {
return hash_combine(MO.getType(), MO.getTargetFlags(), MO.getIntrinsicID());
case MachineOperand::MO_Predicate:
return hash_combine(MO.getType(), MO.getTargetFlags(), MO.getPredicate());
- case MachineOperand::MO_Placeholder:
- return hash_combine();
}
llvm_unreachable("Invalid machine operand type");
}
@@ -515,9 +511,6 @@ void MachineOperand::print(raw_ostream &OS, ModuleSlotTracker &MST,
<< CmpInst::getPredicateName(Pred) << '>';
break;
}
- case MachineOperand::MO_Placeholder:
- OS << "<placeholder>";
- break;
}
if (unsigned TF = getTargetFlags())
OS << "[TF=" << TF << ']';
diff --git a/lib/CodeGen/MachineLICM.cpp b/lib/CodeGen/MachineLICM.cpp
index b3d18435985e..7eb991744f01 100644
--- a/lib/CodeGen/MachineLICM.cpp
+++ b/lib/CodeGen/MachineLICM.cpp
@@ -330,7 +330,7 @@ bool MachineLICM::runOnMachineFunction(MachineFunction &MF) {
/// Return true if instruction stores to the specified frame.
static bool InstructionStoresToFI(const MachineInstr *MI, int FI) {
// If we lost memory operands, conservatively assume that the instruction
- // writes to all slots.
+ // writes to all slots.
if (MI->memoperands_empty())
return true;
for (const MachineMemOperand *MemOp : MI->memoperands()) {
@@ -708,7 +708,7 @@ void MachineLICM::SinkIntoLoop() {
for (MachineBasicBlock::instr_iterator I = Preheader->instr_begin();
I != Preheader->instr_end(); ++I) {
// We need to ensure that we can safely move this instruction into the loop.
- // As such, it must not have side-effects, e.g. such as a call has.
+ // As such, it must not have side-effects, e.g. such as a call has.
if (IsLoopInvariantInst(*I) && !HasLoopPHIUse(&*I))
Candidates.push_back(&*I);
}
@@ -837,9 +837,9 @@ MachineLICM::calcRegisterCost(const MachineInstr *MI, bool ConsiderSeen,
/// constant pool.
static bool mayLoadFromGOTOrConstantPool(MachineInstr &MI) {
assert (MI.mayLoad() && "Expected MI that loads!");
-
+
// If we lost memory operands, conservatively assume that the instruction
- // reads from everything..
+ // reads from everything..
if (MI.memoperands_empty())
return true;
@@ -1337,7 +1337,7 @@ bool MachineLICM::Hoist(MachineInstr *MI, MachineBasicBlock *Preheader) {
Preheader->splice(Preheader->getFirstTerminator(),MI->getParent(),MI);
// Since we are moving the instruction out of its basic block, we do not
- // retain its debug location. Doing so would degrade the debugging
+ // retain its debug location. Doing so would degrade the debugging
// experience and adversely affect the accuracy of profiling information.
MI->setDebugLoc(DebugLoc());
diff --git a/lib/CodeGen/PrologEpilogInserter.cpp b/lib/CodeGen/PrologEpilogInserter.cpp
index 1354009794cb..570a0cd0ba90 100644
--- a/lib/CodeGen/PrologEpilogInserter.cpp
+++ b/lib/CodeGen/PrologEpilogInserter.cpp
@@ -373,22 +373,22 @@ static void assignCalleeSavedSpillSlots(MachineFunction &F,
FixedSlot->Reg != Reg)
++FixedSlot;
+ unsigned Size = RegInfo->getSpillSize(*RC);
if (FixedSlot == FixedSpillSlots + NumFixedSpillSlots) {
// Nope, just spill it anywhere convenient.
- unsigned Align = RC->getAlignment();
+ unsigned Align = RegInfo->getSpillAlignment(*RC);
unsigned StackAlign = TFI->getStackAlignment();
// We may not be able to satisfy the desired alignment specification of
// the TargetRegisterClass if the stack alignment is smaller. Use the
// min.
Align = std::min(Align, StackAlign);
- FrameIdx = MFI.CreateStackObject(RC->getSize(), Align, true);
+ FrameIdx = MFI.CreateStackObject(Size, Align, true);
if ((unsigned)FrameIdx < MinCSFrameIndex) MinCSFrameIndex = FrameIdx;
if ((unsigned)FrameIdx > MaxCSFrameIndex) MaxCSFrameIndex = FrameIdx;
} else {
// Spill it to the stack where we must.
- FrameIdx =
- MFI.CreateFixedSpillStackObject(RC->getSize(), FixedSlot->Offset);
+ FrameIdx = MFI.CreateFixedSpillStackObject(Size, FixedSlot->Offset);
}
CS.setFrameIdx(FrameIdx);
diff --git a/lib/CodeGen/RegAllocFast.cpp b/lib/CodeGen/RegAllocFast.cpp
index 283d84629f8e..c606b7b83310 100644
--- a/lib/CodeGen/RegAllocFast.cpp
+++ b/lib/CodeGen/RegAllocFast.cpp
@@ -212,8 +212,9 @@ int RAFast::getStackSpaceFor(unsigned VirtReg, const TargetRegisterClass *RC) {
return SS; // Already has space allocated?
// Allocate a new stack object for this spill location...
- int FrameIdx = MF->getFrameInfo().CreateSpillStackObject(RC->getSize(),
- RC->getAlignment());
+ unsigned Size = TRI->getSpillSize(*RC);
+ unsigned Align = TRI->getSpillAlignment(*RC);
+ int FrameIdx = MF->getFrameInfo().CreateSpillStackObject(Size, Align);
// Assign the slot.
StackSlotForVirtReg[VirtReg] = FrameIdx;
diff --git a/lib/CodeGen/RegisterScavenging.cpp b/lib/CodeGen/RegisterScavenging.cpp
index 6392136fa290..35db30f89976 100644
--- a/lib/CodeGen/RegisterScavenging.cpp
+++ b/lib/CodeGen/RegisterScavenging.cpp
@@ -395,8 +395,8 @@ unsigned RegScavenger::scavengeRegister(const TargetRegisterClass *RC,
// Find an available scavenging slot with size and alignment matching
// the requirements of the class RC.
const MachineFrameInfo &MFI = MF.getFrameInfo();
- unsigned NeedSize = RC->getSize();
- unsigned NeedAlign = RC->getAlignment();
+ unsigned NeedSize = TRI->getSpillSize(*RC);
+ unsigned NeedAlign = TRI->getSpillAlignment(*RC);
unsigned SI = Scavenged.size(), Diff = std::numeric_limits<unsigned>::max();
int FIB = MFI.getObjectIndexBegin(), FIE = MFI.getObjectIndexEnd();
diff --git a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
index 4702d63cb617..1251ae6262b8 100644
--- a/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+++ b/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
@@ -3878,27 +3878,29 @@ static bool isBSwapHWordElement(SDValue N, MutableArrayRef<SDNode *> Parts) {
if (Opc != ISD::AND && Opc != ISD::SHL && Opc != ISD::SRL)
return false;
+ SDValue N0 = N.getOperand(0);
+ unsigned Opc0 = N0.getOpcode();
+
ConstantSDNode *N1C = dyn_cast<ConstantSDNode>(N.getOperand(1));
if (!N1C)
return false;
- unsigned Num;
+ unsigned MaskByteOffset;
switch (N1C->getZExtValue()) {
default:
return false;
- case 0xFF: Num = 0; break;
- case 0xFF00: Num = 1; break;
- case 0xFF0000: Num = 2; break;
- case 0xFF000000: Num = 3; break;
+ case 0xFF: MaskByteOffset = 0; break;
+ case 0xFF00: MaskByteOffset = 1; break;
+ case 0xFF0000: MaskByteOffset = 2; break;
+ case 0xFF000000: MaskByteOffset = 3; break;
}
// Look for (x & 0xff) << 8 as well as ((x << 8) & 0xff00).
- SDValue N0 = N.getOperand(0);
if (Opc == ISD::AND) {
- if (Num == 0 || Num == 2) {
+ if (MaskByteOffset == 0 || MaskByteOffset == 2) {
// (x >> 8) & 0xff
// (x >> 8) & 0xff0000
- if (N0.getOpcode() != ISD::SRL)
+ if (Opc0 != ISD::SRL)
return false;
ConstantSDNode *C = dyn_cast<ConstantSDNode>(N0.getOperand(1));
if (!C || C->getZExtValue() != 8)
@@ -3906,7 +3908,7 @@ static bool isBSwapHWordElement(SDValue N, MutableArrayRef<SDNode *> Parts) {
} else {
// (x << 8) & 0xff00
// (x << 8) & 0xff000000
- if (N0.getOpcode() != ISD::SHL)
+ if (Opc0 != ISD::SHL)
return false;
ConstantSDNode *C = dyn_cast<ConstantSDNode>(N0.getOperand(1));
if (!C || C->getZExtValue() != 8)
@@ -3915,7 +3917,7 @@ static bool isBSwapHWordElement(SDValue N, MutableArrayRef<SDNode *> Parts) {
} else if (Opc == ISD::SHL) {
// (x & 0xff) << 8
// (x & 0xff0000) << 8
- if (Num != 0 && Num != 2)
+ if (MaskByteOffset != 0 && MaskByteOffset != 2)
return false;
ConstantSDNode *C = dyn_cast<ConstantSDNode>(N.getOperand(1));
if (!C || C->getZExtValue() != 8)
@@ -3923,17 +3925,17 @@ static bool isBSwapHWordElement(SDValue N, MutableArrayRef<SDNode *> Parts) {
} else { // Opc == ISD::SRL
// (x & 0xff00) >> 8
// (x & 0xff000000) >> 8
- if (Num != 1 && Num != 3)
+ if (MaskByteOffset != 1 && MaskByteOffset != 3)
return false;
ConstantSDNode *C = dyn_cast<ConstantSDNode>(N.getOperand(1));
if (!C || C->getZExtValue() != 8)
return false;
}
- if (Parts[Num])
+ if (Parts[MaskByteOffset])
return false;
- Parts[Num] = N0.getOperand(0).getNode();
+ Parts[MaskByteOffset] = N0.getOperand(0).getNode();
return true;
}
@@ -4198,20 +4200,22 @@ SDValue DAGCombiner::visitOR(SDNode *N) {
// reassociate or
if (SDValue ROR = ReassociateOps(ISD::OR, SDLoc(N), N0, N1))
return ROR;
+
// Canonicalize (or (and X, c1), c2) -> (and (or X, c2), c1|c2)
// iff (c1 & c2) != 0.
- if (N1C && N0.getOpcode() == ISD::AND && N0.getNode()->hasOneUse() &&
- isa<ConstantSDNode>(N0.getOperand(1))) {
- ConstantSDNode *C1 = cast<ConstantSDNode>(N0.getOperand(1));
- if ((C1->getAPIntValue() & N1C->getAPIntValue()) != 0) {
- if (SDValue COR = DAG.FoldConstantArithmetic(ISD::OR, SDLoc(N1), VT,
- N1C, C1))
- return DAG.getNode(
- ISD::AND, SDLoc(N), VT,
- DAG.getNode(ISD::OR, SDLoc(N0), VT, N0.getOperand(0), N1), COR);
- return SDValue();
+ if (N1C && N0.getOpcode() == ISD::AND && N0.getNode()->hasOneUse()) {
+ if (ConstantSDNode *C1 = dyn_cast<ConstantSDNode>(N0.getOperand(1))) {
+ if (C1->getAPIntValue().intersects(N1C->getAPIntValue())) {
+ if (SDValue COR =
+ DAG.FoldConstantArithmetic(ISD::OR, SDLoc(N1), VT, N1C, C1))
+ return DAG.getNode(
+ ISD::AND, SDLoc(N), VT,
+ DAG.getNode(ISD::OR, SDLoc(N0), VT, N0.getOperand(0), N1), COR);
+ return SDValue();
+ }
}
}
+
// Simplify: (or (op x...), (op y...)) -> (op (or x, y))
if (N0.getOpcode() == N1.getOpcode())
if (SDValue Tmp = SimplifyBinOpWithSameOpcodeHands(N))
@@ -5611,24 +5615,24 @@ SDValue DAGCombiner::visitSRL(SDNode *N) {
// fold (srl (trunc (srl x, c1)), c2) -> 0 or (trunc (srl x, (add c1, c2)))
if (N1C && N0.getOpcode() == ISD::TRUNCATE &&
- N0.getOperand(0).getOpcode() == ISD::SRL &&
- isa<ConstantSDNode>(N0.getOperand(0)->getOperand(1))) {
- uint64_t c1 =
- cast<ConstantSDNode>(N0.getOperand(0)->getOperand(1))->getZExtValue();
- uint64_t c2 = N1C->getZExtValue();
- EVT InnerShiftVT = N0.getOperand(0).getValueType();
- EVT ShiftCountVT = N0.getOperand(0)->getOperand(1).getValueType();
- uint64_t InnerShiftSize = InnerShiftVT.getScalarSizeInBits();
- // This is only valid if the OpSizeInBits + c1 = size of inner shift.
- if (c1 + OpSizeInBits == InnerShiftSize) {
- SDLoc DL(N0);
- if (c1 + c2 >= InnerShiftSize)
- return DAG.getConstant(0, DL, VT);
- return DAG.getNode(ISD::TRUNCATE, DL, VT,
- DAG.getNode(ISD::SRL, DL, InnerShiftVT,
- N0.getOperand(0)->getOperand(0),
- DAG.getConstant(c1 + c2, DL,
- ShiftCountVT)));
+ N0.getOperand(0).getOpcode() == ISD::SRL) {
+ if (auto N001C = isConstOrConstSplat(N0.getOperand(0).getOperand(1))) {
+ uint64_t c1 = N001C->getZExtValue();
+ uint64_t c2 = N1C->getZExtValue();
+ EVT InnerShiftVT = N0.getOperand(0).getValueType();
+ EVT ShiftCountVT = N0.getOperand(0).getOperand(1).getValueType();
+ uint64_t InnerShiftSize = InnerShiftVT.getScalarSizeInBits();
+ // This is only valid if the OpSizeInBits + c1 = size of inner shift.
+ if (c1 + OpSizeInBits == InnerShiftSize) {
+ SDLoc DL(N0);
+ if (c1 + c2 >= InnerShiftSize)
+ return DAG.getConstant(0, DL, VT);
+ return DAG.getNode(ISD::TRUNCATE, DL, VT,
+ DAG.getNode(ISD::SRL, DL, InnerShiftVT,
+ N0.getOperand(0).getOperand(0),
+ DAG.getConstant(c1 + c2, DL,
+ ShiftCountVT)));
+ }
}
}
@@ -11641,7 +11645,7 @@ bool DAGCombiner::SliceUpLoad(SDNode *N) {
// Check if this is a trunc(lshr).
if (User->getOpcode() == ISD::SRL && User->hasOneUse() &&
isa<ConstantSDNode>(User->getOperand(1))) {
- Shift = cast<ConstantSDNode>(User->getOperand(1))->getZExtValue();
+ Shift = User->getConstantOperandVal(1);
User = *User->use_begin();
}
@@ -13120,8 +13124,7 @@ SDValue DAGCombiner::visitINSERT_VECTOR_ELT(SDNode *N) {
// do this only if indices are both constants and Idx1 < Idx0.
if (InVec.getOpcode() == ISD::INSERT_VECTOR_ELT && InVec.hasOneUse()
&& isa<ConstantSDNode>(InVec.getOperand(2))) {
- unsigned OtherElt =
- cast<ConstantSDNode>(InVec.getOperand(2))->getZExtValue();
+ unsigned OtherElt = InVec.getConstantOperandVal(2);
if (Elt < OtherElt) {
// Swap nodes.
SDValue NewOp = DAG.getNode(ISD::INSERT_VECTOR_ELT, DL, VT,
@@ -14065,7 +14068,7 @@ static SDValue combineConcatVectorOfExtracts(SDNode *N, SelectionDAG &DAG) {
if (!isa<ConstantSDNode>(Op.getOperand(1)))
return SDValue();
- int ExtIdx = cast<ConstantSDNode>(Op.getOperand(1))->getZExtValue();
+ int ExtIdx = Op.getConstantOperandVal(1);
// Ensure that we are extracting a subvector from a vector the same
// size as the result.
@@ -15049,7 +15052,7 @@ SDValue DAGCombiner::visitINSERT_SUBVECTOR(SDNode *N) {
if (N0.getOpcode() == ISD::INSERT_SUBVECTOR && N0.hasOneUse() &&
N1.getValueType() == N0.getOperand(1).getValueType() &&
isa<ConstantSDNode>(N0.getOperand(2))) {
- unsigned OtherIdx = cast<ConstantSDNode>(N0.getOperand(2))->getZExtValue();
+ unsigned OtherIdx = N0.getConstantOperandVal(2);
if (InsIdx < OtherIdx) {
// Swap nodes.
SDValue NewOp = DAG.getNode(ISD::INSERT_SUBVECTOR, SDLoc(N), VT,
@@ -16088,6 +16091,19 @@ bool DAGCombiner::isAlias(LSBaseSDNode *Op0, LSBaseSDNode *Op1) const {
if (Op1->isInvariant() && Op0->writeMem())
return false;
+ unsigned NumBytes0 = Op0->getMemoryVT().getSizeInBits() >> 3;
+ unsigned NumBytes1 = Op1->getMemoryVT().getSizeInBits() >> 3;
+
+ // Check for BaseIndexOffset matching.
+ BaseIndexOffset BasePtr0 = BaseIndexOffset::match(Op0->getBasePtr(), DAG);
+ BaseIndexOffset BasePtr1 = BaseIndexOffset::match(Op1->getBasePtr(), DAG);
+ if (BasePtr0.equalBaseIndex(BasePtr1))
+ return !((BasePtr0.Offset + NumBytes0 <= BasePtr1.Offset) ||
+ (BasePtr1.Offset + NumBytes1 <= BasePtr0.Offset));
+
+ // FIXME: findBaseOffset and ConstantValue/GlobalValue/FrameIndex analysis
+ // modified to use BaseIndexOffset.
+
// Gather base node and offset information.
SDValue Base0, Base1;
int64_t Offset0, Offset1;
@@ -16099,8 +16115,6 @@ bool DAGCombiner::isAlias(LSBaseSDNode *Op0, LSBaseSDNode *Op1) const {
Base1, Offset1, GV1, CV1);
// If they have the same base address, then check to see if they overlap.
- unsigned NumBytes0 = Op0->getMemoryVT().getSizeInBits() >> 3;
- unsigned NumBytes1 = Op1->getMemoryVT().getSizeInBits() >> 3;
if (Base0 == Base1 || (GV0 && (GV0 == GV1)) || (CV0 && (CV0 == CV1)))
return !((Offset0 + NumBytes0) <= Offset1 ||
(Offset1 + NumBytes1) <= Offset0);
diff --git a/lib/CodeGen/SelectionDAG/InstrEmitter.cpp b/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
index e85d1951e3ae..b235e19aaab2 100644
--- a/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
+++ b/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
@@ -161,7 +161,8 @@ EmitCopyFromReg(SDNode *Node, unsigned ResNo, bool IsClone, bool IsCloned,
if (VRBase) {
DstRC = MRI->getRegClass(VRBase);
} else if (UseRC) {
- assert(UseRC->hasType(VT) && "Incompatible phys register def and uses!");
+ assert(TRI->isTypeLegalForClass(*UseRC, VT) &&
+ "Incompatible phys register def and uses!");
DstRC = UseRC;
} else {
DstRC = TLI->getRegClassFor(VT);
diff --git a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
index 3bae3bf9ab7c..fdebb8bd00db 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
@@ -3497,11 +3497,11 @@ bool SelectionDAGLegalize::ExpandNode(SDNode *Node) {
// part.
unsigned LoSize = VT.getSizeInBits();
SDValue HiLHS =
- DAG.getNode(ISD::SRA, dl, VT, RHS,
+ DAG.getNode(ISD::SRA, dl, VT, LHS,
DAG.getConstant(LoSize - 1, dl,
TLI.getPointerTy(DAG.getDataLayout())));
SDValue HiRHS =
- DAG.getNode(ISD::SRA, dl, VT, LHS,
+ DAG.getNode(ISD::SRA, dl, VT, RHS,
DAG.getConstant(LoSize - 1, dl,
TLI.getPointerTy(DAG.getDataLayout())));
diff --git a/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp b/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
index 85068e890756..9ed70c9b4db9 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
@@ -3251,7 +3251,7 @@ SDValue DAGTypeLegalizer::PromoteIntRes_EXTRACT_SUBVECTOR(SDNode *N) {
Ops.push_back(Op);
}
- return DAG.getNode(ISD::BUILD_VECTOR, dl, NOutVT, Ops);
+ return DAG.getBuildVector(NOutVT, dl, Ops);
}
@@ -3294,7 +3294,7 @@ SDValue DAGTypeLegalizer::PromoteIntRes_BUILD_VECTOR(SDNode *N) {
Ops.push_back(Op);
}
- return DAG.getNode(ISD::BUILD_VECTOR, dl, NOutVT, Ops);
+ return DAG.getBuildVector(NOutVT, dl, Ops);
}
SDValue DAGTypeLegalizer::PromoteIntRes_SCALAR_TO_VECTOR(SDNode *N) {
@@ -3342,7 +3342,7 @@ SDValue DAGTypeLegalizer::PromoteIntRes_CONCAT_VECTORS(SDNode *N) {
}
}
- return DAG.getNode(ISD::BUILD_VECTOR, dl, NOutVT, Ops);
+ return DAG.getBuildVector(NOutVT, dl, Ops);
}
SDValue DAGTypeLegalizer::PromoteIntRes_EXTEND_VECTOR_INREG(SDNode *N) {
@@ -3445,5 +3445,5 @@ SDValue DAGTypeLegalizer::PromoteIntOp_CONCAT_VECTORS(SDNode *N) {
}
}
- return DAG.getNode(ISD::BUILD_VECTOR, dl, N->getValueType(0), NewOps);
+ return DAG.getBuildVector(N->getValueType(0), dl, NewOps);
}
diff --git a/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp b/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
index c02b8960b36c..aa69e0e2adfc 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeTypesGeneric.cpp
@@ -362,8 +362,8 @@ SDValue DAGTypeLegalizer::ExpandOp_BITCAST(SDNode *N) {
SmallVector<SDValue, 8> Ops;
IntegerToVector(N->getOperand(0), NumElts, Ops, NVT.getVectorElementType());
- SDValue Vec = DAG.getNode(ISD::BUILD_VECTOR, dl, NVT,
- makeArrayRef(Ops.data(), NumElts));
+ SDValue Vec =
+ DAG.getBuildVector(NVT, dl, makeArrayRef(Ops.data(), NumElts));
return DAG.getNode(ISD::BITCAST, dl, N->getValueType(0), Vec);
}
@@ -396,10 +396,8 @@ SDValue DAGTypeLegalizer::ExpandOp_BUILD_VECTOR(SDNode *N) {
NewElts.push_back(Hi);
}
- SDValue NewVec = DAG.getNode(ISD::BUILD_VECTOR, dl,
- EVT::getVectorVT(*DAG.getContext(),
- NewVT, NewElts.size()),
- NewElts);
+ EVT NewVecVT = EVT::getVectorVT(*DAG.getContext(), NewVT, NewElts.size());
+ SDValue NewVec = DAG.getBuildVector(NewVecVT, dl, NewElts);
// Convert the new vector to the old vector type.
return DAG.getNode(ISD::BITCAST, dl, VecVT, NewVec);
@@ -458,7 +456,7 @@ SDValue DAGTypeLegalizer::ExpandOp_SCALAR_TO_VECTOR(SDNode *N) {
SDValue UndefVal = DAG.getUNDEF(Ops[0].getValueType());
for (unsigned i = 1; i < NumElts; ++i)
Ops[i] = UndefVal;
- return DAG.getNode(ISD::BUILD_VECTOR, dl, VT, Ops);
+ return DAG.getBuildVector(VT, dl, Ops);
}
SDValue DAGTypeLegalizer::ExpandOp_NormalStore(SDNode *N, unsigned OpNo) {
diff --git a/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp b/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
index 1a7d7b7af5fa..4a3160297d64 100644
--- a/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+++ b/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
@@ -512,7 +512,7 @@ SDValue DAGTypeLegalizer::ScalarizeVecOp_UnaryOp(SDNode *N) {
N->getValueType(0).getScalarType(), Elt);
// Revectorize the result so the types line up with what the uses of this
// expression expect.
- return DAG.getNode(ISD::BUILD_VECTOR, SDLoc(N), N->getValueType(0), Op);
+ return DAG.getBuildVector(N->getValueType(0), SDLoc(N), Op);
}
/// The vectors to concatenate have length one - use a BUILD_VECTOR instead.
@@ -523,16 +523,16 @@ SDValue DAGTypeLegalizer::ScalarizeVecOp_CONCAT_VECTORS(SDNode *N) {
return DAG.getBuildVector(N->getValueType(0), SDLoc(N), Ops);
}
-/// If the input is a vector that needs to be scalarized, it must be <1 x ty>,
-/// so just return the element, ignoring the index.
-SDValue DAGTypeLegalizer::ScalarizeVecOp_EXTRACT_VECTOR_ELT(SDNode *N) {
- SDValue Res = GetScalarizedVector(N->getOperand(0));
- if (Res.getValueType() != N->getValueType(0))
- Res = DAG.getNode(ISD::ANY_EXTEND, SDLoc(N), N->getValueType(0),
- Res);
- return Res;
-}
-
+/// If the input is a vector that needs to be scalarized, it must be <1 x ty>,
+/// so just return the element, ignoring the index.
+SDValue DAGTypeLegalizer::ScalarizeVecOp_EXTRACT_VECTOR_ELT(SDNode *N) {
+ EVT VT = N->getValueType(0);
+ SDValue Res = GetScalarizedVector(N->getOperand(0));
+ if (Res.getValueType() != VT)
+ Res = DAG.getNode(ISD::ANY_EXTEND, SDLoc(N), VT, Res);
+ return Res;
+}
+
/// If the input condition is a vector that needs to be scalarized, it must be
/// <1 x i1>, so just convert to a normal ISD::SELECT
@@ -2631,7 +2631,7 @@ SDValue DAGTypeLegalizer::WidenVecRes_BITCAST(SDNode *N) {
if (InVT.isVector())
NewVec = DAG.getNode(ISD::CONCAT_VECTORS, dl, NewInVT, Ops);
else
- NewVec = DAG.getNode(ISD::BUILD_VECTOR, dl, NewInVT, Ops);
+ NewVec = DAG.getBuildVector(NewInVT, dl, Ops);
return DAG.getNode(ISD::BITCAST, dl, WidenVT, NewVec);
}
}
diff --git a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
index e923e30e5037..69b76fbe57d2 100644
--- a/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
+++ b/lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
@@ -1320,6 +1320,18 @@ DelayForLiveRegsBottomUp(SUnit *SU, SmallVectorImpl<unsigned> &LRegs) {
RegAdded, LRegs);
const MCInstrDesc &MCID = TII->get(Node->getMachineOpcode());
+ if (MCID.hasOptionalDef()) {
+ // Most ARM instructions have an OptionalDef for CPSR, to model the S-bit.
+ // This operand can be either a def of CPSR, if the S bit is set; or a use
+ // of %noreg. When the OptionalDef is set to a valid register, we need to
+ // handle it in the same way as an ImplicitDef.
+ for (unsigned i = 0; i < MCID.getNumDefs(); ++i)
+ if (MCID.OpInfo[i].isOptionalDef()) {
+ const SDValue &OptionalDef = Node->getOperand(i - Node->getNumValues());
+ unsigned Reg = cast<RegisterSDNode>(OptionalDef)->getReg();
+ CheckForLiveRegDef(SU, Reg, LiveRegDefs.get(), RegAdded, LRegs, TRI);
+ }
+ }
if (!MCID.ImplicitDefs)
continue;
for (const MCPhysReg *Reg = MCID.getImplicitDefs(); *Reg; ++Reg)
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 523f409e6b2c..439f67f1e155 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -36,6 +36,7 @@
#include "llvm/IR/Intrinsics.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Mutex.h"
@@ -2868,7 +2869,7 @@ bool SelectionDAG::isKnownToBeAPowerOfTwo(SDValue Val) const {
// A left-shift of a constant one will have exactly one bit set because
// shifting the bit off the end is undefined.
if (Val.getOpcode() == ISD::SHL) {
- auto *C = dyn_cast<ConstantSDNode>(Val.getOperand(0));
+ auto *C = isConstOrConstSplat(Val.getOperand(0));
if (C && C->getAPIntValue() == 1)
return true;
}
@@ -2876,7 +2877,7 @@ bool SelectionDAG::isKnownToBeAPowerOfTwo(SDValue Val) const {
// Similarly, a logical right-shift of a constant sign-bit will have exactly
// one bit set.
if (Val.getOpcode() == ISD::SRL) {
- auto *C = dyn_cast<ConstantSDNode>(Val.getOperand(0));
+ auto *C = isConstOrConstSplat(Val.getOperand(0));
if (C && C->getAPIntValue().isSignMask())
return true;
}
@@ -7539,10 +7540,10 @@ unsigned SelectionDAG::InferPtrAlignment(SDValue Ptr) const {
int64_t GVOffset = 0;
if (TLI->isGAPlusOffset(Ptr.getNode(), GV, GVOffset)) {
unsigned PtrWidth = getDataLayout().getPointerTypeSizeInBits(GV->getType());
- APInt KnownZero(PtrWidth, 0), KnownOne(PtrWidth, 0);
- llvm::computeKnownBits(const_cast<GlobalValue *>(GV), KnownZero, KnownOne,
+ KnownBits Known(PtrWidth);
+ llvm::computeKnownBits(const_cast<GlobalValue *>(GV), Known,
getDataLayout());
- unsigned AlignBits = KnownZero.countTrailingOnes();
+ unsigned AlignBits = Known.Zero.countTrailingOnes();
unsigned Align = AlignBits ? 1 << std::min(31U, AlignBits) : 0;
if (Align)
return MinAlign(Align, GVOffset);
@@ -7629,52 +7630,52 @@ Type *ConstantPoolSDNode::getType() const {
return Val.ConstVal->getType();
}
-bool BuildVectorSDNode::isConstantSplat(APInt &SplatValue,
- APInt &SplatUndef,
+bool BuildVectorSDNode::isConstantSplat(APInt &SplatValue, APInt &SplatUndef,
unsigned &SplatBitSize,
bool &HasAnyUndefs,
unsigned MinSplatBits,
- bool isBigEndian) const {
+ bool IsBigEndian) const {
EVT VT = getValueType(0);
assert(VT.isVector() && "Expected a vector type");
- unsigned sz = VT.getSizeInBits();
- if (MinSplatBits > sz)
+ unsigned VecWidth = VT.getSizeInBits();
+ if (MinSplatBits > VecWidth)
return false;
- SplatValue = APInt(sz, 0);
- SplatUndef = APInt(sz, 0);
+ // FIXME: The widths are based on this node's type, but build vectors can
+ // truncate their operands.
+ SplatValue = APInt(VecWidth, 0);
+ SplatUndef = APInt(VecWidth, 0);
- // Get the bits. Bits with undefined values (when the corresponding element
+ // Get the bits. Bits with undefined values (when the corresponding element
// of the vector is an ISD::UNDEF value) are set in SplatUndef and cleared
- // in SplatValue. If any of the values are not constant, give up and return
+ // in SplatValue. If any of the values are not constant, give up and return
// false.
- unsigned int nOps = getNumOperands();
- assert(nOps > 0 && "isConstantSplat has 0-size build vector");
- unsigned EltBitSize = VT.getScalarSizeInBits();
+ unsigned int NumOps = getNumOperands();
+ assert(NumOps > 0 && "isConstantSplat has 0-size build vector");
+ unsigned EltWidth = VT.getScalarSizeInBits();
- for (unsigned j = 0; j < nOps; ++j) {
- unsigned i = isBigEndian ? nOps-1-j : j;
+ for (unsigned j = 0; j < NumOps; ++j) {
+ unsigned i = IsBigEndian ? NumOps - 1 - j : j;
SDValue OpVal = getOperand(i);
- unsigned BitPos = j * EltBitSize;
+ unsigned BitPos = j * EltWidth;
if (OpVal.isUndef())
- SplatUndef.setBits(BitPos, BitPos + EltBitSize);
- else if (ConstantSDNode *CN = dyn_cast<ConstantSDNode>(OpVal))
- SplatValue.insertBits(CN->getAPIntValue().zextOrTrunc(EltBitSize),
- BitPos);
- else if (ConstantFPSDNode *CN = dyn_cast<ConstantFPSDNode>(OpVal))
+ SplatUndef.setBits(BitPos, BitPos + EltWidth);
+ else if (auto *CN = dyn_cast<ConstantSDNode>(OpVal))
+ SplatValue.insertBits(CN->getAPIntValue().zextOrTrunc(EltWidth), BitPos);
+ else if (auto *CN = dyn_cast<ConstantFPSDNode>(OpVal))
SplatValue.insertBits(CN->getValueAPF().bitcastToAPInt(), BitPos);
else
return false;
}
- // The build_vector is all constants or undefs. Find the smallest element
+ // The build_vector is all constants or undefs. Find the smallest element
// size that splats the vector.
-
HasAnyUndefs = (SplatUndef != 0);
- while (sz > 8) {
- unsigned HalfSize = sz / 2;
+ // FIXME: This does not work for vectors with elements less than 8 bits.
+ while (VecWidth > 8) {
+ unsigned HalfSize = VecWidth / 2;
APInt HighValue = SplatValue.lshr(HalfSize).trunc(HalfSize);
APInt LowValue = SplatValue.trunc(HalfSize);
APInt HighUndef = SplatUndef.lshr(HalfSize).trunc(HalfSize);
@@ -7688,10 +7689,10 @@ bool BuildVectorSDNode::isConstantSplat(APInt &SplatValue,
SplatValue = HighValue | LowValue;
SplatUndef = HighUndef & LowUndef;
- sz = HalfSize;
+ VecWidth = HalfSize;
}
- SplatBitSize = sz;
+ SplatBitSize = VecWidth;
return true;
}
diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
index 2c58953ee908..6a737ed84ea4 100644
--- a/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+++ b/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
@@ -362,11 +362,11 @@ static SDValue getCopyFromPartsVector(SelectionDAG &DAG, const SDLoc &DL,
return DAG.getUNDEF(ValueVT);
}
- if (ValueVT.getVectorNumElements() == 1 &&
- ValueVT.getVectorElementType() != PartEVT)
- Val = DAG.getAnyExtOrTrunc(Val, DL, ValueVT.getScalarType());
+ EVT ValueSVT = ValueVT.getVectorElementType();
+ if (ValueVT.getVectorNumElements() == 1 && ValueSVT != PartEVT)
+ Val = DAG.getAnyExtOrTrunc(Val, DL, ValueSVT);
- return DAG.getNode(ISD::BUILD_VECTOR, DL, ValueVT, Val);
+ return DAG.getBuildVector(ValueVT, DL, Val);
}
static void getCopyToPartsVector(SelectionDAG &DAG, const SDLoc &dl,
@@ -537,7 +537,7 @@ static void getCopyToPartsVector(SelectionDAG &DAG, const SDLoc &DL,
e = PartVT.getVectorNumElements(); i != e; ++i)
Ops.push_back(DAG.getUNDEF(ElementVT));
- Val = DAG.getNode(ISD::BUILD_VECTOR, DL, PartVT, Ops);
+ Val = DAG.getBuildVector(PartVT, DL, Ops);
// FIXME: Use CONCAT for 2x -> 4x.
@@ -1088,8 +1088,7 @@ SDValue SelectionDAGBuilder::getValueImpl(const Value *V) {
if (isa<ArrayType>(CDS->getType()))
return DAG.getMergeValues(Ops, getCurSDLoc());
- return NodeMap[V] = DAG.getNode(ISD::BUILD_VECTOR, getCurSDLoc(),
- VT, Ops);
+ return NodeMap[V] = DAG.getBuildVector(VT, getCurSDLoc(), Ops);
}
if (C->getType()->isStructTy() || C->getType()->isArrayTy()) {
@@ -1141,7 +1140,7 @@ SDValue SelectionDAGBuilder::getValueImpl(const Value *V) {
}
// Create a BUILD_VECTOR node.
- return NodeMap[V] = DAG.getNode(ISD::BUILD_VECTOR, getCurSDLoc(), VT, Ops);
+ return NodeMap[V] = DAG.getBuildVector(VT, getCurSDLoc(), Ops);
}
// If this is a static alloca, generate it as the frameindex instead of
@@ -3147,7 +3146,7 @@ void SelectionDAGBuilder::visitShuffleVector(const User &I) {
Ops.push_back(Res);
}
- setValue(&I, DAG.getNode(ISD::BUILD_VECTOR, DL, VT, Ops));
+ setValue(&I, DAG.getBuildVector(VT, DL, Ops));
}
void SelectionDAGBuilder::visitInsertValue(const InsertValueInst &I) {
@@ -3969,9 +3968,9 @@ void SelectionDAGBuilder::visitFence(const FenceInst &I) {
SDValue Ops[3];
Ops[0] = getRoot();
Ops[1] = DAG.getConstant((unsigned)I.getOrdering(), dl,
- TLI.getPointerTy(DAG.getDataLayout()));
+ TLI.getFenceOperandTy(DAG.getDataLayout()));
Ops[2] = DAG.getConstant(I.getSynchScope(), dl,
- TLI.getPointerTy(DAG.getDataLayout()));
+ TLI.getFenceOperandTy(DAG.getDataLayout()));
DAG.setRoot(DAG.getNode(ISD::ATOMIC_FENCE, dl, MVT::Other, Ops));
}
@@ -4896,11 +4895,11 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) {
Entry.Node = Src;
Args.push_back(Entry);
-
+
Entry.Ty = I.getArgOperand(2)->getType();
Entry.Node = NumElements;
Args.push_back(Entry);
-
+
Entry.Ty = Type::getInt32Ty(*DAG.getContext());
Entry.Node = ElementSize;
Args.push_back(Entry);
@@ -5183,7 +5182,7 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) {
SDValue ShOps[2];
ShOps[0] = ShAmt;
ShOps[1] = DAG.getConstant(0, sdl, MVT::i32);
- ShAmt = DAG.getNode(ISD::BUILD_VECTOR, sdl, ShAmtVT, ShOps);
+ ShAmt = DAG.getBuildVector(ShAmtVT, sdl, ShOps);
EVT DestVT = TLI.getValueType(DAG.getDataLayout(), I.getType());
ShAmt = DAG.getNode(ISD::BITCAST, sdl, DestVT, ShAmt);
Res = DAG.getNode(ISD::INTRINSIC_WO_CHAIN, sdl, DestVT,
@@ -5743,7 +5742,7 @@ void SelectionDAGBuilder::visitConstrainedFPIntrinsic(const CallInst &I,
unsigned Opcode;
switch (Intrinsic) {
default: llvm_unreachable("Impossible intrinsic"); // Can't reach here.
- case Intrinsic::experimental_constrained_fadd:
+ case Intrinsic::experimental_constrained_fadd:
Opcode = ISD::STRICT_FADD;
break;
case Intrinsic::experimental_constrained_fsub:
@@ -6653,12 +6652,12 @@ static void GetRegistersForValue(SelectionDAG &DAG, const TargetLowering &TLI,
MachineFunction &MF = DAG.getMachineFunction();
SmallVector<unsigned, 4> Regs;
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
// If this is a constraint for a single physreg, or a constraint for a
// register class, find it.
std::pair<unsigned, const TargetRegisterClass *> PhysReg =
- TLI.getRegForInlineAsmConstraint(MF.getSubtarget().getRegisterInfo(),
- OpInfo.ConstraintCode,
+ TLI.getRegForInlineAsmConstraint(&TRI, OpInfo.ConstraintCode,
OpInfo.ConstraintVT);
unsigned NumRegs = 1;
@@ -6666,12 +6665,12 @@ static void GetRegistersForValue(SelectionDAG &DAG, const TargetLowering &TLI,
// If this is a FP input in an integer register (or visa versa) insert a bit
// cast of the input value. More generally, handle any case where the input
// value disagrees with the register class we plan to stick this in.
- if (OpInfo.Type == InlineAsm::isInput &&
- PhysReg.second && !PhysReg.second->hasType(OpInfo.ConstraintVT)) {
+ if (OpInfo.Type == InlineAsm::isInput && PhysReg.second &&
+ !TRI.isTypeLegalForClass(*PhysReg.second, OpInfo.ConstraintVT)) {
// Try to convert to the first EVT that the reg class contains. If the
// types are identical size, use a bitcast to convert (e.g. two differing
// vector types).
- MVT RegVT = *PhysReg.second->vt_begin();
+ MVT RegVT = *TRI.legalclasstypes_begin(*PhysReg.second);
if (RegVT.getSizeInBits() == OpInfo.CallOperand.getValueSizeInBits()) {
OpInfo.CallOperand = DAG.getNode(ISD::BITCAST, DL,
RegVT, OpInfo.CallOperand);
@@ -6699,12 +6698,12 @@ static void GetRegistersForValue(SelectionDAG &DAG, const TargetLowering &TLI,
if (unsigned AssignedReg = PhysReg.first) {
const TargetRegisterClass *RC = PhysReg.second;
if (OpInfo.ConstraintVT == MVT::Other)
- ValueVT = *RC->vt_begin();
+ ValueVT = *TRI.legalclasstypes_begin(*RC);
// Get the actual register value type. This is important, because the user
// may have asked for (e.g.) the AX register in i32 type. We need to
// remember that AX is actually i16 to get the right extension.
- RegVT = *RC->vt_begin();
+ RegVT = *TRI.legalclasstypes_begin(*RC);
// This is a explicit reference to a physical register.
Regs.push_back(AssignedReg);
@@ -6730,7 +6729,7 @@ static void GetRegistersForValue(SelectionDAG &DAG, const TargetLowering &TLI,
// Otherwise, if this was a reference to an LLVM register class, create vregs
// for this reference.
if (const TargetRegisterClass *RC = PhysReg.second) {
- RegVT = *RC->vt_begin();
+ RegVT = *TRI.legalclasstypes_begin(*RC);
if (OpInfo.ConstraintVT == MVT::Other)
ValueVT = RegVT;
diff --git a/lib/CodeGen/SelectionDAG/TargetLowering.cpp b/lib/CodeGen/SelectionDAG/TargetLowering.cpp
index 93c6738f650d..136dec873cb8 100644
--- a/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+++ b/lib/CodeGen/SelectionDAG/TargetLowering.cpp
@@ -342,11 +342,16 @@ TargetLowering::isOffsetFoldingLegal(const GlobalAddressSDNode *GA) const {
/// If the specified instruction has a constant integer operand and there are
/// bits set in that constant that are not demanded, then clear those bits and
/// return true.
-bool TargetLowering::TargetLoweringOpt::ShrinkDemandedConstant(
- SDValue Op, const APInt &Demanded) {
+bool TargetLowering::ShrinkDemandedConstant(SDValue Op, const APInt &Demanded,
+ TargetLoweringOpt &TLO) const {
+ SelectionDAG &DAG = TLO.DAG;
SDLoc DL(Op);
unsigned Opcode = Op.getOpcode();
+ // Do target-specific constant optimization.
+ if (targetShrinkDemandedConstant(Op, Demanded, TLO))
+ return TLO.New.getNode();
+
// FIXME: ISD::SELECT, ISD::SELECT_CC
switch (Opcode) {
default:
@@ -367,7 +372,7 @@ bool TargetLowering::TargetLoweringOpt::ShrinkDemandedConstant(
EVT VT = Op.getValueType();
SDValue NewC = DAG.getConstant(Demanded & C, DL, VT);
SDValue NewOp = DAG.getNode(Opcode, DL, VT, Op.getOperand(0), NewC);
- return CombineTo(Op, NewOp);
+ return TLO.CombineTo(Op, NewOp);
}
break;
@@ -380,15 +385,17 @@ bool TargetLowering::TargetLoweringOpt::ShrinkDemandedConstant(
/// Convert x+y to (VT)((SmallVT)x+(SmallVT)y) if the casts are free.
/// This uses isZExtFree and ZERO_EXTEND for the widening cast, but it could be
/// generalized for targets with other types of implicit widening casts.
-bool TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(SDValue Op,
- unsigned BitWidth,
- const APInt &Demanded,
- const SDLoc &dl) {
+bool TargetLowering::ShrinkDemandedOp(SDValue Op, unsigned BitWidth,
+ const APInt &Demanded,
+ TargetLoweringOpt &TLO) const {
assert(Op.getNumOperands() == 2 &&
"ShrinkDemandedOp only supports binary operators!");
assert(Op.getNode()->getNumValues() == 1 &&
"ShrinkDemandedOp only supports nodes with one result!");
+ SelectionDAG &DAG = TLO.DAG;
+ SDLoc dl(Op);
+
// Early return, as this function cannot handle vector types.
if (Op.getValueType().isVector())
return false;
@@ -418,23 +425,22 @@ bool TargetLowering::TargetLoweringOpt::ShrinkDemandedOp(SDValue Op,
bool NeedZext = DemandedSize > SmallVTBits;
SDValue Z = DAG.getNode(NeedZext ? ISD::ZERO_EXTEND : ISD::ANY_EXTEND,
dl, Op.getValueType(), X);
- return CombineTo(Op, Z);
+ return TLO.CombineTo(Op, Z);
}
}
return false;
}
bool
-TargetLowering::TargetLoweringOpt::SimplifyDemandedBits(SDNode *User,
- unsigned OpIdx,
- const APInt &Demanded,
- DAGCombinerInfo &DCI) {
- const TargetLowering &TLI = DAG.getTargetLoweringInfo();
+TargetLowering::SimplifyDemandedBits(SDNode *User, unsigned OpIdx,
+ const APInt &Demanded,
+ DAGCombinerInfo &DCI,
+ TargetLoweringOpt &TLO) const {
SDValue Op = User->getOperand(OpIdx);
APInt KnownZero, KnownOne;
- if (!TLI.SimplifyDemandedBits(Op, Demanded, KnownZero, KnownOne,
- *this, 0, true))
+ if (!SimplifyDemandedBits(Op, Demanded, KnownZero, KnownOne,
+ TLO, 0, true))
return false;
@@ -446,9 +452,9 @@ TargetLowering::TargetLoweringOpt::SimplifyDemandedBits(SDNode *User,
// with the value 'x', which will give us:
// Old = i32 and x, 0xffffff
// New = x
- if (Old.hasOneUse()) {
+ if (TLO.Old.hasOneUse()) {
// For the one use case, we just commit the change.
- DCI.CommitTargetLoweringOpt(*this);
+ DCI.CommitTargetLoweringOpt(TLO);
return true;
}
@@ -456,17 +462,17 @@ TargetLowering::TargetLoweringOpt::SimplifyDemandedBits(SDNode *User,
// AssumeSingleUse flag is not propogated to recursive calls of
// SimplifyDemanded bits, so the only node with multiple use that
// it will attempt to combine will be opt.
- assert(Old == Op);
+ assert(TLO.Old == Op);
SmallVector <SDValue, 4> NewOps;
for (unsigned i = 0, e = User->getNumOperands(); i != e; ++i) {
if (i == OpIdx) {
- NewOps.push_back(New);
+ NewOps.push_back(TLO.New);
continue;
}
NewOps.push_back(User->getOperand(i));
}
- DAG.UpdateNodeOperands(User, NewOps);
+ TLO.DAG.UpdateNodeOperands(User, NewOps);
// Op has less users now, so we may be able to perform additional combines
// with it.
DCI.AddToWorklist(Op.getNode());
@@ -585,7 +591,7 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
// If any of the set bits in the RHS are known zero on the LHS, shrink
// the constant.
- if (TLO.ShrinkDemandedConstant(Op, ~LHSZero & NewMask))
+ if (ShrinkDemandedConstant(Op, ~LHSZero & NewMask, TLO))
return true;
// Bitwise-not (xor X, -1) is a special case: we don't usually shrink its
@@ -620,10 +626,10 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
if ((NewMask & (KnownZero|KnownZero2)) == NewMask)
return TLO.CombineTo(Op, TLO.DAG.getConstant(0, dl, Op.getValueType()));
// If the RHS is a constant, see if we can simplify it.
- if (TLO.ShrinkDemandedConstant(Op, ~KnownZero2 & NewMask))
+ if (ShrinkDemandedConstant(Op, ~KnownZero2 & NewMask, TLO))
return true;
// If the operation can be done in a smaller type, do so.
- if (TLO.ShrinkDemandedOp(Op, BitWidth, NewMask, dl))
+ if (ShrinkDemandedOp(Op, BitWidth, NewMask, TLO))
return true;
// Output known-1 bits are only known if set in both the LHS & RHS.
@@ -654,10 +660,10 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
if ((NewMask & ~KnownZero2 & KnownOne) == (~KnownZero2 & NewMask))
return TLO.CombineTo(Op, Op.getOperand(1));
// If the RHS is a constant, see if we can simplify it.
- if (TLO.ShrinkDemandedConstant(Op, NewMask))
+ if (ShrinkDemandedConstant(Op, NewMask, TLO))
return true;
// If the operation can be done in a smaller type, do so.
- if (TLO.ShrinkDemandedOp(Op, BitWidth, NewMask, dl))
+ if (ShrinkDemandedOp(Op, BitWidth, NewMask, TLO))
return true;
// Output known-0 bits are only known if clear in both the LHS & RHS.
@@ -682,7 +688,7 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
if ((KnownZero2 & NewMask) == NewMask)
return TLO.CombineTo(Op, Op.getOperand(1));
// If the operation can be done in a smaller type, do so.
- if (TLO.ShrinkDemandedOp(Op, BitWidth, NewMask, dl))
+ if (ShrinkDemandedOp(Op, BitWidth, NewMask, TLO))
return true;
// If all of the unknown bits are known to be zero on one side or the other
@@ -727,7 +733,7 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
}
// If it already has all the bits set, nothing to change
// but don't shrink either!
- } else if (TLO.ShrinkDemandedConstant(Op, NewMask)) {
+ } else if (ShrinkDemandedConstant(Op, NewMask, TLO)) {
return true;
}
}
@@ -746,7 +752,7 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
assert((KnownZero2 & KnownOne2) == 0 && "Bits known to be one AND zero?");
// If the operands are constants, see if we can simplify them.
- if (TLO.ShrinkDemandedConstant(Op, NewMask))
+ if (ShrinkDemandedConstant(Op, NewMask, TLO))
return true;
// Only known if known in both the LHS and RHS.
@@ -764,7 +770,7 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
assert((KnownZero2 & KnownOne2) == 0 && "Bits known to be one AND zero?");
// If the operands are constants, see if we can simplify them.
- if (TLO.ShrinkDemandedConstant(Op, NewMask))
+ if (ShrinkDemandedConstant(Op, NewMask, TLO))
return true;
// Only known if known in both the LHS and RHS.
@@ -1284,7 +1290,7 @@ bool TargetLowering::SimplifyDemandedBits(SDValue Op,
SimplifyDemandedBits(Op.getOperand(1), LoMask, KnownZero2,
KnownOne2, TLO, Depth+1) ||
// See if the operation should be performed at a smaller bit width.
- TLO.ShrinkDemandedOp(Op, BitWidth, NewMask, dl)) {
+ ShrinkDemandedOp(Op, BitWidth, NewMask, TLO)) {
const SDNodeFlags *Flags = Op.getNode()->getFlags();
if (Flags->hasNoSignedWrap() || Flags->hasNoUnsignedWrap()) {
// Disable the nsw and nuw flags. We can no longer guarantee that we
@@ -1358,31 +1364,38 @@ unsigned TargetLowering::ComputeNumSignBitsForTargetNode(SDValue Op,
return 1;
}
+// FIXME: Ideally, this would use ISD::isConstantSplatVector(), but that must
+// work with truncating build vectors and vectors with elements of less than
+// 8 bits.
bool TargetLowering::isConstTrueVal(const SDNode *N) const {
if (!N)
return false;
- const ConstantSDNode *CN = dyn_cast<ConstantSDNode>(N);
- if (!CN) {
- const BuildVectorSDNode *BV = dyn_cast<BuildVectorSDNode>(N);
- if (!BV)
- return false;
-
- // Only interested in constant splats, we don't care about undef
- // elements in identifying boolean constants and getConstantSplatNode
- // returns NULL if all ops are undef;
- CN = BV->getConstantSplatNode();
+ APInt CVal;
+ if (auto *CN = dyn_cast<ConstantSDNode>(N)) {
+ CVal = CN->getAPIntValue();
+ } else if (auto *BV = dyn_cast<BuildVectorSDNode>(N)) {
+ auto *CN = BV->getConstantSplatNode();
if (!CN)
return false;
+
+ // If this is a truncating build vector, truncate the splat value.
+ // Otherwise, we may fail to match the expected values below.
+ unsigned BVEltWidth = BV->getValueType(0).getScalarSizeInBits();
+ CVal = CN->getAPIntValue();
+ if (BVEltWidth < CVal.getBitWidth())
+ CVal = CVal.trunc(BVEltWidth);
+ } else {
+ return false;
}
switch (getBooleanContents(N->getValueType(0))) {
case UndefinedBooleanContent:
- return CN->getAPIntValue()[0];
+ return CVal[0];
case ZeroOrOneBooleanContent:
- return CN->isOne();
+ return CVal == 1;
case ZeroOrNegativeOneBooleanContent:
- return CN->isAllOnesValue();
+ return CVal.isAllOnesValue();
}
llvm_unreachable("Invalid boolean contents");
@@ -2535,7 +2548,7 @@ TargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *RI,
for (const TargetRegisterClass *RC : RI->regclasses()) {
// If none of the value types for this register class are valid, we
// can't use it. For example, 64-bit reg classes on 32-bit targets.
- if (!isLegalRC(RC))
+ if (!isLegalRC(*RI, *RC))
continue;
for (TargetRegisterClass::iterator I = RC->begin(), E = RC->end();
@@ -2547,9 +2560,9 @@ TargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *RI,
// If this register class has the requested value type, return it,
// otherwise keep searching and return the first class found
// if no other is found which explicitly has the requested type.
- if (RC->hasType(VT))
+ if (RI->isTypeLegalForClass(*RC, VT))
return S;
- else if (!R.second)
+ if (!R.second)
R = S;
}
}
diff --git a/lib/CodeGen/StackMaps.cpp b/lib/CodeGen/StackMaps.cpp
index 1a8ec5bff322..315b059c5ac9 100644
--- a/lib/CodeGen/StackMaps.cpp
+++ b/lib/CodeGen/StackMaps.cpp
@@ -161,7 +161,8 @@ StackMaps::parseOperand(MachineInstr::const_mop_iterator MOI,
if (SubRegIdx)
Offset = TRI->getSubRegIdxOffset(SubRegIdx);
- Locs.emplace_back(Location::Register, RC->getSize(), DwarfRegNum, Offset);
+ Locs.emplace_back(Location::Register, TRI->getSpillSize(*RC),
+ DwarfRegNum, Offset);
return ++MOI;
}
@@ -245,7 +246,7 @@ void StackMaps::print(raw_ostream &OS) {
StackMaps::LiveOutReg
StackMaps::createLiveOutReg(unsigned Reg, const TargetRegisterInfo *TRI) const {
unsigned DwarfRegNum = getDwarfRegNum(Reg, TRI);
- unsigned Size = TRI->getMinimalPhysRegClass(Reg)->getSize();
+ unsigned Size = TRI->getSpillSize(*TRI->getMinimalPhysRegClass(Reg));
return LiveOutReg(Reg, DwarfRegNum, Size);
}
diff --git a/lib/CodeGen/TargetInstrInfo.cpp b/lib/CodeGen/TargetInstrInfo.cpp
index 711144a34743..14c5adc0d898 100644
--- a/lib/CodeGen/TargetInstrInfo.cpp
+++ b/lib/CodeGen/TargetInstrInfo.cpp
@@ -345,12 +345,12 @@ bool TargetInstrInfo::getStackSlotRange(const TargetRegisterClass *RC,
unsigned SubIdx, unsigned &Size,
unsigned &Offset,
const MachineFunction &MF) const {
+ const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo();
if (!SubIdx) {
- Size = RC->getSize();
+ Size = TRI->getSpillSize(*RC);
Offset = 0;
return true;
}
- const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo();
unsigned BitSize = TRI->getSubRegIdxSize(SubIdx);
// Convert bit size to byte size to be consistent with
// MCRegisterClass::getSize().
@@ -364,10 +364,10 @@ bool TargetInstrInfo::getStackSlotRange(const TargetRegisterClass *RC,
Size = BitSize /= 8;
Offset = (unsigned)BitOffset / 8;
- assert(RC->getSize() >= (Offset + Size) && "bad subregister range");
+ assert(TRI->getSpillSize(*RC) >= (Offset + Size) && "bad subregister range");
if (!MF.getDataLayout().isLittleEndian()) {
- Offset = RC->getSize() - (Offset + Size);
+ Offset = TRI->getSpillSize(*RC) - (Offset + Size);
}
return true;
}
@@ -428,8 +428,8 @@ static const TargetRegisterClass *canFoldCopy(const MachineInstr &MI,
return nullptr;
}
-void TargetInstrInfo::getNoopForMachoTarget(MCInst &NopInst) const {
- llvm_unreachable("Not a MachO target");
+void TargetInstrInfo::getNoop(MCInst &NopInst) const {
+ llvm_unreachable("Not implemented");
}
static MachineInstr *foldPatchpoint(MachineFunction &MF, MachineInstr &MI,
diff --git a/lib/CodeGen/TargetLoweringBase.cpp b/lib/CodeGen/TargetLoweringBase.cpp
index 27630a3055cb..e579922bb69e 100644
--- a/lib/CodeGen/TargetLoweringBase.cpp
+++ b/lib/CodeGen/TargetLoweringBase.cpp
@@ -1184,12 +1184,11 @@ static unsigned getVectorTypeBreakdownMVT(MVT VT, MVT &IntermediateVT,
/// isLegalRC - Return true if the value types that can be represented by the
/// specified register class are all legal.
-bool TargetLoweringBase::isLegalRC(const TargetRegisterClass *RC) const {
- for (TargetRegisterClass::vt_iterator I = RC->vt_begin(), E = RC->vt_end();
- I != E; ++I) {
+bool TargetLoweringBase::isLegalRC(const TargetRegisterInfo &TRI,
+ const TargetRegisterClass &RC) const {
+ for (auto I = TRI.legalclasstypes_begin(RC); *I != MVT::Other; ++I)
if (isTypeLegal(*I))
return true;
- }
return false;
}
@@ -1299,9 +1298,9 @@ TargetLoweringBase::findRepresentativeClass(const TargetRegisterInfo *TRI,
for (int i = SuperRegRC.find_first(); i >= 0; i = SuperRegRC.find_next(i)) {
const TargetRegisterClass *SuperRC = TRI->getRegClass(i);
// We want the largest possible spill size.
- if (SuperRC->getSize() <= BestRC->getSize())
+ if (TRI->getSpillSize(*SuperRC) <= TRI->getSpillSize(*BestRC))
continue;
- if (!isLegalRC(SuperRC))
+ if (!isLegalRC(*TRI, *SuperRC))
continue;
BestRC = SuperRC;
}
diff --git a/lib/CodeGen/TargetRegisterInfo.cpp b/lib/CodeGen/TargetRegisterInfo.cpp
index 66cdad278e8d..f6e4c17d514c 100644
--- a/lib/CodeGen/TargetRegisterInfo.cpp
+++ b/lib/CodeGen/TargetRegisterInfo.cpp
@@ -156,8 +156,8 @@ TargetRegisterInfo::getMinimalPhysRegClass(unsigned reg, MVT VT) const {
// this physreg.
const TargetRegisterClass* BestRC = nullptr;
for (const TargetRegisterClass* RC : regclasses()) {
- if ((VT == MVT::Other || RC->hasType(VT)) && RC->contains(reg) &&
- (!BestRC || BestRC->hasSubClass(RC)))
+ if ((VT == MVT::Other || isTypeLegalForClass(*RC, VT)) &&
+ RC->contains(reg) && (!BestRC || BestRC->hasSubClass(RC)))
BestRC = RC;
}
@@ -207,7 +207,7 @@ const TargetRegisterClass *firstCommonClass(const uint32_t *A,
if (unsigned Common = *A++ & *B++) {
const TargetRegisterClass *RC =
TRI->getRegClass(I + countTrailingZeros(Common));
- if (SVT == MVT::SimpleValueType::Any || RC->hasType(VT))
+ if (SVT == MVT::SimpleValueType::Any || TRI->isTypeLegalForClass(*RC, VT))
return RC;
}
return nullptr;
@@ -265,7 +265,7 @@ getCommonSuperRegClass(const TargetRegisterClass *RCA, unsigned SubA,
const TargetRegisterClass *BestRC = nullptr;
unsigned *BestPreA = &PreA;
unsigned *BestPreB = &PreB;
- if (RCA->getSize() < RCB->getSize()) {
+ if (getRegSizeInBits(*RCA) < getRegSizeInBits(*RCB)) {
std::swap(RCA, RCB);
std::swap(SubA, SubB);
std::swap(BestPreA, BestPreB);
@@ -273,7 +273,7 @@ getCommonSuperRegClass(const TargetRegisterClass *RCA, unsigned SubA,
// Also terminate the search one we have found a register class as small as
// RCA.
- unsigned MinSize = RCA->getSize();
+ unsigned MinSize = getRegSizeInBits(*RCA);
for (SuperRegClassIterator IA(RCA, this, true); IA.isValid(); ++IA) {
unsigned FinalA = composeSubRegIndices(IA.getSubReg(), SubA);
@@ -281,7 +281,7 @@ getCommonSuperRegClass(const TargetRegisterClass *RCA, unsigned SubA,
// Check if a common super-register class exists for this index pair.
const TargetRegisterClass *RC =
firstCommonClass(IA.getMask(), IB.getMask(), this);
- if (!RC || RC->getSize() < MinSize)
+ if (!RC || getRegSizeInBits(*RC) < MinSize)
continue;
// The indexes must compose identically: PreA+SubA == PreB+SubB.
@@ -290,7 +290,7 @@ getCommonSuperRegClass(const TargetRegisterClass *RCA, unsigned SubA,
continue;
// Is RC a better candidate than BestRC?
- if (BestRC && RC->getSize() >= BestRC->getSize())
+ if (BestRC && getRegSizeInBits(*RC) >= getRegSizeInBits(*BestRC))
continue;
// Yes, RC is the smallest super-register seen so far.
@@ -299,7 +299,7 @@ getCommonSuperRegClass(const TargetRegisterClass *RCA, unsigned SubA,
*BestPreB = IB.getSubReg();
// Bail early if we reached MinSize. We won't find a better candidate.
- if (BestRC->getSize() == MinSize)
+ if (getRegSizeInBits(*BestRC) == MinSize)
return BestRC;
}
}
diff --git a/lib/CodeGen/VirtRegMap.cpp b/lib/CodeGen/VirtRegMap.cpp
index c8946010e9d1..d10ca1a7ff91 100644
--- a/lib/CodeGen/VirtRegMap.cpp
+++ b/lib/CodeGen/VirtRegMap.cpp
@@ -73,8 +73,9 @@ void VirtRegMap::grow() {
}
unsigned VirtRegMap::createSpillSlot(const TargetRegisterClass *RC) {
- int SS = MF->getFrameInfo().CreateSpillStackObject(RC->getSize(),
- RC->getAlignment());
+ unsigned Size = TRI->getSpillSize(*RC);
+ unsigned Align = TRI->getSpillAlignment(*RC);
+ int SS = MF->getFrameInfo().CreateSpillStackObject(Size, Align);
++NumSpillSlots;
return SS;
}
diff --git a/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp b/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
index 85e1eaedfc61..a12f8adfafe5 100644
--- a/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
+++ b/lib/DebugInfo/DWARF/DWARFAcceleratorTable.cpp
@@ -9,6 +9,7 @@
#include "llvm/ADT/SmallVector.h"
#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"
+#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/DebugInfo/DWARF/DWARFFormValue.h"
#include "llvm/DebugInfo/DWARF/DWARFRelocMap.h"
#include "llvm/Support/Dwarf.h"
@@ -112,10 +113,8 @@ LLVM_DUMP_METHOD void DWARFAcceleratorTable::dump(raw_ostream &OS) const {
continue;
}
while (AccelSection.isValidOffsetForDataOfSize(DataOffset, 4)) {
- unsigned StringOffset = AccelSection.getU32(&DataOffset);
- RelocAddrMap::const_iterator Reloc = Relocs.find(DataOffset-4);
- if (Reloc != Relocs.end())
- StringOffset += Reloc->second.second;
+ unsigned StringOffset =
+ getRelocatedValue(AccelSection, 4, &DataOffset, &Relocs);
if (!StringOffset)
break;
OS << format(" Name: %08x \"%s\"\n", StringOffset,
diff --git a/lib/DebugInfo/DWARF/DWARFContext.cpp b/lib/DebugInfo/DWARF/DWARFContext.cpp
index bbb19b5e998d..7e8d04672c03 100644
--- a/lib/DebugInfo/DWARF/DWARFContext.cpp
+++ b/lib/DebugInfo/DWARF/DWARFContext.cpp
@@ -56,6 +56,16 @@ typedef DWARFDebugLine::LineTable DWARFLineTable;
typedef DILineInfoSpecifier::FileLineInfoKind FileLineInfoKind;
typedef DILineInfoSpecifier::FunctionNameKind FunctionNameKind;
+uint64_t llvm::getRelocatedValue(const DataExtractor &Data, uint32_t Size,
+ uint32_t *Off, const RelocAddrMap *Relocs) {
+ if (!Relocs)
+ return Data.getUnsigned(Off, Size);
+ RelocAddrMap::const_iterator AI = Relocs->find(*Off);
+ if (AI == Relocs->end())
+ return Data.getUnsigned(Off, Size);
+ return Data.getUnsigned(Off, Size) + AI->second.second;
+}
+
static void dumpAccelSection(raw_ostream &OS, StringRef Name,
const DWARFSection& Section, StringRef StringSection,
bool LittleEndian) {
@@ -212,11 +222,11 @@ void DWARFContext::dump(raw_ostream &OS, DIDumpType DumpType, bool DumpEH,
// sizes, but for simplicity we just use the address byte size of the last
// compile unit (there is no easy and fast way to associate address range
// list and the compile unit it describes).
- DataExtractor rangesData(getRangeSection(), isLittleEndian(),
+ DataExtractor rangesData(getRangeSection().Data, isLittleEndian(),
savedAddressByteSize);
offset = 0;
DWARFDebugRangeList rangeList;
- while (rangeList.extract(rangesData, &offset))
+ while (rangeList.extract(rangesData, &offset, getRangeSection().Relocs))
rangeList.dump(OS);
}
@@ -722,7 +732,7 @@ DWARFContextInMemory::DWARFContextInMemory(const object::ObjectFile &Obj,
*SectionData = data;
if (name == "debug_ranges") {
// FIXME: Use the other dwo range section when we emit it.
- RangeDWOSection = data;
+ RangeDWOSection.Data = data;
}
} else if (name == "debug_types") {
// Find debug_types data by section rather than name as there are
@@ -763,6 +773,7 @@ DWARFContextInMemory::DWARFContextInMemory(const object::ObjectFile &Obj,
.Case("debug_loc", &LocSection.Relocs)
.Case("debug_info.dwo", &InfoDWOSection.Relocs)
.Case("debug_line", &LineSection.Relocs)
+ .Case("debug_ranges", &RangeSection.Relocs)
.Case("apple_names", &AppleNamesSection.Relocs)
.Case("apple_types", &AppleTypesSection.Relocs)
.Case("apple_namespaces", &AppleNamespacesSection.Relocs)
@@ -845,7 +856,7 @@ StringRef *DWARFContextInMemory::MapSectionToMember(StringRef Name) {
.Case("debug_frame", &DebugFrameSection)
.Case("eh_frame", &EHFrameSection)
.Case("debug_str", &StringSection)
- .Case("debug_ranges", &RangeSection)
+ .Case("debug_ranges", &RangeSection.Data)
.Case("debug_macinfo", &MacinfoSection)
.Case("debug_pubnames", &PubNamesSection)
.Case("debug_pubtypes", &PubTypesSection)
diff --git a/lib/DebugInfo/DWARF/DWARFDebugLine.cpp b/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
index e4670519b797..ff6ed9c6741d 100644
--- a/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
+++ b/lib/DebugInfo/DWARF/DWARFDebugLine.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
#include "llvm/ADT/SmallString.h"
+#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugLine.h"
#include "llvm/DebugInfo/DWARF/DWARFRelocMap.h"
#include "llvm/Support/Dwarf.h"
@@ -302,16 +303,9 @@ bool DWARFDebugLine::LineTable::parse(DataExtractor debug_line_data,
// relocatable address. All of the other statement program opcodes
// that affect the address register add a delta to it. This instruction
// stores a relocatable value into it instead.
- {
- // If this address is in our relocation map, apply the relocation.
- RelocAddrMap::const_iterator AI = RMap->find(*offset_ptr);
- if (AI != RMap->end()) {
- const std::pair<uint8_t, int64_t> &R = AI->second;
- State.Row.Address =
- debug_line_data.getAddress(offset_ptr) + R.second;
- } else
- State.Row.Address = debug_line_data.getAddress(offset_ptr);
- }
+ State.Row.Address =
+ getRelocatedValue(debug_line_data, debug_line_data.getAddressSize(),
+ offset_ptr, RMap);
break;
case DW_LNE_define_file:
diff --git a/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp b/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
index e2799ab2d243..d5c34216ed53 100644
--- a/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
+++ b/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
#include "llvm/ADT/StringRef.h"
+#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugLoc.h"
#include "llvm/DebugInfo/DWARF/DWARFRelocMap.h"
#include "llvm/Support/Dwarf.h"
@@ -48,18 +49,10 @@ void DWARFDebugLoc::parse(DataExtractor data, unsigned AddressSize) {
// 2.6.2 Location Lists
// A location list entry consists of:
while (true) {
+ // A beginning and ending address offsets.
Entry E;
- RelocAddrMap::const_iterator AI = RelocMap.find(Offset);
- // 1. A beginning address offset. ...
- E.Begin = data.getUnsigned(&Offset, AddressSize);
- if (AI != RelocMap.end())
- E.Begin += AI->second.second;
-
- AI = RelocMap.find(Offset);
- // 2. An ending address offset. ...
- E.End = data.getUnsigned(&Offset, AddressSize);
- if (AI != RelocMap.end())
- E.End += AI->second.second;
+ E.Begin = getRelocatedValue(data, AddressSize, &Offset, &RelocMap);
+ E.End = getRelocatedValue(data, AddressSize, &Offset, &RelocMap);
// The end of any given location list is marked by an end of list entry,
// which consists of a 0 for the beginning address offset and a 0 for the
diff --git a/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp b/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
index f1d82fda8c06..9380fe8fe85d 100644
--- a/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
+++ b/lib/DebugInfo/DWARF/DWARFDebugRangeList.cpp
@@ -7,6 +7,7 @@
//
//===----------------------------------------------------------------------===//
+#include "llvm/DebugInfo/DWARF/DWARFContext.h"
#include "llvm/DebugInfo/DWARF/DWARFDebugRangeList.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/raw_ostream.h"
@@ -22,7 +23,8 @@ void DWARFDebugRangeList::clear() {
Entries.clear();
}
-bool DWARFDebugRangeList::extract(DataExtractor data, uint32_t *offset_ptr) {
+bool DWARFDebugRangeList::extract(DataExtractor data, uint32_t *offset_ptr,
+ const RelocAddrMap &Relocs) {
clear();
if (!data.isValidOffset(*offset_ptr))
return false;
@@ -33,8 +35,11 @@ bool DWARFDebugRangeList::extract(DataExtractor data, uint32_t *offset_ptr) {
while (true) {
RangeListEntry entry;
uint32_t prev_offset = *offset_ptr;
- entry.StartAddress = data.getAddress(offset_ptr);
- entry.EndAddress = data.getAddress(offset_ptr);
+ entry.StartAddress =
+ getRelocatedValue(data, AddressSize, offset_ptr, &Relocs);
+ entry.EndAddress =
+ getRelocatedValue(data, AddressSize, offset_ptr, &Relocs);
+
// Check that both values were extracted correctly.
if (*offset_ptr != prev_offset + 2 * AddressSize) {
clear();
diff --git a/lib/DebugInfo/DWARF/DWARFFormValue.cpp b/lib/DebugInfo/DWARF/DWARFFormValue.cpp
index 6de57b999adc..28592e4dfb65 100644
--- a/lib/DebugInfo/DWARF/DWARFFormValue.cpp
+++ b/lib/DebugInfo/DWARF/DWARFFormValue.cpp
@@ -334,11 +334,8 @@ bool DWARFFormValue::extractValue(const DataExtractor &data,
(Form == DW_FORM_addr)
? U->getAddressByteSize()
: U->getRefAddrByteSize();
- RelocAddrMap::const_iterator AI = U->getRelocMap()->find(*offset_ptr);
- if (AI != U->getRelocMap()->end()) {
- Value.uval = data.getUnsigned(offset_ptr, AddrSize) + AI->second.second;
- } else
- Value.uval = data.getUnsigned(offset_ptr, AddrSize);
+ Value.uval =
+ getRelocatedValue(data, AddrSize, offset_ptr, U->getRelocMap());
break;
}
case DW_FORM_exprloc:
@@ -376,12 +373,8 @@ bool DWARFFormValue::extractValue(const DataExtractor &data,
case DW_FORM_ref_sup4:
case DW_FORM_strx4:
case DW_FORM_addrx4: {
- Value.uval = data.getU32(offset_ptr);
- if (!U)
- break;
- RelocAddrMap::const_iterator AI = U->getRelocMap()->find(*offset_ptr-4);
- if (AI != U->getRelocMap()->end())
- Value.uval += AI->second.second;
+ const RelocAddrMap* RelocMap = U ? U->getRelocMap() : nullptr;
+ Value.uval = getRelocatedValue(data, 4, offset_ptr, RelocMap);
break;
}
case DW_FORM_data8:
@@ -411,11 +404,8 @@ bool DWARFFormValue::extractValue(const DataExtractor &data,
case DW_FORM_strp_sup: {
if (!U)
return false;
- RelocAddrMap::const_iterator AI = U->getRelocMap()->find(*offset_ptr);
- uint8_t Size = U->getDwarfOffsetByteSize();
- Value.uval = data.getUnsigned(offset_ptr, Size);
- if (AI != U->getRelocMap()->end())
- Value.uval += AI->second.second;
+ Value.uval = getRelocatedValue(data, U->getDwarfOffsetByteSize(),
+ offset_ptr, U->getRelocMap());
break;
}
case DW_FORM_flag_present:
diff --git a/lib/DebugInfo/DWARF/DWARFUnit.cpp b/lib/DebugInfo/DWARF/DWARFUnit.cpp
index c3f467745402..f50487fc3ba3 100644
--- a/lib/DebugInfo/DWARF/DWARFUnit.cpp
+++ b/lib/DebugInfo/DWARF/DWARFUnit.cpp
@@ -32,7 +32,7 @@ using namespace llvm;
using namespace dwarf;
void DWARFUnitSectionBase::parse(DWARFContext &C, const DWARFSection &Section) {
- parseImpl(C, Section, C.getDebugAbbrev(), C.getRangeSection(),
+ parseImpl(C, Section, C.getDebugAbbrev(), &C.getRangeSection(),
C.getStringSection(), StringRef(), C.getAddrSection(),
C.getLineSection().Data, C.isLittleEndian(), false);
}
@@ -40,16 +40,17 @@ void DWARFUnitSectionBase::parse(DWARFContext &C, const DWARFSection &Section) {
void DWARFUnitSectionBase::parseDWO(DWARFContext &C,
const DWARFSection &DWOSection,
DWARFUnitIndex *Index) {
- parseImpl(C, DWOSection, C.getDebugAbbrevDWO(), C.getRangeDWOSection(),
+ parseImpl(C, DWOSection, C.getDebugAbbrevDWO(), &C.getRangeDWOSection(),
C.getStringDWOSection(), C.getStringOffsetDWOSection(),
C.getAddrSection(), C.getLineDWOSection().Data, C.isLittleEndian(),
true);
}
DWARFUnit::DWARFUnit(DWARFContext &DC, const DWARFSection &Section,
- const DWARFDebugAbbrev *DA, StringRef RS, StringRef SS,
- StringRef SOS, StringRef AOS, StringRef LS, bool LE,
- bool IsDWO, const DWARFUnitSectionBase &UnitSection,
+ const DWARFDebugAbbrev *DA, const DWARFSection *RS,
+ StringRef SS, StringRef SOS, StringRef AOS, StringRef LS,
+ bool LE, bool IsDWO,
+ const DWARFUnitSectionBase &UnitSection,
const DWARFUnitIndex::Entry *IndexEntry)
: Context(DC), InfoSection(Section), Abbrev(DA), RangeSection(RS),
LineSection(LS), StringSection(SS), StringOffsetSection([&]() {
@@ -142,9 +143,10 @@ bool DWARFUnit::extractRangeList(uint32_t RangeListOffset,
DWARFDebugRangeList &RangeList) const {
// Require that compile unit is extracted.
assert(!DieArray.empty());
- DataExtractor RangesData(RangeSection, isLittleEndian, AddrSize);
+ DataExtractor RangesData(RangeSection->Data, isLittleEndian, AddrSize);
uint32_t ActualRangeListOffset = RangeSectionBase + RangeListOffset;
- return RangeList.extract(RangesData, &ActualRangeListOffset);
+ return RangeList.extract(RangesData, &ActualRangeListOffset,
+ RangeSection->Relocs);
}
void DWARFUnit::clear() {
diff --git a/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp b/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp
index 5e8c0bdc171d..4e2474c51cb1 100644
--- a/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp
+++ b/lib/DebugInfo/PDB/DIA/DIARawSymbol.cpp
@@ -14,6 +14,7 @@
#include "llvm/DebugInfo/PDB/DIA/DIAEnumSymbols.h"
#include "llvm/DebugInfo/PDB/DIA/DIASession.h"
#include "llvm/DebugInfo/PDB/PDBExtras.h"
+#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypePointer.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h"
@@ -720,7 +721,7 @@ uint32_t DIARawSymbol::getVirtualTableShapeId() const {
return PrivateGetDIAValue(Symbol, &IDiaSymbol::get_virtualTableShapeId);
}
-std::unique_ptr<PDBSymbolTypeVTable>
+std::unique_ptr<PDBSymbolTypeBuiltin>
DIARawSymbol::getVirtualBaseTableType() const {
CComPtr<IDiaSymbol> TableType;
if (FAILED(Symbol->get_virtualBaseTableType(&TableType)) || !TableType)
@@ -729,7 +730,7 @@ DIARawSymbol::getVirtualBaseTableType() const {
auto RawVT = llvm::make_unique<DIARawSymbol>(Session, TableType);
auto Pointer =
llvm::make_unique<PDBSymbolTypePointer>(Session, std::move(RawVT));
- return unique_dyn_cast<PDBSymbolTypeVTable>(Pointer->getPointeeType());
+ return unique_dyn_cast<PDBSymbolTypeBuiltin>(Pointer->getPointeeType());
}
PDB_DataKind DIARawSymbol::getDataKind() const {
diff --git a/lib/DebugInfo/PDB/DIA/DIASession.cpp b/lib/DebugInfo/PDB/DIA/DIASession.cpp
index 6ecf335812b5..ef47b92b4f2f 100644
--- a/lib/DebugInfo/PDB/DIA/DIASession.cpp
+++ b/lib/DebugInfo/PDB/DIA/DIASession.cpp
@@ -21,12 +21,22 @@
#include "llvm/DebugInfo/PDB/PDBSymbolExe.h"
#include "llvm/Support/ConvertUTF.h"
#include "llvm/Support/Format.h"
+#include "llvm/Support/FormatVariadic.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
using namespace llvm::pdb;
-static Error ErrorFromHResult(HRESULT Result, StringRef Context) {
+template <typename... Ts>
+static Error ErrorFromHResult(HRESULT Result, const char *Str, Ts &&... Args) {
+ SmallString<64> MessageStorage;
+ StringRef Context;
+ if (sizeof...(Args) > 0) {
+ MessageStorage = formatv(Str, std::forward<Ts>(Args)...).str();
+ Context = MessageStorage;
+ } else
+ Context = Str;
+
switch (Result) {
case E_PDB_NOT_FOUND:
return make_error<GenericError>(generic_error_code::invalid_path, Context);
@@ -95,8 +105,9 @@ Error DIASession::createFromPdb(StringRef Path,
const wchar_t *Path16Str = reinterpret_cast<const wchar_t*>(Path16.data());
HRESULT HR;
- if (FAILED(HR = DiaDataSource->loadDataFromPdb(Path16Str)))
- return ErrorFromHResult(HR, "Calling loadDataFromPdb");
+ if (FAILED(HR = DiaDataSource->loadDataFromPdb(Path16Str))) {
+ return ErrorFromHResult(HR, "Calling loadDataFromPdb {0}", Path);
+ }
if (FAILED(HR = DiaDataSource->openSession(&DiaSession)))
return ErrorFromHResult(HR, "Calling openSession");
diff --git a/lib/DebugInfo/PDB/Native/ModStream.cpp b/lib/DebugInfo/PDB/Native/ModStream.cpp
index 08798cf0ed28..e87e2c407593 100644
--- a/lib/DebugInfo/PDB/Native/ModStream.cpp
+++ b/lib/DebugInfo/PDB/Native/ModStream.cpp
@@ -82,4 +82,8 @@ ModStream::lines(bool *HadError) const {
return make_range(LineInfo.begin(HadError), LineInfo.end());
}
+bool ModStream::hasLineInfo() const {
+ return C13LinesSubstream.getLength() > 0 || LinesSubstream.getLength() > 0;
+}
+
Error ModStream::commit() { return Error::success(); }
diff --git a/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp b/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp
index 3aba35adb53f..70968d4330b0 100644
--- a/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp
+++ b/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp
@@ -13,6 +13,7 @@
#include "llvm/DebugInfo/PDB/IPDBEnumChildren.h"
#include "llvm/DebugInfo/PDB/Native/NativeSession.h"
#include "llvm/DebugInfo/PDB/PDBExtras.h"
+#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTableShape.h"
#include "llvm/Support/ConvertUTF.h"
@@ -320,7 +321,7 @@ uint32_t NativeRawSymbol::getVirtualTableShapeId() const {
return 0;
}
-std::unique_ptr<PDBSymbolTypeVTable>
+std::unique_ptr<PDBSymbolTypeBuiltin>
NativeRawSymbol::getVirtualBaseTableType() const {
return nullptr;
}
diff --git a/lib/DebugInfo/PDB/UDTLayout.cpp b/lib/DebugInfo/PDB/UDTLayout.cpp
index 61cef093d4ce..aacefae80c3a 100644
--- a/lib/DebugInfo/PDB/UDTLayout.cpp
+++ b/lib/DebugInfo/PDB/UDTLayout.cpp
@@ -16,6 +16,7 @@
#include "llvm/DebugInfo/PDB/PDBSymbolExe.h"
#include "llvm/DebugInfo/PDB/PDBSymbolFunc.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h"
+#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypePointer.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeUDT.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h"
@@ -39,36 +40,47 @@ static uint32_t getTypeLength(const PDBSymbol &Symbol) {
return RawType.getLength();
}
-StorageItemBase::StorageItemBase(const UDTLayoutBase &Parent,
- const PDBSymbol &Symbol,
- const std::string &Name,
- uint32_t OffsetInParent, uint32_t Size)
- : Parent(Parent), Symbol(Symbol), Name(Name),
- OffsetInParent(OffsetInParent), SizeOf(Size) {
+LayoutItemBase::LayoutItemBase(const UDTLayoutBase *Parent,
+ const PDBSymbol *Symbol, const std::string &Name,
+ uint32_t OffsetInParent, uint32_t Size,
+ bool IsElided)
+ : Symbol(Symbol), Parent(Parent), Name(Name),
+ OffsetInParent(OffsetInParent), SizeOf(Size), LayoutSize(Size),
+ IsElided(IsElided) {
UsedBytes.resize(SizeOf, true);
}
-uint32_t StorageItemBase::deepPaddingSize() const {
- // sizeof(Field) - sizeof(typeof(Field)) is trailing padding.
- return SizeOf - getTypeLength(Symbol);
+uint32_t LayoutItemBase::deepPaddingSize() const {
+ return UsedBytes.size() - UsedBytes.count();
+}
+
+uint32_t LayoutItemBase::tailPadding() const {
+ int Last = UsedBytes.find_last();
+
+ return UsedBytes.size() - (Last + 1);
}
DataMemberLayoutItem::DataMemberLayoutItem(
- const UDTLayoutBase &Parent, std::unique_ptr<PDBSymbolData> DataMember)
- : StorageItemBase(Parent, *DataMember, DataMember->getName(),
- DataMember->getOffset(), getTypeLength(*DataMember)),
- DataMember(std::move(DataMember)) {
- auto Type = this->DataMember->getType();
+ const UDTLayoutBase &Parent, std::unique_ptr<PDBSymbolData> Member)
+ : LayoutItemBase(&Parent, Member.get(), Member->getName(),
+ Member->getOffset(), getTypeLength(*Member), false),
+ DataMember(std::move(Member)) {
+ auto Type = DataMember->getType();
if (auto UDT = unique_dyn_cast<PDBSymbolTypeUDT>(Type)) {
- // UDT data members might have padding in between fields, but otherwise
- // a member should occupy its entire storage.
- UsedBytes.resize(SizeOf, false);
UdtLayout = llvm::make_unique<ClassLayout>(std::move(UDT));
+ UsedBytes = UdtLayout->usedBytes();
}
}
+VBPtrLayoutItem::VBPtrLayoutItem(const UDTLayoutBase &Parent,
+ std::unique_ptr<PDBSymbolTypeBuiltin> Sym,
+ uint32_t Offset, uint32_t Size)
+ : LayoutItemBase(&Parent, Sym.get(), "<vbptr>", Offset, Size, false),
+ Type(std::move(Sym)) {
+}
+
const PDBSymbolData &DataMemberLayoutItem::getDataMember() {
- return *dyn_cast<PDBSymbolData>(&Symbol);
+ return *dyn_cast<PDBSymbolData>(Symbol);
}
bool DataMemberLayoutItem::hasUDTLayout() const { return UdtLayout != nullptr; }
@@ -77,60 +89,73 @@ const ClassLayout &DataMemberLayoutItem::getUDTLayout() const {
return *UdtLayout;
}
-uint32_t DataMemberLayoutItem::deepPaddingSize() const {
- uint32_t Result = StorageItemBase::deepPaddingSize();
- if (UdtLayout)
- Result += UdtLayout->deepPaddingSize();
- return Result;
-}
-
VTableLayoutItem::VTableLayoutItem(const UDTLayoutBase &Parent,
- std::unique_ptr<PDBSymbolTypeVTable> VTable)
- : StorageItemBase(Parent, *VTable, "<vtbl>", 0, getTypeLength(*VTable)),
- VTable(std::move(VTable)) {
- auto VTableType = cast<PDBSymbolTypePointer>(this->VTable->getType());
+ std::unique_ptr<PDBSymbolTypeVTable> VT)
+ : LayoutItemBase(&Parent, VT.get(), "<vtbl>", 0, getTypeLength(*VT), false),
+ VTable(std::move(VT)) {
+ auto VTableType = cast<PDBSymbolTypePointer>(VTable->getType());
ElementSize = VTableType->getLength();
+}
- Shape =
- unique_dyn_cast<PDBSymbolTypeVTableShape>(VTableType->getPointeeType());
- if (Shape)
- VTableFuncs.resize(Shape->getCount());
+UDTLayoutBase::UDTLayoutBase(const UDTLayoutBase *Parent, const PDBSymbol &Sym,
+ const std::string &Name, uint32_t OffsetInParent,
+ uint32_t Size, bool IsElided)
+ : LayoutItemBase(Parent, &Sym, Name, OffsetInParent, Size, IsElided) {
+ // UDT storage comes from a union of all the children's storage, so start out
+ // uninitialized.
+ UsedBytes.reset(0, Size);
+
+ initializeChildren(Sym);
+ if (LayoutSize < Size)
+ UsedBytes.resize(LayoutSize);
}
-UDTLayoutBase::UDTLayoutBase(const PDBSymbol &Symbol, const std::string &Name,
- uint32_t Size)
- : SymbolBase(Symbol), Name(Name), SizeOf(Size) {
- UsedBytes.resize(Size);
- ChildrenPerByte.resize(Size);
- initializeChildren(Symbol);
+uint32_t UDTLayoutBase::tailPadding() const {
+ uint32_t Abs = LayoutItemBase::tailPadding();
+ if (!LayoutItems.empty()) {
+ const LayoutItemBase *Back = LayoutItems.back();
+ uint32_t ChildPadding = Back->LayoutItemBase::tailPadding();
+ if (Abs < ChildPadding)
+ Abs = 0;
+ else
+ Abs -= ChildPadding;
+ }
+ return Abs;
}
ClassLayout::ClassLayout(const PDBSymbolTypeUDT &UDT)
- : UDTLayoutBase(UDT, UDT.getName(), UDT.getLength()), UDT(UDT) {}
+ : UDTLayoutBase(nullptr, UDT, UDT.getName(), 0, UDT.getLength(), false),
+ UDT(UDT) {
+ ImmediateUsedBytes.resize(SizeOf, false);
+ for (auto &LI : LayoutItems) {
+ uint32_t Begin = LI->getOffsetInParent();
+ uint32_t End = Begin + LI->getLayoutSize();
+ End = std::min(SizeOf, End);
+ ImmediateUsedBytes.set(Begin, End);
+ }
+}
ClassLayout::ClassLayout(std::unique_ptr<PDBSymbolTypeUDT> UDT)
: ClassLayout(*UDT) {
OwnedStorage = std::move(UDT);
}
-BaseClassLayout::BaseClassLayout(const UDTLayoutBase &Parent,
- std::unique_ptr<PDBSymbolTypeBaseClass> Base)
- : UDTLayoutBase(*Base, Base->getName(), Base->getLength()),
- StorageItemBase(Parent, *Base, Base->getName(), Base->getOffset(),
- Base->getLength()),
- Base(std::move(Base)) {
- IsVirtualBase = this->Base->isVirtualBaseClass();
-}
-
-uint32_t UDTLayoutBase::shallowPaddingSize() const {
- return UsedBytes.size() - UsedBytes.count();
+uint32_t ClassLayout::immediatePadding() const {
+ return SizeOf - ImmediateUsedBytes.count();
}
-uint32_t UDTLayoutBase::deepPaddingSize() const {
- uint32_t Result = shallowPaddingSize();
- for (auto &Child : ChildStorage)
- Result += Child->deepPaddingSize();
- return Result;
+BaseClassLayout::BaseClassLayout(const UDTLayoutBase &Parent,
+ uint32_t OffsetInParent, bool Elide,
+ std::unique_ptr<PDBSymbolTypeBaseClass> B)
+ : UDTLayoutBase(&Parent, *B, B->getName(), OffsetInParent, B->getLength(),
+ Elide),
+ Base(std::move(B)) {
+ if (isEmptyBase()) {
+ // Special case an empty base so that it doesn't get treated as padding.
+ UsedBytes.resize(1);
+ UsedBytes.set(0);
+ }
+ IsVirtualBase = Base->isVirtualBaseClass();
}
void UDTLayoutBase::initializeChildren(const PDBSymbol &Sym) {
@@ -138,15 +163,16 @@ void UDTLayoutBase::initializeChildren(const PDBSymbol &Sym) {
// followed by functions, followed by other. This ordering is necessary
// so that bases and vtables get initialized before any functions which
// may override them.
-
UniquePtrVector<PDBSymbolTypeBaseClass> Bases;
UniquePtrVector<PDBSymbolTypeVTable> VTables;
UniquePtrVector<PDBSymbolData> Members;
+ UniquePtrVector<PDBSymbolTypeBaseClass> VirtualBaseSyms;
+
auto Children = Sym.findAllChildren();
while (auto Child = Children->getNext()) {
if (auto Base = unique_dyn_cast<PDBSymbolTypeBaseClass>(Child)) {
if (Base->isVirtualBaseClass())
- VirtualBases.push_back(std::move(Base));
+ VirtualBaseSyms.push_back(std::move(Base));
else
Bases.push_back(std::move(Base));
}
@@ -164,20 +190,33 @@ void UDTLayoutBase::initializeChildren(const PDBSymbol &Sym) {
Other.push_back(std::move(Child));
}
+ // We don't want to have any re-allocations in the list of bases, so make
+ // sure to reserve enough space so that our ArrayRefs don't get invalidated.
+ AllBases.reserve(Bases.size() + VirtualBaseSyms.size());
+
+ // Only add non-virtual bases to the class first. Only at the end of the
+ // class, after all non-virtual bases and data members have been added do we
+ // add virtual bases. This way the offsets are correctly aligned when we go
+ // to lay out virtual bases.
for (auto &Base : Bases) {
- auto BL = llvm::make_unique<BaseClassLayout>(*this, std::move(Base));
- BaseClasses.push_back(BL.get());
+ uint32_t Offset = Base->getOffset();
+ // Non-virtual bases never get elided.
+ auto BL = llvm::make_unique<BaseClassLayout>(*this, Offset, false,
+ std::move(Base));
+ AllBases.push_back(BL.get());
addChildToLayout(std::move(BL));
}
+ NonVirtualBases = AllBases;
- for (auto &VT : VTables) {
- auto VTLayout = llvm::make_unique<VTableLayoutItem>(*this, std::move(VT));
+ assert(VTables.size() <= 1);
+ if (!VTables.empty()) {
+ auto VTLayout =
+ llvm::make_unique<VTableLayoutItem>(*this, std::move(VTables[0]));
VTable = VTLayout.get();
addChildToLayout(std::move(VTLayout));
- continue;
}
for (auto &Data : Members) {
@@ -186,150 +225,74 @@ void UDTLayoutBase::initializeChildren(const PDBSymbol &Sym) {
addChildToLayout(std::move(DM));
}
- for (auto &Func : Funcs) {
- if (!Func->isVirtual())
- continue;
+ // Make sure add virtual bases before adding functions, since functions may be
+ // overrides of virtual functions declared in a virtual base, so the VTables
+ // and virtual intros need to be correctly initialized.
+ for (auto &VB : VirtualBaseSyms) {
+ int VBPO = VB->getVirtualBasePointerOffset();
+ if (!hasVBPtrAtOffset(VBPO)) {
+ if (auto VBP = VB->getRawSymbol().getVirtualBaseTableType()) {
+ auto VBPL = llvm::make_unique<VBPtrLayoutItem>(*this, std::move(VBP),
+ VBPO, VBP->getLength());
+ VBPtr = VBPL.get();
+ addChildToLayout(std::move(VBPL));
+ }
+ }
- if (Func->isIntroVirtualFunction())
- addVirtualIntro(*Func);
- else
- addVirtualOverride(*Func);
+ // Virtual bases always go at the end. So just look for the last place we
+ // ended when writing something, and put our virtual base there.
+ // Note that virtual bases get elided unless this is a top-most derived
+ // class.
+ uint32_t Offset = UsedBytes.find_last() + 1;
+ bool Elide = (Parent != nullptr);
+ auto BL =
+ llvm::make_unique<BaseClassLayout>(*this, Offset, Elide, std::move(VB));
+ AllBases.push_back(BL.get());
+
+ // Only lay this virtual base out directly inside of *this* class if this
+ // is a top-most derived class. Keep track of it regardless, but only
+ // physically lay it out if it's a topmost derived class.
+ addChildToLayout(std::move(BL));
}
+ VirtualBases = makeArrayRef(AllBases).drop_front(NonVirtualBases.size());
+
+ if (Parent != nullptr)
+ LayoutSize = UsedBytes.find_last() + 1;
}
-void UDTLayoutBase::addVirtualIntro(PDBSymbolFunc &Func) {
- // Kind of a hack, but we prefer the more common destructor name that people
- // are familiar with, e.g. ~ClassName. It seems there are always both and
- // the vector deleting destructor overwrites the nice destructor, so just
- // ignore the vector deleting destructor.
- if (Func.getName() == "__vecDelDtor")
- return;
-
- if (!VTable) {
- // FIXME: Handle this. What's most likely happening is we have an intro
- // virtual in a derived class where the base also has an intro virtual.
- // In this case the vtable lives in the base. What we really need is
- // for each UDTLayoutBase to contain a list of all its vtables, and
- // then propagate this list up the hierarchy so that derived classes have
- // direct access to their bases' vtables.
- return;
+bool UDTLayoutBase::hasVBPtrAtOffset(uint32_t Off) const {
+ if (VBPtr && VBPtr->getOffsetInParent() == Off)
+ return true;
+ for (BaseClassLayout *BL : AllBases) {
+ if (BL->hasVBPtrAtOffset(Off - BL->getOffsetInParent()))
+ return true;
}
-
- uint32_t Stride = VTable->getElementSize();
-
- uint32_t Index = Func.getVirtualBaseOffset();
- assert(Index % Stride == 0);
- Index /= Stride;
-
- VTable->setFunction(Index, Func);
+ return false;
}
-VTableLayoutItem *UDTLayoutBase::findVTableAtOffset(uint32_t RelativeOffset) {
- if (VTable && VTable->getOffsetInParent() == RelativeOffset)
- return VTable;
- for (auto Base : BaseClasses) {
- uint32_t Begin = Base->getOffsetInParent();
- uint32_t End = Begin + Base->getSize();
- if (RelativeOffset < Begin || RelativeOffset >= End)
- continue;
-
- return Base->findVTableAtOffset(RelativeOffset - Begin);
- }
+void UDTLayoutBase::addChildToLayout(std::unique_ptr<LayoutItemBase> Child) {
+ uint32_t Begin = Child->getOffsetInParent();
- return nullptr;
-}
+ if (!Child->isElided()) {
+ BitVector ChildBytes = Child->usedBytes();
-void UDTLayoutBase::addVirtualOverride(PDBSymbolFunc &Func) {
- auto Signature = Func.getSignature();
- auto ThisAdjust = Signature->getThisAdjust();
- // ThisAdjust tells us which VTable we're looking for. Specifically, it's
- // the offset into the current class of the VTable we're looking for. So
- // look through the base hierarchy until we find one such that
- // AbsoluteOffset(VT) == ThisAdjust
- VTableLayoutItem *VT = findVTableAtOffset(ThisAdjust);
- if (!VT) {
- // FIXME: There really should be a vtable here. If there's not it probably
- // means that the vtable is in a virtual base, which we don't yet support.
- assert(!VirtualBases.empty());
- return;
- }
- int32_t OverrideIndex = -1;
- // Now we've found the VTable. Func will not have a virtual base offset set,
- // so instead we need to compare names and signatures. We iterate each item
- // in the VTable. All items should already have non null entries because they
- // were initialized by the intro virtual, which was guaranteed to come before.
- for (auto ItemAndIndex : enumerate(VT->funcs())) {
- auto Item = ItemAndIndex.value();
- assert(Item);
- // If the name doesn't match, this isn't an override. Note that it's ok
- // for the return type to not match (e.g. co-variant return).
- if (Item->getName() != Func.getName()) {
- if (Item->isDestructor() && Func.isDestructor()) {
- OverrideIndex = ItemAndIndex.index();
- break;
- }
- continue;
- }
- // Now make sure it's the right overload. Get the signature of the existing
- // vtable method and make sure it has the same arglist and the same cv-ness.
- auto ExistingSig = Item->getSignature();
- if (ExistingSig->isConstType() != Signature->isConstType())
- continue;
- if (ExistingSig->isVolatileType() != Signature->isVolatileType())
- continue;
-
- // Now compare arguments. Using the raw bytes of the PDB this would be
- // trivial
- // because there is an ArgListId and they should be identical. But DIA
- // doesn't
- // expose this, so the best we can do is iterate each argument and confirm
- // that
- // each one is identical.
- if (ExistingSig->getCount() != Signature->getCount())
- continue;
- bool IsMatch = true;
- auto ExistingEnumerator = ExistingSig->getArguments();
- auto NewEnumerator = Signature->getArguments();
- for (uint32_t I = 0; I < ExistingEnumerator->getChildCount(); ++I) {
- auto ExistingArg = ExistingEnumerator->getNext();
- auto NewArg = NewEnumerator->getNext();
- if (ExistingArg->getSymIndexId() != NewArg->getSymIndexId()) {
- IsMatch = false;
- break;
- }
- }
- if (!IsMatch)
- continue;
+ // Suppose the child occupies 4 bytes starting at offset 12 in a 32 byte
+ // class. When we call ChildBytes.resize(32), the Child's storage will
+ // still begin at offset 0, so we need to shift it left by offset bytes
+ // to get it into the right position.
+ ChildBytes.resize(UsedBytes.size());
+ ChildBytes <<= Child->getOffsetInParent();
+ UsedBytes |= ChildBytes;
- // It's a match! Stick the new function into the VTable.
- OverrideIndex = ItemAndIndex.index();
- break;
- }
- if (OverrideIndex == -1) {
- // FIXME: This is probably due to one of the other FIXMEs in this file.
- return;
- }
- VT->setFunction(OverrideIndex, Func);
-}
+ if (ChildBytes.count() > 0) {
+ auto Loc = std::upper_bound(LayoutItems.begin(), LayoutItems.end(), Begin,
+ [](uint32_t Off, const LayoutItemBase *Item) {
+ return (Off < Item->getOffsetInParent());
+ });
-void UDTLayoutBase::addChildToLayout(std::unique_ptr<StorageItemBase> Child) {
- uint32_t Begin = Child->getOffsetInParent();
- uint32_t End = Begin + Child->getSize();
- // Due to the empty base optimization, End might point outside the bounds of
- // the parent class. If that happens, just clamp the value.
- End = std::min(End, getClassSize());
-
- UsedBytes.set(Begin, End);
- while (Begin != End) {
- ChildrenPerByte[Begin].push_back(Child.get());
- ++Begin;
+ LayoutItems.insert(Loc, Child.get());
+ }
}
- auto Loc = std::upper_bound(
- ChildStorage.begin(), ChildStorage.end(), Begin,
- [](uint32_t Off, const std::unique_ptr<StorageItemBase> &Item) {
- return Off < Item->getOffsetInParent();
- });
-
- ChildStorage.insert(Loc, std::move(Child));
+ ChildStorage.push_back(std::move(Child));
} \ No newline at end of file
diff --git a/lib/Fuzzer/CMakeLists.txt b/lib/Fuzzer/CMakeLists.txt
index 59cef04cdece..b886021aee3f 100644
--- a/lib/Fuzzer/CMakeLists.txt
+++ b/lib/Fuzzer/CMakeLists.txt
@@ -1,6 +1,18 @@
-set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS}")
-# Disable the coverage and sanitizer instrumentation for the fuzzer itself.
-set(CMAKE_CXX_FLAGS "${LIBFUZZER_FLAGS_BASE} -fno-sanitize-coverage=trace-pc-guard,edge,trace-cmp,indirect-calls,8bit-counters -Werror")
+include(CheckCXXSourceCompiles)
+
+if( APPLE )
+ CHECK_CXX_SOURCE_COMPILES("
+ static thread_local int blah;
+ int main() {
+ return 0;
+ }
+ " HAS_THREAD_LOCAL)
+
+ if( NOT HAS_THREAD_LOCAL )
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dthread_local=__thread")
+ endif()
+endif()
+
if( LLVM_USE_SANITIZE_COVERAGE )
if(NOT "${LLVM_USE_SANITIZER}" STREQUAL "Address")
message(FATAL_ERROR
@@ -8,41 +20,50 @@ if( LLVM_USE_SANITIZE_COVERAGE )
"LLVM_USE_SANITIZE_COVERAGE=YES to be set."
)
endif()
+ set(LIBFUZZER_FLAGS_BASE "${CMAKE_CXX_FLAGS}")
+
+ # Disable the coverage and sanitizer instrumentation for the fuzzer itself.
+ set(CMAKE_CXX_FLAGS "${LIBFUZZER_FLAGS_BASE} -fno-sanitize-coverage=trace-pc-guard,edge,trace-cmp,indirect-calls,8bit-counters -Werror")
+endif()
+
+# Compile libFuzzer if the compilation is specifically requested, OR
+# if the platform is known to be working.
+if ( LLVM_USE_SANITIZE_COVERAGE OR CMAKE_SYSTEM_NAME MATCHES "Darwin|Linux" )
add_library(LLVMFuzzerNoMainObjects OBJECT
- FuzzerCrossOver.cpp
- FuzzerDriver.cpp
- FuzzerExtFunctionsDlsym.cpp
- FuzzerExtFunctionsDlsymWin.cpp
- FuzzerExtFunctionsWeak.cpp
- FuzzerExtraCounters.cpp
- FuzzerIO.cpp
- FuzzerIOPosix.cpp
- FuzzerIOWindows.cpp
- FuzzerLoop.cpp
- FuzzerMerge.cpp
- FuzzerMutate.cpp
- FuzzerSHA1.cpp
- FuzzerShmemPosix.cpp
- FuzzerShmemWindows.cpp
- FuzzerTracePC.cpp
- FuzzerTraceState.cpp
- FuzzerUtil.cpp
- FuzzerUtilDarwin.cpp
- FuzzerUtilLinux.cpp
- FuzzerUtilPosix.cpp
- FuzzerUtilWindows.cpp
- )
+ FuzzerCrossOver.cpp
+ FuzzerDriver.cpp
+ FuzzerExtFunctionsDlsym.cpp
+ FuzzerExtFunctionsDlsymWin.cpp
+ FuzzerExtFunctionsWeak.cpp
+ FuzzerExtraCounters.cpp
+ FuzzerIO.cpp
+ FuzzerIOPosix.cpp
+ FuzzerIOWindows.cpp
+ FuzzerLoop.cpp
+ FuzzerMerge.cpp
+ FuzzerMutate.cpp
+ FuzzerSHA1.cpp
+ FuzzerShmemPosix.cpp
+ FuzzerShmemWindows.cpp
+ FuzzerTracePC.cpp
+ FuzzerTraceState.cpp
+ FuzzerUtil.cpp
+ FuzzerUtilDarwin.cpp
+ FuzzerUtilLinux.cpp
+ FuzzerUtilPosix.cpp
+ FuzzerUtilWindows.cpp
+ )
add_library(LLVMFuzzerNoMain STATIC
- $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
- )
+ $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
+ )
target_link_libraries(LLVMFuzzerNoMain ${LLVM_PTHREAD_LIB})
add_library(LLVMFuzzer STATIC
- FuzzerMain.cpp
- $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
- )
+ FuzzerMain.cpp
+ $<TARGET_OBJECTS:LLVMFuzzerNoMainObjects>
+ )
target_link_libraries(LLVMFuzzer ${LLVM_PTHREAD_LIB})
+endif()
- if( LLVM_INCLUDE_TESTS )
- add_subdirectory(test)
- endif()
+if( LLVM_USE_SANITIZE_COVERAGE AND LLVM_INCLUDE_TESTS )
+ add_subdirectory(test)
endif()
diff --git a/lib/Fuzzer/FuzzerDefs.h b/lib/Fuzzer/FuzzerDefs.h
index bd1827508002..27f5719236dd 100644
--- a/lib/Fuzzer/FuzzerDefs.h
+++ b/lib/Fuzzer/FuzzerDefs.h
@@ -36,17 +36,29 @@
#error "Support for your platform has not been implemented"
#endif
+#ifndef __has_attribute
+# define __has_attribute(x) 0
+#endif
+
#define LIBFUZZER_POSIX LIBFUZZER_APPLE || LIBFUZZER_LINUX
#ifdef __x86_64
-#define ATTRIBUTE_TARGET_POPCNT __attribute__((target("popcnt")))
+# if __has_attribute(target)
+# define ATTRIBUTE_TARGET_POPCNT __attribute__((target("popcnt")))
+# else
+# define ATTRIBUTE_TARGET_POPCNT
+# endif
#else
-#define ATTRIBUTE_TARGET_POPCNT
+# define ATTRIBUTE_TARGET_POPCNT
#endif
#ifdef __clang__ // avoid gcc warning.
-# define ATTRIBUTE_NO_SANITIZE_MEMORY __attribute__((no_sanitize("memory")))
+# if __has_attribute(no_sanitize)
+# define ATTRIBUTE_NO_SANITIZE_MEMORY __attribute__((no_sanitize("memory")))
+# else
+# define ATTRIBUTE_NO_SANITIZE_MEMORY
+# endif
# define ALWAYS_INLINE __attribute__((always_inline))
#else
# define ATTRIBUTE_NO_SANITIZE_MEMORY
diff --git a/lib/Fuzzer/FuzzerMerge.h b/lib/Fuzzer/FuzzerMerge.h
index cf4a0863571d..dd4c37b6e39c 100644
--- a/lib/Fuzzer/FuzzerMerge.h
+++ b/lib/Fuzzer/FuzzerMerge.h
@@ -69,7 +69,7 @@ struct Merger {
size_t Merge(const std::set<uint32_t> &InitialFeatures,
std::vector<std::string> *NewFiles);
size_t Merge(std::vector<std::string> *NewFiles) {
- return Merge({}, NewFiles);
+ return Merge(std::set<uint32_t>{}, NewFiles);
}
size_t ApproximateMemoryConsumption() const;
std::set<uint32_t> AllFeatures() const;
diff --git a/lib/IR/AsmWriter.cpp b/lib/IR/AsmWriter.cpp
index d0b77e7218b9..b7de07170de9 100644
--- a/lib/IR/AsmWriter.cpp
+++ b/lib/IR/AsmWriter.cpp
@@ -1103,35 +1103,34 @@ static void WriteConstantInternal(raw_ostream &Out, const Constant *CV,
}
if (const ConstantFP *CFP = dyn_cast<ConstantFP>(CV)) {
- if (&CFP->getValueAPF().getSemantics() == &APFloat::IEEEsingle() ||
- &CFP->getValueAPF().getSemantics() == &APFloat::IEEEdouble()) {
+ const APFloat &APF = CFP->getValueAPF();
+ if (&APF.getSemantics() == &APFloat::IEEEsingle() ||
+ &APF.getSemantics() == &APFloat::IEEEdouble()) {
// We would like to output the FP constant value in exponential notation,
// but we cannot do this if doing so will lose precision. Check here to
// make sure that we only output it in exponential format if we can parse
// the value back and get the same value.
//
bool ignored;
- bool isDouble = &CFP->getValueAPF().getSemantics()==&APFloat::IEEEdouble();
- bool isInf = CFP->getValueAPF().isInfinity();
- bool isNaN = CFP->getValueAPF().isNaN();
+ bool isDouble = &APF.getSemantics() == &APFloat::IEEEdouble();
+ bool isInf = APF.isInfinity();
+ bool isNaN = APF.isNaN();
if (!isInf && !isNaN) {
- double Val = isDouble ? CFP->getValueAPF().convertToDouble() :
- CFP->getValueAPF().convertToFloat();
+ double Val = isDouble ? APF.convertToDouble() : APF.convertToFloat();
SmallString<128> StrVal;
- raw_svector_ostream(StrVal) << Val;
-
+ APF.toString(StrVal, 6, 0, false);
// Check to make sure that the stringized number is not some string like
// "Inf" or NaN, that atof will accept, but the lexer will not. Check
// that the string matches the "[-+]?[0-9]" regex.
//
- if ((StrVal[0] >= '0' && StrVal[0] <= '9') ||
- ((StrVal[0] == '-' || StrVal[0] == '+') &&
- (StrVal[1] >= '0' && StrVal[1] <= '9'))) {
- // Reparse stringized version!
- if (APFloat(APFloat::IEEEdouble(), StrVal).convertToDouble() == Val) {
- Out << StrVal;
- return;
- }
+ assert(((StrVal[0] >= '0' && StrVal[0] <= '9') ||
+ ((StrVal[0] == '-' || StrVal[0] == '+') &&
+ (StrVal[1] >= '0' && StrVal[1] <= '9'))) &&
+ "[-+]?[0-9] regex does not match!");
+ // Reparse stringized version!
+ if (APFloat(APFloat::IEEEdouble(), StrVal).convertToDouble() == Val) {
+ Out << StrVal;
+ return;
}
}
// Otherwise we could not reparse it to exactly the same value, so we must
@@ -1140,7 +1139,7 @@ static void WriteConstantInternal(raw_ostream &Out, const Constant *CV,
// x86, so we must not use these types.
static_assert(sizeof(double) == sizeof(uint64_t),
"assuming that double is 64 bits!");
- APFloat apf = CFP->getValueAPF();
+ APFloat apf = APF;
// Floats are represented in ASCII IR as double, convert.
if (!isDouble)
apf.convert(APFloat::IEEEdouble(), APFloat::rmNearestTiesToEven,
@@ -1153,27 +1152,27 @@ static void WriteConstantInternal(raw_ostream &Out, const Constant *CV,
// These appear as a magic letter identifying the type, then a
// fixed number of hex digits.
Out << "0x";
- APInt API = CFP->getValueAPF().bitcastToAPInt();
- if (&CFP->getValueAPF().getSemantics() == &APFloat::x87DoubleExtended()) {
+ APInt API = APF.bitcastToAPInt();
+ if (&APF.getSemantics() == &APFloat::x87DoubleExtended()) {
Out << 'K';
Out << format_hex_no_prefix(API.getHiBits(16).getZExtValue(), 4,
/*Upper=*/true);
Out << format_hex_no_prefix(API.getLoBits(64).getZExtValue(), 16,
/*Upper=*/true);
return;
- } else if (&CFP->getValueAPF().getSemantics() == &APFloat::IEEEquad()) {
+ } else if (&APF.getSemantics() == &APFloat::IEEEquad()) {
Out << 'L';
Out << format_hex_no_prefix(API.getLoBits(64).getZExtValue(), 16,
/*Upper=*/true);
Out << format_hex_no_prefix(API.getHiBits(64).getZExtValue(), 16,
/*Upper=*/true);
- } else if (&CFP->getValueAPF().getSemantics() == &APFloat::PPCDoubleDouble()) {
+ } else if (&APF.getSemantics() == &APFloat::PPCDoubleDouble()) {
Out << 'M';
Out << format_hex_no_prefix(API.getLoBits(64).getZExtValue(), 16,
/*Upper=*/true);
Out << format_hex_no_prefix(API.getHiBits(64).getZExtValue(), 16,
/*Upper=*/true);
- } else if (&CFP->getValueAPF().getSemantics() == &APFloat::IEEEhalf()) {
+ } else if (&APF.getSemantics() == &APFloat::IEEEhalf()) {
Out << 'H';
Out << format_hex_no_prefix(API.getZExtValue(), 4,
/*Upper=*/true);
diff --git a/lib/IR/AttributeImpl.h b/lib/IR/AttributeImpl.h
index 09f037365793..cf2925254695 100644
--- a/lib/IR/AttributeImpl.h
+++ b/lib/IR/AttributeImpl.h
@@ -255,17 +255,10 @@ public:
/// \brief Retrieve the attribute set node for the given "slot" in the
/// AttrNode list.
- AttributeSet getSlotNode(unsigned Slot) const {
+ AttributeSet getSlotAttributes(unsigned Slot) const {
return getSlotPair(Slot)->second;
}
- /// \brief Retrieve the attributes for the given "slot" in the AttrNode list.
- /// \p Slot is an index into the AttrNodes list, not the index of the return /
- /// parameter/ function which the attributes apply to.
- AttributeList getSlotAttributes(unsigned Slot) const {
- return AttributeList::get(Context, *getSlotPair(Slot));
- }
-
/// \brief Return true if the AttributeSet or the FunctionIndex has an
/// enum attribute of the given kind.
bool hasFnAttribute(Attribute::AttrKind Kind) const {
@@ -273,8 +266,10 @@ public:
}
typedef AttributeSet::iterator iterator;
- iterator begin(unsigned Slot) const { return getSlotNode(Slot).begin(); }
- iterator end(unsigned Slot) const { return getSlotNode(Slot).end(); }
+ iterator begin(unsigned Slot) const {
+ return getSlotAttributes(Slot).begin();
+ }
+ iterator end(unsigned Slot) const { return getSlotAttributes(Slot).end(); }
void Profile(FoldingSetNodeID &ID) const;
static void Profile(FoldingSetNodeID &ID,
diff --git a/lib/IR/Attributes.cpp b/lib/IR/Attributes.cpp
index d690111ef210..e30414537a6c 100644
--- a/lib/IR/Attributes.cpp
+++ b/lib/IR/Attributes.cpp
@@ -955,13 +955,13 @@ AttributeList AttributeList::addAttribute(LLVMContext &C,
for (unsigned Index : Indices) {
// Add all attribute slots before the current index.
for (; I < E && getSlotIndex(I) < Index; ++I)
- AttrVec.emplace_back(getSlotIndex(I), pImpl->getSlotNode(I));
+ AttrVec.emplace_back(getSlotIndex(I), pImpl->getSlotAttributes(I));
// Add the attribute at this index. If we already have attributes at this
// index, merge them into a new set.
AttrBuilder B;
if (I < E && getSlotIndex(I) == Index) {
- B.merge(AttrBuilder(pImpl->getSlotNode(I)));
+ B.merge(AttrBuilder(pImpl->getSlotAttributes(I)));
++I;
}
B.addAttribute(A);
@@ -970,7 +970,7 @@ AttributeList AttributeList::addAttribute(LLVMContext &C,
// Add remaining attributes.
for (; I < E; ++I)
- AttrVec.emplace_back(getSlotIndex(I), pImpl->getSlotNode(I));
+ AttrVec.emplace_back(getSlotIndex(I), pImpl->getSlotAttributes(I));
return get(C, AttrVec);
}
@@ -1008,13 +1008,13 @@ AttributeList AttributeList::addAttributes(LLVMContext &C, unsigned Index,
for (I = 0; I < NumAttrs; ++I) {
if (getSlotIndex(I) >= Index)
break;
- AttrVec.emplace_back(getSlotIndex(I), pImpl->getSlotNode(I));
+ AttrVec.emplace_back(getSlotIndex(I), pImpl->getSlotAttributes(I));
}
AttrBuilder NewAttrs;
if (I < NumAttrs && getSlotIndex(I) == Index) {
// We need to merge the attribute sets.
- NewAttrs.merge(pImpl->getSlotNode(I));
+ NewAttrs.merge(pImpl->getSlotAttributes(I));
++I;
}
NewAttrs.merge(B);
@@ -1024,7 +1024,7 @@ AttributeList AttributeList::addAttributes(LLVMContext &C, unsigned Index,
// Add the remaining entries.
for (; I < NumAttrs; ++I)
- AttrVec.emplace_back(getSlotIndex(I), pImpl->getSlotNode(I));
+ AttrVec.emplace_back(getSlotIndex(I), pImpl->getSlotAttributes(I));
return get(C, AttrVec);
}
@@ -1063,11 +1063,11 @@ AttributeList AttributeList::removeAttributes(LLVMContext &C, unsigned Index,
for (unsigned I = 0, E = NumAttrs; I != E; ++I) {
if (getSlotIndex(I) >= Index) {
if (getSlotIndex(I) == Index)
- B = AttrBuilder(pImpl->getSlotNode(LastIndex++));
+ B = AttrBuilder(getSlotAttributes(LastIndex++));
break;
}
LastIndex = I + 1;
- AttrSets.push_back({getSlotIndex(I), pImpl->getSlotNode(I)});
+ AttrSets.push_back({getSlotIndex(I), getSlotAttributes(I)});
}
// Remove the attributes from the existing set and add them.
@@ -1077,7 +1077,7 @@ AttributeList AttributeList::removeAttributes(LLVMContext &C, unsigned Index,
// Add the remaining attribute slots.
for (unsigned I = LastIndex, E = NumAttrs; I < E; ++I)
- AttrSets.push_back({getSlotIndex(I), pImpl->getSlotNode(I)});
+ AttrSets.push_back({getSlotIndex(I), getSlotAttributes(I)});
return get(C, AttrSets);
}
@@ -1091,7 +1091,7 @@ AttributeList AttributeList::removeAttributes(LLVMContext &C,
for (unsigned I = 0, E = pImpl->getNumSlots(); I != E; ++I) {
unsigned Index = getSlotIndex(I);
if (Index != WithoutIndex)
- AttrSet.push_back({Index, pImpl->getSlotNode(I)});
+ AttrSet.push_back({Index, pImpl->getSlotAttributes(I)});
}
return get(C, AttrSet);
}
@@ -1220,7 +1220,7 @@ AttributeSet AttributeList::getAttributes(unsigned Index) const {
// Loop through to find the attribute node we want.
for (unsigned I = 0, E = pImpl->getNumSlots(); I != E; ++I)
if (pImpl->getSlotIndex(I) == Index)
- return pImpl->getSlotNode(I);
+ return pImpl->getSlotAttributes(I);
return AttributeSet();
}
@@ -1251,7 +1251,7 @@ unsigned AttributeList::getSlotIndex(unsigned Slot) const {
return pImpl->getSlotIndex(Slot);
}
-AttributeList AttributeList::getSlotAttributes(unsigned Slot) const {
+AttributeSet AttributeList::getSlotAttributes(unsigned Slot) const {
assert(pImpl && Slot < pImpl->getNumSlots() &&
"Slot # out of range!");
return pImpl->getSlotAttributes(Slot);
diff --git a/lib/IR/GCOV.cpp b/lib/IR/GCOV.cpp
index ba92a91cc917..d4b455228225 100644
--- a/lib/IR/GCOV.cpp
+++ b/lib/IR/GCOV.cpp
@@ -589,8 +589,12 @@ FileInfo::openCoveragePath(StringRef CoveragePath) {
/// print - Print source files with collected line count information.
void FileInfo::print(raw_ostream &InfoOS, StringRef MainFilename,
StringRef GCNOFile, StringRef GCDAFile) {
- for (const auto &LI : LineInfo) {
- StringRef Filename = LI.first();
+ SmallVector<StringRef, 4> Filenames;
+ for (const auto &LI : LineInfo)
+ Filenames.push_back(LI.first());
+ std::sort(Filenames.begin(), Filenames.end());
+
+ for (StringRef Filename : Filenames) {
auto AllLines = LineConsumer(Filename);
std::string CoveragePath = getCoveragePath(Filename, MainFilename);
@@ -603,7 +607,7 @@ void FileInfo::print(raw_ostream &InfoOS, StringRef MainFilename,
CovOS << " -: 0:Runs:" << RunCount << "\n";
CovOS << " -: 0:Programs:" << ProgramCount << "\n";
- const LineData &Line = LI.second;
+ const LineData &Line = LineInfo[Filename];
GCOVCoverage FileCoverage(Filename);
for (uint32_t LineIndex = 0; LineIndex < Line.LastLine || !AllLines.empty();
++LineIndex) {
diff --git a/lib/IR/Value.cpp b/lib/IR/Value.cpp
index b07c57685a26..d83bdf2acd43 100644
--- a/lib/IR/Value.cpp
+++ b/lib/IR/Value.cpp
@@ -432,6 +432,7 @@ namespace {
enum PointerStripKind {
PSK_ZeroIndices,
PSK_ZeroIndicesAndAliases,
+ PSK_ZeroIndicesAndAliasesAndBarriers,
PSK_InBoundsConstantIndices,
PSK_InBounds
};
@@ -450,6 +451,7 @@ static const Value *stripPointerCastsAndOffsets(const Value *V) {
if (auto *GEP = dyn_cast<GEPOperator>(V)) {
switch (StripKind) {
case PSK_ZeroIndicesAndAliases:
+ case PSK_ZeroIndicesAndAliasesAndBarriers:
case PSK_ZeroIndices:
if (!GEP->hasAllZeroIndices())
return V;
@@ -472,12 +474,20 @@ static const Value *stripPointerCastsAndOffsets(const Value *V) {
return V;
V = GA->getAliasee();
} else {
- if (auto CS = ImmutableCallSite(V))
+ if (auto CS = ImmutableCallSite(V)) {
if (const Value *RV = CS.getReturnedArgOperand()) {
V = RV;
continue;
}
-
+ // The result of invariant.group.barrier must alias it's argument,
+ // but it can't be marked with returned attribute, that's why it needs
+ // special case.
+ if (StripKind == PSK_ZeroIndicesAndAliasesAndBarriers &&
+ CS.getIntrinsicID() == Intrinsic::invariant_group_barrier) {
+ V = CS.getArgOperand(0);
+ continue;
+ }
+ }
return V;
}
assert(V->getType()->isPointerTy() && "Unexpected operand type!");
@@ -499,6 +509,11 @@ const Value *Value::stripInBoundsConstantOffsets() const {
return stripPointerCastsAndOffsets<PSK_InBoundsConstantIndices>(this);
}
+const Value *Value::stripPointerCastsAndBarriers() const {
+ return stripPointerCastsAndOffsets<PSK_ZeroIndicesAndAliasesAndBarriers>(
+ this);
+}
+
const Value *
Value::stripAndAccumulateInBoundsConstantOffsets(const DataLayout &DL,
APInt &Offset) const {
diff --git a/lib/LTO/LTO.cpp b/lib/LTO/LTO.cpp
index 9782c898bf50..1bc0d7361d4c 100644
--- a/lib/LTO/LTO.cpp
+++ b/lib/LTO/LTO.cpp
@@ -415,7 +415,8 @@ void LTO::addSymbolToGlobalRes(const InputFile::Symbol &Sym,
// Flag as visible outside of ThinLTO if visible from a regular object or
// if this is a reference in the regular LTO partition.
GlobalRes.VisibleOutsideThinLTO |=
- (Res.VisibleToRegularObj || (Partition == GlobalResolution::RegularLTO));
+ (Res.VisibleToRegularObj || Sym.isUsed() ||
+ Partition == GlobalResolution::RegularLTO);
}
static void writeToResolutionFile(raw_ostream &OS, InputFile *Input,
diff --git a/lib/LTO/LTOBackend.cpp b/lib/LTO/LTOBackend.cpp
index 4bd251f727a4..30447c528af1 100644
--- a/lib/LTO/LTOBackend.cpp
+++ b/lib/LTO/LTOBackend.cpp
@@ -25,7 +25,6 @@
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Verifier.h"
#include "llvm/LTO/LTO.h"
-#include "llvm/LTO/legacy/UpdateCompilerUsed.h"
#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Object/ModuleSymbolTable.h"
#include "llvm/Passes/PassBuilder.h"
@@ -353,19 +352,6 @@ finalizeOptimizationRemarks(std::unique_ptr<tool_output_file> DiagOutputFile) {
DiagOutputFile->os().flush();
}
-static void handleAsmUndefinedRefs(Module &Mod, TargetMachine &TM) {
- // Collect the list of undefined symbols used in asm and update
- // llvm.compiler.used to prevent optimization to drop these from the output.
- StringSet<> AsmUndefinedRefs;
- ModuleSymbolTable::CollectAsmSymbols(
- Mod,
- [&AsmUndefinedRefs](StringRef Name, object::BasicSymbolRef::Flags Flags) {
- if (Flags & object::BasicSymbolRef::SF_Undefined)
- AsmUndefinedRefs.insert(Name);
- });
- updateCompilerUsed(Mod, TM, AsmUndefinedRefs);
-}
-
Error lto::backend(Config &C, AddStreamFn AddStream,
unsigned ParallelCodeGenParallelismLevel,
std::unique_ptr<Module> Mod,
@@ -377,8 +363,6 @@ Error lto::backend(Config &C, AddStreamFn AddStream,
std::unique_ptr<TargetMachine> TM =
createTargetMachine(C, Mod->getTargetTriple(), *TOrErr);
- handleAsmUndefinedRefs(*Mod, *TM);
-
// Setup optimization remarks.
auto DiagFileOrErr = lto::setupOptimizationRemarks(
Mod->getContext(), C.RemarksFilename, C.RemarksWithHotness);
@@ -416,8 +400,6 @@ Error lto::thinBackend(Config &Conf, unsigned Task, AddStreamFn AddStream,
std::unique_ptr<TargetMachine> TM =
createTargetMachine(Conf, Mod.getTargetTriple(), *TOrErr);
- handleAsmUndefinedRefs(Mod, *TM);
-
if (Conf.CodeGenOnly) {
codegen(Conf, TM.get(), AddStream, Task, Mod);
return Error::success();
diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp
index 42e8ad340281..2fa9c03b608e 100644
--- a/lib/MC/MCParser/AsmParser.cpp
+++ b/lib/MC/MCParser/AsmParser.cpp
@@ -134,7 +134,7 @@ struct ParseStatementInfo {
SmallVectorImpl<AsmRewrite> *AsmRewrites = nullptr;
- ParseStatementInfo() = default;
+ ParseStatementInfo() = delete;
ParseStatementInfo(SmallVectorImpl<AsmRewrite> *rewrites)
: AsmRewrites(rewrites) {}
};
@@ -737,6 +737,7 @@ bool AsmParser::Run(bool NoInitialTextSection, bool NoFinalize) {
HadError = false;
AsmCond StartingCondState = TheCondState;
+ SmallVector<AsmRewrite, 4> AsmStrRewrites;
// If we are generating dwarf for assembly source files save the initial text
// section and generate a .file directive.
@@ -756,7 +757,7 @@ bool AsmParser::Run(bool NoInitialTextSection, bool NoFinalize) {
// While we have input, parse each statement.
while (Lexer.isNot(AsmToken::Eof)) {
- ParseStatementInfo Info;
+ ParseStatementInfo Info(&AsmStrRewrites);
if (!parseStatement(Info, nullptr))
continue;
@@ -1650,7 +1651,7 @@ bool AsmParser::parseStatement(ParseStatementInfo &Info,
}
// Emit the label.
- if (!ParsingInlineAsm)
+ if (!getTargetParser().isParsingInlineAsm())
Out.EmitLabel(Sym, IDLoc);
// If we are generating dwarf for assembly source files then gather the
@@ -2057,9 +2058,9 @@ bool AsmParser::parseStatement(ParseStatementInfo &Info,
// If parsing succeeded, match the instruction.
if (!ParseHadError) {
uint64_t ErrorInfo;
- if (getTargetParser().MatchAndEmitInstruction(IDLoc, Info.Opcode,
- Info.ParsedOperands, Out,
- ErrorInfo, ParsingInlineAsm))
+ if (getTargetParser().MatchAndEmitInstruction(
+ IDLoc, Info.Opcode, Info.ParsedOperands, Out, ErrorInfo,
+ getTargetParser().isParsingInlineAsm()))
return true;
}
return false;
diff --git a/lib/MC/WasmObjectWriter.cpp b/lib/MC/WasmObjectWriter.cpp
index 159cc3b4def2..6444046a30d7 100644
--- a/lib/MC/WasmObjectWriter.cpp
+++ b/lib/MC/WasmObjectWriter.cpp
@@ -1105,7 +1105,7 @@ void WasmObjectWriter::writeObject(MCAssembler &Asm,
encodeULEB128(wasm::WASM_SEC_CODE, getStream());
- encodeULEB128(CodeRelocations.size(), getStream());
+ encodeULEB128(CodeRelocations.size() + TypeIndexFixups.size(), getStream());
WriteRelocations(CodeRelocations, getStream(), SymbolIndices);
WriteTypeRelocations(TypeIndexFixups, TypeIndexFixupTypes, getStream());
diff --git a/lib/Object/ELF.cpp b/lib/Object/ELF.cpp
index 23682e1fabfd..e89a4a315c46 100644
--- a/lib/Object/ELF.cpp
+++ b/lib/Object/ELF.cpp
@@ -1,4 +1,4 @@
-//===- ELF.cpp - ELF object file implementation -----------------*- C++ -*-===//
+//===- ELF.cpp - ELF object file implementation ---------------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -8,15 +8,17 @@
//===----------------------------------------------------------------------===//
#include "llvm/Object/ELF.h"
+#include "llvm/Support/ELF.h"
-namespace llvm {
-namespace object {
+using namespace llvm;
+using namespace object;
#define ELF_RELOC(name, value) \
case ELF::name: \
return #name; \
-StringRef getELFRelocationTypeName(uint32_t Machine, uint32_t Type) {
+StringRef llvm::object::getELFRelocationTypeName(uint32_t Machine,
+ uint32_t Type) {
switch (Machine) {
case ELF::EM_X86_64:
switch (Type) {
@@ -139,6 +141,3 @@ StringRef getELFRelocationTypeName(uint32_t Machine, uint32_t Type) {
}
#undef ELF_RELOC
-
-} // end namespace object
-} // end namespace llvm
diff --git a/lib/Object/ELFObjectFile.cpp b/lib/Object/ELFObjectFile.cpp
index 3f8c81c8e911..86f033bb6cbf 100644
--- a/lib/Object/ELFObjectFile.cpp
+++ b/lib/Object/ELFObjectFile.cpp
@@ -1,4 +1,4 @@
-//===- ELFObjectFile.cpp - ELF object file implementation -------*- C++ -*-===//
+//===- ELFObjectFile.cpp - ELF object file implementation -----------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -11,12 +11,27 @@
//
//===----------------------------------------------------------------------===//
+#include "llvm/ADT/Triple.h"
+#include "llvm/MC/SubtargetFeature.h"
+#include "llvm/Object/ELF.h"
#include "llvm/Object/ELFObjectFile.h"
+#include "llvm/Object/ELFTypes.h"
+#include "llvm/Object/Error.h"
#include "llvm/Support/ARMBuildAttributes.h"
#include "llvm/Support/ARMAttributeParser.h"
+#include "llvm/Support/ELF.h"
+#include "llvm/Support/Endian.h"
+#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
+#include <algorithm>
+#include <cstddef>
+#include <cstdint>
+#include <memory>
+#include <string>
+#include <system_error>
+#include <utility>
-namespace llvm {
+using namespace llvm;
using namespace object;
ELFObjectFileBase::ELFObjectFileBase(unsigned int Type, MemoryBufferRef Source)
@@ -299,5 +314,3 @@ void ELFObjectFileBase::setARMSubArch(Triple &TheTriple) const {
TheTriple.setArchName(Triple);
}
-
-} // end namespace llvm
diff --git a/lib/Object/IRSymtab.cpp b/lib/Object/IRSymtab.cpp
index bb3d1b2cf695..5f0837882d60 100644
--- a/lib/Object/IRSymtab.cpp
+++ b/lib/Object/IRSymtab.cpp
@@ -1,4 +1,4 @@
-//===- IRSymtab.cpp - implementation of IR symbol tables --------*- C++ -*-===//
+//===- IRSymtab.cpp - implementation of IR symbol tables ------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -7,14 +7,34 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/Object/IRSymtab.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/SmallPtrSet.h"
+#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/SmallVector.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/Triple.h"
#include "llvm/Analysis/ObjectUtils.h"
+#include "llvm/IR/Comdat.h"
+#include "llvm/IR/DataLayout.h"
+#include "llvm/IR/GlobalAlias.h"
+#include "llvm/IR/GlobalObject.h"
#include "llvm/IR/Mangler.h"
+#include "llvm/IR/Metadata.h"
#include "llvm/IR/Module.h"
#include "llvm/MC/StringTableBuilder.h"
+#include "llvm/Object/IRSymtab.h"
#include "llvm/Object/ModuleSymbolTable.h"
+#include "llvm/Object/SymbolicFile.h"
#include "llvm/Support/Allocator.h"
+#include "llvm/Support/Casting.h"
+#include "llvm/Support/Error.h"
+#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/StringSaver.h"
+#include <cassert>
+#include <string>
+#include <utility>
+#include <vector>
using namespace llvm;
using namespace irsymtab;
@@ -25,6 +45,7 @@ namespace {
struct Builder {
SmallVector<char, 0> &Symtab;
SmallVector<char, 0> &Strtab;
+
Builder(SmallVector<char, 0> &Symtab, SmallVector<char, 0> &Strtab)
: Symtab(Symtab), Strtab(Strtab) {}
@@ -49,6 +70,7 @@ struct Builder {
S.Offset = StrtabBuilder.add(Value);
S.Size = Value.size();
}
+
template <typename T>
void writeRange(storage::Range<T> &R, const std::vector<T> &Objs) {
R.Offset = Symtab.size();
@@ -141,6 +163,9 @@ Error Builder::addSymbol(const ModuleSymbolTable &Msymtab,
Sym.ComdatIndex = -1;
auto *GV = Msym.dyn_cast<GlobalValue *>();
if (!GV) {
+ // Undefined module asm symbols act as GC roots and are implicitly used.
+ if (Flags & object::BasicSymbolRef::SF_Undefined)
+ Sym.Flags |= 1 << storage::Symbol::FB_used;
setStr(Sym.IRName, "");
return Error::success();
}
@@ -228,7 +253,7 @@ Error Builder::build(ArrayRef<Module *> IRMods) {
return Error::success();
}
-} // anonymous namespace
+} // end anonymous namespace
Error irsymtab::build(ArrayRef<Module *> Mods, SmallVector<char, 0> &Symtab,
SmallVector<char, 0> &Strtab) {
diff --git a/lib/Object/MachOObjectFile.cpp b/lib/Object/MachOObjectFile.cpp
index 1753d2baaedd..3d3fa07db3f4 100644
--- a/lib/Object/MachOObjectFile.cpp
+++ b/lib/Object/MachOObjectFile.cpp
@@ -1,4 +1,4 @@
-//===- MachOObjectFile.cpp - Mach-O object file binding ---------*- C++ -*-===//
+//===- MachOObjectFile.cpp - Mach-O object file binding -------------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -12,32 +12,52 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/Object/MachO.h"
+#include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/None.h"
+#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringExtras.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSwitch.h"
#include "llvm/ADT/Triple.h"
+#include "llvm/ADT/Twine.h"
+#include "llvm/Object/Error.h"
+#include "llvm/Object/MachO.h"
+#include "llvm/Object/ObjectFile.h"
+#include "llvm/Object/SymbolicFile.h"
#include "llvm/Support/DataExtractor.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/Error.h"
+#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/Host.h"
#include "llvm/Support/LEB128.h"
#include "llvm/Support/MachO.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
-#include <cctype>
+#include "llvm/Support/SwapByteOrder.h"
+#include <algorithm>
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
#include <cstring>
#include <limits>
#include <list>
+#include <memory>
+#include <string>
+#include <system_error>
using namespace llvm;
using namespace object;
namespace {
+
struct section_base {
char sectname[16];
char segname[16];
};
-}
+
+} // end anonymous namespace
static Error
malformedError(Twine Msg) {
@@ -1144,11 +1164,7 @@ MachOObjectFile::MachOObjectFile(MemoryBufferRef Object, bool IsLittleEndian,
bool Is64bits, Error &Err,
uint32_t UniversalCputype,
uint32_t UniversalIndex)
- : ObjectFile(getMachOType(IsLittleEndian, Is64bits), Object),
- SymtabLoadCmd(nullptr), DysymtabLoadCmd(nullptr),
- DataInCodeLoadCmd(nullptr), LinkOptHintsLoadCmd(nullptr),
- DyldInfoLoadCmd(nullptr), UuidLoadCmd(nullptr),
- HasPageZeroSegment(false) {
+ : ObjectFile(getMachOType(IsLittleEndian, Is64bits), Object) {
ErrorAsOutParameter ErrAsOutParam(&Err);
uint64_t SizeOfHeaders;
uint32_t cputype;
@@ -2343,11 +2359,11 @@ StringRef MachOObjectFile::getFileFormatName() const {
unsigned CPUType = getCPUType(*this);
if (!is64Bit()) {
switch (CPUType) {
- case llvm::MachO::CPU_TYPE_I386:
+ case MachO::CPU_TYPE_I386:
return "Mach-O 32-bit i386";
- case llvm::MachO::CPU_TYPE_ARM:
+ case MachO::CPU_TYPE_ARM:
return "Mach-O arm";
- case llvm::MachO::CPU_TYPE_POWERPC:
+ case MachO::CPU_TYPE_POWERPC:
return "Mach-O 32-bit ppc";
default:
return "Mach-O 32-bit unknown";
@@ -2355,11 +2371,11 @@ StringRef MachOObjectFile::getFileFormatName() const {
}
switch (CPUType) {
- case llvm::MachO::CPU_TYPE_X86_64:
+ case MachO::CPU_TYPE_X86_64:
return "Mach-O 64-bit x86-64";
- case llvm::MachO::CPU_TYPE_ARM64:
+ case MachO::CPU_TYPE_ARM64:
return "Mach-O arm64";
- case llvm::MachO::CPU_TYPE_POWERPC64:
+ case MachO::CPU_TYPE_POWERPC64:
return "Mach-O 64-bit ppc64";
default:
return "Mach-O 64-bit unknown";
@@ -2368,17 +2384,17 @@ StringRef MachOObjectFile::getFileFormatName() const {
Triple::ArchType MachOObjectFile::getArch(uint32_t CPUType) {
switch (CPUType) {
- case llvm::MachO::CPU_TYPE_I386:
+ case MachO::CPU_TYPE_I386:
return Triple::x86;
- case llvm::MachO::CPU_TYPE_X86_64:
+ case MachO::CPU_TYPE_X86_64:
return Triple::x86_64;
- case llvm::MachO::CPU_TYPE_ARM:
+ case MachO::CPU_TYPE_ARM:
return Triple::arm;
- case llvm::MachO::CPU_TYPE_ARM64:
+ case MachO::CPU_TYPE_ARM64:
return Triple::aarch64;
- case llvm::MachO::CPU_TYPE_POWERPC:
+ case MachO::CPU_TYPE_POWERPC:
return Triple::ppc;
- case llvm::MachO::CPU_TYPE_POWERPC64:
+ case MachO::CPU_TYPE_POWERPC64:
return Triple::ppc64;
default:
return Triple::UnknownArch;
@@ -2571,8 +2587,7 @@ dice_iterator MachOObjectFile::end_dices() const {
return dice_iterator(DiceRef(DRI, this));
}
-ExportEntry::ExportEntry(ArrayRef<uint8_t> T)
- : Trie(T), Malformed(false), Done(false) {}
+ExportEntry::ExportEntry(ArrayRef<uint8_t> T) : Trie(T) {}
void ExportEntry::moveToFirst() {
pushNode(0);
@@ -2641,9 +2656,7 @@ uint32_t ExportEntry::nodeOffset() const {
}
ExportEntry::NodeState::NodeState(const uint8_t *Ptr)
- : Start(Ptr), Current(Ptr), Flags(0), Address(0), Other(0),
- ImportName(nullptr), ChildCount(0), NextChildIndex(0),
- ParentStringLength(0), IsExportNode(false) {}
+ : Start(Ptr), Current(Ptr) {}
void ExportEntry::pushNode(uint64_t offset) {
const uint8_t *Ptr = Trie.begin() + offset;
@@ -2733,7 +2746,7 @@ void ExportEntry::moveNext() {
iterator_range<export_iterator>
MachOObjectFile::exports(ArrayRef<uint8_t> Trie) {
ExportEntry Start(Trie);
- if (Trie.size() == 0)
+ if (Trie.empty())
Start.moveToEnd();
else
Start.moveToFirst();
@@ -2750,9 +2763,8 @@ iterator_range<export_iterator> MachOObjectFile::exports() const {
MachORebaseEntry::MachORebaseEntry(Error *E, const MachOObjectFile *O,
ArrayRef<uint8_t> Bytes, bool is64Bit)
- : E(E), O(O), Opcodes(Bytes), Ptr(Bytes.begin()), SegmentOffset(0),
- SegmentIndex(-1), RemainingLoopCount(0), AdvanceAmount(0), RebaseType(0),
- PointerSize(is64Bit ? 8 : 4), Done(false) {}
+ : E(E), O(O), Opcodes(Bytes), Ptr(Bytes.begin()),
+ PointerSize(is64Bit ? 8 : 4) {}
void MachORebaseEntry::moveToFirst() {
Ptr = Opcodes.begin();
@@ -2794,7 +2806,7 @@ void MachORebaseEntry::moveNext() {
More = false;
Done = true;
moveToEnd();
- DEBUG_WITH_TYPE("mach-o-rebase", llvm::dbgs() << "REBASE_OPCODE_DONE\n");
+ DEBUG_WITH_TYPE("mach-o-rebase", dbgs() << "REBASE_OPCODE_DONE\n");
break;
case MachO::REBASE_OPCODE_SET_TYPE_IMM:
RebaseType = ImmValue;
@@ -2807,8 +2819,8 @@ void MachORebaseEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-rebase",
- llvm::dbgs() << "REBASE_OPCODE_SET_TYPE_IMM: "
- << "RebaseType=" << (int) RebaseType << "\n");
+ dbgs() << "REBASE_OPCODE_SET_TYPE_IMM: "
+ << "RebaseType=" << (int) RebaseType << "\n");
break;
case MachO::REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB:
SegmentIndex = ImmValue;
@@ -2831,10 +2843,10 @@ void MachORebaseEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-rebase",
- llvm::dbgs() << "REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB: "
- << "SegmentIndex=" << SegmentIndex << ", "
- << format("SegmentOffset=0x%06X", SegmentOffset)
- << "\n");
+ dbgs() << "REBASE_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB: "
+ << "SegmentIndex=" << SegmentIndex << ", "
+ << format("SegmentOffset=0x%06X", SegmentOffset)
+ << "\n");
break;
case MachO::REBASE_OPCODE_ADD_ADDR_ULEB:
SegmentOffset += readULEB128(&error);
@@ -2855,9 +2867,9 @@ void MachORebaseEntry::moveNext() {
return;
}
DEBUG_WITH_TYPE("mach-o-rebase",
- llvm::dbgs() << "REBASE_OPCODE_ADD_ADDR_ULEB: "
- << format("SegmentOffset=0x%06X",
- SegmentOffset) << "\n");
+ dbgs() << "REBASE_OPCODE_ADD_ADDR_ULEB: "
+ << format("SegmentOffset=0x%06X",
+ SegmentOffset) << "\n");
break;
case MachO::REBASE_OPCODE_ADD_ADDR_IMM_SCALED:
error = O->RebaseEntryCheckSegAndOffset(SegmentIndex, SegmentOffset,
@@ -2881,9 +2893,9 @@ void MachORebaseEntry::moveNext() {
return;
}
DEBUG_WITH_TYPE("mach-o-rebase",
- llvm::dbgs() << "REBASE_OPCODE_ADD_ADDR_IMM_SCALED: "
- << format("SegmentOffset=0x%06X",
- SegmentOffset) << "\n");
+ dbgs() << "REBASE_OPCODE_ADD_ADDR_IMM_SCALED: "
+ << format("SegmentOffset=0x%06X",
+ SegmentOffset) << "\n");
break;
case MachO::REBASE_OPCODE_DO_REBASE_IMM_TIMES:
error = O->RebaseEntryCheckSegAndOffset(SegmentIndex, SegmentOffset,
@@ -2913,11 +2925,11 @@ void MachORebaseEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-rebase",
- llvm::dbgs() << "REBASE_OPCODE_DO_REBASE_IMM_TIMES: "
- << format("SegmentOffset=0x%06X", SegmentOffset)
- << ", AdvanceAmount=" << AdvanceAmount
- << ", RemainingLoopCount=" << RemainingLoopCount
- << "\n");
+ dbgs() << "REBASE_OPCODE_DO_REBASE_IMM_TIMES: "
+ << format("SegmentOffset=0x%06X", SegmentOffset)
+ << ", AdvanceAmount=" << AdvanceAmount
+ << ", RemainingLoopCount=" << RemainingLoopCount
+ << "\n");
return;
case MachO::REBASE_OPCODE_DO_REBASE_ULEB_TIMES:
error = O->RebaseEntryCheckSegAndOffset(SegmentIndex, SegmentOffset,
@@ -2954,11 +2966,11 @@ void MachORebaseEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-rebase",
- llvm::dbgs() << "REBASE_OPCODE_DO_REBASE_ULEB_TIMES: "
- << format("SegmentOffset=0x%06X", SegmentOffset)
- << ", AdvanceAmount=" << AdvanceAmount
- << ", RemainingLoopCount=" << RemainingLoopCount
- << "\n");
+ dbgs() << "REBASE_OPCODE_DO_REBASE_ULEB_TIMES: "
+ << format("SegmentOffset=0x%06X", SegmentOffset)
+ << ", AdvanceAmount=" << AdvanceAmount
+ << ", RemainingLoopCount=" << RemainingLoopCount
+ << "\n");
return;
case MachO::REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB:
error = O->RebaseEntryCheckSegAndOffset(SegmentIndex, SegmentOffset,
@@ -2992,11 +3004,11 @@ void MachORebaseEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-rebase",
- llvm::dbgs() << "REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB: "
- << format("SegmentOffset=0x%06X", SegmentOffset)
- << ", AdvanceAmount=" << AdvanceAmount
- << ", RemainingLoopCount=" << RemainingLoopCount
- << "\n");
+ dbgs() << "REBASE_OPCODE_DO_REBASE_ADD_ADDR_ULEB: "
+ << format("SegmentOffset=0x%06X", SegmentOffset)
+ << ", AdvanceAmount=" << AdvanceAmount
+ << ", RemainingLoopCount=" << RemainingLoopCount
+ << "\n");
return;
case MachO::REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB:
error = O->RebaseEntryCheckSegAndOffset(SegmentIndex, SegmentOffset,
@@ -3041,11 +3053,11 @@ void MachORebaseEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-rebase",
- llvm::dbgs() << "REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB: "
- << format("SegmentOffset=0x%06X", SegmentOffset)
- << ", AdvanceAmount=" << AdvanceAmount
- << ", RemainingLoopCount=" << RemainingLoopCount
- << "\n");
+ dbgs() << "REBASE_OPCODE_DO_REBASE_ULEB_TIMES_SKIPPING_ULEB: "
+ << format("SegmentOffset=0x%06X", SegmentOffset)
+ << ", AdvanceAmount=" << AdvanceAmount
+ << ", RemainingLoopCount=" << RemainingLoopCount
+ << "\n");
return;
default:
*E = malformedError("bad rebase info (bad opcode value 0x" +
@@ -3131,10 +3143,8 @@ iterator_range<rebase_iterator> MachOObjectFile::rebaseTable(Error &Err) {
MachOBindEntry::MachOBindEntry(Error *E, const MachOObjectFile *O,
ArrayRef<uint8_t> Bytes, bool is64Bit, Kind BK)
- : E(E), O(O), Opcodes(Bytes), Ptr(Bytes.begin()), SegmentOffset(0),
- SegmentIndex(-1), LibraryOrdinalSet(false), Ordinal(0), Flags(0),
- Addend(0), RemainingLoopCount(0), AdvanceAmount(0), BindType(0),
- PointerSize(is64Bit ? 8 : 4), TableKind(BK), Done(false) {}
+ : E(E), O(O), Opcodes(Bytes), Ptr(Bytes.begin()),
+ PointerSize(is64Bit ? 8 : 4), TableKind(BK) {}
void MachOBindEntry::moveToFirst() {
Ptr = Opcodes.begin();
@@ -3189,7 +3199,7 @@ void MachOBindEntry::moveNext() {
}
More = false;
moveToEnd();
- DEBUG_WITH_TYPE("mach-o-bind", llvm::dbgs() << "BIND_OPCODE_DONE\n");
+ DEBUG_WITH_TYPE("mach-o-bind", dbgs() << "BIND_OPCODE_DONE\n");
break;
case MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_IMM:
if (TableKind == Kind::Weak) {
@@ -3211,8 +3221,8 @@ void MachOBindEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_SET_DYLIB_ORDINAL_IMM: "
- << "Ordinal=" << Ordinal << "\n");
+ dbgs() << "BIND_OPCODE_SET_DYLIB_ORDINAL_IMM: "
+ << "Ordinal=" << Ordinal << "\n");
break;
case MachO::BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB:
if (TableKind == Kind::Weak) {
@@ -3241,8 +3251,8 @@ void MachOBindEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB: "
- << "Ordinal=" << Ordinal << "\n");
+ dbgs() << "BIND_OPCODE_SET_DYLIB_ORDINAL_ULEB: "
+ << "Ordinal=" << Ordinal << "\n");
break;
case MachO::BIND_OPCODE_SET_DYLIB_SPECIAL_IMM:
if (TableKind == Kind::Weak) {
@@ -3267,8 +3277,8 @@ void MachOBindEntry::moveNext() {
Ordinal = 0;
DEBUG_WITH_TYPE(
"mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_SET_DYLIB_SPECIAL_IMM: "
- << "Ordinal=" << Ordinal << "\n");
+ dbgs() << "BIND_OPCODE_SET_DYLIB_SPECIAL_IMM: "
+ << "Ordinal=" << Ordinal << "\n");
break;
case MachO::BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM:
Flags = ImmValue;
@@ -3288,8 +3298,8 @@ void MachOBindEntry::moveNext() {
++Ptr;
DEBUG_WITH_TYPE(
"mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM: "
- << "SymbolName=" << SymbolName << "\n");
+ dbgs() << "BIND_OPCODE_SET_SYMBOL_TRAILING_FLAGS_IMM: "
+ << "SymbolName=" << SymbolName << "\n");
if (TableKind == Kind::Weak) {
if (ImmValue & MachO::BIND_SYMBOL_FLAGS_NON_WEAK_DEFINITION)
return;
@@ -3306,8 +3316,8 @@ void MachOBindEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_SET_TYPE_IMM: "
- << "BindType=" << (int)BindType << "\n");
+ dbgs() << "BIND_OPCODE_SET_TYPE_IMM: "
+ << "BindType=" << (int)BindType << "\n");
break;
case MachO::BIND_OPCODE_SET_ADDEND_SLEB:
Addend = readSLEB128(&error);
@@ -3320,8 +3330,8 @@ void MachOBindEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_SET_ADDEND_SLEB: "
- << "Addend=" << Addend << "\n");
+ dbgs() << "BIND_OPCODE_SET_ADDEND_SLEB: "
+ << "Addend=" << Addend << "\n");
break;
case MachO::BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB:
SegmentIndex = ImmValue;
@@ -3343,10 +3353,10 @@ void MachOBindEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB: "
- << "SegmentIndex=" << SegmentIndex << ", "
- << format("SegmentOffset=0x%06X", SegmentOffset)
- << "\n");
+ dbgs() << "BIND_OPCODE_SET_SEGMENT_AND_OFFSET_ULEB: "
+ << "SegmentIndex=" << SegmentIndex << ", "
+ << format("SegmentOffset=0x%06X", SegmentOffset)
+ << "\n");
break;
case MachO::BIND_OPCODE_ADD_ADDR_ULEB:
SegmentOffset += readULEB128(&error);
@@ -3366,9 +3376,9 @@ void MachOBindEntry::moveNext() {
return;
}
DEBUG_WITH_TYPE("mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_ADD_ADDR_ULEB: "
- << format("SegmentOffset=0x%06X",
- SegmentOffset) << "\n");
+ dbgs() << "BIND_OPCODE_ADD_ADDR_ULEB: "
+ << format("SegmentOffset=0x%06X",
+ SegmentOffset) << "\n");
break;
case MachO::BIND_OPCODE_DO_BIND:
AdvanceAmount = PointerSize;
@@ -3395,9 +3405,9 @@ void MachOBindEntry::moveNext() {
return;
}
DEBUG_WITH_TYPE("mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_DO_BIND: "
- << format("SegmentOffset=0x%06X",
- SegmentOffset) << "\n");
+ dbgs() << "BIND_OPCODE_DO_BIND: "
+ << format("SegmentOffset=0x%06X",
+ SegmentOffset) << "\n");
return;
case MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB:
if (TableKind == Kind::Lazy) {
@@ -3452,11 +3462,11 @@ void MachOBindEntry::moveNext() {
RemainingLoopCount = 0;
DEBUG_WITH_TYPE(
"mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB: "
- << format("SegmentOffset=0x%06X", SegmentOffset)
- << ", AdvanceAmount=" << AdvanceAmount
- << ", RemainingLoopCount=" << RemainingLoopCount
- << "\n");
+ dbgs() << "BIND_OPCODE_DO_BIND_ADD_ADDR_ULEB: "
+ << format("SegmentOffset=0x%06X", SegmentOffset)
+ << ", AdvanceAmount=" << AdvanceAmount
+ << ", RemainingLoopCount=" << RemainingLoopCount
+ << "\n");
return;
case MachO::BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED:
if (TableKind == Kind::Lazy) {
@@ -3501,10 +3511,9 @@ void MachOBindEntry::moveNext() {
return;
}
DEBUG_WITH_TYPE("mach-o-bind",
- llvm::dbgs()
+ dbgs()
<< "BIND_OPCODE_DO_BIND_ADD_ADDR_IMM_SCALED: "
- << format("SegmentOffset=0x%06X",
- SegmentOffset) << "\n");
+ << format("SegmentOffset=0x%06X", SegmentOffset) << "\n");
return;
case MachO::BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB:
if (TableKind == Kind::Lazy) {
@@ -3568,11 +3577,11 @@ void MachOBindEntry::moveNext() {
}
DEBUG_WITH_TYPE(
"mach-o-bind",
- llvm::dbgs() << "BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB: "
- << format("SegmentOffset=0x%06X", SegmentOffset)
- << ", AdvanceAmount=" << AdvanceAmount
- << ", RemainingLoopCount=" << RemainingLoopCount
- << "\n");
+ dbgs() << "BIND_OPCODE_DO_BIND_ULEB_TIMES_SKIPPING_ULEB: "
+ << format("SegmentOffset=0x%06X", SegmentOffset)
+ << ", AdvanceAmount=" << AdvanceAmount
+ << ", RemainingLoopCount=" << RemainingLoopCount
+ << "\n");
return;
default:
*E = malformedError("bad bind info (bad opcode value 0x" +
diff --git a/lib/Object/ModuleSummaryIndexObjectFile.cpp b/lib/Object/ModuleSummaryIndexObjectFile.cpp
index de1ddab88fd4..91f93a41032e 100644
--- a/lib/Object/ModuleSummaryIndexObjectFile.cpp
+++ b/lib/Object/ModuleSummaryIndexObjectFile.cpp
@@ -1,4 +1,4 @@
-//===- ModuleSummaryIndexObjectFile.cpp - Summary index file implementation ==//
+//==- ModuleSummaryIndexObjectFile.cpp - Summary index file implementation -==//
//
// The LLVM Compiler Infrastructure
//
@@ -11,29 +11,38 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/Object/ModuleSummaryIndexObjectFile.h"
#include "llvm/ADT/STLExtras.h"
+#include "llvm/ADT/StringRef.h"
#include "llvm/Bitcode/BitcodeReader.h"
#include "llvm/IR/ModuleSummaryIndex.h"
-#include "llvm/MC/MCStreamer.h"
+#include "llvm/Object/Binary.h"
+#include "llvm/Object/Error.h"
+#include "llvm/Object/ModuleSummaryIndexObjectFile.h"
#include "llvm/Object/ObjectFile.h"
+#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/Error.h"
+#include "llvm/Support/ErrorOr.h"
+#include "llvm/Support/FileSystem.h"
#include "llvm/Support/MemoryBuffer.h"
-#include "llvm/Support/raw_ostream.h"
+#include <algorithm>
+#include <memory>
+#include <system_error>
+
using namespace llvm;
using namespace object;
-static llvm::cl::opt<bool> IgnoreEmptyThinLTOIndexFile(
- "ignore-empty-index-file", llvm::cl::ZeroOrMore,
- llvm::cl::desc(
+static cl::opt<bool> IgnoreEmptyThinLTOIndexFile(
+ "ignore-empty-index-file", cl::ZeroOrMore,
+ cl::desc(
"Ignore an empty index file and perform non-ThinLTO compilation"),
- llvm::cl::init(false));
+ cl::init(false));
ModuleSummaryIndexObjectFile::ModuleSummaryIndexObjectFile(
MemoryBufferRef Object, std::unique_ptr<ModuleSummaryIndex> I)
: SymbolicFile(Binary::ID_ModuleSummaryIndex, Object), Index(std::move(I)) {
}
-ModuleSummaryIndexObjectFile::~ModuleSummaryIndexObjectFile() {}
+ModuleSummaryIndexObjectFile::~ModuleSummaryIndexObjectFile() = default;
std::unique_ptr<ModuleSummaryIndex> ModuleSummaryIndexObjectFile::takeIndex() {
return std::move(Index);
diff --git a/lib/Object/ModuleSymbolTable.cpp b/lib/Object/ModuleSymbolTable.cpp
index 9a935d8e0869..a5b42725d817 100644
--- a/lib/Object/ModuleSymbolTable.cpp
+++ b/lib/Object/ModuleSymbolTable.cpp
@@ -1,4 +1,4 @@
-//===- ModuleSymbolTable.cpp - symbol table for in-memory IR ----*- C++ -*-===//
+//===- ModuleSymbolTable.cpp - symbol table for in-memory IR --------------===//
//
// The LLVM Compiler Infrastructure
//
@@ -13,27 +13,45 @@
//
//===----------------------------------------------------------------------===//
-#include "llvm/Object/IRObjectFile.h"
#include "RecordStreamer.h"
+#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/STLExtras.h"
-#include "llvm/Bitcode/BitcodeReader.h"
-#include "llvm/IR/GVMaterializer.h"
-#include "llvm/IR/LLVMContext.h"
+#include "llvm/ADT/StringMap.h"
+#include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/Triple.h"
+#include "llvm/IR/Function.h"
+#include "llvm/IR/GlobalAlias.h"
+#include "llvm/IR/GlobalValue.h"
+#include "llvm/IR/GlobalVariable.h"
#include "llvm/IR/Mangler.h"
#include "llvm/IR/Module.h"
#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCContext.h"
+#include "llvm/MC/MCDirectives.h"
#include "llvm/MC/MCInstrInfo.h"
#include "llvm/MC/MCObjectFileInfo.h"
#include "llvm/MC/MCParser/MCAsmParser.h"
#include "llvm/MC/MCParser/MCTargetAsmParser.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
-#include "llvm/Object/ObjectFile.h"
+#include "llvm/MC/MCSymbol.h"
+#include "llvm/MC/MCTargetOptions.h"
+#include "llvm/Object/ModuleSymbolTable.h"
+#include "llvm/Object/SymbolicFile.h"
+#include "llvm/Support/Casting.h"
+#include "llvm/Support/CodeGen.h"
+#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MemoryBuffer.h"
+#include "llvm/Support/raw_ostream.h"
+#include "llvm/Support/SMLoc.h"
#include "llvm/Support/SourceMgr.h"
#include "llvm/Support/TargetRegistry.h"
-#include "llvm/Support/raw_ostream.h"
+#include <algorithm>
+#include <cassert>
+#include <cstdint>
+#include <memory>
+#include <string>
+
using namespace llvm;
using namespace object;
diff --git a/lib/Object/RecordStreamer.cpp b/lib/Object/RecordStreamer.cpp
index c9c27451f809..e94e9cfed394 100644
--- a/lib/Object/RecordStreamer.cpp
+++ b/lib/Object/RecordStreamer.cpp
@@ -9,6 +9,7 @@
#include "RecordStreamer.h"
#include "llvm/MC/MCSymbol.h"
+
using namespace llvm;
void RecordStreamer::markDefined(const MCSymbol &Symbol) {
@@ -69,14 +70,14 @@ void RecordStreamer::markUsed(const MCSymbol &Symbol) {
void RecordStreamer::visitUsedSymbol(const MCSymbol &Sym) { markUsed(Sym); }
+RecordStreamer::RecordStreamer(MCContext &Context) : MCStreamer(Context) {}
+
RecordStreamer::const_iterator RecordStreamer::begin() {
return Symbols.begin();
}
RecordStreamer::const_iterator RecordStreamer::end() { return Symbols.end(); }
-RecordStreamer::RecordStreamer(MCContext &Context) : MCStreamer(Context) {}
-
void RecordStreamer::EmitInstruction(const MCInst &Inst,
const MCSubtargetInfo &STI, bool) {
MCStreamer::EmitInstruction(Inst, STI);
diff --git a/lib/Object/RecordStreamer.h b/lib/Object/RecordStreamer.h
index a845ecd786a8..4d119091a3d2 100644
--- a/lib/Object/RecordStreamer.h
+++ b/lib/Object/RecordStreamer.h
@@ -1,4 +1,4 @@
-//===-- RecordStreamer.h - Record asm defined and used symbols ---*- C++ -*===//
+//===- RecordStreamer.h - Record asm defined and used symbols ---*- C++ -*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -10,9 +10,16 @@
#ifndef LLVM_LIB_OBJECT_RECORDSTREAMER_H
#define LLVM_LIB_OBJECT_RECORDSTREAMER_H
+#include "llvm/ADT/DenseMap.h"
+#include "llvm/ADT/StringMap.h"
+#include "llvm/MC/MCDirectives.h"
#include "llvm/MC/MCStreamer.h"
+#include "llvm/MC/MCSymbol.h"
+#include "llvm/Support/SMLoc.h"
+#include <vector>
namespace llvm {
+
class RecordStreamer : public MCStreamer {
public:
enum State { NeverSeen, Global, Defined, DefinedGlobal, DefinedWeak, Used,
@@ -24,16 +31,19 @@ private:
// their symbol binding after parsing complete. This maps from each
// aliasee to its list of aliases.
DenseMap<const MCSymbol *, std::vector<MCSymbol *>> SymverAliasMap;
+
void markDefined(const MCSymbol &Symbol);
void markGlobal(const MCSymbol &Symbol, MCSymbolAttr Attribute);
void markUsed(const MCSymbol &Symbol);
void visitUsedSymbol(const MCSymbol &Sym) override;
public:
- typedef StringMap<State>::const_iterator const_iterator;
+ RecordStreamer(MCContext &Context);
+
+ using const_iterator = StringMap<State>::const_iterator;
+
const_iterator begin();
const_iterator end();
- RecordStreamer(MCContext &Context);
void EmitInstruction(const MCInst &Inst, const MCSubtargetInfo &STI,
bool) override;
void EmitLabel(MCSymbol *Symbol, SMLoc Loc = SMLoc()) override;
@@ -50,6 +60,7 @@ public:
DenseMap<const MCSymbol *, std::vector<MCSymbol *>> &symverAliases() {
return SymverAliasMap;
}
+
/// Get the state recorded for the given symbol.
State getSymbolState(const MCSymbol *Sym) {
auto SI = Symbols.find(Sym->getName());
@@ -58,5 +69,7 @@ public:
return SI->second;
}
};
-}
-#endif
+
+} // end namespace llvm
+
+#endif // LLVM_LIB_OBJECT_RECORDSTREAMER_H
diff --git a/lib/Object/WasmObjectFile.cpp b/lib/Object/WasmObjectFile.cpp
index fc1dca35424e..9f3486e58a11 100644
--- a/lib/Object/WasmObjectFile.cpp
+++ b/lib/Object/WasmObjectFile.cpp
@@ -11,6 +11,7 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Triple.h"
+#include "llvm/MC/SubtargetFeature.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/Error.h"
#include "llvm/Object/ObjectFile.h"
@@ -22,7 +23,9 @@
#include "llvm/Support/LEB128.h"
#include "llvm/Support/Wasm.h"
#include <algorithm>
+#include <cassert>
#include <cstdint>
+#include <cstring>
#include <system_error>
using namespace llvm;
@@ -141,7 +144,7 @@ static Error readInitExpr(wasm::WasmInitExpr &Expr, const uint8_t *&Ptr) {
Expr.Value.Float64 = readFloat64(Ptr);
break;
case wasm::WASM_OPCODE_GET_GLOBAL:
- Expr.Value.Global = readUint32(Ptr);
+ Expr.Value.Global = readULEB128(Ptr);
break;
default:
return make_error<GenericBinaryError>("Invalid opcode in init_expr",
@@ -180,7 +183,7 @@ static Error readSection(WasmSection &Section, const uint8_t *&Ptr,
}
WasmObjectFile::WasmObjectFile(MemoryBufferRef Buffer, Error &Err)
- : ObjectFile(Binary::ID_Wasm, Buffer), StartFunction(-1) {
+ : ObjectFile(Binary::ID_Wasm, Buffer) {
ErrorAsOutParameter ErrAsOutParam(&Err);
Header.Magic = getData().substr(0, 4);
if (Header.Magic != StringRef("\0asm", 4)) {
@@ -252,7 +255,7 @@ Error WasmObjectFile::parseNameSection(const uint8_t *Ptr, const uint8_t *End) {
while (Count--) {
/*uint32_t Index =*/readVaruint32(Ptr);
StringRef Name = readString(Ptr);
- if (Name.size())
+ if (!Name.empty())
Symbols.emplace_back(Name,
WasmSymbol::SymbolType::DEBUG_FUNCTION_NAME);
}
@@ -313,11 +316,12 @@ Error WasmObjectFile::parseRelocSection(StringRef Name, const uint8_t *Ptr,
case wasm::R_WEBASSEMBLY_FUNCTION_INDEX_LEB:
case wasm::R_WEBASSEMBLY_TABLE_INDEX_SLEB:
case wasm::R_WEBASSEMBLY_TABLE_INDEX_I32:
+ case wasm::R_WEBASSEMBLY_TYPE_INDEX_LEB:
break;
case wasm::R_WEBASSEMBLY_GLOBAL_ADDR_LEB:
case wasm::R_WEBASSEMBLY_GLOBAL_ADDR_SLEB:
case wasm::R_WEBASSEMBLY_GLOBAL_ADDR_I32:
- Reloc.Addend = readVaruint32(Ptr);
+ Reloc.Addend = readVarint32(Ptr);
break;
default:
return make_error<GenericBinaryError>("Bad relocation type",
diff --git a/lib/ObjectYAML/WasmYAML.cpp b/lib/ObjectYAML/WasmYAML.cpp
index 3e1bed19d61f..9b1ff7e5dc16 100644
--- a/lib/ObjectYAML/WasmYAML.cpp
+++ b/lib/ObjectYAML/WasmYAML.cpp
@@ -223,7 +223,7 @@ void MappingTraits<WasmYAML::Relocation>::mapping(
IO.mapRequired("Type", Relocation.Type);
IO.mapRequired("Index", Relocation.Index);
IO.mapRequired("Offset", Relocation.Offset);
- IO.mapRequired("Addend", Relocation.Addend);
+ IO.mapOptional("Addend", Relocation.Addend, 0);
}
void MappingTraits<WasmYAML::LocalDecl>::mapping(
@@ -294,6 +294,9 @@ void MappingTraits<wasm::WasmInitExpr>::mapping(IO &IO,
case wasm::WASM_OPCODE_F64_CONST:
IO.mapRequired("Value", Expr.Value.Float64);
break;
+ case wasm::WASM_OPCODE_GET_GLOBAL:
+ IO.mapRequired("Index", Expr.Value.Global);
+ break;
}
}
diff --git a/lib/Passes/PassBuilder.cpp b/lib/Passes/PassBuilder.cpp
index 0421946a32a6..55ac2541948e 100644
--- a/lib/Passes/PassBuilder.cpp
+++ b/lib/Passes/PassBuilder.cpp
@@ -624,6 +624,10 @@ PassBuilder::buildPerModuleDefaultPipeline(OptimizationLevel Level,
// And finally clean up LCSSA form before generating code.
OptimizePM.addPass(InstSimplifierPass());
+ // LoopSink (and other loop passes since the last simplifyCFG) might have
+ // resulted in single-entry-single-exit or empty blocks. Clean up the CFG.
+ OptimizePM.addPass(SimplifyCFGPass());
+
// Add the core optimizing pipeline.
MPM.addPass(createModuleToFunctionPassAdaptor(std::move(OptimizePM)));
diff --git a/lib/Support/APFloat.cpp b/lib/Support/APFloat.cpp
index c4c892f0352a..e1e2c22e1df1 100644
--- a/lib/Support/APFloat.cpp
+++ b/lib/Support/APFloat.cpp
@@ -3393,7 +3393,7 @@ namespace {
}
void IEEEFloat::toString(SmallVectorImpl<char> &Str, unsigned FormatPrecision,
- unsigned FormatMaxPadding) const {
+ unsigned FormatMaxPadding, bool TruncateZero) const {
switch (category) {
case fcInfinity:
if (isNegative())
@@ -3407,9 +3407,16 @@ void IEEEFloat::toString(SmallVectorImpl<char> &Str, unsigned FormatPrecision,
if (isNegative())
Str.push_back('-');
- if (!FormatMaxPadding)
- append(Str, "0.0E+0");
- else
+ if (!FormatMaxPadding) {
+ if (TruncateZero)
+ append(Str, "0.0E+0");
+ else {
+ append(Str, "0.0");
+ if (FormatPrecision > 1)
+ Str.append(FormatPrecision - 1, '0');
+ append(Str, "e+00");
+ }
+ } else
Str.push_back('0');
return;
@@ -3543,12 +3550,16 @@ void IEEEFloat::toString(SmallVectorImpl<char> &Str, unsigned FormatPrecision,
Str.push_back(buffer[NDigits-1]);
Str.push_back('.');
- if (NDigits == 1)
+ if (NDigits == 1 && TruncateZero)
Str.push_back('0');
else
for (unsigned I = 1; I != NDigits; ++I)
Str.push_back(buffer[NDigits-1-I]);
- Str.push_back('E');
+ // Fill with zeros up to FormatPrecision.
+ if (!TruncateZero && FormatPrecision > NDigits - 1)
+ Str.append(FormatPrecision - NDigits + 1, '0');
+ // For !TruncateZero we use lower 'e'.
+ Str.push_back(TruncateZero ? 'E' : 'e');
Str.push_back(exp >= 0 ? '+' : '-');
if (exp < 0) exp = -exp;
@@ -3557,6 +3568,9 @@ void IEEEFloat::toString(SmallVectorImpl<char> &Str, unsigned FormatPrecision,
expbuf.push_back((char) ('0' + (exp % 10)));
exp /= 10;
} while (exp);
+ // Exponent always at least two digits if we do not truncate zeros.
+ if (!TruncateZero && expbuf.size() < 2)
+ expbuf.push_back('0');
for (unsigned I = 0, E = expbuf.size(); I != E; ++I)
Str.push_back(expbuf[E-1-I]);
return;
@@ -4362,10 +4376,11 @@ bool DoubleAPFloat::isInteger() const {
void DoubleAPFloat::toString(SmallVectorImpl<char> &Str,
unsigned FormatPrecision,
- unsigned FormatMaxPadding) const {
+ unsigned FormatMaxPadding,
+ bool TruncateZero) const {
assert(Semantics == &semPPCDoubleDouble && "Unexpected Semantics");
APFloat(semPPCDoubleDoubleLegacy, bitcastToAPInt())
- .toString(Str, FormatPrecision, FormatMaxPadding);
+ .toString(Str, FormatPrecision, FormatMaxPadding, TruncateZero);
}
bool DoubleAPFloat::getExactInverse(APFloat *inv) const {
diff --git a/lib/Support/APInt.cpp b/lib/Support/APInt.cpp
index 2d049a1cff85..1227d7528c8f 100644
--- a/lib/Support/APInt.cpp
+++ b/lib/Support/APInt.cpp
@@ -81,7 +81,7 @@ void APInt::initSlowCase(uint64_t val, bool isSigned) {
pVal[0] = val;
if (isSigned && int64_t(val) < 0)
for (unsigned i = 1; i < getNumWords(); ++i)
- pVal[i] = -1ULL;
+ pVal[i] = WORD_MAX;
clearUnusedBits();
}
@@ -364,44 +364,20 @@ bool APInt::EqualSlowCase(const APInt& RHS) const {
return std::equal(pVal, pVal + getNumWords(), RHS.pVal);
}
-bool APInt::ult(const APInt& RHS) const {
+int APInt::compare(const APInt& RHS) const {
assert(BitWidth == RHS.BitWidth && "Bit widths must be same for comparison");
if (isSingleWord())
- return VAL < RHS.VAL;
+ return VAL < RHS.VAL ? -1 : VAL > RHS.VAL;
- // Get active bit length of both operands
- unsigned n1 = getActiveBits();
- unsigned n2 = RHS.getActiveBits();
-
- // If magnitude of LHS is less than RHS, return true.
- if (n1 < n2)
- return true;
-
- // If magnitude of RHS is greater than LHS, return false.
- if (n2 < n1)
- return false;
-
- // If they both fit in a word, just compare the low order word
- if (n1 <= APINT_BITS_PER_WORD && n2 <= APINT_BITS_PER_WORD)
- return pVal[0] < RHS.pVal[0];
-
- // Otherwise, compare all words
- unsigned topWord = whichWord(std::max(n1,n2)-1);
- for (int i = topWord; i >= 0; --i) {
- if (pVal[i] > RHS.pVal[i])
- return false;
- if (pVal[i] < RHS.pVal[i])
- return true;
- }
- return false;
+ return tcCompare(pVal, RHS.pVal, getNumWords());
}
-bool APInt::slt(const APInt& RHS) const {
+int APInt::compareSigned(const APInt& RHS) const {
assert(BitWidth == RHS.BitWidth && "Bit widths must be same for comparison");
if (isSingleWord()) {
int64_t lhsSext = SignExtend64(VAL, BitWidth);
int64_t rhsSext = SignExtend64(RHS.VAL, BitWidth);
- return lhsSext < rhsSext;
+ return lhsSext < rhsSext ? -1 : lhsSext > rhsSext;
}
bool lhsNeg = isNegative();
@@ -409,11 +385,11 @@ bool APInt::slt(const APInt& RHS) const {
// If the sign bits don't match, then (LHS < RHS) if LHS is negative
if (lhsNeg != rhsNeg)
- return lhsNeg;
+ return lhsNeg ? -1 : 1;
// Otherwise we can just use an unsigned comparison, because even negative
// numbers compare correctly this way if both have the same signed-ness.
- return ult(RHS);
+ return tcCompare(pVal, RHS.pVal, getNumWords());
}
void APInt::setBit(unsigned bitPosition) {
@@ -428,13 +404,13 @@ void APInt::setBitsSlowCase(unsigned loBit, unsigned hiBit) {
unsigned hiWord = whichWord(hiBit);
// Create an initial mask for the low word with zeros below loBit.
- uint64_t loMask = UINT64_MAX << whichBit(loBit);
+ uint64_t loMask = WORD_MAX << whichBit(loBit);
// If hiBit is not aligned, we need a high mask.
unsigned hiShiftAmt = whichBit(hiBit);
if (hiShiftAmt != 0) {
// Create a high mask with zeros above hiBit.
- uint64_t hiMask = UINT64_MAX >> (APINT_BITS_PER_WORD - hiShiftAmt);
+ uint64_t hiMask = WORD_MAX >> (APINT_BITS_PER_WORD - hiShiftAmt);
// If loWord and hiWord are equal, then we combine the masks. Otherwise,
// set the bits in hiWord.
if (hiWord == loWord)
@@ -447,7 +423,7 @@ void APInt::setBitsSlowCase(unsigned loBit, unsigned hiBit) {
// Fill any words between loWord and hiWord with all ones.
for (unsigned word = loWord + 1; word < hiWord; ++word)
- pVal[word] = UINT64_MAX;
+ pVal[word] = WORD_MAX;
}
/// Set the given bit to 0 whose position is given as "bitPosition".
@@ -487,7 +463,7 @@ void APInt::insertBits(const APInt &subBits, unsigned bitPosition) {
// Single word result can be done as a direct bitmask.
if (isSingleWord()) {
- uint64_t mask = UINT64_MAX >> (APINT_BITS_PER_WORD - subBitWidth);
+ uint64_t mask = WORD_MAX >> (APINT_BITS_PER_WORD - subBitWidth);
VAL &= ~(mask << bitPosition);
VAL |= (subBits.VAL << bitPosition);
return;
@@ -499,7 +475,7 @@ void APInt::insertBits(const APInt &subBits, unsigned bitPosition) {
// Insertion within a single word can be done as a direct bitmask.
if (loWord == hi1Word) {
- uint64_t mask = UINT64_MAX >> (APINT_BITS_PER_WORD - subBitWidth);
+ uint64_t mask = WORD_MAX >> (APINT_BITS_PER_WORD - subBitWidth);
pVal[loWord] &= ~(mask << loBit);
pVal[loWord] |= (subBits.VAL << loBit);
return;
@@ -515,7 +491,7 @@ void APInt::insertBits(const APInt &subBits, unsigned bitPosition) {
// Mask+insert remaining bits.
unsigned remainingBits = subBitWidth % APINT_BITS_PER_WORD;
if (remainingBits != 0) {
- uint64_t mask = UINT64_MAX >> (APINT_BITS_PER_WORD - remainingBits);
+ uint64_t mask = WORD_MAX >> (APINT_BITS_PER_WORD - remainingBits);
pVal[hi1Word] &= ~mask;
pVal[hi1Word] |= subBits.getWord(subBitWidth - 1);
}
@@ -682,7 +658,7 @@ unsigned APInt::countLeadingOnes() const {
unsigned Count = llvm::countLeadingOnes(pVal[i] << shift);
if (Count == highWordBits) {
for (i--; i >= 0; --i) {
- if (pVal[i] == -1ULL)
+ if (pVal[i] == WORD_MAX)
Count += APINT_BITS_PER_WORD;
else {
Count += llvm::countLeadingOnes(pVal[i]);
@@ -708,11 +684,12 @@ unsigned APInt::countTrailingZeros() const {
unsigned APInt::countTrailingOnesSlowCase() const {
unsigned Count = 0;
unsigned i = 0;
- for (; i < getNumWords() && pVal[i] == -1ULL; ++i)
+ for (; i < getNumWords() && pVal[i] == WORD_MAX; ++i)
Count += APINT_BITS_PER_WORD;
if (i < getNumWords())
Count += llvm::countTrailingOnes(pVal[i]);
- return std::min(Count, BitWidth);
+ assert(Count <= BitWidth);
+ return Count;
}
unsigned APInt::countPopulationSlowCase() const {
@@ -962,43 +939,26 @@ APInt APInt::trunc(unsigned width) const {
}
// Sign extend to a new width.
-APInt APInt::sext(unsigned width) const {
- assert(width > BitWidth && "Invalid APInt SignExtend request");
+APInt APInt::sext(unsigned Width) const {
+ assert(Width > BitWidth && "Invalid APInt SignExtend request");
- if (width <= APINT_BITS_PER_WORD) {
- uint64_t val = VAL << (APINT_BITS_PER_WORD - BitWidth);
- val = (int64_t)val >> (width - BitWidth);
- return APInt(width, val >> (APINT_BITS_PER_WORD - width));
- }
-
- APInt Result(getMemory(getNumWords(width)), width);
-
- // Copy full words.
- unsigned i;
- uint64_t word = 0;
- for (i = 0; i != BitWidth / APINT_BITS_PER_WORD; i++) {
- word = getRawData()[i];
- Result.pVal[i] = word;
- }
+ if (Width <= APINT_BITS_PER_WORD)
+ return APInt(Width, SignExtend64(VAL, BitWidth));
- // Read and sign-extend any partial word.
- unsigned bits = (0 - BitWidth) % APINT_BITS_PER_WORD;
- if (bits != 0)
- word = (int64_t)getRawData()[i] << bits >> bits;
- else
- word = (int64_t)word >> (APINT_BITS_PER_WORD - 1);
+ APInt Result(getMemory(getNumWords(Width)), Width);
- // Write remaining full words.
- for (; i != width / APINT_BITS_PER_WORD; i++) {
- Result.pVal[i] = word;
- word = (int64_t)word >> (APINT_BITS_PER_WORD - 1);
- }
+ // Copy words.
+ std::memcpy(Result.pVal, getRawData(), getNumWords() * APINT_WORD_SIZE);
- // Write any partial word.
- bits = (0 - width) % APINT_BITS_PER_WORD;
- if (bits != 0)
- Result.pVal[i] = word << bits >> bits;
+ // Sign extend the last word since there may be unused bits in the input.
+ Result.pVal[getNumWords() - 1] =
+ SignExtend64(Result.pVal[getNumWords() - 1],
+ ((BitWidth - 1) % APINT_BITS_PER_WORD) + 1);
+ // Fill with sign bits.
+ std::memset(Result.pVal + getNumWords(), isNegative() ? -1 : 0,
+ (Result.getNumWords() - getNumWords()) * APINT_WORD_SIZE);
+ Result.clearUnusedBits();
return Result;
}
@@ -1012,12 +972,11 @@ APInt APInt::zext(unsigned width) const {
APInt Result(getMemory(getNumWords(width)), width);
// Copy words.
- unsigned i;
- for (i = 0; i != getNumWords(); i++)
- Result.pVal[i] = getRawData()[i];
+ std::memcpy(Result.pVal, getRawData(), getNumWords() * APINT_WORD_SIZE);
// Zero remaining words.
- memset(&Result.pVal[i], 0, (Result.getNumWords() - i) * APINT_WORD_SIZE);
+ std::memset(Result.pVal + getNumWords(), 0,
+ (Result.getNumWords() - getNumWords()) * APINT_WORD_SIZE);
return Result;
}
@@ -1052,89 +1011,51 @@ APInt APInt::sextOrSelf(unsigned width) const {
/// Arithmetic right-shift this APInt by shiftAmt.
/// @brief Arithmetic right-shift function.
-APInt APInt::ashr(const APInt &shiftAmt) const {
- return ashr((unsigned)shiftAmt.getLimitedValue(BitWidth));
+void APInt::ashrInPlace(const APInt &shiftAmt) {
+ ashrInPlace((unsigned)shiftAmt.getLimitedValue(BitWidth));
}
/// Arithmetic right-shift this APInt by shiftAmt.
/// @brief Arithmetic right-shift function.
-APInt APInt::ashr(unsigned shiftAmt) const {
- assert(shiftAmt <= BitWidth && "Invalid shift amount");
- // Handle a degenerate case
- if (shiftAmt == 0)
- return *this;
-
- // Handle single word shifts with built-in ashr
- if (isSingleWord()) {
- if (shiftAmt == BitWidth)
- return APInt(BitWidth, 0); // undefined
- return APInt(BitWidth, SignExtend64(VAL, BitWidth) >> shiftAmt);
- }
+void APInt::ashrSlowCase(unsigned ShiftAmt) {
+ // Don't bother performing a no-op shift.
+ if (!ShiftAmt)
+ return;
- // If all the bits were shifted out, the result is, technically, undefined.
- // We return -1 if it was negative, 0 otherwise. We check this early to avoid
- // issues in the algorithm below.
- if (shiftAmt == BitWidth) {
- if (isNegative())
- return APInt(BitWidth, -1ULL, true);
- else
- return APInt(BitWidth, 0);
- }
-
- // Create some space for the result.
- uint64_t * val = new uint64_t[getNumWords()];
-
- // Compute some values needed by the following shift algorithms
- unsigned wordShift = shiftAmt % APINT_BITS_PER_WORD; // bits to shift per word
- unsigned offset = shiftAmt / APINT_BITS_PER_WORD; // word offset for shift
- unsigned breakWord = getNumWords() - 1 - offset; // last word affected
- unsigned bitsInWord = whichBit(BitWidth); // how many bits in last word?
- if (bitsInWord == 0)
- bitsInWord = APINT_BITS_PER_WORD;
-
- // If we are shifting whole words, just move whole words
- if (wordShift == 0) {
- // Move the words containing significant bits
- for (unsigned i = 0; i <= breakWord; ++i)
- val[i] = pVal[i+offset]; // move whole word
-
- // Adjust the top significant word for sign bit fill, if negative
- if (isNegative())
- if (bitsInWord < APINT_BITS_PER_WORD)
- val[breakWord] |= ~0ULL << bitsInWord; // set high bits
- } else {
- // Shift the low order words
- for (unsigned i = 0; i < breakWord; ++i) {
- // This combines the shifted corresponding word with the low bits from
- // the next word (shifted into this word's high bits).
- val[i] = (pVal[i+offset] >> wordShift) |
- (pVal[i+offset+1] << (APINT_BITS_PER_WORD - wordShift));
- }
+ // Save the original sign bit for later.
+ bool Negative = isNegative();
- // Shift the break word. In this case there are no bits from the next word
- // to include in this word.
- val[breakWord] = pVal[breakWord+offset] >> wordShift;
-
- // Deal with sign extension in the break word, and possibly the word before
- // it.
- if (isNegative()) {
- if (wordShift > bitsInWord) {
- if (breakWord > 0)
- val[breakWord-1] |=
- ~0ULL << (APINT_BITS_PER_WORD - (wordShift - bitsInWord));
- val[breakWord] |= ~0ULL;
- } else
- val[breakWord] |= (~0ULL << (bitsInWord - wordShift));
+ // WordShift is the inter-part shift; BitShift is is intra-part shift.
+ unsigned WordShift = ShiftAmt / APINT_BITS_PER_WORD;
+ unsigned BitShift = ShiftAmt % APINT_BITS_PER_WORD;
+
+ unsigned WordsToMove = getNumWords() - WordShift;
+ if (WordsToMove != 0) {
+ // Sign extend the last word to fill in the unused bits.
+ pVal[getNumWords() - 1] = SignExtend64(
+ pVal[getNumWords() - 1], ((BitWidth - 1) % APINT_BITS_PER_WORD) + 1);
+
+ // Fastpath for moving by whole words.
+ if (BitShift == 0) {
+ std::memmove(pVal, pVal + WordShift, WordsToMove * APINT_WORD_SIZE);
+ } else {
+ // Move the words containing significant bits.
+ for (unsigned i = 0; i != WordsToMove - 1; ++i)
+ pVal[i] = (pVal[i + WordShift] >> BitShift) |
+ (pVal[i + WordShift + 1] << (APINT_BITS_PER_WORD - BitShift));
+
+ // Handle the last word which has no high bits to copy.
+ pVal[WordsToMove - 1] = pVal[WordShift + WordsToMove - 1] >> BitShift;
+ // Sign extend one more time.
+ pVal[WordsToMove - 1] =
+ SignExtend64(pVal[WordsToMove - 1], APINT_BITS_PER_WORD - BitShift);
}
}
- // Remaining words are 0 or -1, just assign them.
- uint64_t fillValue = (isNegative() ? -1ULL : 0);
- for (unsigned i = breakWord+1; i < getNumWords(); ++i)
- val[i] = fillValue;
- APInt Result(val, BitWidth);
- Result.clearUnusedBits();
- return Result;
+ // Fill in the remainder based on the original sign.
+ std::memset(pVal + WordsToMove, Negative ? -1 : 0,
+ WordShift * APINT_WORD_SIZE);
+ clearUnusedBits();
}
/// Logical right-shift this APInt by shiftAmt.
@@ -2608,7 +2529,7 @@ void APInt::tcShiftLeft(WordType *Dst, unsigned Words, unsigned Count) {
if (!Count)
return;
- /* WordShift is the inter-part shift; BitShift is is intra-part shift. */
+ // WordShift is the inter-part shift; BitShift is the intra-part shift.
unsigned WordShift = std::min(Count / APINT_BITS_PER_WORD, Words);
unsigned BitShift = Count % APINT_BITS_PER_WORD;
@@ -2635,7 +2556,7 @@ void APInt::tcShiftRight(WordType *Dst, unsigned Words, unsigned Count) {
if (!Count)
return;
- // WordShift is the inter-part shift; BitShift is is intra-part shift.
+ // WordShift is the inter-part shift; BitShift is the intra-part shift.
unsigned WordShift = std::min(Count / APINT_BITS_PER_WORD, Words);
unsigned BitShift = Count % APINT_BITS_PER_WORD;
@@ -2684,10 +2605,8 @@ int APInt::tcCompare(const WordType *lhs, const WordType *rhs,
unsigned parts) {
while (parts) {
parts--;
- if (lhs[parts] == rhs[parts])
- continue;
-
- return (lhs[parts] > rhs[parts]) ? 1 : -1;
+ if (lhs[parts] != rhs[parts])
+ return (lhs[parts] > rhs[parts]) ? 1 : -1;
}
return 0;
diff --git a/lib/Support/DynamicLibrary.cpp b/lib/Support/DynamicLibrary.cpp
index 92ce6185306a..22fb3f2cb9c9 100644
--- a/lib/Support/DynamicLibrary.cpp
+++ b/lib/Support/DynamicLibrary.cpp
@@ -193,4 +193,3 @@ void *LLVMSearchForAddressOfSymbol(const char *symbolName) {
void LLVMAddSymbol(const char *symbolName, void *symbolValue) {
return llvm::sys::DynamicLibrary::AddSymbol(symbolName, symbolValue);
}
-
diff --git a/lib/Support/Triple.cpp b/lib/Support/Triple.cpp
index 64d5977e2ebd..f3a654d7d2bd 100644
--- a/lib/Support/Triple.cpp
+++ b/lib/Support/Triple.cpp
@@ -161,6 +161,7 @@ StringRef Triple::getVendorTypeName(VendorType Kind) {
case Myriad: return "myriad";
case AMD: return "amd";
case Mesa: return "mesa";
+ case SUSE: return "suse";
}
llvm_unreachable("Invalid VendorType!");
@@ -443,6 +444,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) {
.Case("myriad", Triple::Myriad)
.Case("amd", Triple::AMD)
.Case("mesa", Triple::Mesa)
+ .Case("suse", Triple::SUSE)
.Default(Triple::UnknownVendor);
}
diff --git a/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp b/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
index d0c0956b87ca..629ad5c61b78 100644
--- a/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+++ b/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
@@ -942,6 +942,7 @@ bool AArch64ExpandPseudo::expandMI(MachineBasicBlock &MBB,
AArch64::XZR, NextMBBI);
case AArch64::CMP_SWAP_128:
return expandCMP_SWAP_128(MBB, MBBI, NextMBBI);
+
}
return false;
}
diff --git a/lib/Target/AArch64/AArch64FrameLowering.cpp b/lib/Target/AArch64/AArch64FrameLowering.cpp
index 550174b22a89..dc916c034661 100644
--- a/lib/Target/AArch64/AArch64FrameLowering.cpp
+++ b/lib/Target/AArch64/AArch64FrameLowering.cpp
@@ -1125,7 +1125,7 @@ void AArch64FrameLowering::determineCalleeSaves(MachineFunction &MF,
if (RegInfo->hasBasePointer(MF))
BasePointerReg = RegInfo->getBaseRegister();
- bool ExtraCSSpill = false;
+ unsigned ExtraCSSpill = 0;
const MCPhysReg *CSRegs = RegInfo->getCalleeSavedRegs(&MF);
// Figure out which callee-saved registers to save/restore.
for (unsigned i = 0; CSRegs[i]; ++i) {
@@ -1153,7 +1153,7 @@ void AArch64FrameLowering::determineCalleeSaves(MachineFunction &MF,
SavedRegs.set(PairedReg);
if (AArch64::GPR64RegClass.contains(PairedReg) &&
!RegInfo->isReservedReg(MF, PairedReg))
- ExtraCSSpill = true;
+ ExtraCSSpill = PairedReg;
}
}
@@ -1186,8 +1186,8 @@ void AArch64FrameLowering::determineCalleeSaves(MachineFunction &MF,
// register scavenging. If we already spilled an extra callee-saved register
// above to keep the number of spills even, we don't need to do anything else
// here.
- if (BigStack && !ExtraCSSpill) {
- if (UnspilledCSGPR != AArch64::NoRegister) {
+ if (BigStack) {
+ if (!ExtraCSSpill && UnspilledCSGPR != AArch64::NoRegister) {
DEBUG(dbgs() << "Spilling " << PrintReg(UnspilledCSGPR, RegInfo)
<< " to get a scratch register.\n");
SavedRegs.set(UnspilledCSGPR);
@@ -1196,15 +1196,18 @@ void AArch64FrameLowering::determineCalleeSaves(MachineFunction &MF,
// store the pair.
if (produceCompactUnwindFrame(MF))
SavedRegs.set(UnspilledCSGPRPaired);
- ExtraCSSpill = true;
+ ExtraCSSpill = UnspilledCSGPRPaired;
NumRegsSpilled = SavedRegs.count();
}
// If we didn't find an extra callee-saved register to spill, create
// an emergency spill slot.
- if (!ExtraCSSpill) {
- const TargetRegisterClass *RC = &AArch64::GPR64RegClass;
- int FI = MFI.CreateStackObject(RC->getSize(), RC->getAlignment(), false);
+ if (!ExtraCSSpill || MF.getRegInfo().isPhysRegUsed(ExtraCSSpill)) {
+ const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo();
+ const TargetRegisterClass &RC = AArch64::GPR64RegClass;
+ unsigned Size = TRI->getSpillSize(RC);
+ unsigned Align = TRI->getSpillAlignment(RC);
+ int FI = MFI.CreateStackObject(Size, Align, false);
RS->addScavengingFrameIndex(FI);
DEBUG(dbgs() << "No available CS registers, allocated fi#" << FI
<< " as the emergency spill slot.\n");
diff --git a/lib/Target/AArch64/AArch64ISelLowering.cpp b/lib/Target/AArch64/AArch64ISelLowering.cpp
index 4ddc95199d4c..a7c98fbb425f 100644
--- a/lib/Target/AArch64/AArch64ISelLowering.cpp
+++ b/lib/Target/AArch64/AArch64ISelLowering.cpp
@@ -91,6 +91,7 @@ using namespace llvm;
STATISTIC(NumTailCalls, "Number of tail calls");
STATISTIC(NumShiftInserts, "Number of vector shift inserts");
+STATISTIC(NumOptimizedImms, "Number of times immediates were optimized");
static cl::opt<bool>
EnableAArch64SlrGeneration("aarch64-shift-insert-generation", cl::Hidden,
@@ -105,6 +106,12 @@ cl::opt<bool> EnableAArch64ELFLocalDynamicTLSGeneration(
cl::desc("Allow AArch64 Local Dynamic TLS code generation"),
cl::init(false));
+static cl::opt<bool>
+EnableOptimizeLogicalImm("aarch64-enable-logical-imm", cl::Hidden,
+ cl::desc("Enable AArch64 logical imm instruction "
+ "optimization"),
+ cl::init(true));
+
/// Value type used for condition codes.
static const MVT MVT_CC = MVT::i32;
@@ -787,6 +794,140 @@ EVT AArch64TargetLowering::getSetCCResultType(const DataLayout &, LLVMContext &,
return VT.changeVectorElementTypeToInteger();
}
+static bool optimizeLogicalImm(SDValue Op, unsigned Size, uint64_t Imm,
+ const APInt &Demanded,
+ TargetLowering::TargetLoweringOpt &TLO,
+ unsigned NewOpc) {
+ uint64_t OldImm = Imm, NewImm, Enc;
+ uint64_t Mask = ((uint64_t)(-1LL) >> (64 - Size)), OrigMask = Mask;
+
+ // Return if the immediate is already all zeros, all ones, a bimm32 or a
+ // bimm64.
+ if (Imm == 0 || Imm == Mask ||
+ AArch64_AM::isLogicalImmediate(Imm & Mask, Size))
+ return false;
+
+ unsigned EltSize = Size;
+ uint64_t DemandedBits = Demanded.getZExtValue();
+
+ // Clear bits that are not demanded.
+ Imm &= DemandedBits;
+
+ while (true) {
+ // The goal here is to set the non-demanded bits in a way that minimizes
+ // the number of switching between 0 and 1. In order to achieve this goal,
+ // we set the non-demanded bits to the value of the preceding demanded bits.
+ // For example, if we have an immediate 0bx10xx0x1 ('x' indicates a
+ // non-demanded bit), we copy bit0 (1) to the least significant 'x',
+ // bit2 (0) to 'xx', and bit6 (1) to the most significant 'x'.
+ // The final result is 0b11000011.
+ uint64_t NonDemandedBits = ~DemandedBits;
+ uint64_t InvertedImm = ~Imm & DemandedBits;
+ uint64_t RotatedImm =
+ ((InvertedImm << 1) | (InvertedImm >> (EltSize - 1) & 1)) &
+ NonDemandedBits;
+ uint64_t Sum = RotatedImm + NonDemandedBits;
+ bool Carry = NonDemandedBits & ~Sum & (1ULL << (EltSize - 1));
+ uint64_t Ones = (Sum + Carry) & NonDemandedBits;
+ NewImm = (Imm | Ones) & Mask;
+
+ // If NewImm or its bitwise NOT is a shifted mask, it is a bitmask immediate
+ // or all-ones or all-zeros, in which case we can stop searching. Otherwise,
+ // we halve the element size and continue the search.
+ if (isShiftedMask_64(NewImm) || isShiftedMask_64(~(NewImm | ~Mask)))
+ break;
+
+ // We cannot shrink the element size any further if it is 2-bits.
+ if (EltSize == 2)
+ return false;
+
+ EltSize /= 2;
+ Mask >>= EltSize;
+ uint64_t Hi = Imm >> EltSize, DemandedBitsHi = DemandedBits >> EltSize;
+
+ // Return if there is mismatch in any of the demanded bits of Imm and Hi.
+ if (((Imm ^ Hi) & (DemandedBits & DemandedBitsHi) & Mask) != 0)
+ return false;
+
+ // Merge the upper and lower halves of Imm and DemandedBits.
+ Imm |= Hi;
+ DemandedBits |= DemandedBitsHi;
+ }
+
+ ++NumOptimizedImms;
+
+ // Replicate the element across the register width.
+ while (EltSize < Size) {
+ NewImm |= NewImm << EltSize;
+ EltSize *= 2;
+ }
+
+ (void)OldImm;
+ assert(((OldImm ^ NewImm) & Demanded.getZExtValue()) == 0 &&
+ "demanded bits should never be altered");
+ assert(OldImm != NewImm && "the new imm shouldn't be equal to the old imm");
+
+ // Create the new constant immediate node.
+ EVT VT = Op.getValueType();
+ SDLoc DL(Op);
+
+ // If the new constant immediate is all-zeros or all-ones, let the target
+ // independent DAG combine optimize this node.
+ if (NewImm == 0 || NewImm == OrigMask)
+ return TLO.CombineTo(Op.getOperand(1), TLO.DAG.getConstant(NewImm, DL, VT));
+
+ // Otherwise, create a machine node so that target independent DAG combine
+ // doesn't undo this optimization.
+ Enc = AArch64_AM::encodeLogicalImmediate(NewImm, Size);
+ SDValue EncConst = TLO.DAG.getTargetConstant(Enc, DL, VT);
+ SDValue New(
+ TLO.DAG.getMachineNode(NewOpc, DL, VT, Op.getOperand(0), EncConst), 0);
+
+ return TLO.CombineTo(Op, New);
+}
+
+bool AArch64TargetLowering::targetShrinkDemandedConstant(
+ SDValue Op, const APInt &Demanded, TargetLoweringOpt &TLO) const {
+ // Delay this optimization to as late as possible.
+ if (!TLO.LegalOps)
+ return false;
+
+ if (!EnableOptimizeLogicalImm)
+ return false;
+
+ EVT VT = Op.getValueType();
+ if (VT.isVector())
+ return false;
+
+ unsigned Size = VT.getSizeInBits();
+ assert((Size == 32 || Size == 64) &&
+ "i32 or i64 is expected after legalization.");
+
+ // Exit early if we demand all bits.
+ if (Demanded.countPopulation() == Size)
+ return false;
+
+ unsigned NewOpc;
+ switch (Op.getOpcode()) {
+ default:
+ return false;
+ case ISD::AND:
+ NewOpc = Size == 32 ? AArch64::ANDWri : AArch64::ANDXri;
+ break;
+ case ISD::OR:
+ NewOpc = Size == 32 ? AArch64::ORRWri : AArch64::ORRXri;
+ break;
+ case ISD::XOR:
+ NewOpc = Size == 32 ? AArch64::EORWri : AArch64::EORXri;
+ break;
+ }
+ ConstantSDNode *C = dyn_cast<ConstantSDNode>(Op.getOperand(1));
+ if (!C)
+ return false;
+ uint64_t Imm = C->getZExtValue();
+ return optimizeLogicalImm(Op, Size, Imm, Demanded, TLO, NewOpc);
+}
+
/// computeKnownBitsForTargetNode - Determine which of the bits specified in
/// Mask are known to be either zero or one and return them in the
/// KnownZero/KnownOne bitsets.
@@ -3418,11 +3559,75 @@ AArch64TargetLowering::LowerReturn(SDValue Chain, CallingConv::ID CallConv,
// Other Lowering Code
//===----------------------------------------------------------------------===//
+SDValue AArch64TargetLowering::getTargetNode(GlobalAddressSDNode *N, EVT Ty,
+ SelectionDAG &DAG,
+ unsigned Flag) const {
+ return DAG.getTargetGlobalAddress(N->getGlobal(), SDLoc(N), Ty, 0, Flag);
+}
+
+SDValue AArch64TargetLowering::getTargetNode(JumpTableSDNode *N, EVT Ty,
+ SelectionDAG &DAG,
+ unsigned Flag) const {
+ return DAG.getTargetJumpTable(N->getIndex(), Ty, Flag);
+}
+
+SDValue AArch64TargetLowering::getTargetNode(ConstantPoolSDNode *N, EVT Ty,
+ SelectionDAG &DAG,
+ unsigned Flag) const {
+ return DAG.getTargetConstantPool(N->getConstVal(), Ty, N->getAlignment(),
+ N->getOffset(), Flag);
+}
+
+SDValue AArch64TargetLowering::getTargetNode(BlockAddressSDNode* N, EVT Ty,
+ SelectionDAG &DAG,
+ unsigned Flag) const {
+ return DAG.getTargetBlockAddress(N->getBlockAddress(), Ty, 0, Flag);
+}
+
+// (loadGOT sym)
+template <class NodeTy>
+SDValue AArch64TargetLowering::getGOT(NodeTy *N, SelectionDAG &DAG) const {
+ DEBUG(dbgs() << "AArch64TargetLowering::getGOT\n");
+ SDLoc DL(N);
+ EVT Ty = getPointerTy(DAG.getDataLayout());
+ SDValue GotAddr = getTargetNode(N, Ty, DAG, AArch64II::MO_GOT);
+ // FIXME: Once remat is capable of dealing with instructions with register
+ // operands, expand this into two nodes instead of using a wrapper node.
+ return DAG.getNode(AArch64ISD::LOADgot, DL, Ty, GotAddr);
+}
+
+// (wrapper %highest(sym), %higher(sym), %hi(sym), %lo(sym))
+template <class NodeTy>
+SDValue AArch64TargetLowering::getAddrLarge(NodeTy *N, SelectionDAG &DAG)
+ const {
+ DEBUG(dbgs() << "AArch64TargetLowering::getAddrLarge\n");
+ SDLoc DL(N);
+ EVT Ty = getPointerTy(DAG.getDataLayout());
+ const unsigned char MO_NC = AArch64II::MO_NC;
+ return DAG.getNode(
+ AArch64ISD::WrapperLarge, DL, Ty,
+ getTargetNode(N, Ty, DAG, AArch64II::MO_G3),
+ getTargetNode(N, Ty, DAG, AArch64II::MO_G2 | MO_NC),
+ getTargetNode(N, Ty, DAG, AArch64II::MO_G1 | MO_NC),
+ getTargetNode(N, Ty, DAG, AArch64II::MO_G0 | MO_NC));
+}
+
+// (addlow (adrp %hi(sym)) %lo(sym))
+template <class NodeTy>
+SDValue AArch64TargetLowering::getAddr(NodeTy *N, SelectionDAG &DAG) const {
+ DEBUG(dbgs() << "AArch64TargetLowering::getAddr\n");
+ SDLoc DL(N);
+ EVT Ty = getPointerTy(DAG.getDataLayout());
+ SDValue Hi = getTargetNode(N, Ty, DAG, AArch64II::MO_PAGE);
+ SDValue Lo = getTargetNode(N, Ty, DAG,
+ AArch64II::MO_PAGEOFF | AArch64II::MO_NC);
+ SDValue ADRP = DAG.getNode(AArch64ISD::ADRP, DL, Ty, Hi);
+ return DAG.getNode(AArch64ISD::ADDlow, DL, Ty, ADRP, Lo);
+}
+
SDValue AArch64TargetLowering::LowerGlobalAddress(SDValue Op,
SelectionDAG &DAG) const {
- EVT PtrVT = getPointerTy(DAG.getDataLayout());
- SDLoc DL(Op);
- const GlobalAddressSDNode *GN = cast<GlobalAddressSDNode>(Op);
+ GlobalAddressSDNode *GN = cast<GlobalAddressSDNode>(Op);
const GlobalValue *GV = GN->getGlobal();
unsigned char OpFlags =
Subtarget->ClassifyGlobalReference(GV, getTargetMachine());
@@ -3430,32 +3635,15 @@ SDValue AArch64TargetLowering::LowerGlobalAddress(SDValue Op,
assert(cast<GlobalAddressSDNode>(Op)->getOffset() == 0 &&
"unexpected offset in global node");
- // This also catched the large code model case for Darwin.
+ // This also catches the large code model case for Darwin.
if ((OpFlags & AArch64II::MO_GOT) != 0) {
- SDValue GotAddr = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, OpFlags);
- // FIXME: Once remat is capable of dealing with instructions with register
- // operands, expand this into two nodes instead of using a wrapper node.
- return DAG.getNode(AArch64ISD::LOADgot, DL, PtrVT, GotAddr);
+ return getGOT(GN, DAG);
}
if (getTargetMachine().getCodeModel() == CodeModel::Large) {
- const unsigned char MO_NC = AArch64II::MO_NC;
- return DAG.getNode(
- AArch64ISD::WrapperLarge, DL, PtrVT,
- DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, AArch64II::MO_G3),
- DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, AArch64II::MO_G2 | MO_NC),
- DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, AArch64II::MO_G1 | MO_NC),
- DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, AArch64II::MO_G0 | MO_NC));
+ return getAddrLarge(GN, DAG);
} else {
- // Use ADRP/ADD or ADRP/LDR for everything else: the small model on ELF and
- // the only correct model on Darwin.
- SDValue Hi = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0,
- OpFlags | AArch64II::MO_PAGE);
- unsigned char LoFlags = OpFlags | AArch64II::MO_PAGEOFF | AArch64II::MO_NC;
- SDValue Lo = DAG.getTargetGlobalAddress(GV, DL, PtrVT, 0, LoFlags);
-
- SDValue ADRP = DAG.getNode(AArch64ISD::ADRP, DL, PtrVT, Hi);
- return DAG.getNode(AArch64ISD::ADDlow, DL, PtrVT, ADRP, Lo);
+ return getAddr(GN, DAG);
}
}
@@ -4232,90 +4420,37 @@ SDValue AArch64TargetLowering::LowerJumpTable(SDValue Op,
// Jump table entries as PC relative offsets. No additional tweaking
// is necessary here. Just get the address of the jump table.
JumpTableSDNode *JT = cast<JumpTableSDNode>(Op);
- EVT PtrVT = getPointerTy(DAG.getDataLayout());
- SDLoc DL(Op);
if (getTargetMachine().getCodeModel() == CodeModel::Large &&
!Subtarget->isTargetMachO()) {
- const unsigned char MO_NC = AArch64II::MO_NC;
- return DAG.getNode(
- AArch64ISD::WrapperLarge, DL, PtrVT,
- DAG.getTargetJumpTable(JT->getIndex(), PtrVT, AArch64II::MO_G3),
- DAG.getTargetJumpTable(JT->getIndex(), PtrVT, AArch64II::MO_G2 | MO_NC),
- DAG.getTargetJumpTable(JT->getIndex(), PtrVT, AArch64II::MO_G1 | MO_NC),
- DAG.getTargetJumpTable(JT->getIndex(), PtrVT,
- AArch64II::MO_G0 | MO_NC));
+ return getAddrLarge(JT, DAG);
}
-
- SDValue Hi =
- DAG.getTargetJumpTable(JT->getIndex(), PtrVT, AArch64II::MO_PAGE);
- SDValue Lo = DAG.getTargetJumpTable(JT->getIndex(), PtrVT,
- AArch64II::MO_PAGEOFF | AArch64II::MO_NC);
- SDValue ADRP = DAG.getNode(AArch64ISD::ADRP, DL, PtrVT, Hi);
- return DAG.getNode(AArch64ISD::ADDlow, DL, PtrVT, ADRP, Lo);
+ return getAddr(JT, DAG);
}
SDValue AArch64TargetLowering::LowerConstantPool(SDValue Op,
SelectionDAG &DAG) const {
ConstantPoolSDNode *CP = cast<ConstantPoolSDNode>(Op);
- EVT PtrVT = getPointerTy(DAG.getDataLayout());
- SDLoc DL(Op);
if (getTargetMachine().getCodeModel() == CodeModel::Large) {
// Use the GOT for the large code model on iOS.
if (Subtarget->isTargetMachO()) {
- SDValue GotAddr = DAG.getTargetConstantPool(
- CP->getConstVal(), PtrVT, CP->getAlignment(), CP->getOffset(),
- AArch64II::MO_GOT);
- return DAG.getNode(AArch64ISD::LOADgot, DL, PtrVT, GotAddr);
+ return getGOT(CP, DAG);
}
-
- const unsigned char MO_NC = AArch64II::MO_NC;
- return DAG.getNode(
- AArch64ISD::WrapperLarge, DL, PtrVT,
- DAG.getTargetConstantPool(CP->getConstVal(), PtrVT, CP->getAlignment(),
- CP->getOffset(), AArch64II::MO_G3),
- DAG.getTargetConstantPool(CP->getConstVal(), PtrVT, CP->getAlignment(),
- CP->getOffset(), AArch64II::MO_G2 | MO_NC),
- DAG.getTargetConstantPool(CP->getConstVal(), PtrVT, CP->getAlignment(),
- CP->getOffset(), AArch64II::MO_G1 | MO_NC),
- DAG.getTargetConstantPool(CP->getConstVal(), PtrVT, CP->getAlignment(),
- CP->getOffset(), AArch64II::MO_G0 | MO_NC));
+ return getAddrLarge(CP, DAG);
} else {
- // Use ADRP/ADD or ADRP/LDR for everything else: the small memory model on
- // ELF, the only valid one on Darwin.
- SDValue Hi =
- DAG.getTargetConstantPool(CP->getConstVal(), PtrVT, CP->getAlignment(),
- CP->getOffset(), AArch64II::MO_PAGE);
- SDValue Lo = DAG.getTargetConstantPool(
- CP->getConstVal(), PtrVT, CP->getAlignment(), CP->getOffset(),
- AArch64II::MO_PAGEOFF | AArch64II::MO_NC);
-
- SDValue ADRP = DAG.getNode(AArch64ISD::ADRP, DL, PtrVT, Hi);
- return DAG.getNode(AArch64ISD::ADDlow, DL, PtrVT, ADRP, Lo);
+ return getAddr(CP, DAG);
}
}
SDValue AArch64TargetLowering::LowerBlockAddress(SDValue Op,
SelectionDAG &DAG) const {
- const BlockAddress *BA = cast<BlockAddressSDNode>(Op)->getBlockAddress();
- EVT PtrVT = getPointerTy(DAG.getDataLayout());
- SDLoc DL(Op);
+ BlockAddressSDNode *BA = cast<BlockAddressSDNode>(Op);
if (getTargetMachine().getCodeModel() == CodeModel::Large &&
!Subtarget->isTargetMachO()) {
- const unsigned char MO_NC = AArch64II::MO_NC;
- return DAG.getNode(
- AArch64ISD::WrapperLarge, DL, PtrVT,
- DAG.getTargetBlockAddress(BA, PtrVT, 0, AArch64II::MO_G3),
- DAG.getTargetBlockAddress(BA, PtrVT, 0, AArch64II::MO_G2 | MO_NC),
- DAG.getTargetBlockAddress(BA, PtrVT, 0, AArch64II::MO_G1 | MO_NC),
- DAG.getTargetBlockAddress(BA, PtrVT, 0, AArch64II::MO_G0 | MO_NC));
+ return getAddrLarge(BA, DAG);
} else {
- SDValue Hi = DAG.getTargetBlockAddress(BA, PtrVT, 0, AArch64II::MO_PAGE);
- SDValue Lo = DAG.getTargetBlockAddress(BA, PtrVT, 0, AArch64II::MO_PAGEOFF |
- AArch64II::MO_NC);
- SDValue ADRP = DAG.getNode(AArch64ISD::ADRP, DL, PtrVT, Hi);
- return DAG.getNode(AArch64ISD::ADDlow, DL, PtrVT, ADRP, Lo);
+ return getAddr(BA, DAG);
}
}
diff --git a/lib/Target/AArch64/AArch64ISelLowering.h b/lib/Target/AArch64/AArch64ISelLowering.h
index a023b4373835..6081b07479b9 100644
--- a/lib/Target/AArch64/AArch64ISelLowering.h
+++ b/lib/Target/AArch64/AArch64ISelLowering.h
@@ -255,6 +255,9 @@ public:
const SelectionDAG &DAG,
unsigned Depth = 0) const override;
+ bool targetShrinkDemandedConstant(SDValue Op, const APInt &Demanded,
+ TargetLoweringOpt &TLO) const override;
+
MVT getScalarShiftAmountTy(const DataLayout &DL, EVT) const override;
/// Returns true if the target allows unaligned memory accesses of the
@@ -508,6 +511,18 @@ private:
const SmallVectorImpl<SDValue> &OutVals, const SDLoc &DL,
SelectionDAG &DAG) const override;
+ SDValue getTargetNode(GlobalAddressSDNode *N, EVT Ty, SelectionDAG &DAG,
+ unsigned Flag) const;
+ SDValue getTargetNode(JumpTableSDNode *N, EVT Ty, SelectionDAG &DAG,
+ unsigned Flag) const;
+ SDValue getTargetNode(ConstantPoolSDNode *N, EVT Ty, SelectionDAG &DAG,
+ unsigned Flag) const;
+ SDValue getTargetNode(BlockAddressSDNode *N, EVT Ty, SelectionDAG &DAG,
+ unsigned Flag) const;
+ template <class NodeTy> SDValue getGOT(NodeTy *N, SelectionDAG &DAG) const;
+ template <class NodeTy>
+ SDValue getAddrLarge(NodeTy *N, SelectionDAG &DAG) const;
+ template <class NodeTy> SDValue getAddr(NodeTy *N, SelectionDAG &DAG) const;
SDValue LowerGlobalAddress(SDValue Op, SelectionDAG &DAG) const;
SDValue LowerGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
SDValue LowerDarwinGlobalTLSAddress(SDValue Op, SelectionDAG &DAG) const;
diff --git a/lib/Target/AArch64/AArch64InstrAtomics.td b/lib/Target/AArch64/AArch64InstrAtomics.td
index 867074c3c374..71826bec6b11 100644
--- a/lib/Target/AArch64/AArch64InstrAtomics.td
+++ b/lib/Target/AArch64/AArch64InstrAtomics.td
@@ -14,6 +14,9 @@
//===----------------------------------
// Atomic fences
//===----------------------------------
+let AddedComplexity = 15, Size = 0 in
+def CompilerBarrier : Pseudo<(outs), (ins i32imm:$ordering),
+ [(atomic_fence imm:$ordering, 0)]>, Sched<[]>;
def : Pat<(atomic_fence (i64 4), (imm)), (DMB (i32 0x9))>;
def : Pat<(atomic_fence (imm), (imm)), (DMB (i32 0xb))>;
diff --git a/lib/Target/AArch64/AArch64InstrFormats.td b/lib/Target/AArch64/AArch64InstrFormats.td
index 16be4432b160..c44daf306ea9 100644
--- a/lib/Target/AArch64/AArch64InstrFormats.td
+++ b/lib/Target/AArch64/AArch64InstrFormats.td
@@ -693,11 +693,11 @@ def addsub_shifted_imm32_neg : addsub_shifted_imm_neg<i32>;
def addsub_shifted_imm64_neg : addsub_shifted_imm_neg<i64>;
def gi_addsub_shifted_imm32 :
- GIComplexOperandMatcher<s32, (ops i32imm, i32imm), "selectArithImmed">,
+ GIComplexOperandMatcher<s32, "selectArithImmed">,
GIComplexPatternEquiv<addsub_shifted_imm32>;
def gi_addsub_shifted_imm64 :
- GIComplexOperandMatcher<s64, (ops i32imm, i32imm), "selectArithImmed">,
+ GIComplexOperandMatcher<s64, "selectArithImmed">,
GIComplexPatternEquiv<addsub_shifted_imm64>;
class neg_addsub_shifted_imm<ValueType Ty>
diff --git a/lib/Target/AArch64/AArch64InstrInfo.cpp b/lib/Target/AArch64/AArch64InstrInfo.cpp
index 41fc8eceab5c..cb268828455e 100644
--- a/lib/Target/AArch64/AArch64InstrInfo.cpp
+++ b/lib/Target/AArch64/AArch64InstrInfo.cpp
@@ -2320,7 +2320,7 @@ void AArch64InstrInfo::storeRegToStackSlot(
PtrInfo, MachineMemOperand::MOStore, MFI.getObjectSize(FI), Align);
unsigned Opc = 0;
bool Offset = true;
- switch (RC->getSize()) {
+ switch (TRI->getSpillSize(*RC)) {
case 1:
if (AArch64::FPR8RegClass.hasSubClassEq(RC))
Opc = AArch64::STRBui;
@@ -2424,7 +2424,7 @@ void AArch64InstrInfo::loadRegFromStackSlot(
unsigned Opc = 0;
bool Offset = true;
- switch (RC->getSize()) {
+ switch (TRI->getSpillSize(*RC)) {
case 1:
if (AArch64::FPR8RegClass.hasSubClassEq(RC))
Opc = AArch64::LDRBui;
@@ -2649,7 +2649,8 @@ MachineInstr *AArch64InstrInfo::foldMemoryOperandImpl(
};
if (DstMO.getSubReg() == 0 && SrcMO.getSubReg() == 0) {
- assert(getRegClass(DstReg)->getSize() == getRegClass(SrcReg)->getSize() &&
+ assert(TRI.getRegSizeInBits(*getRegClass(DstReg)) ==
+ TRI.getRegSizeInBits(*getRegClass(SrcReg)) &&
"Mismatched register size in non subreg COPY");
if (IsSpill)
storeRegToStackSlot(MBB, InsertPt, SrcReg, SrcMO.isKill(), FrameIndex,
@@ -2735,7 +2736,8 @@ MachineInstr *AArch64InstrInfo::foldMemoryOperandImpl(
}
if (FillRC) {
- assert(getRegClass(SrcReg)->getSize() == FillRC->getSize() &&
+ assert(TRI.getRegSizeInBits(*getRegClass(SrcReg)) ==
+ TRI.getRegSizeInBits(*FillRC) &&
"Mismatched regclass size on folded subreg COPY");
loadRegFromStackSlot(MBB, InsertPt, DstReg, FrameIndex, FillRC, &TRI);
MachineInstr &LoadMI = *--InsertPt;
@@ -3025,7 +3027,7 @@ bool llvm::rewriteAArch64FrameIndex(MachineInstr &MI, unsigned FrameRegIdx,
return false;
}
-void AArch64InstrInfo::getNoopForMachoTarget(MCInst &NopInst) const {
+void AArch64InstrInfo::getNoop(MCInst &NopInst) const {
NopInst.setOpcode(AArch64::HINT);
NopInst.addOperand(MCOperand::createImm(0));
}
diff --git a/lib/Target/AArch64/AArch64InstrInfo.h b/lib/Target/AArch64/AArch64InstrInfo.h
index bacce441f6c5..4cd14db633b9 100644
--- a/lib/Target/AArch64/AArch64InstrInfo.h
+++ b/lib/Target/AArch64/AArch64InstrInfo.h
@@ -205,7 +205,7 @@ public:
const DebugLoc &DL, unsigned DstReg,
ArrayRef<MachineOperand> Cond, unsigned TrueReg,
unsigned FalseReg) const override;
- void getNoopForMachoTarget(MCInst &NopInst) const override;
+ void getNoop(MCInst &NopInst) const override;
/// analyzeCompare - For a comparison instruction, return the source registers
/// in SrcReg and SrcReg2, and the value it compares against in CmpValue.
diff --git a/lib/Target/AArch64/AArch64InstructionSelector.cpp b/lib/Target/AArch64/AArch64InstructionSelector.cpp
index 5e01b6cd2b46..b0e0e3eb4ba7 100644
--- a/lib/Target/AArch64/AArch64InstructionSelector.cpp
+++ b/lib/Target/AArch64/AArch64InstructionSelector.cpp
@@ -41,12 +41,17 @@ using namespace llvm;
namespace {
+#define GET_GLOBALISEL_PREDICATE_BITSET
+#include "AArch64GenGlobalISel.inc"
+#undef GET_GLOBALISEL_PREDICATE_BITSET
+
class AArch64InstructionSelector : public InstructionSelector {
public:
AArch64InstructionSelector(const AArch64TargetMachine &TM,
const AArch64Subtarget &STI,
const AArch64RegisterBankInfo &RBI);
+ void beginFunction(const MachineFunction &MF) override;
bool select(MachineInstr &I) const override;
private:
@@ -62,14 +67,19 @@ private:
bool selectCompareBranch(MachineInstr &I, MachineFunction &MF,
MachineRegisterInfo &MRI) const;
- bool selectArithImmed(MachineOperand &Root, MachineOperand &Result1,
- MachineOperand &Result2) const;
+ ComplexRendererFn selectArithImmed(MachineOperand &Root) const;
const AArch64TargetMachine &TM;
const AArch64Subtarget &STI;
const AArch64InstrInfo &TII;
const AArch64RegisterInfo &TRI;
const AArch64RegisterBankInfo &RBI;
+ bool ForCodeSize;
+
+ PredicateBitset AvailableFeatures;
+ PredicateBitset
+ computeAvailableFeatures(const MachineFunction *MF,
+ const AArch64Subtarget *Subtarget) const;
// We declare the temporaries used by selectImpl() in the class to minimize the
// cost of constructing placeholder values.
@@ -88,7 +98,7 @@ AArch64InstructionSelector::AArch64InstructionSelector(
const AArch64TargetMachine &TM, const AArch64Subtarget &STI,
const AArch64RegisterBankInfo &RBI)
: InstructionSelector(), TM(TM), STI(STI), TII(*STI.getInstrInfo()),
- TRI(*STI.getRegisterInfo()), RBI(RBI)
+ TRI(*STI.getRegisterInfo()), RBI(RBI), ForCodeSize(), AvailableFeatures()
#define GET_GLOBALISEL_TEMPORARIES_INIT
#include "AArch64GenGlobalISel.inc"
#undef GET_GLOBALISEL_TEMPORARIES_INIT
@@ -567,6 +577,12 @@ bool AArch64InstructionSelector::selectVaStartDarwin(
return true;
}
+void AArch64InstructionSelector::beginFunction(
+ const MachineFunction &MF) {
+ ForCodeSize = MF.getFunction()->optForSize();
+ AvailableFeatures = computeAvailableFeatures(&MF, &STI);
+}
+
bool AArch64InstructionSelector::select(MachineInstr &I) const {
assert(I.getParent() && "Instruction should be in a basic block!");
assert(I.getParent()->getParent() && "Instruction should be in a function!");
@@ -1312,9 +1328,8 @@ bool AArch64InstructionSelector::select(MachineInstr &I) const {
/// SelectArithImmed - Select an immediate value that can be represented as
/// a 12-bit value shifted left by either 0 or 12. If so, return true with
/// Val set to the 12-bit value and Shift set to the shifter operand.
-bool AArch64InstructionSelector::selectArithImmed(
- MachineOperand &Root, MachineOperand &Result1,
- MachineOperand &Result2) const {
+InstructionSelector::ComplexRendererFn
+AArch64InstructionSelector::selectArithImmed(MachineOperand &Root) const {
MachineInstr &MI = *Root.getParent();
MachineBasicBlock &MBB = *MI.getParent();
MachineFunction &MF = *MBB.getParent();
@@ -1333,13 +1348,13 @@ bool AArch64InstructionSelector::selectArithImmed(
else if (Root.isReg()) {
MachineInstr *Def = MRI.getVRegDef(Root.getReg());
if (Def->getOpcode() != TargetOpcode::G_CONSTANT)
- return false;
+ return nullptr;
MachineOperand &Op1 = Def->getOperand(1);
if (!Op1.isCImm() || Op1.getCImm()->getBitWidth() > 64)
- return false;
+ return nullptr;
Immed = Op1.getCImm()->getZExtValue();
} else
- return false;
+ return nullptr;
unsigned ShiftAmt;
@@ -1349,14 +1364,10 @@ bool AArch64InstructionSelector::selectArithImmed(
ShiftAmt = 12;
Immed = Immed >> 12;
} else
- return false;
+ return nullptr;
unsigned ShVal = AArch64_AM::getShifterImm(AArch64_AM::LSL, ShiftAmt);
- Result1.ChangeToImmediate(Immed);
- Result1.clearParent();
- Result2.ChangeToImmediate(ShVal);
- Result2.clearParent();
- return true;
+ return [=](MachineInstrBuilder &MIB) { MIB.addImm(Immed).addImm(ShVal); };
}
namespace llvm {
diff --git a/lib/Target/AArch64/AArch64SchedFalkor.td b/lib/Target/AArch64/AArch64SchedFalkor.td
index eec089087fe0..cf1c0b66db58 100644
--- a/lib/Target/AArch64/AArch64SchedFalkor.td
+++ b/lib/Target/AArch64/AArch64SchedFalkor.td
@@ -79,14 +79,14 @@ def : WriteRes<WriteIM64, [FalkorUnitX]> { let Latency = 5; }
def : WriteRes<WriteBr, [FalkorUnitB]> { let Latency = 1; }
def : WriteRes<WriteBrReg, [FalkorUnitB]> { let Latency = 1; }
def : WriteRes<WriteLD, [FalkorUnitLD]> { let Latency = 3; }
-def : WriteRes<WriteST, [FalkorUnitLD, FalkorUnitST, FalkorUnitSD]>
- { let Latency = 3; let NumMicroOps = 3; }
+def : WriteRes<WriteST, [FalkorUnitST, FalkorUnitSD]>
+ { let Latency = 0; let NumMicroOps = 2; }
def : WriteRes<WriteSTP, [FalkorUnitST, FalkorUnitSD]>
{ let Latency = 0; let NumMicroOps = 2; }
-def : WriteRes<WriteAdr, [FalkorUnitXYZ]> { let Latency = 5; }
+def : WriteRes<WriteAdr, [FalkorUnitXYZ]> { let Latency = 1; }
def : WriteRes<WriteLDIdx, [FalkorUnitLD]> { let Latency = 5; }
-def : WriteRes<WriteSTIdx, [FalkorUnitLD, FalkorUnitST, FalkorUnitSD]>
- { let Latency = 4; let NumMicroOps = 3; }
+def : WriteRes<WriteSTIdx, [FalkorUnitST, FalkorUnitSD]>
+ { let Latency = 0; let NumMicroOps = 2; }
def : WriteRes<WriteF, [FalkorUnitVXVY, FalkorUnitVXVY]>
{ let Latency = 3; let NumMicroOps = 2; }
def : WriteRes<WriteFCmp, [FalkorUnitVXVY]> { let Latency = 2; }
diff --git a/lib/Target/AArch64/AArch64SchedFalkorDetails.td b/lib/Target/AArch64/AArch64SchedFalkorDetails.td
index 4bd77d344488..8f8eeef8a6cf 100644
--- a/lib/Target/AArch64/AArch64SchedFalkorDetails.td
+++ b/lib/Target/AArch64/AArch64SchedFalkorDetails.td
@@ -326,6 +326,10 @@ def : InstRW<[FalkorWr_5VXVY_7cyc], (instregex "^TBX(v8i8Four|v16i8Four)$")>;
// SIMD Store Instructions
// -----------------------------------------------------------------------------
+def : InstRW<[WriteVST], (instregex "^STP(D|S)(i)$")>;
+def : InstRW<[WriteVST, WriteAdr], (instregex "^STP(D|S)(post|pre)$")>;
+def : InstRW<[FalkorWr_2XYZ_2ST_2VSD_0cyc], (instregex "^STRQro(W|X)$")>;
+
def : InstRW<[WriteVST], (instregex "^ST1(One(v8b|v4h|v2s|v1d)(_POST)?|(i8|i16|i32|i64)(_POST)?|One(v16b|v8h|v4s|v2d)|Two(v8b|v4h|v2s|v1d))$")>;
def : InstRW<[WriteVST], (instregex "^ST2(Two(v8b|v4h|v2s|v1d)|(i8|i16|i32|i64))$")>;
def : InstRW<[WriteVST, WriteAdr], (instregex "^ST1(One(v16b|v8h|v4s|v2d)|Two(v8b|v4h|v2s|v1d))_POST$")>;
@@ -421,6 +425,7 @@ def : InstRW<[FalkorWr_1VX_1VY_2cyc], (instregex "^FSQRT(H|S|D)r$")>;
def : InstRW<[FalkorWr_1VXVY_5cyc, FalkorReadFMA],(instregex "^F(N)?M(ADD|SUB)(H|S)rrr$")>;
def : InstRW<[FalkorWr_1VXVY_6cyc, FalkorReadFMA],(instregex "^F(N)?M(ADD|SUB)Drrr$")>;
+
// FP Miscellaneous Instructions
// -----------------------------------------------------------------------------
def : InstRW<[FalkorWr_FMOV], (instregex "^FMOV(HW|HX|SW|DX|DXHigh)r$")>;
@@ -433,7 +438,6 @@ def : InstRW<[FalkorWr_1VXVY_4cyc], (instregex "^(S|U)CVTF(v1i16|v1i32|v2i32|v
def : InstRW<[FalkorWr_2VXVY_4cyc], (instregex "^(S|U)CVTF(v2i64|v4i32|v8i16|v2f64|v4f32|v8f16)(_shift)?")>;
-
// Load Instructions
// -----------------------------------------------------------------------------
def : InstRW<[FalkorWr_1ST_0cyc], (instrs PRFMui, PRFMl)>;
@@ -461,6 +465,7 @@ def : InstRW<[FalkorWr_1LD_4cyc, WriteAdr],(instregex "^LDRS(BW|BX|HW|HX|W)(post
def : InstRW<[WriteLD, WriteLDHi, WriteAdr],(instregex "^LDP(W|X)(post|pre)$")>;
def : InstRW<[FalkorWr_1LD_4cyc, WriteLDHi],(instrs LDPSWi)>;
def : InstRW<[FalkorWr_1LD_4cyc, WriteLDHi, WriteAdr],(instregex "^LDPSW(post|pre)$")>;
+
// Miscellaneous Data-Processing Instructions
// -----------------------------------------------------------------------------
def : InstRW<[FalkorWr_1XYZ_1cyc], (instregex "^(S|U)?BFM(W|X)ri$")>;
@@ -502,28 +507,30 @@ def : InstRW<[FalkorWr_1LD_1Z_3cyc], (instrs DRPS)>;
def : InstRW<[FalkorWr_1SD_1ST_0cyc], (instrs MSR)>;
def : InstRW<[WriteVST], (instrs STNPDi, STNPSi)>;
-def : InstRW<[WriteSTP], (instrs STNPWi, STNPXi)>;
+def : InstRW<[WriteSTP], (instrs STNPWi, STNPXi)>;
def : InstRW<[FalkorWr_2LD_1Z_3cyc], (instrs ERET)>;
-def : InstRW<[WriteST], (instregex "^LDC.*$")>;
-def : InstRW<[WriteST], (instregex "^STLR(B|H|W|X)$")>;
-def : InstRW<[WriteST], (instregex "^STXP(W|X)$")>;
-def : InstRW<[WriteST], (instregex "^STXR(B|H|W|X)$")>;
+def : InstRW<[FalkorWr_1ST_1SD_1LD_3cyc], (instregex "^LDC.*$")>;
+def : InstRW<[FalkorWr_1ST_1SD_1LD_0cyc], (instregex "^STLR(B|H|W|X)$")>;
+def : InstRW<[FalkorWr_1ST_1SD_1LD_0cyc], (instregex "^STXP(W|X)$")>;
+def : InstRW<[FalkorWr_1ST_1SD_1LD_0cyc], (instregex "^STXR(B|H|W|X)$")>;
-def : InstRW<[WriteSTX], (instregex "^STLXP(W|X)$")>;
-def : InstRW<[WriteSTX], (instregex "^STLXR(B|H|W|X)$")>;
+def : InstRW<[FalkorWr_2LD_1ST_1SD_3cyc], (instregex "^STLXP(W|X)$")>;
+def : InstRW<[FalkorWr_2LD_1ST_1SD_3cyc], (instregex "^STLXR(B|H|W|X)$")>;
def : InstRW<[WriteVST, WriteVST], (instrs STNPQi)>;
// Store Instructions
// -----------------------------------------------------------------------------
-def : InstRW<[WriteVST], (instregex "^STP(D|S)(i|post|pre)$")>;
-def : InstRW<[WriteST], (instregex "^STP(W|X)(i|post|pre)$")>;
+def : InstRW<[WriteST], (instregex "^STP(W|X)i$")>;
+def : InstRW<[WriteST, WriteAdr], (instregex "^STP(W|X)(post|pre)$")>;
def : InstRW<[WriteST], (instregex "^STR(Q|D|S|BB|HH)ui$")>;
def : InstRW<[WriteST], (instregex "^STUR(Q|D|S|BB|HH)i$")>;
-def : InstRW<[WriteST], (instregex "^STR(B|H|W|X)(post|pre|ui)$")>;
+def : InstRW<[WriteST], (instregex "^STR(B|H|W|X)ui$")>;
+def : InstRW<[WriteST, WriteAdr], (instregex "^STR(B|H|W|X)(post|pre)$")>;
def : InstRW<[WriteST], (instregex "^STTR(B|H|W|X)i$")>;
def : InstRW<[WriteST], (instregex "^STUR(B|H|W|X)i$")>;
def : InstRW<[WriteST, WriteAdr], (instregex "^STR(B|H|W|X)ro(W|X)$")>;
-def : InstRW<[WriteVST, WriteVST], (instregex "^STPQ(i|post|pre)$")>;
+def : InstRW<[WriteVST, WriteVST], (instregex "^STPQi$")>;
+def : InstRW<[WriteVST, WriteVST, WriteAdr], (instregex "^STPQ(post|pre)$")>;
diff --git a/lib/Target/AArch64/AArch64SchedFalkorWriteRes.td b/lib/Target/AArch64/AArch64SchedFalkorWriteRes.td
index 9cdb4be4246b..e64b2c441a19 100644
--- a/lib/Target/AArch64/AArch64SchedFalkorWriteRes.td
+++ b/lib/Target/AArch64/AArch64SchedFalkorWriteRes.td
@@ -28,7 +28,6 @@
//===----------------------------------------------------------------------===//
// Define 1 micro-op types
-
def FalkorWr_1X_2cyc : SchedWriteRes<[FalkorUnitX]> { let Latency = 2; }
def FalkorWr_1X_4cyc : SchedWriteRes<[FalkorUnitX]> { let Latency = 4; }
def FalkorWr_1X_5cyc : SchedWriteRes<[FalkorUnitX]> { let Latency = 5; }
@@ -175,18 +174,33 @@ def FalkorWr_1SD_1ST_0cyc: SchedWriteRes<[FalkorUnitSD, FalkorUnitST]> {
//===----------------------------------------------------------------------===//
// Define 3 micro-op types
+def FalkorWr_1ST_1SD_1LD_0cyc : SchedWriteRes<[FalkorUnitST, FalkorUnitSD,
+ FalkorUnitLD]> {
+ let Latency = 0;
+ let NumMicroOps = 3;
+}
+
+def FalkorWr_1ST_1SD_1LD_3cyc : SchedWriteRes<[FalkorUnitST, FalkorUnitSD,
+ FalkorUnitLD]> {
+ let Latency = 3;
+ let NumMicroOps = 3;
+}
+
def FalkorWr_3VXVY_3cyc : SchedWriteRes<[FalkorUnitVXVY, FalkorUnitVXVY]> {
let Latency = 3;
let NumMicroOps = 3;
}
+
def FalkorWr_3VXVY_4cyc : SchedWriteRes<[FalkorUnitVXVY, FalkorUnitVXVY]> {
let Latency = 4;
let NumMicroOps = 3;
}
+
def FalkorWr_3VXVY_5cyc : SchedWriteRes<[FalkorUnitVXVY, FalkorUnitVXVY]> {
let Latency = 5;
let NumMicroOps = 3;
}
+
def FalkorWr_3VXVY_6cyc : SchedWriteRes<[FalkorUnitVXVY, FalkorUnitVXVY]> {
let Latency = 6;
let NumMicroOps = 3;
@@ -196,10 +210,12 @@ def FalkorWr_1LD_2VXVY_4cyc : SchedWriteRes<[FalkorUnitLD, FalkorUnitVXVY]> {
let Latency = 4;
let NumMicroOps = 3;
}
+
def FalkorWr_2LD_1none_3cyc : SchedWriteRes<[FalkorUnitLD, FalkorUnitLD]> {
let Latency = 3;
let NumMicroOps = 3;
}
+
def FalkorWr_3LD_3cyc : SchedWriteRes<[FalkorUnitLD, FalkorUnitLD,
FalkorUnitLD]> {
let Latency = 3;
@@ -259,6 +275,12 @@ def FalkorWr_2LD_2none_3cyc: SchedWriteRes<[FalkorUnitLD, FalkorUnitLD]> {
let NumMicroOps = 4;
}
+def FalkorWr_2LD_1ST_1SD_3cyc: SchedWriteRes<[FalkorUnitLD, FalkorUnitST,
+ FalkorUnitSD, FalkorUnitLD]> {
+ let Latency = 3;
+ let NumMicroOps = 4;
+}
+
//===----------------------------------------------------------------------===//
// Define 5 micro-op types
@@ -289,6 +311,13 @@ def FalkorWr_2LD_2VXVY_2none_4cyc: SchedWriteRes<[FalkorUnitLD, FalkorUnitLD,
let NumMicroOps = 6;
}
+def FalkorWr_2XYZ_2ST_2VSD_0cyc: SchedWriteRes<[FalkorUnitXYZ, FalkorUnitST,
+ FalkorUnitVSD, FalkorUnitXYZ,
+ FalkorUnitST, FalkorUnitVSD]> {
+ let Latency = 0;
+ let NumMicroOps = 6;
+}
+
//===----------------------------------------------------------------------===//
// Define 8 micro-op types
diff --git a/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
index d7bbc2bcd22c..4dbcc9581a84 100644
--- a/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+++ b/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
@@ -2473,16 +2473,14 @@ AArch64AsmParser::tryParseBarrierOperand(OperandVector &Operands) {
return MatchOperand_ParseFail;
}
- auto DB = AArch64DB::lookupDBByName(Tok.getString());
- if (!DB) {
- TokError("invalid barrier option name");
- return MatchOperand_ParseFail;
- }
-
// The only valid named option for ISB is 'sy'
- if (Mnemonic == "isb" && DB->Encoding != AArch64DB::sy) {
+ auto DB = AArch64DB::lookupDBByName(Tok.getString());
+ if (Mnemonic == "isb" && (!DB || DB->Encoding != AArch64DB::sy)) {
TokError("'sy' or #imm operand expected");
return MatchOperand_ParseFail;
+ } else if (!DB) {
+ TokError("invalid barrier option name");
+ return MatchOperand_ParseFail;
}
Operands.push_back(AArch64Operand::CreateBarrier(
diff --git a/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp b/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
index 41ae70f85e58..fc89657bffd3 100644
--- a/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
+++ b/lib/Target/AArch64/InstPrinter/AArch64InstPrinter.cpp
@@ -17,6 +17,7 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
+#include "llvm/MC/MCAsmInfo.h"
#include "llvm/MC/MCExpr.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCRegisterInfo.h"
@@ -275,6 +276,12 @@ void AArch64InstPrinter::printInst(const MCInst *MI, raw_ostream &O,
}
}
+ if (Opcode == AArch64::CompilerBarrier) {
+ O << '\t' << MAI.getCommentString() << " COMPILER BARRIER";
+ printAnnotation(O, Annot);
+ return;
+ }
+
if (!printAliasInstr(MI, STI, O))
printInstruction(MI, STI, O);
diff --git a/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp b/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
index 62dfa59483eb..33698d2b8c38 100644
--- a/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
+++ b/lib/Target/AArch64/MCTargetDesc/AArch64MCCodeEmitter.cpp
@@ -565,6 +565,9 @@ void AArch64MCCodeEmitter::encodeInstruction(const MCInst &MI, raw_ostream &OS,
MCFixupKind Fixup = MCFixupKind(AArch64::fixup_aarch64_tlsdesc_call);
Fixups.push_back(MCFixup::create(0, MI.getOperand(0).getExpr(), Fixup));
return;
+ } else if (MI.getOpcode() == AArch64::CompilerBarrier) {
+ // This just prevents the compiler from reordering accesses, no actual code.
+ return;
}
uint64_t Binary = getBinaryCodeForInstr(MI, Fixups, STI);
diff --git a/lib/Target/AMDGPU/AMDGPU.td b/lib/Target/AMDGPU/AMDGPU.td
index 2c7a2d8962d0..0f331486d0f8 100644
--- a/lib/Target/AMDGPU/AMDGPU.td
+++ b/lib/Target/AMDGPU/AMDGPU.td
@@ -406,7 +406,8 @@ def FeatureGFX9 : SubtargetFeatureGeneration<"GFX9",
FeatureWavefrontSize64, FeatureFlatAddressSpace, FeatureGCN,
FeatureGCN3Encoding, FeatureCIInsts, Feature16BitInsts,
FeatureSMemRealTime, FeatureScalarStores, FeatureInv2PiInlineImm,
- FeatureApertureRegs, FeatureGFX9Insts, FeatureVOP3P, FeatureVGPRIndexMode
+ FeatureApertureRegs, FeatureGFX9Insts, FeatureVOP3P, FeatureVGPRIndexMode,
+ FeatureFastFMAF32
]
>;
diff --git a/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp b/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
index 318de7f2e3d2..f5110857da84 100644
--- a/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+++ b/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
@@ -116,8 +116,11 @@ private:
bool SelectMUBUFAddr64(SDValue Addr, SDValue &SRsrc,
SDValue &VAddr, SDValue &SOffset, SDValue &Offset,
SDValue &SLC) const;
- bool SelectMUBUFScratch(SDValue Addr, SDValue &RSrc, SDValue &VAddr,
- SDValue &SOffset, SDValue &ImmOffset) const;
+ bool SelectMUBUFScratchOffen(SDValue Addr, SDValue &RSrc, SDValue &VAddr,
+ SDValue &SOffset, SDValue &ImmOffset) const;
+ bool SelectMUBUFScratchOffset(SDValue Addr, SDValue &SRsrc, SDValue &Soffset,
+ SDValue &Offset) const;
+
bool SelectMUBUFOffset(SDValue Addr, SDValue &SRsrc, SDValue &SOffset,
SDValue &Offset, SDValue &GLC, SDValue &SLC,
SDValue &TFE) const;
@@ -150,14 +153,12 @@ private:
bool SelectVOP3Mods_NNaN(SDValue In, SDValue &Src, SDValue &SrcMods) const;
bool SelectVOP3Mods(SDValue In, SDValue &Src, SDValue &SrcMods) const;
- bool SelectVOP3NoMods(SDValue In, SDValue &Src, SDValue &SrcMods) const;
+ bool SelectVOP3NoMods(SDValue In, SDValue &Src) const;
bool SelectVOP3Mods0(SDValue In, SDValue &Src, SDValue &SrcMods,
SDValue &Clamp, SDValue &Omod) const;
bool SelectVOP3NoMods0(SDValue In, SDValue &Src, SDValue &SrcMods,
SDValue &Clamp, SDValue &Omod) const;
- bool SelectVOP3Mods0Clamp(SDValue In, SDValue &Src, SDValue &SrcMods,
- SDValue &Omod) const;
bool SelectVOP3Mods0Clamp0OMod(SDValue In, SDValue &Src, SDValue &SrcMods,
SDValue &Clamp,
SDValue &Omod) const;
@@ -953,8 +954,12 @@ bool AMDGPUDAGToDAGISel::SelectDS64Bit4ByteAligned(SDValue Addr, SDValue &Base,
return true;
}
+static bool isLegalMUBUFImmOffset(unsigned Imm) {
+ return isUInt<12>(Imm);
+}
+
static bool isLegalMUBUFImmOffset(const ConstantSDNode *Imm) {
- return isUInt<12>(Imm->getZExtValue());
+ return isLegalMUBUFImmOffset(Imm->getZExtValue());
}
bool AMDGPUDAGToDAGISel::SelectMUBUF(SDValue Addr, SDValue &Ptr,
@@ -1076,9 +1081,9 @@ SDValue AMDGPUDAGToDAGISel::foldFrameIndex(SDValue N) const {
return N;
}
-bool AMDGPUDAGToDAGISel::SelectMUBUFScratch(SDValue Addr, SDValue &Rsrc,
- SDValue &VAddr, SDValue &SOffset,
- SDValue &ImmOffset) const {
+bool AMDGPUDAGToDAGISel::SelectMUBUFScratchOffen(SDValue Addr, SDValue &Rsrc,
+ SDValue &VAddr, SDValue &SOffset,
+ SDValue &ImmOffset) const {
SDLoc DL(Addr);
MachineFunction &MF = CurDAG->getMachineFunction();
@@ -1087,8 +1092,22 @@ bool AMDGPUDAGToDAGISel::SelectMUBUFScratch(SDValue Addr, SDValue &Rsrc,
Rsrc = CurDAG->getRegister(Info->getScratchRSrcReg(), MVT::v4i32);
SOffset = CurDAG->getRegister(Info->getScratchWaveOffsetReg(), MVT::i32);
- // (add n0, c1)
+ if (ConstantSDNode *CAddr = dyn_cast<ConstantSDNode>(Addr)) {
+ unsigned Imm = CAddr->getZExtValue();
+ assert(!isLegalMUBUFImmOffset(Imm) &&
+ "should have been selected by other pattern");
+
+ SDValue HighBits = CurDAG->getTargetConstant(Imm & ~4095, DL, MVT::i32);
+ MachineSDNode *MovHighBits = CurDAG->getMachineNode(AMDGPU::V_MOV_B32_e32,
+ DL, MVT::i32, HighBits);
+ VAddr = SDValue(MovHighBits, 0);
+ ImmOffset = CurDAG->getTargetConstant(Imm & 4095, DL, MVT::i16);
+ return true;
+ }
+
if (CurDAG->isBaseWithConstantOffset(Addr)) {
+ // (add n0, c1)
+
SDValue N0 = Addr.getOperand(0);
SDValue N1 = Addr.getOperand(1);
@@ -1107,6 +1126,24 @@ bool AMDGPUDAGToDAGISel::SelectMUBUFScratch(SDValue Addr, SDValue &Rsrc,
return true;
}
+bool AMDGPUDAGToDAGISel::SelectMUBUFScratchOffset(SDValue Addr,
+ SDValue &SRsrc,
+ SDValue &SOffset,
+ SDValue &Offset) const {
+ ConstantSDNode *CAddr = dyn_cast<ConstantSDNode>(Addr);
+ if (!CAddr || !isLegalMUBUFImmOffset(CAddr))
+ return false;
+
+ SDLoc DL(Addr);
+ MachineFunction &MF = CurDAG->getMachineFunction();
+ const SIMachineFunctionInfo *Info = MF.getInfo<SIMachineFunctionInfo>();
+
+ SRsrc = CurDAG->getRegister(Info->getScratchRSrcReg(), MVT::v4i32);
+ SOffset = CurDAG->getRegister(Info->getScratchWaveOffsetReg(), MVT::i32);
+ Offset = CurDAG->getTargetConstant(CAddr->getZExtValue(), DL, MVT::i16);
+ return true;
+}
+
bool AMDGPUDAGToDAGISel::SelectMUBUFOffset(SDValue Addr, SDValue &SRsrc,
SDValue &SOffset, SDValue &Offset,
SDValue &GLC, SDValue &SLC,
@@ -1628,38 +1665,20 @@ bool AMDGPUDAGToDAGISel::SelectVOP3Mods_NNaN(SDValue In, SDValue &Src,
return isNoNanSrc(Src);
}
-bool AMDGPUDAGToDAGISel::SelectVOP3NoMods(SDValue In, SDValue &Src,
- SDValue &SrcMods) const {
- bool Res = SelectVOP3Mods(In, Src, SrcMods);
- return Res && cast<ConstantSDNode>(SrcMods)->isNullValue();
+bool AMDGPUDAGToDAGISel::SelectVOP3NoMods(SDValue In, SDValue &Src) const {
+ if (In.getOpcode() == ISD::FABS || In.getOpcode() == ISD::FNEG)
+ return false;
+
+ Src = In;
+ return true;
}
bool AMDGPUDAGToDAGISel::SelectVOP3Mods0(SDValue In, SDValue &Src,
SDValue &SrcMods, SDValue &Clamp,
SDValue &Omod) const {
SDLoc DL(In);
- // FIXME: Handle Clamp and Omod
- Clamp = CurDAG->getTargetConstant(0, DL, MVT::i32);
- Omod = CurDAG->getTargetConstant(0, DL, MVT::i32);
-
- return SelectVOP3Mods(In, Src, SrcMods);
-}
-
-bool AMDGPUDAGToDAGISel::SelectVOP3NoMods0(SDValue In, SDValue &Src,
- SDValue &SrcMods, SDValue &Clamp,
- SDValue &Omod) const {
- bool Res = SelectVOP3Mods0(In, Src, SrcMods, Clamp, Omod);
-
- return Res && cast<ConstantSDNode>(SrcMods)->isNullValue() &&
- cast<ConstantSDNode>(Clamp)->isNullValue() &&
- cast<ConstantSDNode>(Omod)->isNullValue();
-}
-
-bool AMDGPUDAGToDAGISel::SelectVOP3Mods0Clamp(SDValue In, SDValue &Src,
- SDValue &SrcMods,
- SDValue &Omod) const {
- // FIXME: Handle Omod
- Omod = CurDAG->getTargetConstant(0, SDLoc(In), MVT::i32);
+ Clamp = CurDAG->getTargetConstant(0, DL, MVT::i1);
+ Omod = CurDAG->getTargetConstant(0, DL, MVT::i1);
return SelectVOP3Mods(In, Src, SrcMods);
}
@@ -1677,9 +1696,8 @@ bool AMDGPUDAGToDAGISel::SelectVOP3OMods(SDValue In, SDValue &Src,
Src = In;
SDLoc DL(In);
- // FIXME: Handle Clamp and Omod
- Clamp = CurDAG->getTargetConstant(0, DL, MVT::i32);
- Omod = CurDAG->getTargetConstant(0, DL, MVT::i32);
+ Clamp = CurDAG->getTargetConstant(0, DL, MVT::i1);
+ Omod = CurDAG->getTargetConstant(0, DL, MVT::i1);
return true;
}
diff --git a/lib/Target/AMDGPU/AMDGPUISelLowering.cpp b/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
index c0f336e082bd..e21775e61dd4 100644
--- a/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+++ b/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
@@ -2315,12 +2315,13 @@ static bool simplifyI24(SDNode *Node24, unsigned OpIdx,
SelectionDAG &DAG = DCI.DAG;
SDValue Op = Node24->getOperand(OpIdx);
+ const TargetLowering &TLI = DAG.getTargetLoweringInfo();
EVT VT = Op.getValueType();
APInt Demanded = APInt::getLowBitsSet(VT.getSizeInBits(), 24);
APInt KnownZero, KnownOne;
TargetLowering::TargetLoweringOpt TLO(DAG, true, true);
- if (TLO.SimplifyDemandedBits(Node24, OpIdx, Demanded, DCI))
+ if (TLI.SimplifyDemandedBits(Node24, OpIdx, Demanded, DCI, TLO))
return true;
return false;
@@ -3361,7 +3362,7 @@ SDValue AMDGPUTargetLowering::PerformDAGCombine(SDNode *N,
TargetLowering::TargetLoweringOpt TLO(DAG, !DCI.isBeforeLegalize(),
!DCI.isBeforeLegalizeOps());
const TargetLowering &TLI = DAG.getTargetLoweringInfo();
- if (TLO.ShrinkDemandedConstant(BitsFrom, Demanded) ||
+ if (TLI.ShrinkDemandedConstant(BitsFrom, Demanded, TLO) ||
TLI.SimplifyDemandedBits(BitsFrom, Demanded,
KnownZero, KnownOne, TLO)) {
DCI.CommitTargetLoweringOpt(TLO);
@@ -3436,6 +3437,7 @@ const char* AMDGPUTargetLowering::getTargetNodeName(unsigned Opcode) const {
NODE_NAME_CASE(ELSE)
NODE_NAME_CASE(LOOP)
NODE_NAME_CASE(CALL)
+ NODE_NAME_CASE(TRAP)
NODE_NAME_CASE(RET_FLAG)
NODE_NAME_CASE(RETURN_TO_EPILOG)
NODE_NAME_CASE(ENDPGM)
diff --git a/lib/Target/AMDGPU/AMDGPUISelLowering.h b/lib/Target/AMDGPU/AMDGPUISelLowering.h
index d6aa0ba92bf7..13cbfe267932 100644
--- a/lib/Target/AMDGPU/AMDGPUISelLowering.h
+++ b/lib/Target/AMDGPU/AMDGPUISelLowering.h
@@ -231,6 +231,10 @@ public:
AMDGPUAS getAMDGPUAS() const {
return AMDGPUASI;
}
+
+ MVT getFenceOperandTy(const DataLayout &DL) const override {
+ return MVT::i32;
+ }
};
namespace AMDGPUISD {
@@ -244,6 +248,7 @@ enum NodeType : unsigned {
// Function call.
CALL,
+ TRAP,
// Masked control flow nodes.
IF,
diff --git a/lib/Target/AMDGPU/AMDGPUInstrInfo.td b/lib/Target/AMDGPU/AMDGPUInstrInfo.td
index 56f060984f08..c1706d12a2ea 100644
--- a/lib/Target/AMDGPU/AMDGPUInstrInfo.td
+++ b/lib/Target/AMDGPU/AMDGPUInstrInfo.td
@@ -78,6 +78,11 @@ def AMDGPUif : SDNode<"AMDGPUISD::IF", AMDGPUIfOp, [SDNPHasChain]>;
def AMDGPUelse : SDNode<"AMDGPUISD::ELSE", AMDGPUElseOp, [SDNPHasChain]>;
def AMDGPUloop : SDNode<"AMDGPUISD::LOOP", AMDGPULoopOp, [SDNPHasChain]>;
+def AMDGPUtrap : SDNode<"AMDGPUISD::TRAP",
+ SDTypeProfile<0, -1, [SDTCisVT<0, i16>]>,
+ [SDNPHasChain, SDNPVariadic, SDNPSideEffect, SDNPInGlue]
+>;
+
def AMDGPUconstdata_ptr : SDNode<
"AMDGPUISD::CONST_DATA_PTR", SDTypeProfile <1, 1, [SDTCisVT<0, iPTR>,
SDTCisVT<0, iPTR>]>
diff --git a/lib/Target/AMDGPU/AMDGPUInstructions.td b/lib/Target/AMDGPU/AMDGPUInstructions.td
index b8d681298dee..4e688ab0b105 100644
--- a/lib/Target/AMDGPU/AMDGPUInstructions.td
+++ b/lib/Target/AMDGPU/AMDGPUInstructions.td
@@ -50,6 +50,16 @@ def UnsafeFPMath : Predicate<"TM.Options.UnsafeFPMath">;
def InstFlag : OperandWithDefaultOps <i32, (ops (i32 0))>;
def ADDRIndirect : ComplexPattern<iPTR, 2, "SelectADDRIndirect", [], []>;
+def u16ImmTarget : AsmOperandClass {
+ let Name = "U16Imm";
+ let RenderMethod = "addImmOperands";
+}
+
+def s16ImmTarget : AsmOperandClass {
+ let Name = "S16Imm";
+ let RenderMethod = "addImmOperands";
+}
+
let OperandType = "OPERAND_IMMEDIATE" in {
def u32imm : Operand<i32> {
@@ -58,6 +68,12 @@ def u32imm : Operand<i32> {
def u16imm : Operand<i16> {
let PrintMethod = "printU16ImmOperand";
+ let ParserMatchClass = u16ImmTarget;
+}
+
+def s16imm : Operand<i16> {
+ let PrintMethod = "printU16ImmOperand";
+ let ParserMatchClass = s16ImmTarget;
}
def u8imm : Operand<i8> {
diff --git a/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp b/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
index 14ee1c81f8fa..da247fea7de6 100644
--- a/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
+++ b/lib/Target/AMDGPU/AMDGPUMCInstLower.cpp
@@ -225,6 +225,12 @@ void AMDGPUAsmPrinter::EmitInstruction(const MachineInstr *MI) {
return;
}
+ if (MI->getOpcode() == AMDGPU::SI_MASKED_UNREACHABLE) {
+ if (isVerbose())
+ OutStreamer->emitRawComment(" divergent unreachable");
+ return;
+ }
+
MCInst TmpInst;
MCInstLowering.lower(MI, TmpInst);
EmitToStreamer(*OutStreamer, TmpInst);
diff --git a/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp b/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
index 961f7186f373..70c848f3c7bd 100644
--- a/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
+++ b/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
@@ -479,6 +479,8 @@ public:
bool isSMRDLiteralOffset() const;
bool isDPPCtrl() const;
bool isGPRIdxMode() const;
+ bool isS16Imm() const;
+ bool isU16Imm() const;
StringRef getExpressionAsToken() const {
assert(isExpr());
@@ -2836,6 +2838,28 @@ void AMDGPUAsmParser::cvtExp(MCInst &Inst, const OperandVector &Operands) {
// s_waitcnt
//===----------------------------------------------------------------------===//
+static bool
+encodeCnt(
+ const AMDGPU::IsaInfo::IsaVersion ISA,
+ int64_t &IntVal,
+ int64_t CntVal,
+ bool Saturate,
+ unsigned (*encode)(const IsaInfo::IsaVersion &Version, unsigned, unsigned),
+ unsigned (*decode)(const IsaInfo::IsaVersion &Version, unsigned))
+{
+ bool Failed = false;
+
+ IntVal = encode(ISA, IntVal, CntVal);
+ if (CntVal != decode(ISA, IntVal)) {
+ if (Saturate) {
+ IntVal = encode(ISA, IntVal, -1);
+ } else {
+ Failed = true;
+ }
+ }
+ return Failed;
+}
+
bool AMDGPUAsmParser::parseCnt(int64_t &IntVal) {
StringRef CntName = Parser.getTok().getString();
int64_t CntVal;
@@ -2851,25 +2875,35 @@ bool AMDGPUAsmParser::parseCnt(int64_t &IntVal) {
if (getParser().parseAbsoluteExpression(CntVal))
return true;
- if (getLexer().isNot(AsmToken::RParen))
- return true;
-
- Parser.Lex();
- if (getLexer().is(AsmToken::Amp) || getLexer().is(AsmToken::Comma))
- Parser.Lex();
-
AMDGPU::IsaInfo::IsaVersion ISA =
AMDGPU::IsaInfo::getIsaVersion(getFeatureBits());
- if (CntName == "vmcnt")
- IntVal = encodeVmcnt(ISA, IntVal, CntVal);
- else if (CntName == "expcnt")
- IntVal = encodeExpcnt(ISA, IntVal, CntVal);
- else if (CntName == "lgkmcnt")
- IntVal = encodeLgkmcnt(ISA, IntVal, CntVal);
- else
- return true;
- return false;
+ bool Failed = true;
+ bool Sat = CntName.endswith("_sat");
+
+ if (CntName == "vmcnt" || CntName == "vmcnt_sat") {
+ Failed = encodeCnt(ISA, IntVal, CntVal, Sat, encodeVmcnt, decodeVmcnt);
+ } else if (CntName == "expcnt" || CntName == "expcnt_sat") {
+ Failed = encodeCnt(ISA, IntVal, CntVal, Sat, encodeExpcnt, decodeExpcnt);
+ } else if (CntName == "lgkmcnt" || CntName == "lgkmcnt_sat") {
+ Failed = encodeCnt(ISA, IntVal, CntVal, Sat, encodeLgkmcnt, decodeLgkmcnt);
+ }
+
+ // To improve diagnostics, do not skip delimiters on errors
+ if (!Failed) {
+ if (getLexer().isNot(AsmToken::RParen)) {
+ return true;
+ }
+ Parser.Lex();
+ if (getLexer().is(AsmToken::Amp) || getLexer().is(AsmToken::Comma)) {
+ const AsmToken NextToken = getLexer().peekTok();
+ if (NextToken.is(AsmToken::Identifier)) {
+ Parser.Lex();
+ }
+ }
+ }
+
+ return Failed;
}
OperandMatchResultTy
@@ -3858,6 +3892,14 @@ bool AMDGPUOperand::isGPRIdxMode() const {
return isImm() && isUInt<4>(getImm());
}
+bool AMDGPUOperand::isS16Imm() const {
+ return isImm() && (isInt<16>(getImm()) || isUInt<16>(getImm()));
+}
+
+bool AMDGPUOperand::isU16Imm() const {
+ return isImm() && isUInt<16>(getImm());
+}
+
OperandMatchResultTy
AMDGPUAsmParser::parseDPPCtrl(OperandVector &Operands) {
SMLoc S = Parser.getTok().getLoc();
diff --git a/lib/Target/AMDGPU/BUFInstructions.td b/lib/Target/AMDGPU/BUFInstructions.td
index a6609f0725ab..89eddb9ce961 100644
--- a/lib/Target/AMDGPU/BUFInstructions.td
+++ b/lib/Target/AMDGPU/BUFInstructions.td
@@ -11,7 +11,9 @@ def MUBUFAddr32 : ComplexPattern<i64, 9, "SelectMUBUFAddr32">;
def MUBUFAddr64 : ComplexPattern<i64, 7, "SelectMUBUFAddr64">;
def MUBUFAddr64Atomic : ComplexPattern<i64, 5, "SelectMUBUFAddr64">;
-def MUBUFScratch : ComplexPattern<i64, 4, "SelectMUBUFScratch">;
+def MUBUFScratchOffen : ComplexPattern<i64, 4, "SelectMUBUFScratchOffen">;
+def MUBUFScratchOffset : ComplexPattern<i64, 3, "SelectMUBUFScratchOffset", [], [], 20>;
+
def MUBUFOffset : ComplexPattern<i64, 6, "SelectMUBUFOffset">;
def MUBUFOffsetNoGLC : ComplexPattern<i64, 3, "SelectMUBUFOffset">;
def MUBUFOffsetAtomic : ComplexPattern<i64, 4, "SelectMUBUFOffset">;
@@ -958,21 +960,30 @@ defm : MUBUFLoad_Pattern <BUFFER_LOAD_UBYTE_OFFSET, i16, mubuf_az_extloadi8>;
} // End Predicates = [Has16BitInsts]
-class MUBUFScratchLoadPat <MUBUF_Pseudo Instr, ValueType vt, PatFrag ld> : Pat <
- (vt (ld (MUBUFScratch v4i32:$srsrc, i32:$vaddr,
- i32:$soffset, u16imm:$offset))),
- (Instr $vaddr, $srsrc, $soffset, $offset, 0, 0, 0)
->;
+multiclass MUBUFScratchLoadPat <MUBUF_Pseudo InstrOffen,
+ MUBUF_Pseudo InstrOffset,
+ ValueType vt, PatFrag ld> {
+ def : Pat <
+ (vt (ld (MUBUFScratchOffen v4i32:$srsrc, i32:$vaddr,
+ i32:$soffset, u16imm:$offset))),
+ (InstrOffen $vaddr, $srsrc, $soffset, $offset, 0, 0, 0)
+ >;
+
+ def : Pat <
+ (vt (ld (MUBUFScratchOffset v4i32:$srsrc, i32:$soffset, u16imm:$offset))),
+ (InstrOffset $srsrc, $soffset, $offset, 0, 0, 0)
+ >;
+}
-def : MUBUFScratchLoadPat <BUFFER_LOAD_SBYTE_OFFEN, i32, sextloadi8_private>;
-def : MUBUFScratchLoadPat <BUFFER_LOAD_UBYTE_OFFEN, i32, extloadi8_private>;
-def : MUBUFScratchLoadPat <BUFFER_LOAD_SBYTE_OFFEN, i16, sextloadi8_private>;
-def : MUBUFScratchLoadPat <BUFFER_LOAD_UBYTE_OFFEN, i16, extloadi8_private>;
-def : MUBUFScratchLoadPat <BUFFER_LOAD_SSHORT_OFFEN, i32, sextloadi16_private>;
-def : MUBUFScratchLoadPat <BUFFER_LOAD_USHORT_OFFEN, i32, extloadi16_private>;
-def : MUBUFScratchLoadPat <BUFFER_LOAD_DWORD_OFFEN, i32, load_private>;
-def : MUBUFScratchLoadPat <BUFFER_LOAD_DWORDX2_OFFEN, v2i32, load_private>;
-def : MUBUFScratchLoadPat <BUFFER_LOAD_DWORDX4_OFFEN, v4i32, load_private>;
+defm : MUBUFScratchLoadPat <BUFFER_LOAD_SBYTE_OFFEN, BUFFER_LOAD_SBYTE_OFFSET, i32, sextloadi8_private>;
+defm : MUBUFScratchLoadPat <BUFFER_LOAD_UBYTE_OFFEN, BUFFER_LOAD_UBYTE_OFFSET, i32, extloadi8_private>;
+defm : MUBUFScratchLoadPat <BUFFER_LOAD_SBYTE_OFFEN, BUFFER_LOAD_SBYTE_OFFSET, i16, sextloadi8_private>;
+defm : MUBUFScratchLoadPat <BUFFER_LOAD_UBYTE_OFFEN, BUFFER_LOAD_UBYTE_OFFSET, i16, extloadi8_private>;
+defm : MUBUFScratchLoadPat <BUFFER_LOAD_SSHORT_OFFEN, BUFFER_LOAD_SSHORT_OFFSET, i32, sextloadi16_private>;
+defm : MUBUFScratchLoadPat <BUFFER_LOAD_USHORT_OFFEN, BUFFER_LOAD_USHORT_OFFSET, i32, extloadi16_private>;
+defm : MUBUFScratchLoadPat <BUFFER_LOAD_DWORD_OFFEN, BUFFER_LOAD_DWORD_OFFSET, i32, load_private>;
+defm : MUBUFScratchLoadPat <BUFFER_LOAD_DWORDX2_OFFEN, BUFFER_LOAD_DWORDX2_OFFSET, v2i32, load_private>;
+defm : MUBUFScratchLoadPat <BUFFER_LOAD_DWORDX4_OFFEN, BUFFER_LOAD_DWORDX4_OFFSET, v4i32, load_private>;
// BUFFER_LOAD_DWORD*, addr64=0
multiclass MUBUF_Load_Dword <ValueType vt,
@@ -1054,19 +1065,29 @@ multiclass MUBUFStore_Pattern <MUBUF_Pseudo Instr_OFFSET, ValueType vt,
defm : MUBUFStore_Pattern <BUFFER_STORE_BYTE_OFFSET, i16, truncstorei8_global>;
defm : MUBUFStore_Pattern <BUFFER_STORE_SHORT_OFFSET, i16, global_store>;
-class MUBUFScratchStorePat <MUBUF_Pseudo Instr, ValueType vt, PatFrag st> : Pat <
- (st vt:$value, (MUBUFScratch v4i32:$srsrc, i32:$vaddr, i32:$soffset,
- u16imm:$offset)),
- (Instr $value, $vaddr, $srsrc, $soffset, $offset, 0, 0, 0)
->;
+multiclass MUBUFScratchStorePat <MUBUF_Pseudo InstrOffen,
+ MUBUF_Pseudo InstrOffset,
+ ValueType vt, PatFrag st> {
+ def : Pat <
+ (st vt:$value, (MUBUFScratchOffen v4i32:$srsrc, i32:$vaddr,
+ i32:$soffset, u16imm:$offset)),
+ (InstrOffen $value, $vaddr, $srsrc, $soffset, $offset, 0, 0, 0)
+ >;
+
+ def : Pat <
+ (st vt:$value, (MUBUFScratchOffset v4i32:$srsrc, i32:$soffset,
+ u16imm:$offset)),
+ (InstrOffset $value, $srsrc, $soffset, $offset, 0, 0, 0)
+ >;
+}
-def : MUBUFScratchStorePat <BUFFER_STORE_BYTE_OFFEN, i32, truncstorei8_private>;
-def : MUBUFScratchStorePat <BUFFER_STORE_SHORT_OFFEN, i32, truncstorei16_private>;
-def : MUBUFScratchStorePat <BUFFER_STORE_BYTE_OFFEN, i16, truncstorei8_private>;
-def : MUBUFScratchStorePat <BUFFER_STORE_SHORT_OFFEN, i16, store_private>;
-def : MUBUFScratchStorePat <BUFFER_STORE_DWORD_OFFEN, i32, store_private>;
-def : MUBUFScratchStorePat <BUFFER_STORE_DWORDX2_OFFEN, v2i32, store_private>;
-def : MUBUFScratchStorePat <BUFFER_STORE_DWORDX4_OFFEN, v4i32, store_private>;
+defm : MUBUFScratchStorePat <BUFFER_STORE_BYTE_OFFEN, BUFFER_STORE_BYTE_OFFSET, i32, truncstorei8_private>;
+defm : MUBUFScratchStorePat <BUFFER_STORE_SHORT_OFFEN, BUFFER_STORE_SHORT_OFFSET, i32, truncstorei16_private>;
+defm : MUBUFScratchStorePat <BUFFER_STORE_BYTE_OFFEN, BUFFER_STORE_BYTE_OFFSET, i16, truncstorei8_private>;
+defm : MUBUFScratchStorePat <BUFFER_STORE_SHORT_OFFEN, BUFFER_STORE_SHORT_OFFSET, i16, store_private>;
+defm : MUBUFScratchStorePat <BUFFER_STORE_DWORD_OFFEN, BUFFER_STORE_DWORD_OFFSET, i32, store_private>;
+defm : MUBUFScratchStorePat <BUFFER_STORE_DWORDX2_OFFEN, BUFFER_STORE_DWORDX2_OFFSET, v2i32, store_private>;
+defm : MUBUFScratchStorePat <BUFFER_STORE_DWORDX4_OFFEN, BUFFER_STORE_DWORDX4_OFFSET, v4i32, store_private>;
//===----------------------------------------------------------------------===//
// MTBUF Patterns
diff --git a/lib/Target/AMDGPU/GCNRegPressure.cpp b/lib/Target/AMDGPU/GCNRegPressure.cpp
index 4ecfa118fb27..bf16a8216001 100644
--- a/lib/Target/AMDGPU/GCNRegPressure.cpp
+++ b/lib/Target/AMDGPU/GCNRegPressure.cpp
@@ -83,8 +83,8 @@ unsigned GCNRegPressure::getRegKind(unsigned Reg,
const auto RC = MRI.getRegClass(Reg);
auto STI = static_cast<const SIRegisterInfo*>(MRI.getTargetRegisterInfo());
return STI->isSGPRClass(RC) ?
- (RC->getSize() == 4 ? SGPR32 : SGPR_TUPLE) :
- (RC->getSize() == 4 ? VGPR32 : VGPR_TUPLE);
+ (STI->getRegSizeInBits(*RC) == 32 ? SGPR32 : SGPR_TUPLE) :
+ (STI->getRegSizeInBits(*RC) == 32 ? VGPR32 : VGPR_TUPLE);
}
void GCNRegPressure::inc(unsigned Reg,
diff --git a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.cpp b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.cpp
index 29a6ab9fbe93..647017d5061d 100644
--- a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.cpp
+++ b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUCodeObjectMetadataStreamer.cpp
@@ -286,20 +286,20 @@ ValueKind MetadataStreamer::getValueKind(Type *Ty, StringRef TypeQual,
return ValueKind::Pipe;
return StringSwitch<ValueKind>(BaseTypeName)
+ .Case("image1d_t", ValueKind::Image)
+ .Case("image1d_array_t", ValueKind::Image)
+ .Case("image1d_buffer_t", ValueKind::Image)
+ .Case("image2d_t", ValueKind::Image)
+ .Case("image2d_array_t", ValueKind::Image)
+ .Case("image2d_array_depth_t", ValueKind::Image)
+ .Case("image2d_array_msaa_t", ValueKind::Image)
+ .Case("image2d_array_msaa_depth_t", ValueKind::Image)
+ .Case("image2d_depth_t", ValueKind::Image)
+ .Case("image2d_msaa_t", ValueKind::Image)
+ .Case("image2d_msaa_depth_t", ValueKind::Image)
+ .Case("image3d_t", ValueKind::Image)
.Case("sampler_t", ValueKind::Sampler)
.Case("queue_t", ValueKind::Queue)
- .Cases("image1d_t",
- "image1d_array_t",
- "image1d_buffer_t",
- "image2d_t" ,
- "image2d_array_t",
- "image2d_array_depth_t",
- "image2d_array_msaa_t"
- "image2d_array_msaa_depth_t"
- "image2d_depth_t",
- "image2d_msaa_t",
- "image2d_msaa_depth_t",
- "image3d_t", ValueKind::Image)
.Default(isa<PointerType>(Ty) ?
(Ty->getPointerAddressSpace() ==
AMDGPUASI.LOCAL_ADDRESS ?
diff --git a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
index 6c61fb1f2d6b..2364e7b7b5fb 100644
--- a/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
+++ b/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
@@ -15,6 +15,7 @@ using namespace llvm;
AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(const Triple &TT) : MCAsmInfoELF() {
CodePointerSize = (TT.getArch() == Triple::amdgcn) ? 8 : 4;
+ StackGrowsUp = true;
HasSingleParameterDotFile = false;
//===------------------------------------------------------------------===//
MinInstAlignment = 4;
diff --git a/lib/Target/AMDGPU/SIFixSGPRCopies.cpp b/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
index f9d258f44a62..b0f0bf04a891 100644
--- a/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
+++ b/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
@@ -81,6 +81,11 @@ using namespace llvm;
#define DEBUG_TYPE "si-fix-sgpr-copies"
+static cl::opt<bool> EnableM0Merge(
+ "amdgpu-enable-merge-m0",
+ cl::desc("Merge and hoist M0 initializations"),
+ cl::init(false));
+
namespace {
class SIFixSGPRCopies : public MachineFunctionPass {
@@ -108,7 +113,7 @@ public:
INITIALIZE_PASS_BEGIN(SIFixSGPRCopies, DEBUG_TYPE,
"SI Fix SGPR copies", false, false)
-INITIALIZE_PASS_DEPENDENCY(MachinePostDominatorTree)
+INITIALIZE_PASS_DEPENDENCY(MachineDominatorTree)
INITIALIZE_PASS_END(SIFixSGPRCopies, DEBUG_TYPE,
"SI Fix SGPR copies", false, false)
@@ -332,27 +337,186 @@ static bool isSafeToFoldImmIntoCopy(const MachineInstr *Copy,
return true;
}
-static bool predsHasDivergentTerminator(MachineBasicBlock *MBB,
- const TargetRegisterInfo *TRI) {
- DenseSet<MachineBasicBlock*> Visited;
+template <class UnaryPredicate>
+bool searchPredecessors(const MachineBasicBlock *MBB,
+ const MachineBasicBlock *CutOff,
+ UnaryPredicate Predicate) {
+
+ if (MBB == CutOff)
+ return false;
+
+ DenseSet<const MachineBasicBlock*> Visited;
SmallVector<MachineBasicBlock*, 4> Worklist(MBB->pred_begin(),
MBB->pred_end());
while (!Worklist.empty()) {
- MachineBasicBlock *mbb = Worklist.back();
- Worklist.pop_back();
+ MachineBasicBlock *MBB = Worklist.pop_back_val();
- if (!Visited.insert(mbb).second)
+ if (!Visited.insert(MBB).second)
continue;
- if (hasTerminatorThatModifiesExec(*mbb, *TRI))
+ if (MBB == CutOff)
+ continue;
+ if (Predicate(MBB))
return true;
- Worklist.insert(Worklist.end(), mbb->pred_begin(), mbb->pred_end());
+ Worklist.append(MBB->pred_begin(), MBB->pred_end());
}
return false;
}
+static bool predsHasDivergentTerminator(MachineBasicBlock *MBB,
+ const TargetRegisterInfo *TRI) {
+ return searchPredecessors(MBB, nullptr, [TRI](MachineBasicBlock *MBB) {
+ return hasTerminatorThatModifiesExec(*MBB, *TRI); });
+}
+
+// Checks if there is potential path From instruction To instruction.
+// If CutOff is specified and it sits in between of that path we ignore
+// a higher portion of the path and report it is not reachable.
+static bool isReachable(const MachineInstr *From,
+ const MachineInstr *To,
+ const MachineBasicBlock *CutOff,
+ MachineDominatorTree &MDT) {
+ // If either From block dominates To block or instructions are in the same
+ // block and From is higher.
+ if (MDT.dominates(From, To))
+ return true;
+
+ const MachineBasicBlock *MBBFrom = From->getParent();
+ const MachineBasicBlock *MBBTo = To->getParent();
+ if (MBBFrom == MBBTo)
+ return false;
+
+ // Instructions are in different blocks, do predecessor search.
+ // We should almost never get here since we do not usually produce M0 stores
+ // other than -1.
+ return searchPredecessors(MBBTo, CutOff, [MBBFrom]
+ (const MachineBasicBlock *MBB) { return MBB == MBBFrom; });
+}
+
+// Hoist and merge identical SGPR initializations into a common predecessor.
+// This is intended to combine M0 initializations, but can work with any
+// SGPR. A VGPR cannot be processed since we cannot guarantee vector
+// executioon.
+static bool hoistAndMergeSGPRInits(unsigned Reg,
+ const MachineRegisterInfo &MRI,
+ MachineDominatorTree &MDT) {
+ // List of inits by immediate value.
+ typedef std::map<unsigned, std::list<MachineInstr*>> InitListMap;
+ InitListMap Inits;
+ // List of clobbering instructions.
+ SmallVector<MachineInstr*, 8> Clobbers;
+ bool Changed = false;
+
+ for (auto &MI : MRI.def_instructions(Reg)) {
+ MachineOperand *Imm = nullptr;
+ for (auto &MO: MI.operands()) {
+ if ((MO.isReg() && ((MO.isDef() && MO.getReg() != Reg) || !MO.isDef())) ||
+ (!MO.isImm() && !MO.isReg()) || (MO.isImm() && Imm)) {
+ Imm = nullptr;
+ break;
+ } else if (MO.isImm())
+ Imm = &MO;
+ }
+ if (Imm)
+ Inits[Imm->getImm()].push_front(&MI);
+ else
+ Clobbers.push_back(&MI);
+ }
+
+ for (auto &Init : Inits) {
+ auto &Defs = Init.second;
+
+ for (auto I1 = Defs.begin(), E = Defs.end(); I1 != E; ) {
+ MachineInstr *MI1 = *I1;
+
+ for (auto I2 = std::next(I1); I2 != E; ) {
+ MachineInstr *MI2 = *I2;
+
+ // Check any possible interference
+ auto intereferes = [&](MachineBasicBlock::iterator From,
+ MachineBasicBlock::iterator To) -> bool {
+
+ assert(MDT.dominates(&*To, &*From));
+
+ auto interferes = [&MDT, From, To](MachineInstr* &Clobber) -> bool {
+ const MachineBasicBlock *MBBFrom = From->getParent();
+ const MachineBasicBlock *MBBTo = To->getParent();
+ bool MayClobberFrom = isReachable(Clobber, &*From, MBBTo, MDT);
+ bool MayClobberTo = isReachable(Clobber, &*To, MBBTo, MDT);
+ if (!MayClobberFrom && !MayClobberTo)
+ return false;
+ if ((MayClobberFrom && !MayClobberTo) ||
+ (!MayClobberFrom && MayClobberTo))
+ return true;
+ // Both can clobber, this is not an interference only if both are
+ // dominated by Clobber and belong to the same block or if Clobber
+ // properly dominates To, given that To >> From, so it dominates
+ // both and located in a common dominator.
+ return !((MBBFrom == MBBTo &&
+ MDT.dominates(Clobber, &*From) &&
+ MDT.dominates(Clobber, &*To)) ||
+ MDT.properlyDominates(Clobber->getParent(), MBBTo));
+ };
+
+ return (any_of(Clobbers, interferes)) ||
+ (any_of(Inits, [&](InitListMap::value_type &C) {
+ return C.first != Init.first && any_of(C.second, interferes);
+ }));
+ };
+
+ if (MDT.dominates(MI1, MI2)) {
+ if (!intereferes(MI2, MI1)) {
+ DEBUG(dbgs() << "Erasing from BB#" << MI2->getParent()->getNumber()
+ << " " << *MI2);
+ MI2->eraseFromParent();
+ Defs.erase(I2++);
+ Changed = true;
+ continue;
+ }
+ } else if (MDT.dominates(MI2, MI1)) {
+ if (!intereferes(MI1, MI2)) {
+ DEBUG(dbgs() << "Erasing from BB#" << MI1->getParent()->getNumber()
+ << " " << *MI1);
+ MI1->eraseFromParent();
+ Defs.erase(I1++);
+ Changed = true;
+ break;
+ }
+ } else {
+ auto *MBB = MDT.findNearestCommonDominator(MI1->getParent(),
+ MI2->getParent());
+ if (!MBB) {
+ ++I2;
+ continue;
+ }
+
+ MachineBasicBlock::iterator I = MBB->getFirstNonPHI();
+ if (!intereferes(MI1, I) && !intereferes(MI2, I)) {
+ DEBUG(dbgs() << "Erasing from BB#" << MI1->getParent()->getNumber()
+ << " " << *MI1 << "and moving from BB#"
+ << MI2->getParent()->getNumber() << " to BB#"
+ << I->getParent()->getNumber() << " " << *MI2);
+ I->getParent()->splice(I, MI2->getParent(), MI2);
+ MI1->eraseFromParent();
+ Defs.erase(I1++);
+ Changed = true;
+ break;
+ }
+ }
+ ++I2;
+ }
+ ++I1;
+ }
+ }
+
+ if (Changed)
+ MRI.clearKillFlags(Reg);
+
+ return Changed;
+}
+
bool SIFixSGPRCopies::runOnMachineFunction(MachineFunction &MF) {
const SISubtarget &ST = MF.getSubtarget<SISubtarget>();
MachineRegisterInfo &MRI = MF.getRegInfo();
@@ -485,5 +649,8 @@ bool SIFixSGPRCopies::runOnMachineFunction(MachineFunction &MF) {
}
}
+ if (MF.getTarget().getOptLevel() > CodeGenOpt::None && EnableM0Merge)
+ hoistAndMergeSGPRInits(AMDGPU::M0, MRI, *MDT);
+
return true;
}
diff --git a/lib/Target/AMDGPU/SIFrameLowering.cpp b/lib/Target/AMDGPU/SIFrameLowering.cpp
index abe6af9a6d3f..86e3b37b09e9 100644
--- a/lib/Target/AMDGPU/SIFrameLowering.cpp
+++ b/lib/Target/AMDGPU/SIFrameLowering.cpp
@@ -101,10 +101,12 @@ unsigned SIFrameLowering::getReservedPrivateSegmentBufferReg(
const SIRegisterInfo *TRI,
SIMachineFunctionInfo *MFI,
MachineFunction &MF) const {
+ MachineRegisterInfo &MRI = MF.getRegInfo();
// We need to insert initialization of the scratch resource descriptor.
unsigned ScratchRsrcReg = MFI->getScratchRSrcReg();
- if (ScratchRsrcReg == AMDGPU::NoRegister)
+ if (ScratchRsrcReg == AMDGPU::NoRegister ||
+ !MRI.isPhysRegUsed(ScratchRsrcReg))
return AMDGPU::NoRegister;
if (ST.hasSGPRInitBug() ||
@@ -122,8 +124,6 @@ unsigned SIFrameLowering::getReservedPrivateSegmentBufferReg(
// We find the resource first because it has an alignment requirement.
- MachineRegisterInfo &MRI = MF.getRegInfo();
-
unsigned NumPreloaded = (MFI->getNumPreloadedSGPRs() + 3) / 4;
ArrayRef<MCPhysReg> AllSGPR128s = getAllSGPR128(ST, MF);
AllSGPR128s = AllSGPR128s.slice(std::min(static_cast<unsigned>(AllSGPR128s.size()), NumPreloaded));
@@ -143,24 +143,34 @@ unsigned SIFrameLowering::getReservedPrivateSegmentBufferReg(
return ScratchRsrcReg;
}
-unsigned SIFrameLowering::getReservedPrivateSegmentWaveByteOffsetReg(
+// Shift down registers reserved for the scratch wave offset and stack pointer
+// SGPRs.
+std::pair<unsigned, unsigned>
+SIFrameLowering::getReservedPrivateSegmentWaveByteOffsetReg(
const SISubtarget &ST,
const SIInstrInfo *TII,
const SIRegisterInfo *TRI,
SIMachineFunctionInfo *MFI,
MachineFunction &MF) const {
+ MachineRegisterInfo &MRI = MF.getRegInfo();
unsigned ScratchWaveOffsetReg = MFI->getScratchWaveOffsetReg();
- if (ST.hasSGPRInitBug() ||
- ScratchWaveOffsetReg != TRI->reservedPrivateSegmentWaveByteOffsetReg(MF))
- return ScratchWaveOffsetReg;
- unsigned ScratchRsrcReg = MFI->getScratchRSrcReg();
- MachineRegisterInfo &MRI = MF.getRegInfo();
+ // No replacement necessary.
+ if (ScratchWaveOffsetReg == AMDGPU::NoRegister ||
+ !MRI.isPhysRegUsed(ScratchWaveOffsetReg)) {
+ assert(MFI->getStackPtrOffsetReg() == AMDGPU::NoRegister);
+ return std::make_pair(AMDGPU::NoRegister, AMDGPU::NoRegister);
+ }
+
+ unsigned SPReg = MFI->getStackPtrOffsetReg();
+ if (ST.hasSGPRInitBug())
+ return std::make_pair(ScratchWaveOffsetReg, SPReg);
+
unsigned NumPreloaded = MFI->getNumPreloadedSGPRs();
ArrayRef<MCPhysReg> AllSGPRs = getAllSGPRs(ST, MF);
if (NumPreloaded > AllSGPRs.size())
- return ScratchWaveOffsetReg;
+ return std::make_pair(ScratchWaveOffsetReg, SPReg);
AllSGPRs = AllSGPRs.slice(NumPreloaded);
@@ -175,26 +185,42 @@ unsigned SIFrameLowering::getReservedPrivateSegmentWaveByteOffsetReg(
// register from the list to consider, it means that when this
// register is being used for the scratch wave offset and there
// are no other free SGPRs, then the value will stay in this register.
+ // + 1 if stack pointer is used.
// ----
- // 13
- if (AllSGPRs.size() < 13)
- return ScratchWaveOffsetReg;
+ // 13 (+1)
+ unsigned ReservedRegCount = 13;
+ if (SPReg != AMDGPU::NoRegister)
+ ++ReservedRegCount;
- for (MCPhysReg Reg : AllSGPRs.drop_back(13)) {
+ if (AllSGPRs.size() < ReservedRegCount)
+ return std::make_pair(ScratchWaveOffsetReg, SPReg);
+
+ bool HandledScratchWaveOffsetReg =
+ ScratchWaveOffsetReg != TRI->reservedPrivateSegmentWaveByteOffsetReg(MF);
+
+ for (MCPhysReg Reg : AllSGPRs.drop_back(ReservedRegCount)) {
// Pick the first unallocated SGPR. Be careful not to pick an alias of the
// scratch descriptor, since we haven’t added its uses yet.
- if (!MRI.isPhysRegUsed(Reg)) {
- if (!MRI.isAllocatable(Reg) ||
- TRI->isSubRegisterEq(ScratchRsrcReg, Reg))
- continue;
+ if (!MRI.isPhysRegUsed(Reg) && MRI.isAllocatable(Reg)) {
+ if (!HandledScratchWaveOffsetReg) {
+ HandledScratchWaveOffsetReg = true;
- MRI.replaceRegWith(ScratchWaveOffsetReg, Reg);
- MFI->setScratchWaveOffsetReg(Reg);
- return Reg;
+ MRI.replaceRegWith(ScratchWaveOffsetReg, Reg);
+ MFI->setScratchWaveOffsetReg(Reg);
+ ScratchWaveOffsetReg = Reg;
+ } else {
+ if (SPReg == AMDGPU::NoRegister)
+ break;
+
+ MRI.replaceRegWith(SPReg, Reg);
+ MFI->setStackPtrOffsetReg(Reg);
+ SPReg = Reg;
+ break;
+ }
}
}
- return ScratchWaveOffsetReg;
+ return std::make_pair(ScratchWaveOffsetReg, SPReg);
}
void SIFrameLowering::emitPrologue(MachineFunction &MF,
@@ -220,18 +246,6 @@ void SIFrameLowering::emitPrologue(MachineFunction &MF,
const SIRegisterInfo *TRI = &TII->getRegisterInfo();
MachineRegisterInfo &MRI = MF.getRegInfo();
- unsigned ScratchRsrcReg
- = getReservedPrivateSegmentBufferReg(ST, TII, TRI, MFI, MF);
- unsigned ScratchWaveOffsetReg
- = getReservedPrivateSegmentWaveByteOffsetReg(ST, TII, TRI, MFI, MF);
-
- if (ScratchRsrcReg == AMDGPU::NoRegister) {
- assert(ScratchWaveOffsetReg == AMDGPU::NoRegister);
- return;
- }
-
- assert(!TRI->isSubRegister(ScratchRsrcReg, ScratchWaveOffsetReg));
-
// We need to do the replacement of the private segment buffer and wave offset
// register even if there are no stack objects. There could be stores to undef
// or a constant without an associated object.
@@ -244,19 +258,49 @@ void SIFrameLowering::emitPrologue(MachineFunction &MF,
if (MF.getFrameInfo().hasStackObjects() && MFI->hasFlatScratchInit())
emitFlatScratchInit(ST, MF, MBB);
+ unsigned SPReg = MFI->getStackPtrOffsetReg();
+ if (SPReg != AMDGPU::NoRegister) {
+ DebugLoc DL;
+ int64_t StackSize = MF.getFrameInfo().getStackSize();
+
+ if (StackSize == 0) {
+ BuildMI(MBB, MBB.begin(), DL, TII->get(AMDGPU::COPY), SPReg)
+ .addReg(MFI->getScratchWaveOffsetReg());
+ } else {
+ BuildMI(MBB, MBB.begin(), DL, TII->get(AMDGPU::S_ADD_U32), SPReg)
+ .addReg(MFI->getScratchWaveOffsetReg())
+ .addImm(StackSize * ST.getWavefrontSize());
+ }
+ }
+
+ unsigned ScratchRsrcReg
+ = getReservedPrivateSegmentBufferReg(ST, TII, TRI, MFI, MF);
+
+ unsigned ScratchWaveOffsetReg;
+ std::tie(ScratchWaveOffsetReg, SPReg)
+ = getReservedPrivateSegmentWaveByteOffsetReg(ST, TII, TRI, MFI, MF);
+
+ // It's possible to have uses of only ScratchWaveOffsetReg without
+ // ScratchRsrcReg if it's only used for the initialization of flat_scratch,
+ // but the inverse is not true.
+ if (ScratchWaveOffsetReg == AMDGPU::NoRegister) {
+ assert(ScratchRsrcReg == AMDGPU::NoRegister);
+ return;
+ }
+
// We need to insert initialization of the scratch resource descriptor.
unsigned PreloadedScratchWaveOffsetReg = TRI->getPreloadedValue(
MF, SIRegisterInfo::PRIVATE_SEGMENT_WAVE_BYTE_OFFSET);
-
unsigned PreloadedPrivateBufferReg = AMDGPU::NoRegister;
if (ST.isAmdCodeObjectV2(MF) || ST.isMesaGfxShader(MF)) {
PreloadedPrivateBufferReg = TRI->getPreloadedValue(
MF, SIRegisterInfo::PRIVATE_SEGMENT_BUFFER);
}
- bool OffsetRegUsed = !MRI.use_empty(ScratchWaveOffsetReg);
- bool ResourceRegUsed = !MRI.use_empty(ScratchRsrcReg);
+ bool OffsetRegUsed = MRI.isPhysRegUsed(ScratchWaveOffsetReg);
+ bool ResourceRegUsed = ScratchRsrcReg != AMDGPU::NoRegister &&
+ MRI.isPhysRegUsed(ScratchRsrcReg);
// We added live-ins during argument lowering, but since they were not used
// they were deleted. We're adding the uses now, so add them back.
@@ -469,7 +513,7 @@ void SIFrameLowering::processFunctionBeforeFrameFinalized(
// this also ensures we shouldn't need a register for the offset when
// emergency scavenging.
int ScavengeFI = MFI.CreateFixedObject(
- AMDGPU::SGPR_32RegClass.getSize(), 0, false);
+ TRI.getSpillSize(AMDGPU::SGPR_32RegClass), 0, false);
RS->addScavengingFrameIndex(ScavengeFI);
}
}
diff --git a/lib/Target/AMDGPU/SIFrameLowering.h b/lib/Target/AMDGPU/SIFrameLowering.h
index 1bfc08093da2..7ccd02b3c86a 100644
--- a/lib/Target/AMDGPU/SIFrameLowering.h
+++ b/lib/Target/AMDGPU/SIFrameLowering.h
@@ -49,7 +49,7 @@ private:
SIMachineFunctionInfo *MFI,
MachineFunction &MF) const;
- unsigned getReservedPrivateSegmentWaveByteOffsetReg(
+ std::pair<unsigned, unsigned> getReservedPrivateSegmentWaveByteOffsetReg(
const SISubtarget &ST,
const SIInstrInfo *TII,
const SIRegisterInfo *TRI,
diff --git a/lib/Target/AMDGPU/SIISelLowering.cpp b/lib/Target/AMDGPU/SIISelLowering.cpp
index dd867b15b4c7..ce74a7cd8b04 100644
--- a/lib/Target/AMDGPU/SIISelLowering.cpp
+++ b/lib/Target/AMDGPU/SIISelLowering.cpp
@@ -287,8 +287,8 @@ SITargetLowering::SITargetLowering(const TargetMachine &TM,
// On SI this is s_memtime and s_memrealtime on VI.
setOperationAction(ISD::READCYCLECOUNTER, MVT::i64, Legal);
- setOperationAction(ISD::TRAP, MVT::Other, Legal);
- setOperationAction(ISD::DEBUGTRAP, MVT::Other, Legal);
+ setOperationAction(ISD::TRAP, MVT::Other, Custom);
+ setOperationAction(ISD::DEBUGTRAP, MVT::Other, Custom);
setOperationAction(ISD::FMINNUM, MVT::f64, Legal);
setOperationAction(ISD::FMAXNUM, MVT::f64, Legal);
@@ -1644,7 +1644,7 @@ computeIndirectRegAndOffset(const SIRegisterInfo &TRI,
const TargetRegisterClass *SuperRC,
unsigned VecReg,
int Offset) {
- int NumElts = SuperRC->getSize() / 4;
+ int NumElts = TRI.getRegSizeInBits(*SuperRC) / 32;
// Skip out of bounds offsets, or else we would end up using an undefined
// register.
@@ -1793,17 +1793,18 @@ static MachineBasicBlock *emitIndirectSrc(MachineInstr &MI,
return LoopBB;
}
-static unsigned getMOVRELDPseudo(const TargetRegisterClass *VecRC) {
- switch (VecRC->getSize()) {
- case 4:
+static unsigned getMOVRELDPseudo(const SIRegisterInfo &TRI,
+ const TargetRegisterClass *VecRC) {
+ switch (TRI.getRegSizeInBits(*VecRC)) {
+ case 32: // 4 bytes
return AMDGPU::V_MOVRELD_B32_V1;
- case 8:
+ case 64: // 8 bytes
return AMDGPU::V_MOVRELD_B32_V2;
- case 16:
+ case 128: // 16 bytes
return AMDGPU::V_MOVRELD_B32_V4;
- case 32:
+ case 256: // 32 bytes
return AMDGPU::V_MOVRELD_B32_V8;
- case 64:
+ case 512: // 64 bytes
return AMDGPU::V_MOVRELD_B32_V16;
default:
llvm_unreachable("unsupported size for MOVRELD pseudos");
@@ -1863,7 +1864,7 @@ static MachineBasicBlock *emitIndirectDst(MachineInstr &MI,
BuildMI(MBB, I, DL, TII->get(AMDGPU::S_SET_GPR_IDX_OFF));
} else {
- const MCInstrDesc &MovRelDesc = TII->get(getMOVRELDPseudo(VecRC));
+ const MCInstrDesc &MovRelDesc = TII->get(getMOVRELDPseudo(TRI, VecRC));
BuildMI(MBB, I, DL, MovRelDesc)
.addReg(Dst, RegState::Define)
@@ -1907,7 +1908,7 @@ static MachineBasicBlock *emitIndirectDst(MachineInstr &MI,
.addReg(PhiReg, RegState::Implicit)
.addReg(AMDGPU::M0, RegState::Implicit);
} else {
- const MCInstrDesc &MovRelDesc = TII->get(getMOVRELDPseudo(VecRC));
+ const MCInstrDesc &MovRelDesc = TII->get(getMOVRELDPseudo(TRI, VecRC));
BuildMI(*LoopBB, InsPt, DL, MovRelDesc)
.addReg(Dst, RegState::Define)
@@ -1948,50 +1949,6 @@ MachineBasicBlock *SITargetLowering::EmitInstrWithCustomInserter(
}
switch (MI.getOpcode()) {
- case AMDGPU::S_TRAP_PSEUDO: {
- const DebugLoc &DL = MI.getDebugLoc();
- const int TrapType = MI.getOperand(0).getImm();
-
- if (Subtarget->getTrapHandlerAbi() == SISubtarget::TrapHandlerAbiHsa &&
- Subtarget->isTrapHandlerEnabled()) {
-
- MachineFunction *MF = BB->getParent();
- SIMachineFunctionInfo *Info = MF->getInfo<SIMachineFunctionInfo>();
- unsigned UserSGPR = Info->getQueuePtrUserSGPR();
- assert(UserSGPR != AMDGPU::NoRegister);
-
- if (!BB->isLiveIn(UserSGPR))
- BB->addLiveIn(UserSGPR);
-
- BuildMI(*BB, MI, DL, TII->get(AMDGPU::COPY), AMDGPU::SGPR0_SGPR1)
- .addReg(UserSGPR);
- BuildMI(*BB, MI, DL, TII->get(AMDGPU::S_TRAP))
- .addImm(TrapType)
- .addReg(AMDGPU::SGPR0_SGPR1, RegState::Implicit);
- } else {
- switch (TrapType) {
- case SISubtarget::TrapIDLLVMTrap:
- BuildMI(*BB, MI, DL, TII->get(AMDGPU::S_ENDPGM));
- break;
- case SISubtarget::TrapIDLLVMDebugTrap: {
- DiagnosticInfoUnsupported NoTrap(*MF->getFunction(),
- "debugtrap handler not supported",
- DL,
- DS_Warning);
- LLVMContext &C = MF->getFunction()->getContext();
- C.diagnose(NoTrap);
- BuildMI(*BB, MI, DL, TII->get(AMDGPU::S_NOP))
- .addImm(0);
- break;
- }
- default:
- llvm_unreachable("unsupported trap handler type!");
- }
- }
-
- MI.eraseFromParent();
- return BB;
- }
case AMDGPU::SI_INIT_M0:
BuildMI(*BB, MI.getIterator(), MI.getDebugLoc(),
TII->get(AMDGPU::S_MOV_B32), AMDGPU::M0)
@@ -2163,6 +2120,10 @@ SDValue SITargetLowering::LowerOperation(SDValue Op, SelectionDAG &DAG) const {
return lowerEXTRACT_VECTOR_ELT(Op, DAG);
case ISD::FP_ROUND:
return lowerFP_ROUND(Op, DAG);
+
+ case ISD::TRAP:
+ case ISD::DEBUGTRAP:
+ return lowerTRAP(Op, DAG);
}
return SDValue();
}
@@ -2431,6 +2392,57 @@ SDValue SITargetLowering::lowerFP_ROUND(SDValue Op, SelectionDAG &DAG) const {
return DAG.getNode(ISD::BITCAST, DL, MVT::f16, Trunc);;
}
+SDValue SITargetLowering::lowerTRAP(SDValue Op, SelectionDAG &DAG) const {
+ SDLoc SL(Op);
+ MachineFunction &MF = DAG.getMachineFunction();
+ SDValue Chain = Op.getOperand(0);
+
+ unsigned TrapID = Op.getOpcode() == ISD::DEBUGTRAP ?
+ SISubtarget::TrapIDLLVMDebugTrap : SISubtarget::TrapIDLLVMTrap;
+
+ if (Subtarget->getTrapHandlerAbi() == SISubtarget::TrapHandlerAbiHsa &&
+ Subtarget->isTrapHandlerEnabled()) {
+ SIMachineFunctionInfo *Info = MF.getInfo<SIMachineFunctionInfo>();
+ unsigned UserSGPR = Info->getQueuePtrUserSGPR();
+ assert(UserSGPR != AMDGPU::NoRegister);
+
+ SDValue QueuePtr = CreateLiveInRegister(
+ DAG, &AMDGPU::SReg_64RegClass, UserSGPR, MVT::i64);
+
+ SDValue SGPR01 = DAG.getRegister(AMDGPU::SGPR0_SGPR1, MVT::i64);
+
+ SDValue ToReg = DAG.getCopyToReg(Chain, SL, SGPR01,
+ QueuePtr, SDValue());
+
+ SDValue Ops[] = {
+ ToReg,
+ DAG.getTargetConstant(TrapID, SL, MVT::i16),
+ SGPR01,
+ ToReg.getValue(1)
+ };
+
+ return DAG.getNode(AMDGPUISD::TRAP, SL, MVT::Other, Ops);
+ }
+
+ switch (TrapID) {
+ case SISubtarget::TrapIDLLVMTrap:
+ return DAG.getNode(AMDGPUISD::ENDPGM, SL, MVT::Other, Chain);
+ case SISubtarget::TrapIDLLVMDebugTrap: {
+ DiagnosticInfoUnsupported NoTrap(*MF.getFunction(),
+ "debugtrap handler not supported",
+ Op.getDebugLoc(),
+ DS_Warning);
+ LLVMContext &Ctx = MF.getFunction()->getContext();
+ Ctx.diagnose(NoTrap);
+ return Chain;
+ }
+ default:
+ llvm_unreachable("unsupported trap handler type!");
+ }
+
+ return Chain;
+}
+
SDValue SITargetLowering::getSegmentAperture(unsigned AS, const SDLoc &DL,
SelectionDAG &DAG) const {
// FIXME: Use inline constants (src_{shared, private}_base) instead.
@@ -3410,9 +3422,11 @@ SDValue SITargetLowering::lowerFastUnsafeFDIV(SDValue Op,
EVT VT = Op.getValueType();
bool Unsafe = DAG.getTarget().Options.UnsafeFPMath;
+ if (!Unsafe && VT == MVT::f32 && Subtarget->hasFP32Denormals())
+ return SDValue();
+
if (const ConstantFPSDNode *CLHS = dyn_cast<ConstantFPSDNode>(LHS)) {
- if (Unsafe || (VT == MVT::f32 && !Subtarget->hasFP32Denormals()) ||
- VT == MVT::f16) {
+ if (Unsafe || VT == MVT::f32 || VT == MVT::f16) {
if (CLHS->isExactlyValue(1.0)) {
// v_rcp_f32 and v_rsq_f32 do not support denormals, and according to
// the CI documentation has a worst case error of 1 ulp.
@@ -4696,7 +4710,7 @@ SDValue SITargetLowering::performCvtF32UByteNCombine(SDNode *N,
TargetLowering::TargetLoweringOpt TLO(DAG, !DCI.isBeforeLegalize(),
!DCI.isBeforeLegalizeOps());
const TargetLowering &TLI = DAG.getTargetLoweringInfo();
- if (TLO.ShrinkDemandedConstant(Src, Demanded) ||
+ if (TLI.ShrinkDemandedConstant(Src, Demanded, TLO) ||
TLI.SimplifyDemandedBits(Src, Demanded, KnownZero, KnownOne, TLO)) {
DCI.CommitTargetLoweringOpt(TLO);
}
diff --git a/lib/Target/AMDGPU/SIInsertWaitcnts.cpp b/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
index c2a3e62aa827..9122cd72d323 100644
--- a/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+++ b/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
@@ -428,8 +428,8 @@ RegInterval BlockWaitcntBrackets::getRegInterval(const MachineInstr *MI,
const MachineInstr &MIA = *MI;
const TargetRegisterClass *RC = TII->getOpRegClass(MIA, OpNo);
- unsigned Size = RC->getSize();
- Result.second = Result.first + (Size / 4);
+ unsigned Size = TRI->getRegSizeInBits(*RC);
+ Result.second = Result.first + (Size / 32);
return Result;
}
diff --git a/lib/Target/AMDGPU/SIInsertWaits.cpp b/lib/Target/AMDGPU/SIInsertWaits.cpp
index 47257ce16ceb..9f32ecfa52ff 100644
--- a/lib/Target/AMDGPU/SIInsertWaits.cpp
+++ b/lib/Target/AMDGPU/SIInsertWaits.cpp
@@ -216,8 +216,8 @@ Counters SIInsertWaits::getHwCounts(MachineInstr &MI) {
// XXX - What if this is a write into a super register?
const TargetRegisterClass *RC = TII->getOpRegClass(MI, 0);
- unsigned Size = RC->getSize();
- Result.Named.LGKM = Size > 4 ? 2 : 1;
+ unsigned Size = TRI->getRegSizeInBits(*RC);
+ Result.Named.LGKM = Size > 32 ? 2 : 1;
} else {
// s_dcache_inv etc. do not have a a destination register. Assume we
// want a wait on these.
@@ -289,12 +289,12 @@ bool SIInsertWaits::isOpRelevant(MachineOperand &Op) {
RegInterval SIInsertWaits::getRegInterval(const TargetRegisterClass *RC,
const MachineOperand &Reg) const {
- unsigned Size = RC->getSize();
- assert(Size >= 4);
+ unsigned Size = TRI->getRegSizeInBits(*RC);
+ assert(Size >= 32);
RegInterval Result;
Result.first = TRI->getEncodingValue(Reg.getReg());
- Result.second = Result.first + Size / 4;
+ Result.second = Result.first + Size / 32;
return Result;
}
diff --git a/lib/Target/AMDGPU/SIInstrInfo.cpp b/lib/Target/AMDGPU/SIInstrInfo.cpp
index 05ac67d26620..92e452a3d6a0 100644
--- a/lib/Target/AMDGPU/SIInstrInfo.cpp
+++ b/lib/Target/AMDGPU/SIInstrInfo.cpp
@@ -138,6 +138,11 @@ bool SIInstrInfo::areLoadsFromSameBasePtr(SDNode *Load0, SDNode *Load1,
}
if (isSMRD(Opc0) && isSMRD(Opc1)) {
+ // Skip time and cache invalidation instructions.
+ if (AMDGPU::getNamedOperandIdx(Opc0, AMDGPU::OpName::sbase) == -1 ||
+ AMDGPU::getNamedOperandIdx(Opc1, AMDGPU::OpName::sbase) == -1)
+ return false;
+
assert(getNumOperandsNoGlue(Load0) == getNumOperandsNoGlue(Load1));
// Check base reg.
@@ -245,11 +250,11 @@ bool SIInstrInfo::getMemOpBaseRegImmOfs(MachineInstr &LdSt, unsigned &BaseReg,
unsigned EltSize;
if (LdSt.mayLoad())
- EltSize = getOpRegClass(LdSt, 0)->getSize() / 2;
+ EltSize = TRI->getRegSizeInBits(*getOpRegClass(LdSt, 0)) / 16;
else {
assert(LdSt.mayStore());
int Data0Idx = AMDGPU::getNamedOperandIdx(Opc, AMDGPU::OpName::data0);
- EltSize = getOpRegClass(LdSt, Data0Idx)->getSize();
+ EltSize = TRI->getRegSizeInBits(*getOpRegClass(LdSt, Data0Idx)) / 8;
}
if (isStride64(Opc))
@@ -345,7 +350,7 @@ bool SIInstrInfo::shouldClusterMemOps(MachineInstr &FirstLdSt,
FirstLdSt.getParent()->getParent()->getRegInfo();
const TargetRegisterClass *DstRC = MRI.getRegClass(FirstDst->getReg());
- return (NumLoads * DstRC->getSize()) <= LoadClusterThreshold;
+ return (NumLoads * (RI.getRegSizeInBits(*DstRC) / 8)) <= LoadClusterThreshold;
}
static void reportIllegalCopy(const SIInstrInfo *TII, MachineBasicBlock &MBB,
@@ -433,7 +438,7 @@ void SIInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
unsigned EltSize = 4;
unsigned Opcode = AMDGPU::V_MOV_B32_e32;
if (RI.isSGPRClass(RC)) {
- if (RC->getSize() > 4) {
+ if (RI.getRegSizeInBits(*RC) > 32) {
Opcode = AMDGPU::S_MOV_B64;
EltSize = 8;
} else {
@@ -493,11 +498,11 @@ int SIInstrInfo::commuteOpcode(unsigned Opcode) const {
unsigned SIInstrInfo::getMovOpcode(const TargetRegisterClass *DstRC) const {
- if (DstRC->getSize() == 4) {
+ if (RI.getRegSizeInBits(*DstRC) == 32) {
return RI.isSGPRClass(DstRC) ? AMDGPU::S_MOV_B32 : AMDGPU::V_MOV_B32_e32;
- } else if (DstRC->getSize() == 8 && RI.isSGPRClass(DstRC)) {
+ } else if (RI.getRegSizeInBits(*DstRC) == 64 && RI.isSGPRClass(DstRC)) {
return AMDGPU::S_MOV_B64;
- } else if (DstRC->getSize() == 8 && !RI.isSGPRClass(DstRC)) {
+ } else if (RI.getRegSizeInBits(*DstRC) == 64 && !RI.isSGPRClass(DstRC)) {
return AMDGPU::V_MOV_B64_PSEUDO;
}
return AMDGPU::COPY;
@@ -557,17 +562,18 @@ void SIInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
MachineMemOperand *MMO
= MF->getMachineMemOperand(PtrInfo, MachineMemOperand::MOStore,
Size, Align);
+ unsigned SpillSize = TRI->getSpillSize(*RC);
if (RI.isSGPRClass(RC)) {
MFI->setHasSpilledSGPRs();
// We are only allowed to create one new instruction when spilling
// registers, so we need to use pseudo instruction for spilling SGPRs.
- const MCInstrDesc &OpDesc = get(getSGPRSpillSaveOpcode(RC->getSize()));
+ const MCInstrDesc &OpDesc = get(getSGPRSpillSaveOpcode(SpillSize));
// The SGPR spill/restore instructions only work on number sgprs, so we need
// to make sure we are using the correct register class.
- if (TargetRegisterInfo::isVirtualRegister(SrcReg) && RC->getSize() == 4) {
+ if (TargetRegisterInfo::isVirtualRegister(SrcReg) && SpillSize == 4) {
MachineRegisterInfo &MRI = MF->getRegInfo();
MRI.constrainRegClass(SrcReg, &AMDGPU::SReg_32_XM0RegClass);
}
@@ -602,7 +608,7 @@ void SIInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
assert(RI.hasVGPRs(RC) && "Only VGPR spilling expected");
- unsigned Opcode = getVGPRSpillSaveOpcode(RC->getSize());
+ unsigned Opcode = getVGPRSpillSaveOpcode(SpillSize);
MFI->setHasSpilledVGPRs();
BuildMI(MBB, MI, DL, get(Opcode))
.addReg(SrcReg, getKillRegState(isKill)) // data
@@ -660,6 +666,7 @@ void SIInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
DebugLoc DL = MBB.findDebugLoc(MI);
unsigned Align = FrameInfo.getObjectAlignment(FrameIndex);
unsigned Size = FrameInfo.getObjectSize(FrameIndex);
+ unsigned SpillSize = TRI->getSpillSize(*RC);
MachinePointerInfo PtrInfo
= MachinePointerInfo::getFixedStack(*MF, FrameIndex);
@@ -670,8 +677,8 @@ void SIInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
if (RI.isSGPRClass(RC)) {
// FIXME: Maybe this should not include a memoperand because it will be
// lowered to non-memory instructions.
- const MCInstrDesc &OpDesc = get(getSGPRSpillRestoreOpcode(RC->getSize()));
- if (TargetRegisterInfo::isVirtualRegister(DestReg) && RC->getSize() == 4) {
+ const MCInstrDesc &OpDesc = get(getSGPRSpillRestoreOpcode(SpillSize));
+ if (TargetRegisterInfo::isVirtualRegister(DestReg) && SpillSize == 4) {
MachineRegisterInfo &MRI = MF->getRegInfo();
MRI.constrainRegClass(DestReg, &AMDGPU::SReg_32_XM0RegClass);
}
@@ -701,7 +708,7 @@ void SIInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
assert(RI.hasVGPRs(RC) && "Only VGPR spilling expected");
- unsigned Opcode = getVGPRSpillRestoreOpcode(RC->getSize());
+ unsigned Opcode = getVGPRSpillRestoreOpcode(SpillSize);
BuildMI(MBB, MI, DL, get(Opcode), DestReg)
.addFrameIndex(FrameIndex) // vaddr
.addReg(MFI->getScratchRSrcReg()) // scratch_rsrc
@@ -1440,9 +1447,9 @@ void SIInstrInfo::insertSelect(MachineBasicBlock &MBB,
MachineRegisterInfo &MRI = MBB.getParent()->getRegInfo();
const TargetRegisterClass *DstRC = MRI.getRegClass(DstReg);
- unsigned DstSize = DstRC->getSize();
+ unsigned DstSize = RI.getRegSizeInBits(*DstRC);
- if (DstSize == 4) {
+ if (DstSize == 32) {
unsigned SelOp = Pred == SCC_TRUE ?
AMDGPU::S_CSELECT_B32 : AMDGPU::V_CNDMASK_B32_e32;
@@ -1456,7 +1463,7 @@ void SIInstrInfo::insertSelect(MachineBasicBlock &MBB,
return;
}
- if (DstSize == 8 && Pred == SCC_TRUE) {
+ if (DstSize == 64 && Pred == SCC_TRUE) {
MachineInstr *Select =
BuildMI(MBB, I, DL, get(AMDGPU::S_CSELECT_B64), DstReg)
.addReg(FalseReg)
@@ -1483,7 +1490,7 @@ void SIInstrInfo::insertSelect(MachineBasicBlock &MBB,
unsigned SelOp = AMDGPU::V_CNDMASK_B32_e32;
const TargetRegisterClass *EltRC = &AMDGPU::VGPR_32RegClass;
const int16_t *SubIndices = Sub0_15;
- int NElts = DstSize / 4;
+ int NElts = DstSize / 32;
// 64-bit select is only avaialble for SALU.
if (Pred == SCC_TRUE) {
@@ -2635,6 +2642,19 @@ void SIInstrInfo::legalizeOperandsVOP2(MachineRegisterInfo &MRI,
if (isLegalRegOperand(MRI, InstrDesc.OpInfo[Src1Idx], Src1))
return;
+ // Special case: V_READLANE_B32 accepts only immediate or SGPR operands for
+ // lane select. Fix up using V_READFIRSTLANE, since we assume that the lane
+ // select is uniform.
+ if (Opc == AMDGPU::V_READLANE_B32 && Src1.isReg() &&
+ RI.isVGPR(MRI, Src1.getReg())) {
+ unsigned Reg = MRI.createVirtualRegister(&AMDGPU::SReg_32_XM0RegClass);
+ const DebugLoc &DL = MI.getDebugLoc();
+ BuildMI(*MI.getParent(), MI, DL, get(AMDGPU::V_READFIRSTLANE_B32), Reg)
+ .add(Src1);
+ Src1.ChangeToRegister(Reg, false);
+ return;
+ }
+
// We do not use commuteInstruction here because it is too aggressive and will
// commute if it is possible. We only want to commute here if it improves
// legality. This can be called a fairly large number of times so don't waste
@@ -2729,7 +2749,7 @@ unsigned SIInstrInfo::readlaneVGPRToSGPR(unsigned SrcReg, MachineInstr &UseMI,
const TargetRegisterClass *VRC = MRI.getRegClass(SrcReg);
const TargetRegisterClass *SRC = RI.getEquivalentSGPRClass(VRC);
unsigned DstReg = MRI.createVirtualRegister(SRC);
- unsigned SubRegs = VRC->getSize() / 4;
+ unsigned SubRegs = RI.getRegSizeInBits(*VRC) / 32;
SmallVector<unsigned, 8> SRegs;
for (unsigned i = 0; i < SubRegs; ++i) {
@@ -3595,7 +3615,7 @@ void SIInstrInfo::movePackToVALU(SmallVectorImpl<MachineInstr *> &Worklist,
.addImm(16)
.add(Src0);
BuildMI(*MBB, Inst, DL, get(AMDGPU::V_MOV_B32_e32), ImmReg)
- .addImm(0xffff);
+ .addImm(0xffff0000);
BuildMI(*MBB, Inst, DL, get(AMDGPU::V_AND_OR_B32), ResultReg)
.add(Src1)
.addReg(ImmReg, RegState::Kill)
diff --git a/lib/Target/AMDGPU/SIInstrInfo.h b/lib/Target/AMDGPU/SIInstrInfo.h
index 659473ca6a47..03a5ef74b179 100644
--- a/lib/Target/AMDGPU/SIInstrInfo.h
+++ b/lib/Target/AMDGPU/SIInstrInfo.h
@@ -626,13 +626,13 @@ public:
return 4;
}
- return RI.getRegClass(OpInfo.RegClass)->getSize();
+ return RI.getRegSizeInBits(*RI.getRegClass(OpInfo.RegClass)) / 8;
}
/// \brief This form should usually be preferred since it handles operands
/// with unknown register classes.
unsigned getOpSize(const MachineInstr &MI, unsigned OpNo) const {
- return getOpRegClass(MI, OpNo)->getSize();
+ return RI.getRegSizeInBits(*getOpRegClass(MI, OpNo)) / 8;
}
/// \returns true if it is legal for the operand at index \p OpNo
diff --git a/lib/Target/AMDGPU/SIInstrInfo.td b/lib/Target/AMDGPU/SIInstrInfo.td
index c6daf743f3ac..7b052844f177 100644
--- a/lib/Target/AMDGPU/SIInstrInfo.td
+++ b/lib/Target/AMDGPU/SIInstrInfo.td
@@ -646,11 +646,10 @@ def DS64Bit4ByteAligned : ComplexPattern<i32, 3, "SelectDS64Bit4ByteAligned">;
def MOVRELOffset : ComplexPattern<i32, 2, "SelectMOVRELOffset">;
def VOP3Mods0 : ComplexPattern<untyped, 4, "SelectVOP3Mods0">;
-def VOP3NoMods0 : ComplexPattern<untyped, 4, "SelectVOP3NoMods0">;
def VOP3Mods0Clamp : ComplexPattern<untyped, 3, "SelectVOP3Mods0Clamp">;
def VOP3Mods0Clamp0OMod : ComplexPattern<untyped, 4, "SelectVOP3Mods0Clamp0OMod">;
def VOP3Mods : ComplexPattern<untyped, 2, "SelectVOP3Mods">;
-def VOP3NoMods : ComplexPattern<untyped, 2, "SelectVOP3NoMods">;
+def VOP3NoMods : ComplexPattern<untyped, 1, "SelectVOP3NoMods">;
// VOP3Mods, but the input source is known to never be NaN.
def VOP3Mods_nnan : ComplexPattern<fAny, 2, "SelectVOP3Mods_NNaN">;
diff --git a/lib/Target/AMDGPU/SIInstructions.td b/lib/Target/AMDGPU/SIInstructions.td
index 2f89503e129a..3f6ddec70479 100644
--- a/lib/Target/AMDGPU/SIInstructions.td
+++ b/lib/Target/AMDGPU/SIInstructions.td
@@ -94,6 +94,12 @@ defm V_INTERP_MOV_F32 : VINTRP_m <
//===----------------------------------------------------------------------===//
// Pseudo Instructions
//===----------------------------------------------------------------------===//
+def ATOMIC_FENCE : SPseudoInstSI<
+ (outs), (ins i32imm:$ordering, i32imm:$scope),
+ [(atomic_fence (i32 imm:$ordering), (i32 imm:$scope))],
+ "ATOMIC_FENCE $ordering, $scope"> {
+ let hasSideEffects = 1;
+}
let hasSideEffects = 0, mayLoad = 0, mayStore = 0, Uses = [EXEC] in {
@@ -111,12 +117,6 @@ def V_MOV_B64_PSEUDO : VPseudoInstSI <(outs VReg_64:$vdst),
(ins VSrc_b64:$src0)>;
} // End let hasSideEffects = 0, mayLoad = 0, mayStore = 0, Uses = [EXEC]
-def S_TRAP_PSEUDO : SPseudoInstSI <(outs), (ins i16imm:$simm16)> {
- let hasSideEffects = 1;
- let SALU = 1;
- let usesCustomInserter = 1;
-}
-
let usesCustomInserter = 1, SALU = 1 in {
def GET_GROUPSTATICSIZE : PseudoInstSI <(outs SReg_32:$sdst), (ins),
[(set SReg_32:$sdst, (int_amdgcn_groupstaticsize))]>;
@@ -400,13 +400,8 @@ def SI_PC_ADD_REL_OFFSET : SPseudoInstSI <
let Predicates = [isGCN] in {
def : Pat<
- (trap),
- (S_TRAP_PSEUDO TRAPID.LLVM_TRAP)
->;
-
-def : Pat<
- (debugtrap),
- (S_TRAP_PSEUDO TRAPID.LLVM_DEBUG_TRAP)
+ (AMDGPUtrap timm:$trapid),
+ (S_TRAP $trapid)
>;
def : Pat<
@@ -477,8 +472,8 @@ def : Pat <
// fp_to_fp16 patterns
def : Pat <
- (i32 (AMDGPUfp_to_f16 (f32 (VOP3Mods0 f32:$src0, i32:$src0_modifiers, i1:$clamp, i32:$omod)))),
- (V_CVT_F16_F32_e64 $src0_modifiers, f32:$src0, $clamp, $omod)
+ (i32 (AMDGPUfp_to_f16 (f32 (VOP3Mods f32:$src0, i32:$src0_modifiers)))),
+ (V_CVT_F16_F32_e64 $src0_modifiers, f32:$src0, DSTCLAMP.NONE, DSTOMOD.NONE)
>;
def : Pat <
@@ -507,11 +502,11 @@ def : Pat <
multiclass FMADPat <ValueType vt, Instruction inst> {
def : Pat <
- (vt (fmad (VOP3NoMods0 vt:$src0, i32:$src0_modifiers, i1:$clamp, i32:$omod),
- (VOP3NoMods vt:$src1, i32:$src1_modifiers),
- (VOP3NoMods vt:$src2, i32:$src2_modifiers))),
- (inst $src0_modifiers, $src0, $src1_modifiers, $src1,
- $src2_modifiers, $src2, $clamp, $omod)
+ (vt (fmad (VOP3NoMods vt:$src0),
+ (VOP3NoMods vt:$src1),
+ (VOP3NoMods vt:$src2))),
+ (inst SRCMODS.NONE, $src0, SRCMODS.NONE, $src1,
+ SRCMODS.NONE, $src2, DSTCLAMP.NONE, DSTOMOD.NONE)
>;
}
@@ -681,10 +676,9 @@ def : BitConvert <v16f32, v16i32, VReg_512>;
// If denormals are not enabled, it only impacts the compare of the
// inputs. The output result is not flushed.
class ClampPat<Instruction inst, ValueType vt> : Pat <
- (vt (AMDGPUclamp
- (VOP3Mods0Clamp vt:$src0, i32:$src0_modifiers, i32:$omod))),
+ (vt (AMDGPUclamp (VOP3Mods vt:$src0, i32:$src0_modifiers))),
(inst i32:$src0_modifiers, vt:$src0,
- i32:$src0_modifiers, vt:$src0, DSTCLAMP.ENABLE, $omod)
+ i32:$src0_modifiers, vt:$src0, DSTCLAMP.ENABLE, DSTOMOD.NONE)
>;
def : ClampPat<V_MAX_F32_e64, f32>;
diff --git a/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp b/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
index 8e612d2ddfda..b6a982aee6be 100644
--- a/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
+++ b/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
@@ -25,6 +25,8 @@ SIMachineFunctionInfo::SIMachineFunctionInfo(const MachineFunction &MF)
TIDReg(AMDGPU::NoRegister),
ScratchRSrcReg(AMDGPU::NoRegister),
ScratchWaveOffsetReg(AMDGPU::NoRegister),
+ FrameOffsetReg(AMDGPU::NoRegister),
+ StackPtrOffsetReg(AMDGPU::NoRegister),
PrivateSegmentBufferUserSGPR(AMDGPU::NoRegister),
DispatchPtrUserSGPR(AMDGPU::NoRegister),
QueuePtrUserSGPR(AMDGPU::NoRegister),
diff --git a/lib/Target/AMDGPU/SIMachineFunctionInfo.h b/lib/Target/AMDGPU/SIMachineFunctionInfo.h
index 810fb05984c4..dc9f509e60ae 100644
--- a/lib/Target/AMDGPU/SIMachineFunctionInfo.h
+++ b/lib/Target/AMDGPU/SIMachineFunctionInfo.h
@@ -88,6 +88,14 @@ class SIMachineFunctionInfo final : public AMDGPUMachineFunction {
unsigned ScratchRSrcReg;
unsigned ScratchWaveOffsetReg;
+ // This is the current function's incremented size from the kernel's scratch
+ // wave offset register. For an entry function, this is exactly the same as
+ // the ScratchWaveOffsetReg.
+ unsigned FrameOffsetReg;
+
+ // Top of the stack SGPR offset derived from the ScratchWaveOffsetReg.
+ unsigned StackPtrOffsetReg;
+
// Input registers for non-HSA ABI
unsigned PrivateMemoryPtrUserSGPR;
@@ -364,9 +372,25 @@ public:
return ScratchWaveOffsetReg;
}
+ unsigned getFrameOffsetReg() const {
+ return FrameOffsetReg;
+ }
+
+ void setStackPtrOffsetReg(unsigned Reg) {
+ assert(Reg != AMDGPU::NoRegister && "Should never be unset");
+ StackPtrOffsetReg = Reg;
+ }
+
+ unsigned getStackPtrOffsetReg() const {
+ return StackPtrOffsetReg;
+ }
+
void setScratchWaveOffsetReg(unsigned Reg) {
assert(Reg != AMDGPU::NoRegister && "Should never be unset");
ScratchWaveOffsetReg = Reg;
+
+ // FIXME: Only for entry functions.
+ FrameOffsetReg = ScratchWaveOffsetReg;
}
unsigned getQueuePtrUserSGPR() const {
diff --git a/lib/Target/AMDGPU/SIRegisterInfo.cpp b/lib/Target/AMDGPU/SIRegisterInfo.cpp
index 098c67252dd8..8820e294562b 100644
--- a/lib/Target/AMDGPU/SIRegisterInfo.cpp
+++ b/lib/Target/AMDGPU/SIRegisterInfo.cpp
@@ -146,6 +146,9 @@ BitVector SIRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
reserveRegisterTuples(Reserved, AMDGPU::EXEC);
reserveRegisterTuples(Reserved, AMDGPU::FLAT_SCR);
+ // M0 has to be reserved so that llvm accepts it as a live-in into a block.
+ reserveRegisterTuples(Reserved, AMDGPU::M0);
+
// Reserve the memory aperture registers.
reserveRegisterTuples(Reserved, AMDGPU::SRC_SHARED_BASE);
reserveRegisterTuples(Reserved, AMDGPU::SRC_SHARED_LIMIT);
@@ -615,7 +618,8 @@ bool SIRegisterInfo::spillSGPR(MachineBasicBlock::iterator MI,
if (SpillToSMEM && isSGPRClass(RC)) {
// XXX - if private_element_size is larger than 4 it might be useful to be
// able to spill wider vmem spills.
- std::tie(EltSize, ScalarStoreOp) = getSpillEltSize(RC->getSize(), true);
+ std::tie(EltSize, ScalarStoreOp) =
+ getSpillEltSize(getRegSizeInBits(*RC) / 8, true);
}
ArrayRef<int16_t> SplitParts = getRegSplitParts(RC, EltSize);
@@ -775,7 +779,8 @@ bool SIRegisterInfo::restoreSGPR(MachineBasicBlock::iterator MI,
if (SpillToSMEM && isSGPRClass(RC)) {
// XXX - if private_element_size is larger than 4 it might be useful to be
// able to spill wider vmem spills.
- std::tie(EltSize, ScalarLoadOp) = getSpillEltSize(RC->getSize(), false);
+ std::tie(EltSize, ScalarLoadOp) =
+ getSpillEltSize(getRegSizeInBits(*RC) / 8, false);
}
ArrayRef<int16_t> SplitParts = getRegSplitParts(RC, EltSize);
@@ -1038,20 +1043,21 @@ const TargetRegisterClass *SIRegisterInfo::getPhysRegClass(unsigned Reg) const {
// TODO: It might be helpful to have some target specific flags in
// TargetRegisterClass to mark which classes are VGPRs to make this trivial.
bool SIRegisterInfo::hasVGPRs(const TargetRegisterClass *RC) const {
- switch (RC->getSize()) {
- case 0: return false;
- case 1: return false;
- case 4:
+ unsigned Size = getRegSizeInBits(*RC);
+ if (Size < 32)
+ return false;
+ switch (Size) {
+ case 32:
return getCommonSubClass(&AMDGPU::VGPR_32RegClass, RC) != nullptr;
- case 8:
+ case 64:
return getCommonSubClass(&AMDGPU::VReg_64RegClass, RC) != nullptr;
- case 12:
+ case 96:
return getCommonSubClass(&AMDGPU::VReg_96RegClass, RC) != nullptr;
- case 16:
+ case 128:
return getCommonSubClass(&AMDGPU::VReg_128RegClass, RC) != nullptr;
- case 32:
+ case 256:
return getCommonSubClass(&AMDGPU::VReg_256RegClass, RC) != nullptr;
- case 64:
+ case 512:
return getCommonSubClass(&AMDGPU::VReg_512RegClass, RC) != nullptr;
default:
llvm_unreachable("Invalid register class size");
@@ -1060,18 +1066,18 @@ bool SIRegisterInfo::hasVGPRs(const TargetRegisterClass *RC) const {
const TargetRegisterClass *SIRegisterInfo::getEquivalentVGPRClass(
const TargetRegisterClass *SRC) const {
- switch (SRC->getSize()) {
- case 4:
+ switch (getRegSizeInBits(*SRC)) {
+ case 32:
return &AMDGPU::VGPR_32RegClass;
- case 8:
+ case 64:
return &AMDGPU::VReg_64RegClass;
- case 12:
+ case 96:
return &AMDGPU::VReg_96RegClass;
- case 16:
+ case 128:
return &AMDGPU::VReg_128RegClass;
- case 32:
+ case 256:
return &AMDGPU::VReg_256RegClass;
- case 64:
+ case 512:
return &AMDGPU::VReg_512RegClass;
default:
llvm_unreachable("Invalid register class size");
@@ -1080,16 +1086,16 @@ const TargetRegisterClass *SIRegisterInfo::getEquivalentVGPRClass(
const TargetRegisterClass *SIRegisterInfo::getEquivalentSGPRClass(
const TargetRegisterClass *VRC) const {
- switch (VRC->getSize()) {
- case 4:
+ switch (getRegSizeInBits(*VRC)) {
+ case 32:
return &AMDGPU::SGPR_32RegClass;
- case 8:
+ case 64:
return &AMDGPU::SReg_64RegClass;
- case 16:
+ case 128:
return &AMDGPU::SReg_128RegClass;
- case 32:
+ case 256:
return &AMDGPU::SReg_256RegClass;
- case 64:
+ case 512:
return &AMDGPU::SReg_512RegClass;
default:
llvm_unreachable("Invalid register class size");
@@ -1354,15 +1360,15 @@ bool SIRegisterInfo::shouldCoalesce(MachineInstr *MI,
const TargetRegisterClass *DstRC,
unsigned DstSubReg,
const TargetRegisterClass *NewRC) const {
- unsigned SrcSize = SrcRC->getSize();
- unsigned DstSize = DstRC->getSize();
- unsigned NewSize = NewRC->getSize();
+ unsigned SrcSize = getRegSizeInBits(*SrcRC);
+ unsigned DstSize = getRegSizeInBits(*DstRC);
+ unsigned NewSize = getRegSizeInBits(*NewRC);
// Do not increase size of registers beyond dword, we would need to allocate
// adjacent registers and constraint regalloc more than needed.
// Always allow dword coalescing.
- if (SrcSize <= 4 || DstSize <= 4)
+ if (SrcSize <= 32 || DstSize <= 32)
return true;
return NewSize <= DstSize || NewSize <= SrcSize;
diff --git a/lib/Target/AMDGPU/SOPInstructions.td b/lib/Target/AMDGPU/SOPInstructions.td
index b4adbdd1df07..593439c2a3cd 100644
--- a/lib/Target/AMDGPU/SOPInstructions.td
+++ b/lib/Target/AMDGPU/SOPInstructions.td
@@ -530,14 +530,16 @@ class SOPKInstTable <bit is_sopk, string cmpOp = ""> {
class SOPK_32 <string opName, list<dag> pattern=[]> : SOPK_Pseudo <
opName,
(outs SReg_32:$sdst),
- (ins u16imm:$simm16),
+ (ins s16imm:$simm16),
"$sdst, $simm16",
pattern>;
-class SOPK_SCC <string opName, string base_op = ""> : SOPK_Pseudo <
+class SOPK_SCC <string opName, string base_op, bit isSignExt> : SOPK_Pseudo <
opName,
(outs),
- (ins SReg_32:$sdst, u16imm:$simm16),
+ !if(isSignExt,
+ (ins SReg_32:$sdst, s16imm:$simm16),
+ (ins SReg_32:$sdst, u16imm:$simm16)),
"$sdst, $simm16", []>,
SOPKInstTable<1, base_op>{
let Defs = [SCC];
@@ -546,7 +548,7 @@ class SOPK_SCC <string opName, string base_op = ""> : SOPK_Pseudo <
class SOPK_32TIE <string opName, list<dag> pattern=[]> : SOPK_Pseudo <
opName,
(outs SReg_32:$sdst),
- (ins SReg_32:$src0, u16imm:$simm16),
+ (ins SReg_32:$src0, s16imm:$simm16),
"$sdst, $simm16",
pattern
>;
@@ -575,20 +577,20 @@ let isCompare = 1 in {
// [(set i1:$dst, (setcc i32:$src0, imm:$src1, SETEQ))]
// >;
-def S_CMPK_EQ_I32 : SOPK_SCC <"s_cmpk_eq_i32", "s_cmp_eq_i32">;
-def S_CMPK_LG_I32 : SOPK_SCC <"s_cmpk_lg_i32", "s_cmp_lg_i32">;
-def S_CMPK_GT_I32 : SOPK_SCC <"s_cmpk_gt_i32", "s_cmp_gt_i32">;
-def S_CMPK_GE_I32 : SOPK_SCC <"s_cmpk_ge_i32", "s_cmp_ge_i32">;
-def S_CMPK_LT_I32 : SOPK_SCC <"s_cmpk_lt_i32", "s_cmp_lt_i32">;
-def S_CMPK_LE_I32 : SOPK_SCC <"s_cmpk_le_i32", "s_cmp_le_i32">;
+def S_CMPK_EQ_I32 : SOPK_SCC <"s_cmpk_eq_i32", "s_cmp_eq_i32", 1>;
+def S_CMPK_LG_I32 : SOPK_SCC <"s_cmpk_lg_i32", "s_cmp_lg_i32", 1>;
+def S_CMPK_GT_I32 : SOPK_SCC <"s_cmpk_gt_i32", "s_cmp_gt_i32", 1>;
+def S_CMPK_GE_I32 : SOPK_SCC <"s_cmpk_ge_i32", "s_cmp_ge_i32", 1>;
+def S_CMPK_LT_I32 : SOPK_SCC <"s_cmpk_lt_i32", "s_cmp_lt_i32", 1>;
+def S_CMPK_LE_I32 : SOPK_SCC <"s_cmpk_le_i32", "s_cmp_le_i32", 1>;
let SOPKZext = 1 in {
-def S_CMPK_EQ_U32 : SOPK_SCC <"s_cmpk_eq_u32", "s_cmp_eq_u32">;
-def S_CMPK_LG_U32 : SOPK_SCC <"s_cmpk_lg_u32", "s_cmp_lg_u32">;
-def S_CMPK_GT_U32 : SOPK_SCC <"s_cmpk_gt_u32", "s_cmp_gt_u32">;
-def S_CMPK_GE_U32 : SOPK_SCC <"s_cmpk_ge_u32", "s_cmp_ge_u32">;
-def S_CMPK_LT_U32 : SOPK_SCC <"s_cmpk_lt_u32", "s_cmp_lt_u32">;
-def S_CMPK_LE_U32 : SOPK_SCC <"s_cmpk_le_u32", "s_cmp_le_u32">;
+def S_CMPK_EQ_U32 : SOPK_SCC <"s_cmpk_eq_u32", "s_cmp_eq_u32", 0>;
+def S_CMPK_LG_U32 : SOPK_SCC <"s_cmpk_lg_u32", "s_cmp_lg_u32", 0>;
+def S_CMPK_GT_U32 : SOPK_SCC <"s_cmpk_gt_u32", "s_cmp_gt_u32", 0>;
+def S_CMPK_GE_U32 : SOPK_SCC <"s_cmpk_ge_u32", "s_cmp_ge_u32", 0>;
+def S_CMPK_LT_U32 : SOPK_SCC <"s_cmpk_lt_u32", "s_cmp_lt_u32", 0>;
+def S_CMPK_LE_U32 : SOPK_SCC <"s_cmpk_le_u32", "s_cmp_le_u32", 0>;
} // End SOPKZext = 1
} // End isCompare = 1
@@ -600,7 +602,7 @@ let Defs = [SCC], isCommutable = 1, DisableEncoding = "$src0",
def S_CBRANCH_I_FORK : SOPK_Pseudo <
"s_cbranch_i_fork",
- (outs), (ins SReg_64:$sdst, u16imm:$simm16),
+ (outs), (ins SReg_64:$sdst, s16imm:$simm16),
"$sdst, $simm16"
>;
diff --git a/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp b/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
index 86095a8e1142..5a3242bed1d0 100644
--- a/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+++ b/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
@@ -93,6 +93,12 @@ unsigned getVmcntBitWidthHi() { return 2; }
} // end namespace anonymous
namespace llvm {
+
+static cl::opt<bool> EnablePackedInlinableLiterals(
+ "enable-packed-inlinable-literals",
+ cl::desc("Enable packed inlinable literals (v2f16, v2i16)"),
+ cl::init(false));
+
namespace AMDGPU {
namespace IsaInfo {
@@ -703,6 +709,9 @@ bool isInlinableLiteral16(int16_t Literal, bool HasInv2Pi) {
bool isInlinableLiteralV216(int32_t Literal, bool HasInv2Pi) {
assert(HasInv2Pi);
+ if (!EnablePackedInlinableLiterals)
+ return false;
+
int16_t Lo16 = static_cast<int16_t>(Literal);
int16_t Hi16 = static_cast<int16_t>(Literal >> 16);
return Lo16 == Hi16 && isInlinableLiteral16(Lo16, HasInv2Pi);
diff --git a/lib/Target/ARM/ARMBaseInstrInfo.cpp b/lib/Target/ARM/ARMBaseInstrInfo.cpp
index 4f5711ca9a79..5c9d589e2625 100644
--- a/lib/Target/ARM/ARMBaseInstrInfo.cpp
+++ b/lib/Target/ARM/ARMBaseInstrInfo.cpp
@@ -905,7 +905,7 @@ storeRegToStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
MachinePointerInfo::getFixedStack(MF, FI), MachineMemOperand::MOStore,
MFI.getObjectSize(FI), Align);
- switch (RC->getSize()) {
+ switch (TRI->getSpillSize(*RC)) {
case 4:
if (ARM::GPRRegClass.hasSubClassEq(RC)) {
BuildMI(MBB, I, DL, get(ARM::STRi12))
@@ -1103,7 +1103,7 @@ loadRegFromStackSlot(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
MachinePointerInfo::getFixedStack(MF, FI), MachineMemOperand::MOLoad,
MFI.getObjectSize(FI), Align);
- switch (RC->getSize()) {
+ switch (TRI->getSpillSize(*RC)) {
case 4:
if (ARM::GPRRegClass.hasSubClassEq(RC)) {
BuildMI(MBB, I, DL, get(ARM::LDRi12), DestReg)
diff --git a/lib/Target/ARM/ARMBaseInstrInfo.h b/lib/Target/ARM/ARMBaseInstrInfo.h
index faf1c631a3a7..28c407f74125 100644
--- a/lib/Target/ARM/ARMBaseInstrInfo.h
+++ b/lib/Target/ARM/ARMBaseInstrInfo.h
@@ -105,10 +105,6 @@ public:
// Return whether the target has an explicit NOP encoding.
bool hasNOP() const;
- virtual void getNoopForElfTarget(MCInst &NopInst) const {
- getNoopForMachoTarget(NopInst);
- }
-
// Return the non-pre/post incrementing version of 'Opc'. Return 0
// if there is not such an opcode.
virtual unsigned getUnindexedOpcode(unsigned Opc) const = 0;
diff --git a/lib/Target/ARM/ARMBaseRegisterInfo.cpp b/lib/Target/ARM/ARMBaseRegisterInfo.cpp
index 70a44eaaceb8..a20887564f44 100644
--- a/lib/Target/ARM/ARMBaseRegisterInfo.cpp
+++ b/lib/Target/ARM/ARMBaseRegisterInfo.cpp
@@ -806,7 +806,8 @@ bool ARMBaseRegisterInfo::shouldCoalesce(MachineInstr *MI,
if (!DstSubReg)
return true;
// Small registers don't frequently cause a problem, so we can coalesce them.
- if (NewRC->getSize() < 32 && DstRC->getSize() < 32 && SrcRC->getSize() < 32)
+ if (getRegSizeInBits(*NewRC) < 256 && getRegSizeInBits(*DstRC) < 256 &&
+ getRegSizeInBits(*SrcRC) < 256)
return true;
auto NewRCWeight =
diff --git a/lib/Target/ARM/ARMCallLowering.cpp b/lib/Target/ARM/ARMCallLowering.cpp
index 94b317a8f986..13fb30767c9f 100644
--- a/lib/Target/ARM/ARMCallLowering.cpp
+++ b/lib/Target/ARM/ARMCallLowering.cpp
@@ -35,7 +35,8 @@ ARMCallLowering::ARMCallLowering(const ARMTargetLowering &TLI)
static bool isSupportedType(const DataLayout &DL, const ARMTargetLowering &TLI,
Type *T) {
EVT VT = TLI.getValueType(DL, T, true);
- if (!VT.isSimple() || VT.isVector())
+ if (!VT.isSimple() || VT.isVector() ||
+ !(VT.isInteger() || VT.isFloatingPoint()))
return false;
unsigned VTSize = VT.getSimpleVT().getSizeInBits();
diff --git a/lib/Target/ARM/ARMExpandPseudoInsts.cpp b/lib/Target/ARM/ARMExpandPseudoInsts.cpp
index e0aecff2633b..78a9144bd321 100644
--- a/lib/Target/ARM/ARMExpandPseudoInsts.cpp
+++ b/lib/Target/ARM/ARMExpandPseudoInsts.cpp
@@ -661,7 +661,6 @@ static bool IsAnAddressOperand(const MachineOperand &MO) {
return false;
case MachineOperand::MO_IntrinsicID:
case MachineOperand::MO_Predicate:
- case MachineOperand::MO_Placeholder:
llvm_unreachable("should not exist post-isel");
}
llvm_unreachable("unhandled machine operand type");
diff --git a/lib/Target/ARM/ARMFrameLowering.cpp b/lib/Target/ARM/ARMFrameLowering.cpp
index 70dbe1bc5b95..4f7a0ab4e220 100644
--- a/lib/Target/ARM/ARMFrameLowering.cpp
+++ b/lib/Target/ARM/ARMFrameLowering.cpp
@@ -1960,10 +1960,10 @@ void ARMFrameLowering::determineCalleeSaves(MachineFunction &MF,
// note: Thumb1 functions spill to R12, not the stack. Reserve a slot
// closest to SP or frame pointer.
assert(RS && "Register scavenging not provided");
- const TargetRegisterClass *RC = &ARM::GPRRegClass;
- RS->addScavengingFrameIndex(MFI.CreateStackObject(RC->getSize(),
- RC->getAlignment(),
- false));
+ const TargetRegisterClass &RC = ARM::GPRRegClass;
+ unsigned Size = TRI->getSpillSize(RC);
+ unsigned Align = TRI->getSpillAlignment(RC);
+ RS->addScavengingFrameIndex(MFI.CreateStackObject(Size, Align, false));
}
}
}
diff --git a/lib/Target/ARM/ARMISelLowering.cpp b/lib/Target/ARM/ARMISelLowering.cpp
index 165e9b7378c7..382f881f7741 100644
--- a/lib/Target/ARM/ARMISelLowering.cpp
+++ b/lib/Target/ARM/ARMISelLowering.cpp
@@ -3358,8 +3358,12 @@ ARMTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG,
static SDValue LowerATOMIC_FENCE(SDValue Op, SelectionDAG &DAG,
const ARMSubtarget *Subtarget) {
- // FIXME: handle "fence singlethread" more efficiently.
SDLoc dl(Op);
+ ConstantSDNode *ScopeN = cast<ConstantSDNode>(Op.getOperand(2));
+ auto Scope = static_cast<SynchronizationScope>(ScopeN->getZExtValue());
+ if (Scope == SynchronizationScope::SingleThread)
+ return Op;
+
if (!Subtarget->hasDataBarrier()) {
// Some ARMv6 cpus can support data barriers with an mcr instruction.
// Thumb1 and pre-v6 ARM mode use a libcall instead and should never get
@@ -9476,8 +9480,11 @@ AddCombineBUILD_VECTORToVPADDL(SDNode *N, SDValue N0, SDValue N1,
return SDValue();
}
- // Don't generate vpaddl+vmovn; we'll match it to vpadd later.
- if (Vec.getValueType().getVectorElementType() == VT.getVectorElementType())
+ // Don't generate vpaddl+vmovn; we'll match it to vpadd later. Also make sure
+ // we're using the entire input vector, otherwise there's a size/legality
+ // mismatch somewhere.
+ if (nextIndex != Vec.getValueType().getVectorNumElements() ||
+ Vec.getValueType().getVectorElementType() == VT.getVectorElementType())
return SDValue();
// Create VPADDL node.
diff --git a/lib/Target/ARM/ARMInstrInfo.cpp b/lib/Target/ARM/ARMInstrInfo.cpp
index 3b3606ef462a..a0e2ac4cbc6f 100644
--- a/lib/Target/ARM/ARMInstrInfo.cpp
+++ b/lib/Target/ARM/ARMInstrInfo.cpp
@@ -32,8 +32,8 @@ using namespace llvm;
ARMInstrInfo::ARMInstrInfo(const ARMSubtarget &STI)
: ARMBaseInstrInfo(STI), RI() {}
-/// getNoopForMachoTarget - Return the noop instruction to use for a noop.
-void ARMInstrInfo::getNoopForMachoTarget(MCInst &NopInst) const {
+/// Return the noop instruction to use for a noop.
+void ARMInstrInfo::getNoop(MCInst &NopInst) const {
if (hasNOP()) {
NopInst.setOpcode(ARM::HINT);
NopInst.addOperand(MCOperand::createImm(0));
diff --git a/lib/Target/ARM/ARMInstrInfo.h b/lib/Target/ARM/ARMInstrInfo.h
index 4b1b7097b18d..c87fb97448c9 100644
--- a/lib/Target/ARM/ARMInstrInfo.h
+++ b/lib/Target/ARM/ARMInstrInfo.h
@@ -25,8 +25,8 @@ class ARMInstrInfo : public ARMBaseInstrInfo {
public:
explicit ARMInstrInfo(const ARMSubtarget &STI);
- /// getNoopForMachoTarget - Return the noop instruction to use for a noop.
- void getNoopForMachoTarget(MCInst &NopInst) const override;
+ /// Return the noop instruction to use for a noop.
+ void getNoop(MCInst &NopInst) const override;
// Return the non-pre/post incrementing version of 'Opc'. Return 0
// if there is not such an opcode.
diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td
index 703e8071b177..9d8ee5c3f9dc 100644
--- a/lib/Target/ARM/ARMInstrInfo.td
+++ b/lib/Target/ARM/ARMInstrInfo.td
@@ -5975,3 +5975,10 @@ def CMP_SWAP_64 : PseudoInst<(outs GPRPair:$Rd, GPR:$status),
(ins GPR:$addr, GPRPair:$desired, GPRPair:$new),
NoItinerary, []>, Sched<[]>;
}
+
+def CompilerBarrier : PseudoInst<(outs), (ins i32imm:$ordering), NoItinerary,
+ [(atomic_fence imm:$ordering, 0)]> {
+ let hasSideEffects = 1;
+ let Size = 0;
+ let AsmString = "@ COMPILER BARRIER";
+}
diff --git a/lib/Target/ARM/ARMInstrThumb.td b/lib/Target/ARM/ARMInstrThumb.td
index f2f426e86701..8048c758e998 100644
--- a/lib/Target/ARM/ARMInstrThumb.td
+++ b/lib/Target/ARM/ARMInstrThumb.td
@@ -953,7 +953,7 @@ let isAdd = 1 in {
/// These opcodes will be converted to the real non-S opcodes by
/// AdjustInstrPostInstrSelection after giving then an optional CPSR operand.
let hasPostISelHook = 1, Defs = [CPSR] in {
- let isCommutable = 1 in
+ let isCommutable = 1, Uses = [CPSR] in
def tADCS : tPseudoInst<(outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
2, IIC_iALUr,
[(set tGPR:$Rdn, CPSR, (ARMadde tGPR:$Rn, tGPR:$Rm,
@@ -1292,6 +1292,7 @@ def tSUBrr : // A8.6.212
/// These opcodes will be converted to the real non-S opcodes by
/// AdjustInstrPostInstrSelection after giving then an optional CPSR operand.
let hasPostISelHook = 1, Defs = [CPSR] in {
+ let Uses = [CPSR] in
def tSBCS : tPseudoInst<(outs tGPR:$Rdn), (ins tGPR:$Rn, tGPR:$Rm),
2, IIC_iALUr,
[(set tGPR:$Rdn, CPSR, (ARMsube tGPR:$Rn, tGPR:$Rm,
diff --git a/lib/Target/ARM/ARMInstructionSelector.cpp b/lib/Target/ARM/ARMInstructionSelector.cpp
index 816596b85721..1c13d51a468e 100644
--- a/lib/Target/ARM/ARMInstructionSelector.cpp
+++ b/lib/Target/ARM/ARMInstructionSelector.cpp
@@ -47,12 +47,9 @@ static bool selectCopy(MachineInstr &I, const TargetInstrInfo &TII,
unsigned SrcReg = I.getOperand(1).getReg();
const unsigned SrcSize = RBI.getSizeInBits(SrcReg, MRI, TRI);
(void)SrcSize;
- assert((DstSize == SrcSize ||
- // Copies are a means to setup initial types, the number of
- // bits may not exactly match.
- (TargetRegisterInfo::isPhysicalRegister(SrcReg) &&
- DstSize <= SrcSize)) &&
- "Copy with different width?!");
+ // We use copies for trunc, so it's ok for the size of the destination to be
+ // smaller (the higher bits will just be undefined).
+ assert(DstSize <= SrcSize && "Copy with different width?!");
assert((RegBank->getID() == ARM::GPRRegBankID ||
RegBank->getID() == ARM::FPRRegBankID) &&
@@ -294,6 +291,28 @@ bool ARMInstructionSelector::select(MachineInstr &I) const {
}
break;
}
+ case G_TRUNC: {
+ // The high bits are undefined, so there's nothing special to do, just
+ // treat it as a copy.
+ auto SrcReg = I.getOperand(1).getReg();
+ auto DstReg = I.getOperand(0).getReg();
+
+ const auto &SrcRegBank = *RBI.getRegBank(SrcReg, MRI, TRI);
+ const auto &DstRegBank = *RBI.getRegBank(DstReg, MRI, TRI);
+
+ if (SrcRegBank.getID() != DstRegBank.getID()) {
+ DEBUG(dbgs() << "G_TRUNC operands on different register banks\n");
+ return false;
+ }
+
+ if (SrcRegBank.getID() != ARM::GPRRegBankID) {
+ DEBUG(dbgs() << "G_TRUNC on non-GPR not supported yet\n");
+ return false;
+ }
+
+ I.setDesc(TII.get(COPY));
+ return selectCopy(I, TII, MRI, TRI, RBI);
+ }
case G_ADD:
case G_GEP:
I.setDesc(TII.get(ARM::ADDrr));
@@ -313,6 +332,16 @@ bool ARMInstructionSelector::select(MachineInstr &I) const {
}
MIB.add(predOps(ARMCC::AL)).add(condCodeOp());
break;
+ case G_SDIV:
+ assert(TII.getSubtarget().hasDivideInARMMode() && "Unsupported operation");
+ I.setDesc(TII.get(ARM::SDIV));
+ MIB.add(predOps(ARMCC::AL));
+ break;
+ case G_UDIV:
+ assert(TII.getSubtarget().hasDivideInARMMode() && "Unsupported operation");
+ I.setDesc(TII.get(ARM::UDIV));
+ MIB.add(predOps(ARMCC::AL));
+ break;
case G_FADD:
if (!selectFAdd(MIB, TII, MRI))
return false;
@@ -332,6 +361,18 @@ bool ARMInstructionSelector::select(MachineInstr &I) const {
"Expected constant to live in a GPR");
I.setDesc(TII.get(ARM::MOVi));
MIB.add(predOps(ARMCC::AL)).add(condCodeOp());
+
+ auto &Val = I.getOperand(1);
+ if (Val.isCImm()) {
+ if (Val.getCImm()->getBitWidth() > 32)
+ return false;
+ Val.ChangeToImmediate(Val.getCImm()->getZExtValue());
+ }
+
+ if (!Val.isImm()) {
+ return false;
+ }
+
break;
}
case G_STORE:
diff --git a/lib/Target/ARM/ARMLegalizerInfo.cpp b/lib/Target/ARM/ARMLegalizerInfo.cpp
index fe9681439e6b..9b86030fdd29 100644
--- a/lib/Target/ARM/ARMLegalizerInfo.cpp
+++ b/lib/Target/ARM/ARMLegalizerInfo.cpp
@@ -13,6 +13,8 @@
#include "ARMLegalizerInfo.h"
#include "ARMSubtarget.h"
+#include "llvm/CodeGen/GlobalISel/LegalizerHelper.h"
+#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/ValueTypes.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Type.h"
@@ -47,6 +49,18 @@ ARMLegalizerInfo::ARMLegalizerInfo(const ARMSubtarget &ST) {
for (auto Ty : {s1, s8, s16, s32})
setAction({Op, Ty}, Legal);
+ for (unsigned Op : {G_SDIV, G_UDIV}) {
+ for (auto Ty : {s8, s16})
+ // FIXME: We need WidenScalar here, but in the case of targets with
+ // software division we'll also need Libcall afterwards. Treat as Custom
+ // until we have better support for chaining legalization actions.
+ setAction({Op, Ty}, Custom);
+ if (ST.hasDivideInARMMode())
+ setAction({Op, s32}, Legal);
+ else
+ setAction({Op, s32}, Libcall);
+ }
+
for (unsigned Op : {G_SEXT, G_ZEXT}) {
setAction({Op, s32}, Legal);
for (auto Ty : {s1, s8, s16})
@@ -75,3 +89,48 @@ ARMLegalizerInfo::ARMLegalizerInfo(const ARMSubtarget &ST) {
computeTables();
}
+
+bool ARMLegalizerInfo::legalizeCustom(MachineInstr &MI,
+ MachineRegisterInfo &MRI,
+ MachineIRBuilder &MIRBuilder) const {
+ using namespace TargetOpcode;
+
+ switch (MI.getOpcode()) {
+ default:
+ return false;
+ case G_SDIV:
+ case G_UDIV: {
+ LLT Ty = MRI.getType(MI.getOperand(0).getReg());
+ if (Ty != LLT::scalar(16) && Ty != LLT::scalar(8))
+ return false;
+
+ // We need to widen to 32 bits and then maybe, if the target requires,
+ // transform into a libcall.
+ LegalizerHelper Helper(MIRBuilder.getMF());
+
+ MachineInstr *NewMI = nullptr;
+ Helper.MIRBuilder.recordInsertions([&](MachineInstr *MI) {
+ // Store the new, 32-bit div instruction.
+ if (MI->getOpcode() == G_SDIV || MI->getOpcode() == G_UDIV)
+ NewMI = MI;
+ });
+
+ auto Result = Helper.widenScalar(MI, 0, LLT::scalar(32));
+ Helper.MIRBuilder.stopRecordingInsertions();
+ if (Result == LegalizerHelper::UnableToLegalize) {
+ return false;
+ }
+ assert(NewMI && "Couldn't find widened instruction");
+ assert((NewMI->getOpcode() == G_SDIV || NewMI->getOpcode() == G_UDIV) &&
+ "Unexpected widened instruction");
+ assert(MRI.getType(NewMI->getOperand(0).getReg()).getSizeInBits() == 32 &&
+ "Unexpected type for the widened instruction");
+
+ Result = Helper.legalizeInstrStep(*NewMI);
+ if (Result == LegalizerHelper::UnableToLegalize) {
+ return false;
+ }
+ return true;
+ }
+ }
+}
diff --git a/lib/Target/ARM/ARMLegalizerInfo.h b/lib/Target/ARM/ARMLegalizerInfo.h
index 0b8a608a6bde..a9bdd367737e 100644
--- a/lib/Target/ARM/ARMLegalizerInfo.h
+++ b/lib/Target/ARM/ARMLegalizerInfo.h
@@ -24,6 +24,9 @@ class ARMSubtarget;
class ARMLegalizerInfo : public LegalizerInfo {
public:
ARMLegalizerInfo(const ARMSubtarget &ST);
+
+ bool legalizeCustom(MachineInstr &MI, MachineRegisterInfo &MRI,
+ MachineIRBuilder &MIRBuilder) const override;
};
} // End llvm namespace.
#endif
diff --git a/lib/Target/ARM/ARMMCInstLower.cpp b/lib/Target/ARM/ARMMCInstLower.cpp
index 0fd98268723a..9e9c1ba6c114 100644
--- a/lib/Target/ARM/ARMMCInstLower.cpp
+++ b/lib/Target/ARM/ARMMCInstLower.cpp
@@ -211,11 +211,9 @@ void ARMAsmPrinter::EmitSled(const MachineInstr &MI, SledKind Kind)
.addImm(ARMCC::AL).addReg(0));
MCInst Noop;
- Subtarget->getInstrInfo()->getNoopForElfTarget(Noop);
+ Subtarget->getInstrInfo()->getNoop(Noop);
for (int8_t I = 0; I < NoopsInSledCount; I++)
- {
OutStreamer->EmitInstruction(Noop, getSubtargetInfo());
- }
OutStreamer->EmitLabel(Target);
recordSled(CurSled, MI, Kind);
diff --git a/lib/Target/ARM/ARMRegisterBankInfo.cpp b/lib/Target/ARM/ARMRegisterBankInfo.cpp
index e47bd3a8963e..7325817d446b 100644
--- a/lib/Target/ARM/ARMRegisterBankInfo.cpp
+++ b/lib/Target/ARM/ARMRegisterBankInfo.cpp
@@ -221,8 +221,11 @@ ARMRegisterBankInfo::getInstrMapping(const MachineInstr &MI) const {
case G_ADD:
case G_SUB:
case G_MUL:
+ case G_SDIV:
+ case G_UDIV:
case G_SEXT:
case G_ZEXT:
+ case G_TRUNC:
case G_GEP:
// FIXME: We're abusing the fact that everything lives in a GPR for now; in
// the real world we would use different mappings.
diff --git a/lib/Target/ARM/Thumb1InstrInfo.cpp b/lib/Target/ARM/Thumb1InstrInfo.cpp
index 27bff4d75acf..0ebf55924647 100644
--- a/lib/Target/ARM/Thumb1InstrInfo.cpp
+++ b/lib/Target/ARM/Thumb1InstrInfo.cpp
@@ -24,8 +24,8 @@ using namespace llvm;
Thumb1InstrInfo::Thumb1InstrInfo(const ARMSubtarget &STI)
: ARMBaseInstrInfo(STI), RI() {}
-/// getNoopForMachoTarget - Return the noop instruction to use for a noop.
-void Thumb1InstrInfo::getNoopForMachoTarget(MCInst &NopInst) const {
+/// Return the noop instruction to use for a noop.
+void Thumb1InstrInfo::getNoop(MCInst &NopInst) const {
NopInst.setOpcode(ARM::tMOVr);
NopInst.addOperand(MCOperand::createReg(ARM::R8));
NopInst.addOperand(MCOperand::createReg(ARM::R8));
diff --git a/lib/Target/ARM/Thumb1InstrInfo.h b/lib/Target/ARM/Thumb1InstrInfo.h
index 931914ad2799..e8d9a9c4ff14 100644
--- a/lib/Target/ARM/Thumb1InstrInfo.h
+++ b/lib/Target/ARM/Thumb1InstrInfo.h
@@ -25,8 +25,8 @@ class Thumb1InstrInfo : public ARMBaseInstrInfo {
public:
explicit Thumb1InstrInfo(const ARMSubtarget &STI);
- /// getNoopForMachoTarget - Return the noop instruction to use for a noop.
- void getNoopForMachoTarget(MCInst &NopInst) const override;
+ /// Return the noop instruction to use for a noop.
+ void getNoop(MCInst &NopInst) const override;
// Return the non-pre/post incrementing version of 'Opc'. Return 0
// if there is not such an opcode.
diff --git a/lib/Target/ARM/Thumb2InstrInfo.cpp b/lib/Target/ARM/Thumb2InstrInfo.cpp
index 818ba85c7d40..2e2dfe035e26 100644
--- a/lib/Target/ARM/Thumb2InstrInfo.cpp
+++ b/lib/Target/ARM/Thumb2InstrInfo.cpp
@@ -32,8 +32,8 @@ OldT2IfCvt("old-thumb2-ifcvt", cl::Hidden,
Thumb2InstrInfo::Thumb2InstrInfo(const ARMSubtarget &STI)
: ARMBaseInstrInfo(STI), RI() {}
-/// getNoopForMachoTarget - Return the noop instruction to use for a noop.
-void Thumb2InstrInfo::getNoopForMachoTarget(MCInst &NopInst) const {
+/// Return the noop instruction to use for a noop.
+void Thumb2InstrInfo::getNoop(MCInst &NopInst) const {
NopInst.setOpcode(ARM::tHINT);
NopInst.addOperand(MCOperand::createImm(0));
NopInst.addOperand(MCOperand::createImm(ARMCC::AL));
diff --git a/lib/Target/ARM/Thumb2InstrInfo.h b/lib/Target/ARM/Thumb2InstrInfo.h
index 15d63300b6a2..c834ba73bfea 100644
--- a/lib/Target/ARM/Thumb2InstrInfo.h
+++ b/lib/Target/ARM/Thumb2InstrInfo.h
@@ -26,8 +26,8 @@ class Thumb2InstrInfo : public ARMBaseInstrInfo {
public:
explicit Thumb2InstrInfo(const ARMSubtarget &STI);
- /// getNoopForMachoTarget - Return the noop instruction to use for a noop.
- void getNoopForMachoTarget(MCInst &NopInst) const override;
+ /// Return the noop instruction to use for a noop.
+ void getNoop(MCInst &NopInst) const override;
// Return the non-pre/post incrementing version of 'Opc'. Return 0
// if there is not such an opcode.
diff --git a/lib/Target/AVR/AVRAsmPrinter.cpp b/lib/Target/AVR/AVRAsmPrinter.cpp
index 50bb50b44f27..d6491ce5c3bf 100644
--- a/lib/Target/AVR/AVRAsmPrinter.cpp
+++ b/lib/Target/AVR/AVRAsmPrinter.cpp
@@ -112,7 +112,8 @@ bool AVRAsmPrinter::PrintAsmOperand(const MachineInstr *MI, unsigned OpNum,
const AVRSubtarget &STI = MF->getSubtarget<AVRSubtarget>();
const TargetRegisterInfo &TRI = *STI.getRegisterInfo();
- unsigned BytesPerReg = TRI.getMinimalPhysRegClass(Reg)->getSize();
+ const TargetRegisterClass *RC = TRI.getMinimalPhysRegClass(Reg);
+ unsigned BytesPerReg = TRI.getRegSizeInBits(*RC) / 8;
assert(BytesPerReg <= 2 && "Only 8 and 16 bit regs are supported.");
unsigned RegIdx = ByteNumber / BytesPerReg;
diff --git a/lib/Target/AVR/AVRExpandPseudoInsts.cpp b/lib/Target/AVR/AVRExpandPseudoInsts.cpp
index 13080a5d72f0..540e05a92997 100644
--- a/lib/Target/AVR/AVRExpandPseudoInsts.cpp
+++ b/lib/Target/AVR/AVRExpandPseudoInsts.cpp
@@ -88,6 +88,9 @@ private:
unsigned ArithOpcode,
Block &MBB,
BlockIt MBBI);
+
+ /// Scavenges a free GPR8 register for use.
+ unsigned scavengeGPR8(MachineInstr &MI);
};
char AVRExpandPseudo::ID = 0;
@@ -577,24 +580,43 @@ bool AVRExpandPseudo::expand<AVR::LDWRdPtr>(Block &MBB, BlockIt MBBI) {
MachineInstr &MI = *MBBI;
unsigned OpLo, OpHi, DstLoReg, DstHiReg;
unsigned DstReg = MI.getOperand(0).getReg();
+ unsigned TmpReg = 0; // 0 for no temporary register
unsigned SrcReg = MI.getOperand(1).getReg();
- bool DstIsDead = MI.getOperand(0).isDead();
bool SrcIsKill = MI.getOperand(1).isKill();
OpLo = AVR::LDRdPtr;
OpHi = AVR::LDDRdPtrQ;
TRI->splitReg(DstReg, DstLoReg, DstHiReg);
- assert(DstReg != SrcReg && "SrcReg and DstReg cannot be the same");
+ // Use a temporary register if src and dst registers are the same.
+ if (DstReg == SrcReg)
+ TmpReg = scavengeGPR8(MI);
+
+ unsigned CurDstLoReg = (DstReg == SrcReg) ? TmpReg : DstLoReg;
+ unsigned CurDstHiReg = (DstReg == SrcReg) ? TmpReg : DstHiReg;
+ // Load low byte.
auto MIBLO = buildMI(MBB, MBBI, OpLo)
- .addReg(DstLoReg, RegState::Define | getDeadRegState(DstIsDead))
+ .addReg(CurDstLoReg, RegState::Define)
.addReg(SrcReg);
+ // Push low byte onto stack if necessary.
+ if (TmpReg)
+ buildMI(MBB, MBBI, AVR::PUSHRr).addReg(TmpReg);
+
+ // Load high byte.
auto MIBHI = buildMI(MBB, MBBI, OpHi)
- .addReg(DstHiReg, RegState::Define | getDeadRegState(DstIsDead))
+ .addReg(CurDstHiReg, RegState::Define)
.addReg(SrcReg, getKillRegState(SrcIsKill))
.addImm(1);
+ if (TmpReg) {
+ // Move the high byte into the final destination.
+ buildMI(MBB, MBBI, AVR::MOVRdRr).addReg(DstHiReg).addReg(TmpReg);
+
+ // Move the low byte from the scratch space into the final destination.
+ buildMI(MBB, MBBI, AVR::POPRd).addReg(DstLoReg);
+ }
+
MIBLO->setMemRefs(MI.memoperands_begin(), MI.memoperands_end());
MIBHI->setMemRefs(MI.memoperands_begin(), MI.memoperands_end());
@@ -669,9 +691,9 @@ bool AVRExpandPseudo::expand<AVR::LDDWRdPtrQ>(Block &MBB, BlockIt MBBI) {
MachineInstr &MI = *MBBI;
unsigned OpLo, OpHi, DstLoReg, DstHiReg;
unsigned DstReg = MI.getOperand(0).getReg();
+ unsigned TmpReg = 0; // 0 for no temporary register
unsigned SrcReg = MI.getOperand(1).getReg();
unsigned Imm = MI.getOperand(2).getImm();
- bool DstIsDead = MI.getOperand(0).isDead();
bool SrcIsKill = MI.getOperand(1).isKill();
OpLo = AVR::LDDRdPtrQ;
OpHi = AVR::LDDRdPtrQ;
@@ -679,60 +701,35 @@ bool AVRExpandPseudo::expand<AVR::LDDWRdPtrQ>(Block &MBB, BlockIt MBBI) {
assert(Imm <= 63 && "Offset is out of range");
- MachineInstr *MIBLO, *MIBHI;
-
- // HACK: We shouldn't have instances of this instruction
- // where src==dest because the instruction itself is
- // marked earlyclobber. We do however get this instruction when
- // loading from stack slots where the earlyclobber isn't useful.
- //
- // In this case, just use a temporary register.
- if (DstReg == SrcReg) {
- RegScavenger RS;
-
- RS.enterBasicBlock(MBB);
- RS.forward(MBBI);
-
- BitVector Candidates =
- TRI->getAllocatableSet
- (*MBB.getParent(), &AVR::GPR8RegClass);
-
- // Exclude all the registers being used by the instruction.
- for (MachineOperand &MO : MI.operands()) {
- if (MO.isReg() && MO.getReg() != 0 && !MO.isDef() &&
- !TargetRegisterInfo::isVirtualRegister(MO.getReg()))
- Candidates.reset(MO.getReg());
- }
-
- BitVector Available = RS.getRegsAvailable(&AVR::GPR8RegClass);
- Available &= Candidates;
+ // Use a temporary register if src and dst registers are the same.
+ if (DstReg == SrcReg)
+ TmpReg = scavengeGPR8(MI);
- signed TmpReg = Available.find_first();
- assert(TmpReg != -1 && "ran out of registers");
+ unsigned CurDstLoReg = (DstReg == SrcReg) ? TmpReg : DstLoReg;
+ unsigned CurDstHiReg = (DstReg == SrcReg) ? TmpReg : DstHiReg;
- MIBLO = buildMI(MBB, MBBI, OpLo)
- .addReg(TmpReg, RegState::Define)
- .addReg(SrcReg)
- .addImm(Imm);
+ // Load low byte.
+ auto MIBLO = buildMI(MBB, MBBI, OpLo)
+ .addReg(CurDstLoReg, RegState::Define)
+ .addReg(SrcReg)
+ .addImm(Imm);
- buildMI(MBB, MBBI, AVR::MOVRdRr).addReg(DstLoReg).addReg(TmpReg);
+ // Push low byte onto stack if necessary.
+ if (TmpReg)
+ buildMI(MBB, MBBI, AVR::PUSHRr).addReg(TmpReg);
- MIBHI = buildMI(MBB, MBBI, OpHi)
- .addReg(TmpReg, RegState::Define)
- .addReg(SrcReg, getKillRegState(SrcIsKill))
- .addImm(Imm + 1);
+ // Load high byte.
+ auto MIBHI = buildMI(MBB, MBBI, OpHi)
+ .addReg(CurDstHiReg, RegState::Define)
+ .addReg(SrcReg, getKillRegState(SrcIsKill))
+ .addImm(Imm + 1);
+ if (TmpReg) {
+ // Move the high byte into the final destination.
buildMI(MBB, MBBI, AVR::MOVRdRr).addReg(DstHiReg).addReg(TmpReg);
- } else {
- MIBLO = buildMI(MBB, MBBI, OpLo)
- .addReg(DstLoReg, RegState::Define | getDeadRegState(DstIsDead))
- .addReg(SrcReg)
- .addImm(Imm);
- MIBHI = buildMI(MBB, MBBI, OpHi)
- .addReg(DstHiReg, RegState::Define | getDeadRegState(DstIsDead))
- .addReg(SrcReg, getKillRegState(SrcIsKill))
- .addImm(Imm + 1);
+ // Move the low byte from the scratch space into the final destination.
+ buildMI(MBB, MBBI, AVR::POPRd).addReg(DstLoReg);
}
MIBLO->setMemRefs(MI.memoperands_begin(), MI.memoperands_end());
@@ -819,6 +816,32 @@ bool AVRExpandPseudo::expandAtomicArithmeticOp(unsigned Width,
});
}
+unsigned AVRExpandPseudo::scavengeGPR8(MachineInstr &MI) {
+ MachineBasicBlock &MBB = *MI.getParent();
+ RegScavenger RS;
+
+ RS.enterBasicBlock(MBB);
+ RS.forward(MI);
+
+ BitVector Candidates =
+ TRI->getAllocatableSet
+ (*MBB.getParent(), &AVR::GPR8RegClass);
+
+ // Exclude all the registers being used by the instruction.
+ for (MachineOperand &MO : MI.operands()) {
+ if (MO.isReg() && MO.getReg() != 0 && !MO.isDef() &&
+ !TargetRegisterInfo::isVirtualRegister(MO.getReg()))
+ Candidates.reset(MO.getReg());
+ }
+
+ BitVector Available = RS.getRegsAvailable(&AVR::GPR8RegClass);
+ Available &= Candidates;
+
+ signed Reg = Available.find_first();
+ assert(Reg != -1 && "ran out of registers");
+ return Reg;
+}
+
template<>
bool AVRExpandPseudo::expand<AVR::AtomicLoad8>(Block &MBB, BlockIt MBBI) {
return expandAtomicBinaryOp(AVR::LDRdPtr, MBB, MBBI);
@@ -948,7 +971,6 @@ bool AVRExpandPseudo::expand<AVR::STWPtrRr>(Block &MBB, BlockIt MBBI) {
unsigned OpLo, OpHi, SrcLoReg, SrcHiReg;
unsigned DstReg = MI.getOperand(0).getReg();
unsigned SrcReg = MI.getOperand(1).getReg();
- bool DstIsKill = MI.getOperand(0).isKill();
bool SrcIsKill = MI.getOperand(1).isKill();
OpLo = AVR::STPtrRr;
OpHi = AVR::STDPtrQRr;
@@ -960,7 +982,7 @@ bool AVRExpandPseudo::expand<AVR::STWPtrRr>(Block &MBB, BlockIt MBBI) {
.addReg(SrcLoReg, getKillRegState(SrcIsKill));
auto MIBHI = buildMI(MBB, MBBI, OpHi)
- .addReg(DstReg, getKillRegState(DstIsKill))
+ .addReg(DstReg)
.addImm(1)
.addReg(SrcHiReg, getKillRegState(SrcIsKill));
diff --git a/lib/Target/AVR/AVRFrameLowering.cpp b/lib/Target/AVR/AVRFrameLowering.cpp
index b8cb2215ddb4..ab42a7aa9901 100644
--- a/lib/Target/AVR/AVRFrameLowering.cpp
+++ b/lib/Target/AVR/AVRFrameLowering.cpp
@@ -239,7 +239,7 @@ bool AVRFrameLowering::spillCalleeSavedRegisters(
unsigned Reg = CSI[i - 1].getReg();
bool IsNotLiveIn = !MBB.isLiveIn(Reg);
- assert(TRI->getMinimalPhysRegClass(Reg)->getSize() == 1 &&
+ assert(TRI->getRegSizeInBits(*TRI->getMinimalPhysRegClass(Reg)) == 8 &&
"Invalid register size");
// Add the callee-saved register as live-in only if it is not already a
@@ -277,7 +277,7 @@ bool AVRFrameLowering::restoreCalleeSavedRegisters(
for (const CalleeSavedInfo &CCSI : CSI) {
unsigned Reg = CCSI.getReg();
- assert(TRI->getMinimalPhysRegClass(Reg)->getSize() == 1 &&
+ assert(TRI->getRegSizeInBits(*TRI->getMinimalPhysRegClass(Reg)) == 8 &&
"Invalid register size");
BuildMI(MBB, MI, DL, TII.get(AVR::POPRd), Reg);
diff --git a/lib/Target/AVR/AVRInstrInfo.cpp b/lib/Target/AVR/AVRInstrInfo.cpp
index 88f889260cce..afba66b2e69b 100644
--- a/lib/Target/AVR/AVRInstrInfo.cpp
+++ b/lib/Target/AVR/AVRInstrInfo.cpp
@@ -142,9 +142,9 @@ void AVRInstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
MFI.getObjectAlignment(FrameIndex));
unsigned Opcode = 0;
- if (RC->hasType(MVT::i8)) {
+ if (TRI->isTypeLegalForClass(*RC, MVT::i8)) {
Opcode = AVR::STDPtrQRr;
- } else if (RC->hasType(MVT::i16)) {
+ } else if (TRI->isTypeLegalForClass(*RC, MVT::i16)) {
Opcode = AVR::STDWPtrQRr;
} else {
llvm_unreachable("Cannot store this register into a stack slot!");
@@ -176,9 +176,9 @@ void AVRInstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
MFI.getObjectAlignment(FrameIndex));
unsigned Opcode = 0;
- if (RC->hasType(MVT::i8)) {
+ if (TRI->isTypeLegalForClass(*RC, MVT::i8)) {
Opcode = AVR::LDDRdPtrQ;
- } else if (RC->hasType(MVT::i16)) {
+ } else if (TRI->isTypeLegalForClass(*RC, MVT::i16)) {
// Opcode = AVR::LDDWRdPtrQ;
//:FIXME: remove this once PR13375 gets fixed
Opcode = AVR::LDDWRdYQ;
diff --git a/lib/Target/AVR/AVRRegisterInfo.cpp b/lib/Target/AVR/AVRRegisterInfo.cpp
index 48798bd4a1da..5cc7eaf8add3 100644
--- a/lib/Target/AVR/AVRRegisterInfo.cpp
+++ b/lib/Target/AVR/AVRRegisterInfo.cpp
@@ -78,11 +78,12 @@ BitVector AVRRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
const TargetRegisterClass *
AVRRegisterInfo::getLargestLegalSuperClass(const TargetRegisterClass *RC,
const MachineFunction &MF) const {
- if (RC->hasType(MVT::i16)) {
+ const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo();
+ if (TRI->isTypeLegalForClass(*RC, MVT::i16)) {
return &AVR::DREGSRegClass;
}
- if (RC->hasType(MVT::i8)) {
+ if (TRI->isTypeLegalForClass(*RC, MVT::i8)) {
return &AVR::GPR8RegClass;
}
diff --git a/lib/Target/Hexagon/BitTracker.cpp b/lib/Target/Hexagon/BitTracker.cpp
index cb3049bf1500..07767d1037a9 100644
--- a/lib/Target/Hexagon/BitTracker.cpp
+++ b/lib/Target/Hexagon/BitTracker.cpp
@@ -347,7 +347,7 @@ uint16_t BT::MachineEvaluator::getRegBitWidth(const RegisterRef &RR) const {
unsigned PhysS = (RR.Sub == 0) ? PhysR : TRI.getSubReg(PhysR, RR.Sub);
const TargetRegisterClass *RC = TRI.getMinimalPhysRegClass(PhysS);
- uint16_t BW = RC->getSize()*8;
+ uint16_t BW = TRI.getRegSizeInBits(*RC);
return BW;
}
diff --git a/lib/Target/Hexagon/HexagonAsmPrinter.cpp b/lib/Target/Hexagon/HexagonAsmPrinter.cpp
index fda23f8f6b05..c8483f7e6e76 100644
--- a/lib/Target/Hexagon/HexagonAsmPrinter.cpp
+++ b/lib/Target/Hexagon/HexagonAsmPrinter.cpp
@@ -286,9 +286,9 @@ void HexagonAsmPrinter::HexagonProcessInstruction(MCInst &Inst,
const MCRegisterInfo *RI = OutStreamer->getContext().getRegisterInfo();
const MachineFunction &MF = *MI.getParent()->getParent();
const auto &HST = MF.getSubtarget<HexagonSubtarget>();
- unsigned VectorSize = HST.useHVXSglOps()
- ? Hexagon::VectorRegsRegClass.getSize()
- : Hexagon::VectorRegs128BRegClass.getSize();
+ const auto &VecRC = HST.useHVXSglOps() ? Hexagon::VectorRegsRegClass
+ : Hexagon::VectorRegs128BRegClass;
+ unsigned VectorSize = HST.getRegisterInfo()->getSpillSize(VecRC);
switch (Inst.getOpcode()) {
default: return;
diff --git a/lib/Target/Hexagon/HexagonBitSimplify.cpp b/lib/Target/Hexagon/HexagonBitSimplify.cpp
index 61f290ca98d7..8502bf24c02f 100644
--- a/lib/Target/Hexagon/HexagonBitSimplify.cpp
+++ b/lib/Target/Hexagon/HexagonBitSimplify.cpp
@@ -407,7 +407,7 @@ bool HexagonBitSimplify::getSubregMask(const BitTracker::RegisterRef &RR,
const TargetRegisterClass *RC = MRI.getRegClass(RR.Reg);
if (RR.Sub == 0) {
Begin = 0;
- Width = RC->getSize()*8;
+ Width = MRI.getTargetRegisterInfo()->getRegSizeInBits(*RC);
return true;
}
@@ -417,7 +417,7 @@ bool HexagonBitSimplify::getSubregMask(const BitTracker::RegisterRef &RR,
case Hexagon::DoubleRegsRegClassID:
case Hexagon::VecDblRegsRegClassID:
case Hexagon::VecDblRegs128BRegClassID:
- Width = RC->getSize()*8 / 2;
+ Width = MRI.getTargetRegisterInfo()->getRegSizeInBits(*RC) / 2;
if (RR.Sub == Hexagon::isub_hi || RR.Sub == Hexagon::vsub_hi)
Begin = Width;
break;
@@ -1054,8 +1054,8 @@ namespace {
class RedundantInstrElimination : public Transformation {
public:
RedundantInstrElimination(BitTracker &bt, const HexagonInstrInfo &hii,
- MachineRegisterInfo &mri)
- : Transformation(true), HII(hii), MRI(mri), BT(bt) {}
+ const HexagonRegisterInfo &hri, MachineRegisterInfo &mri)
+ : Transformation(true), HII(hii), HRI(hri), MRI(mri), BT(bt) {}
bool processBlock(MachineBasicBlock &B, const RegisterSet &AVs) override;
@@ -1070,6 +1070,7 @@ namespace {
bool usedBitsEqual(BitTracker::RegisterRef RD, BitTracker::RegisterRef RS);
const HexagonInstrInfo &HII;
+ const HexagonRegisterInfo &HRI;
MachineRegisterInfo &MRI;
BitTracker &BT;
};
@@ -1262,7 +1263,7 @@ bool RedundantInstrElimination::computeUsedBits(const MachineInstr &MI,
assert(MI.getOperand(OpN).isReg());
BitTracker::RegisterRef RR = MI.getOperand(OpN);
const TargetRegisterClass *RC = HBS::getFinalVRegClass(RR, MRI);
- uint16_t Width = RC->getSize()*8;
+ uint16_t Width = HRI.getRegSizeInBits(*RC);
if (!GotBits)
T.set(Begin, Begin+Width);
@@ -2173,8 +2174,10 @@ bool BitSimplification::genBitSplit(MachineInstr *MI,
const RegisterSet &AVs) {
if (!GenBitSplit)
return false;
- if (CountBitSplit >= MaxBitSplit)
- return false;
+ if (MaxBitSplit.getNumOccurrences()) {
+ if (CountBitSplit >= MaxBitSplit)
+ return false;
+ }
unsigned Opc = MI->getOpcode();
switch (Opc) {
@@ -2253,7 +2256,8 @@ bool BitSimplification::genBitSplit(MachineInstr *MI,
continue;
// Generate bitsplit where S is defined.
- CountBitSplit++;
+ if (MaxBitSplit.getNumOccurrences())
+ CountBitSplit++;
MachineInstr *DefS = MRI.getVRegDef(S);
assert(DefS != nullptr);
DebugLoc DL = DefS->getDebugLoc();
@@ -2379,9 +2383,11 @@ bool BitSimplification::simplifyExtractLow(MachineInstr *MI,
const RegisterSet &AVs) {
if (!GenExtract)
return false;
- if (CountExtract >= MaxExtract)
- return false;
- CountExtract++;
+ if (MaxExtract.getNumOccurrences()) {
+ if (CountExtract >= MaxExtract)
+ return false;
+ CountExtract++;
+ }
unsigned W = RC.width();
unsigned RW = W;
@@ -2651,7 +2657,7 @@ bool HexagonBitSimplify::runOnMachineFunction(MachineFunction &MF) {
Changed |= visitBlock(Entry, ImmG, AIG);
RegisterSet ARE; // Available registers for RIE.
- RedundantInstrElimination RIE(BT, HII, MRI);
+ RedundantInstrElimination RIE(BT, HII, HRI, MRI);
bool Ried = visitBlock(Entry, RIE, ARE);
if (Ried) {
Changed = true;
diff --git a/lib/Target/Hexagon/HexagonExpandCondsets.cpp b/lib/Target/Hexagon/HexagonExpandCondsets.cpp
index d8ba5dcd35ad..9f8c9ded8127 100644
--- a/lib/Target/Hexagon/HexagonExpandCondsets.cpp
+++ b/lib/Target/Hexagon/HexagonExpandCondsets.cpp
@@ -559,10 +559,10 @@ unsigned HexagonExpandCondsets::getCondTfrOpcode(const MachineOperand &SO,
}
unsigned PhysS = (RS.Sub == 0) ? PhysR : TRI->getSubReg(PhysR, RS.Sub);
const TargetRegisterClass *RC = TRI->getMinimalPhysRegClass(PhysS);
- switch (RC->getSize()) {
- case 4:
+ switch (TRI->getRegSizeInBits(*RC)) {
+ case 32:
return IfTrue ? A2_tfrt : A2_tfrf;
- case 8:
+ case 64:
return IfTrue ? A2_tfrpt : A2_tfrpf;
}
llvm_unreachable("Invalid register operand");
diff --git a/lib/Target/Hexagon/HexagonFrameLowering.cpp b/lib/Target/Hexagon/HexagonFrameLowering.cpp
index 0e2380f4316a..a04aca4afa0f 100644
--- a/lib/Target/Hexagon/HexagonFrameLowering.cpp
+++ b/lib/Target/Hexagon/HexagonFrameLowering.cpp
@@ -1425,7 +1425,7 @@ bool HexagonFrameLowering::assignCalleeSavedSpillSlots(MachineFunction &MF,
if (!SRegs[S->Reg])
continue;
const TargetRegisterClass *RC = TRI->getMinimalPhysRegClass(S->Reg);
- int FI = MFI.CreateFixedSpillStackObject(RC->getSize(), S->Offset);
+ int FI = MFI.CreateFixedSpillStackObject(TRI->getSpillSize(*RC), S->Offset);
MinOffset = std::min(MinOffset, S->Offset);
CSI.push_back(CalleeSavedInfo(S->Reg, FI));
SRegs[S->Reg] = false;
@@ -1437,11 +1437,12 @@ bool HexagonFrameLowering::assignCalleeSavedSpillSlots(MachineFunction &MF,
for (int x = SRegs.find_first(); x >= 0; x = SRegs.find_next(x)) {
unsigned R = x;
const TargetRegisterClass *RC = TRI->getMinimalPhysRegClass(R);
- int Off = MinOffset - RC->getSize();
- unsigned Align = std::min(RC->getAlignment(), getStackAlignment());
+ unsigned Size = TRI->getSpillSize(*RC);
+ int Off = MinOffset - Size;
+ unsigned Align = std::min(TRI->getSpillAlignment(*RC), getStackAlignment());
assert(isPowerOf2_32(Align));
Off &= -Align;
- int FI = MFI.CreateFixedSpillStackObject(RC->getSize(), Off);
+ int FI = MFI.CreateFixedSpillStackObject(Size, Off);
MinOffset = std::min(MinOffset, Off);
CSI.push_back(CalleeSavedInfo(R, FI));
SRegs[R] = false;
@@ -1677,10 +1678,10 @@ bool HexagonFrameLowering::expandStoreVec2(MachineBasicBlock &B,
int FI = MI->getOperand(0).getIndex();
bool Is128B = HST.useHVXDblOps();
- auto *RC = !Is128B ? &Hexagon::VectorRegsRegClass
- : &Hexagon::VectorRegs128BRegClass;
- unsigned Size = RC->getSize();
- unsigned NeedAlign = RC->getAlignment();
+ const auto &RC = !Is128B ? Hexagon::VectorRegsRegClass
+ : Hexagon::VectorRegs128BRegClass;
+ unsigned Size = HRI.getSpillSize(RC);
+ unsigned NeedAlign = HRI.getSpillAlignment(RC);
unsigned HasAlign = MFI.getObjectAlignment(FI);
unsigned StoreOpc;
@@ -1734,10 +1735,10 @@ bool HexagonFrameLowering::expandLoadVec2(MachineBasicBlock &B,
int FI = MI->getOperand(1).getIndex();
bool Is128B = HST.useHVXDblOps();
- auto *RC = !Is128B ? &Hexagon::VectorRegsRegClass
- : &Hexagon::VectorRegs128BRegClass;
- unsigned Size = RC->getSize();
- unsigned NeedAlign = RC->getAlignment();
+ const auto &RC = !Is128B ? Hexagon::VectorRegsRegClass
+ : Hexagon::VectorRegs128BRegClass;
+ unsigned Size = HRI.getSpillSize(RC);
+ unsigned NeedAlign = HRI.getSpillAlignment(RC);
unsigned HasAlign = MFI.getObjectAlignment(FI);
unsigned LoadOpc;
@@ -1777,16 +1778,16 @@ bool HexagonFrameLowering::expandStoreVec(MachineBasicBlock &B,
if (!MI->getOperand(0).isFI())
return false;
+ auto &HRI = *HST.getRegisterInfo();
DebugLoc DL = MI->getDebugLoc();
unsigned SrcR = MI->getOperand(2).getReg();
bool IsKill = MI->getOperand(2).isKill();
int FI = MI->getOperand(0).getIndex();
bool Is128B = HST.useHVXDblOps();
- auto *RC = !Is128B ? &Hexagon::VectorRegsRegClass
- : &Hexagon::VectorRegs128BRegClass;
-
- unsigned NeedAlign = RC->getAlignment();
+ const auto &RC = !Is128B ? Hexagon::VectorRegsRegClass
+ : Hexagon::VectorRegs128BRegClass;
+ unsigned NeedAlign = HRI.getSpillAlignment(RC);
unsigned HasAlign = MFI.getObjectAlignment(FI);
unsigned StoreOpc;
@@ -1815,15 +1816,15 @@ bool HexagonFrameLowering::expandLoadVec(MachineBasicBlock &B,
if (!MI->getOperand(1).isFI())
return false;
+ auto &HRI = *HST.getRegisterInfo();
DebugLoc DL = MI->getDebugLoc();
unsigned DstR = MI->getOperand(0).getReg();
int FI = MI->getOperand(1).getIndex();
bool Is128B = HST.useHVXDblOps();
- auto *RC = !Is128B ? &Hexagon::VectorRegsRegClass
- : &Hexagon::VectorRegs128BRegClass;
-
- unsigned NeedAlign = RC->getAlignment();
+ const auto &RC = !Is128B ? Hexagon::VectorRegsRegClass
+ : Hexagon::VectorRegs128BRegClass;
+ unsigned NeedAlign = HRI.getSpillAlignment(RC);
unsigned HasAlign = MFI.getObjectAlignment(FI);
unsigned LoadOpc;
@@ -1932,7 +1933,7 @@ void HexagonFrameLowering::determineCalleeSaves(MachineFunction &MF,
if (!needToReserveScavengingSpillSlots(MF, HRI, RC))
continue;
unsigned Num = RC == &Hexagon::IntRegsRegClass ? NumberScavengerSlots : 1;
- unsigned S = RC->getSize(), A = RC->getAlignment();
+ unsigned S = HRI.getSpillSize(*RC), A = HRI.getSpillAlignment(*RC);
for (unsigned i = 0; i < Num; i++) {
int NewFI = MFI.CreateSpillStackObject(S, A);
RS->addScavengingFrameIndex(NewFI);
diff --git a/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp b/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
index b5948475e1f7..1829c5da02a6 100644
--- a/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
+++ b/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
@@ -26,6 +26,7 @@
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
@@ -1206,10 +1207,9 @@ bool PolynomialMultiplyRecognize::highBitsAreZero(Value *V,
if (!T)
return false;
- unsigned BW = T->getBitWidth();
- APInt K0(BW, 0), K1(BW, 0);
- computeKnownBits(V, K0, K1, DL);
- return K0.countLeadingOnes() >= IterCount;
+ KnownBits Known(T->getBitWidth());
+ computeKnownBits(V, Known, DL);
+ return Known.Zero.countLeadingOnes() >= IterCount;
}
diff --git a/lib/Target/MSP430/MSP430InstrInfo.td b/lib/Target/MSP430/MSP430InstrInfo.td
index c0c29b992238..22fc2474fae6 100644
--- a/lib/Target/MSP430/MSP430InstrInfo.td
+++ b/lib/Target/MSP430/MSP430InstrInfo.td
@@ -122,6 +122,7 @@ def ADJCALLSTACKUP : Pseudo<(outs), (ins i16imm:$amt1, i16imm:$amt2),
}
let usesCustomInserter = 1 in {
+ let Uses = [SR] in {
def Select8 : Pseudo<(outs GR8:$dst), (ins GR8:$src, GR8:$src2, i8imm:$cc),
"# Select8 PSEUDO",
[(set GR8:$dst,
@@ -130,6 +131,7 @@ let usesCustomInserter = 1 in {
"# Select16 PSEUDO",
[(set GR16:$dst,
(MSP430selectcc GR16:$src, GR16:$src2, imm:$cc))]>;
+ }
let Defs = [SR] in {
def Shl8 : Pseudo<(outs GR8:$dst), (ins GR8:$src, GR8:$cnt),
"# Shl8 PSEUDO",
diff --git a/lib/Target/Mips/MipsAsmPrinter.cpp b/lib/Target/Mips/MipsAsmPrinter.cpp
index 2a9d96205eb9..134f7ac3aea3 100644
--- a/lib/Target/Mips/MipsAsmPrinter.cpp
+++ b/lib/Target/Mips/MipsAsmPrinter.cpp
@@ -273,9 +273,9 @@ void MipsAsmPrinter::printSavedRegsBitmask() {
const TargetRegisterInfo *TRI = MF->getSubtarget().getRegisterInfo();
const std::vector<CalleeSavedInfo> &CSI = MFI.getCalleeSavedInfo();
// size of stack area to which FP callee-saved regs are saved.
- unsigned CPURegSize = Mips::GPR32RegClass.getSize();
- unsigned FGR32RegSize = Mips::FGR32RegClass.getSize();
- unsigned AFGR64RegSize = Mips::AFGR64RegClass.getSize();
+ unsigned CPURegSize = TRI->getRegSizeInBits(Mips::GPR32RegClass) / 8;
+ unsigned FGR32RegSize = TRI->getRegSizeInBits(Mips::FGR32RegClass) / 8;
+ unsigned AFGR64RegSize = TRI->getRegSizeInBits(Mips::AFGR64RegClass) / 8;
bool HasAFGR64Reg = false;
unsigned CSFPRegsSize = 0;
diff --git a/lib/Target/Mips/MipsCCState.cpp b/lib/Target/Mips/MipsCCState.cpp
index 7af988c1f64d..cb9f676c237a 100644
--- a/lib/Target/Mips/MipsCCState.cpp
+++ b/lib/Target/Mips/MipsCCState.cpp
@@ -38,7 +38,7 @@ static bool isF128SoftLibCall(const char *CallSym) {
/// This function returns true if Ty is fp128, {f128} or i128 which was
/// originally a fp128.
-static bool originalTypeIsF128(Type *Ty, const SDNode *CallNode) {
+static bool originalTypeIsF128(const Type *Ty, const char *Func) {
if (Ty->isFP128Ty())
return true;
@@ -46,12 +46,9 @@ static bool originalTypeIsF128(Type *Ty, const SDNode *CallNode) {
Ty->getStructElementType(0)->isFP128Ty())
return true;
- const ExternalSymbolSDNode *ES =
- dyn_cast_or_null<const ExternalSymbolSDNode>(CallNode);
-
// If the Ty is i128 and the function being called is a long double emulation
// routine, then the original type is f128.
- return (ES && Ty->isIntegerTy(128) && isF128SoftLibCall(ES->getSymbol()));
+ return (Func && Ty->isIntegerTy(128) && isF128SoftLibCall(Func));
}
MipsCCState::SpecialCallingConvType
@@ -73,11 +70,11 @@ MipsCCState::getSpecialCallingConvForCallee(const SDNode *Callee,
void MipsCCState::PreAnalyzeCallResultForF128(
const SmallVectorImpl<ISD::InputArg> &Ins,
- const TargetLowering::CallLoweringInfo &CLI) {
+ const Type *RetTy, const char *Call) {
for (unsigned i = 0; i < Ins.size(); ++i) {
OriginalArgWasF128.push_back(
- originalTypeIsF128(CLI.RetTy, CLI.Callee.getNode()));
- OriginalArgWasFloat.push_back(CLI.RetTy->isFloatingPointTy());
+ originalTypeIsF128(RetTy, Call));
+ OriginalArgWasFloat.push_back(RetTy->isFloatingPointTy());
}
}
@@ -99,10 +96,10 @@ void MipsCCState::PreAnalyzeReturnForF128(
void MipsCCState::PreAnalyzeCallOperands(
const SmallVectorImpl<ISD::OutputArg> &Outs,
std::vector<TargetLowering::ArgListEntry> &FuncArgs,
- const SDNode *CallNode) {
+ const char *Func) {
for (unsigned i = 0; i < Outs.size(); ++i) {
OriginalArgWasF128.push_back(
- originalTypeIsF128(FuncArgs[Outs[i].OrigArgIndex].Ty, CallNode));
+ originalTypeIsF128(FuncArgs[Outs[i].OrigArgIndex].Ty, Func));
OriginalArgWasFloat.push_back(
FuncArgs[Outs[i].OrigArgIndex].Ty->isFloatingPointTy());
CallOperandIsFixed.push_back(Outs[i].IsFixed);
diff --git a/lib/Target/Mips/MipsCCState.h b/lib/Target/Mips/MipsCCState.h
index 081c393a09be..77ecc65b2eee 100644
--- a/lib/Target/Mips/MipsCCState.h
+++ b/lib/Target/Mips/MipsCCState.h
@@ -31,7 +31,7 @@ private:
/// Identify lowered values that originated from f128 arguments and record
/// this for use by RetCC_MipsN.
void PreAnalyzeCallResultForF128(const SmallVectorImpl<ISD::InputArg> &Ins,
- const TargetLowering::CallLoweringInfo &CLI);
+ const Type *RetTy, const char * Func);
/// Identify lowered values that originated from f128 arguments and record
/// this for use by RetCC_MipsN.
@@ -42,7 +42,7 @@ private:
void
PreAnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs,
std::vector<TargetLowering::ArgListEntry> &FuncArgs,
- const SDNode *CallNode);
+ const char *Func);
/// Identify lowered values that originated from f128 arguments and record
/// this.
@@ -73,8 +73,8 @@ public:
AnalyzeCallOperands(const SmallVectorImpl<ISD::OutputArg> &Outs,
CCAssignFn Fn,
std::vector<TargetLowering::ArgListEntry> &FuncArgs,
- const SDNode *CallNode) {
- PreAnalyzeCallOperands(Outs, FuncArgs, CallNode);
+ const char *Func) {
+ PreAnalyzeCallOperands(Outs, FuncArgs, Func);
CCState::AnalyzeCallOperands(Outs, Fn);
OriginalArgWasF128.clear();
OriginalArgWasFloat.clear();
@@ -99,9 +99,9 @@ public:
}
void AnalyzeCallResult(const SmallVectorImpl<ISD::InputArg> &Ins,
- CCAssignFn Fn,
- const TargetLowering::CallLoweringInfo &CLI) {
- PreAnalyzeCallResultForF128(Ins, CLI);
+ CCAssignFn Fn, const Type *RetTy,
+ const char *Func) {
+ PreAnalyzeCallResultForF128(Ins, RetTy, Func);
CCState::AnalyzeCallResult(Ins, Fn);
OriginalArgWasFloat.clear();
OriginalArgWasF128.clear();
diff --git a/lib/Target/Mips/MipsFastISel.cpp b/lib/Target/Mips/MipsFastISel.cpp
index c060cf06099d..a5c7bf7699ea 100644
--- a/lib/Target/Mips/MipsFastISel.cpp
+++ b/lib/Target/Mips/MipsFastISel.cpp
@@ -1260,8 +1260,10 @@ bool MipsFastISel::finishCall(CallLoweringInfo &CLI, MVT RetVT,
emitInst(Mips::ADJCALLSTACKUP).addImm(16).addImm(0);
if (RetVT != MVT::isVoid) {
SmallVector<CCValAssign, 16> RVLocs;
- CCState CCInfo(CC, false, *FuncInfo.MF, RVLocs, *Context);
- CCInfo.AnalyzeCallResult(RetVT, RetCC_Mips);
+ MipsCCState CCInfo(CC, false, *FuncInfo.MF, RVLocs, *Context);
+
+ CCInfo.AnalyzeCallResult(CLI.Ins, RetCC_Mips, CLI.RetTy,
+ CLI.Symbol->getName().data());
// Only handle a single return value.
if (RVLocs.size() != 1)
diff --git a/lib/Target/Mips/MipsFrameLowering.cpp b/lib/Target/Mips/MipsFrameLowering.cpp
index b2cf03976f81..ef05166503b2 100644
--- a/lib/Target/Mips/MipsFrameLowering.cpp
+++ b/lib/Target/Mips/MipsFrameLowering.cpp
@@ -119,7 +119,7 @@ uint64_t MipsFrameLowering::estimateStackSize(const MachineFunction &MF) const {
// Conservatively assume all callee-saved registers will be saved.
for (const MCPhysReg *R = TRI.getCalleeSavedRegs(&MF); *R; ++R) {
- unsigned Size = TRI.getMinimalPhysRegClass(*R)->getSize();
+ unsigned Size = TRI.getSpillSize(*TRI.getMinimalPhysRegClass(*R));
Offset = alignTo(Offset + Size, Size);
}
diff --git a/lib/Target/Mips/MipsISelLowering.cpp b/lib/Target/Mips/MipsISelLowering.cpp
index 93c5f496ce97..8f39ebd42a5c 100644
--- a/lib/Target/Mips/MipsISelLowering.cpp
+++ b/lib/Target/Mips/MipsISelLowering.cpp
@@ -2750,7 +2750,10 @@ MipsTargetLowering::LowerCall(TargetLowering::CallLoweringInfo &CLI,
// caller side but removing it breaks the frame size calculation.
CCInfo.AllocateStack(ABI.GetCalleeAllocdArgSizeInBytes(CallConv), 1);
- CCInfo.AnalyzeCallOperands(Outs, CC_Mips, CLI.getArgs(), Callee.getNode());
+ const ExternalSymbolSDNode *ES =
+ dyn_cast_or_null<const ExternalSymbolSDNode>(Callee.getNode());
+ CCInfo.AnalyzeCallOperands(Outs, CC_Mips, CLI.getArgs(),
+ ES ? ES->getSymbol() : nullptr);
// Get a count of how many bytes are to be pushed on the stack.
unsigned NextStackOffset = CCInfo.getNextStackOffset();
@@ -2985,7 +2988,11 @@ SDValue MipsTargetLowering::LowerCallResult(
SmallVector<CCValAssign, 16> RVLocs;
MipsCCState CCInfo(CallConv, IsVarArg, DAG.getMachineFunction(), RVLocs,
*DAG.getContext());
- CCInfo.AnalyzeCallResult(Ins, RetCC_Mips, CLI);
+
+ const ExternalSymbolSDNode *ES =
+ dyn_cast_or_null<const ExternalSymbolSDNode>(CLI.Callee.getNode());
+ CCInfo.AnalyzeCallResult(Ins, RetCC_Mips, CLI.RetTy,
+ ES ? ES->getSymbol() : nullptr);
// Copy all of the result registers out of their specified physreg.
for (unsigned i = 0; i != RVLocs.size(); ++i) {
diff --git a/lib/Target/Mips/MipsMachineFunction.cpp b/lib/Target/Mips/MipsMachineFunction.cpp
index 5bf4c958c7b9..63034ecab93b 100644
--- a/lib/Target/Mips/MipsMachineFunction.cpp
+++ b/lib/Target/Mips/MipsMachineFunction.cpp
@@ -40,11 +40,7 @@ unsigned MipsFunctionInfo::getGlobalBaseReg() {
const TargetRegisterClass *RC =
STI.inMips16Mode()
? &Mips::CPU16RegsRegClass
- : STI.inMicroMipsMode()
- ? STI.hasMips64()
- ? &Mips::GPRMM16_64RegClass
- : &Mips::GPRMM16RegClass
- : static_cast<const MipsTargetMachine &>(MF.getTarget())
+ : static_cast<const MipsTargetMachine &>(MF.getTarget())
.getABI()
.IsN64()
? &Mips::GPR64RegClass
@@ -53,14 +49,15 @@ unsigned MipsFunctionInfo::getGlobalBaseReg() {
}
void MipsFunctionInfo::createEhDataRegsFI() {
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
for (int I = 0; I < 4; ++I) {
- const TargetRegisterClass *RC =
+ const TargetRegisterClass &RC =
static_cast<const MipsTargetMachine &>(MF.getTarget()).getABI().IsN64()
- ? &Mips::GPR64RegClass
- : &Mips::GPR32RegClass;
+ ? Mips::GPR64RegClass
+ : Mips::GPR32RegClass;
- EhDataRegFI[I] = MF.getFrameInfo().CreateStackObject(RC->getSize(),
- RC->getAlignment(), false);
+ EhDataRegFI[I] = MF.getFrameInfo().CreateStackObject(TRI.getSpillSize(RC),
+ TRI.getSpillAlignment(RC), false);
}
}
@@ -69,11 +66,12 @@ void MipsFunctionInfo::createISRRegFI() {
// The current implementation only supports Mips32r2+ not Mips64rX. Status
// is always 32 bits, ErrorPC is 32 or 64 bits dependent on architecture,
// however Mips32r2+ is the supported architecture.
- const TargetRegisterClass *RC = &Mips::GPR32RegClass;
+ const TargetRegisterClass &RC = Mips::GPR32RegClass;
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
for (int I = 0; I < 2; ++I)
ISRDataRegFI[I] = MF.getFrameInfo().CreateStackObject(
- RC->getSize(), RC->getAlignment(), false);
+ TRI.getSpillSize(RC), TRI.getSpillAlignment(RC), false);
}
bool MipsFunctionInfo::isEhDataRegFI(int FI) const {
@@ -93,9 +91,10 @@ MachinePointerInfo MipsFunctionInfo::callPtrInfo(const GlobalValue *GV) {
}
int MipsFunctionInfo::getMoveF64ViaSpillFI(const TargetRegisterClass *RC) {
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
if (MoveF64ViaSpillFI == -1) {
MoveF64ViaSpillFI = MF.getFrameInfo().CreateStackObject(
- RC->getSize(), RC->getAlignment(), false);
+ TRI.getSpillSize(*RC), TRI.getSpillAlignment(*RC), false);
}
return MoveF64ViaSpillFI;
}
diff --git a/lib/Target/Mips/MipsOptimizePICCall.cpp b/lib/Target/Mips/MipsOptimizePICCall.cpp
index f33857fe628f..68dcbdfb4211 100644
--- a/lib/Target/Mips/MipsOptimizePICCall.cpp
+++ b/lib/Target/Mips/MipsOptimizePICCall.cpp
@@ -116,9 +116,10 @@ static MachineOperand *getCallTargetRegOpnd(MachineInstr &MI) {
/// Return type of register Reg.
static MVT::SimpleValueType getRegTy(unsigned Reg, MachineFunction &MF) {
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
const TargetRegisterClass *RC = MF.getRegInfo().getRegClass(Reg);
- assert(RC->vt_end() - RC->vt_begin() == 1);
- return *RC->vt_begin();
+ assert(TRI.legalclasstypes_end(*RC) - TRI.legalclasstypes_begin(*RC) == 1);
+ return *TRI.legalclasstypes_begin(*RC);
}
/// Do the following transformation:
diff --git a/lib/Target/Mips/MipsSEFrameLowering.cpp b/lib/Target/Mips/MipsSEFrameLowering.cpp
index ef8d18c6deb1..e765b4625206 100644
--- a/lib/Target/Mips/MipsSEFrameLowering.cpp
+++ b/lib/Target/Mips/MipsSEFrameLowering.cpp
@@ -260,7 +260,8 @@ bool ExpandPseudo::expandCopyACC(MachineBasicBlock &MBB, Iter I,
// copy dst_hi, $vr1
unsigned Dst = I->getOperand(0).getReg(), Src = I->getOperand(1).getReg();
- unsigned VRegSize = RegInfo.getMinimalPhysRegClass(Dst)->getSize() / 2;
+ const TargetRegisterClass *DstRC = RegInfo.getMinimalPhysRegClass(Dst);
+ unsigned VRegSize = RegInfo.getRegSizeInBits(*DstRC) / 16;
const TargetRegisterClass *RC = RegInfo.intRegClass(VRegSize);
unsigned VR0 = MRI.createVirtualRegister(RC);
unsigned VR1 = MRI.createVirtualRegister(RC);
@@ -858,6 +859,7 @@ void MipsSEFrameLowering::determineCalleeSaves(MachineFunction &MF,
BitVector &SavedRegs,
RegScavenger *RS) const {
TargetFrameLowering::determineCalleeSaves(MF, SavedRegs, RS);
+ const TargetRegisterInfo *TRI = MF.getSubtarget().getRegisterInfo();
MipsFunctionInfo *MipsFI = MF.getInfo<MipsFunctionInfo>();
MipsABIInfo ABI = STI.getABI();
unsigned FP = ABI.GetFramePtr();
@@ -883,10 +885,11 @@ void MipsSEFrameLowering::determineCalleeSaves(MachineFunction &MF,
if (ExpandPseudo(MF).expand()) {
// The spill slot should be half the size of the accumulator. If target is
// mips64, it should be 64-bit, otherwise it should be 32-bt.
- const TargetRegisterClass *RC = STI.hasMips64() ?
- &Mips::GPR64RegClass : &Mips::GPR32RegClass;
- int FI = MF.getFrameInfo().CreateStackObject(RC->getSize(),
- RC->getAlignment(), false);
+ const TargetRegisterClass &RC = STI.hasMips64() ?
+ Mips::GPR64RegClass : Mips::GPR32RegClass;
+ int FI = MF.getFrameInfo().CreateStackObject(TRI->getSpillSize(RC),
+ TRI->getSpillAlignment(RC),
+ false);
RS->addScavengingFrameIndex(FI);
}
@@ -897,10 +900,11 @@ void MipsSEFrameLowering::determineCalleeSaves(MachineFunction &MF,
if (isInt<16>(MaxSPOffset))
return;
- const TargetRegisterClass *RC =
- ABI.ArePtrs64bit() ? &Mips::GPR64RegClass : &Mips::GPR32RegClass;
- int FI = MF.getFrameInfo().CreateStackObject(RC->getSize(),
- RC->getAlignment(), false);
+ const TargetRegisterClass &RC =
+ ABI.ArePtrs64bit() ? Mips::GPR64RegClass : Mips::GPR32RegClass;
+ int FI = MF.getFrameInfo().CreateStackObject(TRI->getSpillSize(RC),
+ TRI->getSpillAlignment(RC),
+ false);
RS->addScavengingFrameIndex(FI);
}
diff --git a/lib/Target/Mips/MipsSEInstrInfo.cpp b/lib/Target/Mips/MipsSEInstrInfo.cpp
index 91e712a7a54e..ee074798563d 100644
--- a/lib/Target/Mips/MipsSEInstrInfo.cpp
+++ b/lib/Target/Mips/MipsSEInstrInfo.cpp
@@ -207,13 +207,16 @@ storeRegToStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
Opc = Mips::SDC1;
else if (Mips::FGR64RegClass.hasSubClassEq(RC))
Opc = Mips::SDC164;
- else if (RC->hasType(MVT::v16i8))
+ else if (TRI->isTypeLegalForClass(*RC, MVT::v16i8))
Opc = Mips::ST_B;
- else if (RC->hasType(MVT::v8i16) || RC->hasType(MVT::v8f16))
+ else if (TRI->isTypeLegalForClass(*RC, MVT::v8i16) ||
+ TRI->isTypeLegalForClass(*RC, MVT::v8f16))
Opc = Mips::ST_H;
- else if (RC->hasType(MVT::v4i32) || RC->hasType(MVT::v4f32))
+ else if (TRI->isTypeLegalForClass(*RC, MVT::v4i32) ||
+ TRI->isTypeLegalForClass(*RC, MVT::v4f32))
Opc = Mips::ST_W;
- else if (RC->hasType(MVT::v2i64) || RC->hasType(MVT::v2f64))
+ else if (TRI->isTypeLegalForClass(*RC, MVT::v2i64) ||
+ TRI->isTypeLegalForClass(*RC, MVT::v2f64))
Opc = Mips::ST_D;
else if (Mips::LO32RegClass.hasSubClassEq(RC))
Opc = Mips::SW;
@@ -280,13 +283,16 @@ loadRegFromStack(MachineBasicBlock &MBB, MachineBasicBlock::iterator I,
Opc = Mips::LDC1;
else if (Mips::FGR64RegClass.hasSubClassEq(RC))
Opc = Mips::LDC164;
- else if (RC->hasType(MVT::v16i8))
+ else if (TRI->isTypeLegalForClass(*RC, MVT::v16i8))
Opc = Mips::LD_B;
- else if (RC->hasType(MVT::v8i16) || RC->hasType(MVT::v8f16))
+ else if (TRI->isTypeLegalForClass(*RC, MVT::v8i16) ||
+ TRI->isTypeLegalForClass(*RC, MVT::v8f16))
Opc = Mips::LD_H;
- else if (RC->hasType(MVT::v4i32) || RC->hasType(MVT::v4f32))
+ else if (TRI->isTypeLegalForClass(*RC, MVT::v4i32) ||
+ TRI->isTypeLegalForClass(*RC, MVT::v4f32))
Opc = Mips::LD_W;
- else if (RC->hasType(MVT::v2i64) || RC->hasType(MVT::v2f64))
+ else if (TRI->isTypeLegalForClass(*RC, MVT::v2i64) ||
+ TRI->isTypeLegalForClass(*RC, MVT::v2f64))
Opc = Mips::LD_D;
else if (Mips::HI32RegClass.hasSubClassEq(RC))
Opc = Mips::LW;
@@ -567,8 +573,8 @@ MipsSEInstrInfo::compareOpndSize(unsigned Opc,
const MCInstrDesc &Desc = get(Opc);
assert(Desc.NumOperands == 2 && "Unary instruction expected.");
const MipsRegisterInfo *RI = &getRegisterInfo();
- unsigned DstRegSize = getRegClass(Desc, 0, RI, MF)->getSize();
- unsigned SrcRegSize = getRegClass(Desc, 1, RI, MF)->getSize();
+ unsigned DstRegSize = RI->getRegSizeInBits(*getRegClass(Desc, 0, RI, MF));
+ unsigned SrcRegSize = RI->getRegSizeInBits(*getRegClass(Desc, 1, RI, MF));
return std::make_pair(DstRegSize > SrcRegSize, DstRegSize < SrcRegSize);
}
diff --git a/lib/Target/Mips/Relocation.txt b/lib/Target/Mips/Relocation.txt
new file mode 100644
index 000000000000..f1a6fd8645f6
--- /dev/null
+++ b/lib/Target/Mips/Relocation.txt
@@ -0,0 +1,125 @@
+MIPS Relocation Principles
+
+In LLVM, there are several elements of the llvm::ISD::NodeType enum
+that deal with addresses and/or relocations. These are defined in
+include/llvm/Target/TargetSelectionDAG.td, namely:
+ GlobalAddress, GlobalTLSAddress, JumpTable, ConstantPool,
+ ExternalSymbol, BlockAddress
+The MIPS backend uses several principles to handle these.
+
+1. Code for lowering addresses references to machine dependent code is
+factored into common code for generating different address forms and
+is called by the relocation model specific lowering function, using
+templated functions. For example:
+
+ // lib/Target/Mips/MipsISelLowering.cpp
+ SDValue MipsTargetLowering::
+ lowerJumpTable(SDValue Op, SelectionDAG &DAG) const
+
+calls
+
+ template <class NodeTy> // lib/Target/Mips/MipsISelLowering.h
+ SDValue getAddrLocal(NodeTy *N, const SDLoc &DL, EVT Ty,
+ SelectionDAG &DAG, bool IsN32OrN64) const
+
+which calls the overloaded function:
+
+ // lib/Target/Mips/MipsISelLowering.h
+ SDValue getTargetNode(JumpTableSDNode *N, EVT Ty, SelectionDAG &DAG,
+ unsigned Flag) const;
+
+2. Generic address nodes are lowered to some combination of target
+independent and machine specific SDNodes (for example:
+MipsISD::{Highest, Higher, Hi, Lo}) depending upon relocation model,
+ABI, and compilation options.
+
+The choice of specific instructions that are to be used is delegated
+to ISel which in turn relies on TableGen patterns to choose subtarget
+specific instructions. For example, in getAddrLocal, the pseudo-code
+generated is:
+
+ (add (load (wrapper $gp, %got(sym)), %lo(sym))
+
+where "%lo" represents an instance of an SDNode with opcode
+"MipsISD::Lo", "wrapper" indicates one with opcode "MipsISD::Wrapper",
+and "%got" the global table pointer "getGlobalReg(...)". The "add" is
+"ISD::ADD", not a target dependent one.
+
+3. A TableGen multiclass pattern "MipsHiLoRelocs" is used to define a
+template pattern parameterized over the load upper immediate
+instruction, add operation, the zero register, and register class.
+Here the instantiation of MipsHiLoRelocs in MipsInstrInfo.td is used
+to MIPS32 to compute addresses for the static relocation model.
+
+ // lib/Target/Mips/MipsInstrInfo.td
+ multiclass MipsHiLoRelocs<Instruction Lui, Instruction Addiu,
+ Register ZeroReg, RegisterOperand GPROpnd> {
+ def : MipsPat<(MipsHi tglobaladdr:$in), (Lui tglobaladdr:$in)>;
+ ...
+ def : MipsPat<(MipsLo tglobaladdr:$in), (Addiu ZeroReg, tglobaladdr:$in)>;
+ ...
+ def : MipsPat<(add GPROpnd:$hi, (MipsLo tglobaladdr:$lo)),
+ (Addiu GPROpnd:$hi, tglobaladdr:$lo)>;
+ ...
+ }
+ defm : MipsHiLoRelocs<LUi, ADDiu, ZERO, GPR32Opnd>;
+
+ // lib/Target/Mips/Mips64InstrInfo.td
+ defm : MipsHiLoRelocs<LUi64, DADDiu, ZERO_64, GPR64Opnd>, SYM_32;
+
+The instantiation in Mips64InstrInfo.td is used for MIPS64 in ILP32
+mode, as guarded by the predicate "SYM_32" and also for a submode of
+LP64 where symbols are assumed to be 32 bits wide. A similar
+multiclass for MIPS64 in LP64 mode is also defined:
+
+ // lib/Target/Mips/Mips64InstrInfo.td
+ multiclass MipsHighestHigherHiLoRelocs<Instruction Lui,
+ Instruction Daddiu> {
+ ...
+ def : MipsPat<(MipsHighest (i64 tglobaladdr:$in)),
+ (Lui tglobaladdr:$in)>;
+ ...
+ def : MipsPat<(MipsHigher (i64 tglobaladdr:$in)),
+ (Daddiu ZERO_64, tglobaladdr:$in)>;
+ ...
+ def : MipsPat<(add GPR64:$hi, (MipsHigher (i64 tglobaladdr:$lo))),
+ (Daddiu GPR64:$hi, tglobaladdr:$lo)>;
+ ...
+ def : MipsPat<(add GPR64:$hi, (MipsHi (i64 tglobaladdr:$lo))),
+ (Daddiu GPR64:$hi, tglobaladdr:$lo)>;
+ ...
+ def : MipsPat<(add GPR64:$hi, (MipsLo (i64 tglobaladdr:$lo))),
+ (Daddiu GPR64:$hi, tglobaladdr:$lo)>;
+ }
+
+and it is instantiated twice:
+
+ // lib/Target/Mips/Mips64InstrInfo.td
+ defm : MipsHighestHigherHiLoRelocs<LUi64, DADDiu>, SYM_64;
+ // lib/Target/Mips/MicroMips64r6InstrInfo.td
+ defm : MipsHighestHigherHiLoRelocs<LUi64, DADDIU_MM64R6>, SYM_64,
+ ISA_MICROMIPS64R6;
+
+These patterns are used during instruction selection to match
+MipsISD::{Highest, Higher, Hi, Lo} to a specific machine instruction
+and operands.
+
+More details on how multiclasses in TableGen work can be found in the
+section "Multiclass definitions and instances" in the document
+"TableGen Language Introduction"
+
+4. Instruction definitions are multiply defined to cover the different
+register classes. In some cases, such as LW/LW64, this also accounts
+for the difference in the results of instruction execution. On MIPS32,
+"lw" loads a 32 bit value from memory. On MIPS64, "lw" loads a 32 bit
+value from memory and sign extends the value to 64 bits.
+
+ // lib/Target/Mips/MipsInstrInfo.td
+ def LUi : MMRel, LoadUpper<"lui", GPR32Opnd, uimm16_relaxed>, LUI_FM;
+ // lib/Target/Mips/Mips64InstrInfo.td
+ def LUi64 : LoadUpper<"lui", GPR64Opnd, uimm16_64_relaxed>, LUI_FM;
+
+defines two names "LUi" and "LUi64" with two different register
+classes, but with the same encoding---"LUI_FM". These instructions load a
+16-bit immediate into bits 31-16 and clear the lower 15 bits. On MIPS64,
+the result is sign-extended to 64 bits.
diff --git a/lib/Target/NVPTX/NVPTXInstrInfo.cpp b/lib/Target/NVPTX/NVPTXInstrInfo.cpp
index 3026f0be242d..0f6c2e53e60a 100644
--- a/lib/Target/NVPTX/NVPTXInstrInfo.cpp
+++ b/lib/Target/NVPTX/NVPTXInstrInfo.cpp
@@ -38,7 +38,7 @@ void NVPTXInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
const TargetRegisterClass *DestRC = MRI.getRegClass(DestReg);
const TargetRegisterClass *SrcRC = MRI.getRegClass(SrcReg);
- if (DestRC->getSize() != SrcRC->getSize())
+ if (RegInfo.getRegSizeInBits(*DestRC) != RegInfo.getRegSizeInBits(*SrcRC))
report_fatal_error("Copy one register into another with a different width");
unsigned Op;
diff --git a/lib/Target/PowerPC/PPCFrameLowering.cpp b/lib/Target/PowerPC/PPCFrameLowering.cpp
index 4c9430a2eca0..2a402deccbca 100644
--- a/lib/Target/PowerPC/PPCFrameLowering.cpp
+++ b/lib/Target/PowerPC/PPCFrameLowering.cpp
@@ -1898,12 +1898,13 @@ PPCFrameLowering::addScavengingSpillSlot(MachineFunction &MF,
MachineFrameInfo &MFI = MF.getFrameInfo();
if (MFI.hasVarSizedObjects() || spillsCR(MF) || spillsVRSAVE(MF) ||
hasNonRISpills(MF) || (hasSpills(MF) && !isInt<16>(StackSize))) {
- const TargetRegisterClass *GPRC = &PPC::GPRCRegClass;
- const TargetRegisterClass *G8RC = &PPC::G8RCRegClass;
- const TargetRegisterClass *RC = Subtarget.isPPC64() ? G8RC : GPRC;
- RS->addScavengingFrameIndex(MFI.CreateStackObject(RC->getSize(),
- RC->getAlignment(),
- false));
+ const TargetRegisterClass &GPRC = PPC::GPRCRegClass;
+ const TargetRegisterClass &G8RC = PPC::G8RCRegClass;
+ const TargetRegisterClass &RC = Subtarget.isPPC64() ? G8RC : GPRC;
+ const TargetRegisterInfo &TRI = *Subtarget.getRegisterInfo();
+ unsigned Size = TRI.getSpillSize(RC);
+ unsigned Align = TRI.getSpillAlignment(RC);
+ RS->addScavengingFrameIndex(MFI.CreateStackObject(Size, Align, false));
// Might we have over-aligned allocas?
bool HasAlVars = MFI.hasVarSizedObjects() &&
@@ -1911,9 +1912,7 @@ PPCFrameLowering::addScavengingSpillSlot(MachineFunction &MF,
// These kinds of spills might need two registers.
if (spillsCR(MF) || spillsVRSAVE(MF) || HasAlVars)
- RS->addScavengingFrameIndex(MFI.CreateStackObject(RC->getSize(),
- RC->getAlignment(),
- false));
+ RS->addScavengingFrameIndex(MFI.CreateStackObject(Size, Align, false));
}
}
diff --git a/lib/Target/PowerPC/PPCISelLowering.cpp b/lib/Target/PowerPC/PPCISelLowering.cpp
index f7663d8e5185..4659a2ea8032 100644
--- a/lib/Target/PowerPC/PPCISelLowering.cpp
+++ b/lib/Target/PowerPC/PPCISelLowering.cpp
@@ -9057,6 +9057,7 @@ PPCTargetLowering::emitEHSjLjSetJmp(MachineInstr &MI,
MachineBasicBlock *MBB) const {
DebugLoc DL = MI.getDebugLoc();
const TargetInstrInfo *TII = Subtarget.getInstrInfo();
+ const PPCRegisterInfo *TRI = Subtarget.getRegisterInfo();
MachineFunction *MF = MBB->getParent();
MachineRegisterInfo &MRI = MF->getRegInfo();
@@ -9070,7 +9071,7 @@ PPCTargetLowering::emitEHSjLjSetJmp(MachineInstr &MI,
unsigned DstReg = MI.getOperand(0).getReg();
const TargetRegisterClass *RC = MRI.getRegClass(DstReg);
- assert(RC->hasType(MVT::i32) && "Invalid destination!");
+ assert(TRI->isTypeLegalForClass(*RC, MVT::i32) && "Invalid destination!");
unsigned mainDstReg = MRI.createVirtualRegister(RC);
unsigned restoreDstReg = MRI.createVirtualRegister(RC);
@@ -9153,7 +9154,6 @@ PPCTargetLowering::emitEHSjLjSetJmp(MachineInstr &MI,
// Setup
MIB = BuildMI(*thisMBB, MI, DL, TII->get(PPC::BCLalways)).addMBB(mainMBB);
- const PPCRegisterInfo *TRI = Subtarget.getRegisterInfo();
MIB.addRegMask(TRI->getNoPreservedMask());
BuildMI(*thisMBB, MI, DL, TII->get(PPC::LI), restoreDstReg).addImm(1);
diff --git a/lib/Target/PowerPC/PPCInstrInfo.cpp b/lib/Target/PowerPC/PPCInstrInfo.cpp
index 8e159f47ea2e..790a8902b3d2 100644
--- a/lib/Target/PowerPC/PPCInstrInfo.cpp
+++ b/lib/Target/PowerPC/PPCInstrInfo.cpp
@@ -440,8 +440,8 @@ void PPCInstrInfo::insertNoop(MachineBasicBlock &MBB,
BuildMI(MBB, MI, DL, get(Opcode));
}
-/// getNoopForMachoTarget - Return the noop instruction to use for a noop.
-void PPCInstrInfo::getNoopForMachoTarget(MCInst &NopInst) const {
+/// Return the noop instruction to use for a noop.
+void PPCInstrInfo::getNoop(MCInst &NopInst) const {
NopInst.setOpcode(PPC::NOP);
}
diff --git a/lib/Target/PowerPC/PPCInstrInfo.h b/lib/Target/PowerPC/PPCInstrInfo.h
index f11aed8fa268..b30d09e03ec4 100644
--- a/lib/Target/PowerPC/PPCInstrInfo.h
+++ b/lib/Target/PowerPC/PPCInstrInfo.h
@@ -269,7 +269,7 @@ public:
///
unsigned getInstSizeInBytes(const MachineInstr &MI) const override;
- void getNoopForMachoTarget(MCInst &NopInst) const override;
+ void getNoop(MCInst &NopInst) const override;
std::pair<unsigned, unsigned>
decomposeMachineOperandsTargetFlags(unsigned TF) const override;
diff --git a/lib/Target/Sparc/SparcISelLowering.cpp b/lib/Target/Sparc/SparcISelLowering.cpp
index 455d1ee1564a..f120a98e9457 100644
--- a/lib/Target/Sparc/SparcISelLowering.cpp
+++ b/lib/Target/Sparc/SparcISelLowering.cpp
@@ -3234,6 +3234,7 @@ SparcTargetLowering::emitEHSjLjSetJmp(MachineInstr &MI,
MachineBasicBlock *MBB) const {
DebugLoc DL = MI.getDebugLoc();
const TargetInstrInfo *TII = Subtarget->getInstrInfo();
+ const TargetRegisterInfo *TRI = Subtarget->getRegisterInfo();
MachineFunction *MF = MBB->getParent();
MachineRegisterInfo &MRI = MF->getRegInfo();
@@ -3245,7 +3246,8 @@ SparcTargetLowering::emitEHSjLjSetJmp(MachineInstr &MI,
unsigned DstReg = MI.getOperand(0).getReg();
const TargetRegisterClass *RC = MRI.getRegClass(DstReg);
- assert(RC->hasType(MVT::i32) && "Invalid destination!");
+ assert(TRI->isTypeLegalForClass(*RC, MVT::i32) && "Invalid destination!");
+ (void)TRI;
unsigned mainDstReg = MRI.createVirtualRegister(RC);
unsigned restoreDstReg = MRI.createVirtualRegister(RC);
diff --git a/lib/Target/SystemZ/SystemZInstrInfo.cpp b/lib/Target/SystemZ/SystemZInstrInfo.cpp
index c8ff9558cc88..fee008b9572a 100644
--- a/lib/Target/SystemZ/SystemZInstrInfo.cpp
+++ b/lib/Target/SystemZ/SystemZInstrInfo.cpp
@@ -104,8 +104,9 @@ void SystemZInstrInfo::splitMove(MachineBasicBlock::iterator MI,
MachineOperand &LowOffsetOp = MI->getOperand(2);
LowOffsetOp.setImm(LowOffsetOp.getImm() + 8);
- // Clear the kill flags for the base and index registers in the first
- // instruction.
+ // Clear the kill flags on the registers in the first instruction.
+ if (EarlierMI->getOperand(0).isReg() && EarlierMI->getOperand(0).isUse())
+ EarlierMI->getOperand(0).setIsKill(false);
EarlierMI->getOperand(1).setIsKill(false);
EarlierMI->getOperand(3).setIsKill(false);
@@ -1114,10 +1115,9 @@ MachineInstr *SystemZInstrInfo::foldMemoryOperandImpl(
return nullptr;
unsigned OpNum = Ops[0];
- assert(Size ==
- MF.getRegInfo()
- .getRegClass(MI.getOperand(OpNum).getReg())
- ->getSize() &&
+ assert(Size * 8 ==
+ TRI->getRegSizeInBits(*MF.getRegInfo()
+ .getRegClass(MI.getOperand(OpNum).getReg())) &&
"Invalid size combination");
if ((Opcode == SystemZ::AHI || Opcode == SystemZ::AGHI) && OpNum == 0 &&
diff --git a/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp b/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
index d9c2dba5bace..4178ec0b28f0 100644
--- a/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
+++ b/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
@@ -45,10 +45,11 @@ using namespace llvm;
//===----------------------------------------------------------------------===//
MVT WebAssemblyAsmPrinter::getRegType(unsigned RegNo) const {
+ const TargetRegisterInfo *TRI = Subtarget->getRegisterInfo();
const TargetRegisterClass *TRC = MRI->getRegClass(RegNo);
for (MVT T : {MVT::i32, MVT::i64, MVT::f32, MVT::f64, MVT::v16i8, MVT::v8i16,
MVT::v4i32, MVT::v4f32})
- if (TRC->hasType(T))
+ if (TRI->isTypeLegalForClass(*TRC, T))
return T;
DEBUG(errs() << "Unknown type for register number: " << RegNo);
llvm_unreachable("Unknown register type");
diff --git a/lib/Target/X86/AsmParser/X86AsmParser.cpp b/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 324da650e74e..c1cfc82b4a81 100644
--- a/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -3094,6 +3094,7 @@ bool X86AsmParser::ParseDirective(AsmToken DirectiveID) {
else if (IDVal.startswith(".code"))
return ParseDirectiveCode(IDVal, DirectiveID.getLoc());
else if (IDVal.startswith(".att_syntax")) {
+ getParser().setParsingInlineAsm(false);
if (getLexer().isNot(AsmToken::EndOfStatement)) {
if (Parser.getTok().getString() == "prefix")
Parser.Lex();
@@ -3106,6 +3107,7 @@ bool X86AsmParser::ParseDirective(AsmToken DirectiveID) {
return false;
} else if (IDVal.startswith(".intel_syntax")) {
getParser().setAssemblerDialect(1);
+ getParser().setParsingInlineAsm(true);
if (getLexer().isNot(AsmToken::EndOfStatement)) {
if (Parser.getTok().getString() == "noprefix")
Parser.Lex();
diff --git a/lib/Target/X86/X86.h b/lib/Target/X86/X86.h
index fdcc7e1ab7b0..19c93cfff0fe 100644
--- a/lib/Target/X86/X86.h
+++ b/lib/Target/X86/X86.h
@@ -95,7 +95,8 @@ void initializeFixupBWInstPassPass(PassRegistry &);
/// encoding when possible in order to reduce code size.
FunctionPass *createX86EvexToVexInsts();
-InstructionSelector *createX86InstructionSelector(X86Subtarget &,
+InstructionSelector *createX86InstructionSelector(const X86TargetMachine &TM,
+ X86Subtarget &,
X86RegisterBankInfo &);
void initializeEvexToVexInstPassPass(PassRegistry &);
diff --git a/lib/Target/X86/X86.td b/lib/Target/X86/X86.td
index 8fcc8e31d5d4..d2f650cf8f47 100644
--- a/lib/Target/X86/X86.td
+++ b/lib/Target/X86/X86.td
@@ -273,6 +273,16 @@ def FeatureFastSHLDRotate
"fast-shld-rotate", "HasFastSHLDRotate", "true",
"SHLD can be used as a faster rotate">;
+// Ivy Bridge and newer processors have enhanced REP MOVSB and STOSB (aka
+// "string operations"). See "REP String Enhancement" in the Intel Software
+// Development Manual. This feature essentially means that REP MOVSB will copy
+// using the largest available size instead of copying bytes one by one, making
+// it at least as fast as REPMOVS{W,D,Q}.
+def FeatureERMSB
+ : SubtargetFeature<
+ "ermsb", "HasERMSB", "true",
+ "REP MOVS/STOS are fast">;
+
//===----------------------------------------------------------------------===//
// X86 processors supported.
//===----------------------------------------------------------------------===//
@@ -498,6 +508,7 @@ def HSWFeatures : ProcessorFeatures<IVBFeatures.Value, [
FeatureAVX2,
FeatureBMI,
FeatureBMI2,
+ FeatureERMSB,
FeatureFMA,
FeatureLZCNT,
FeatureMOVBE,
diff --git a/lib/Target/X86/X86CallLowering.cpp b/lib/Target/X86/X86CallLowering.cpp
index 137ef166aaeb..161bfa7b5474 100644
--- a/lib/Target/X86/X86CallLowering.cpp
+++ b/lib/Target/X86/X86CallLowering.cpp
@@ -53,7 +53,6 @@ void X86CallLowering::splitToValueTypes(const ArgInfo &OrigArg,
return;
}
- SmallVector<uint64_t, 4> BitOffsets;
SmallVector<unsigned, 8> SplitRegs;
EVT PartVT = TLI.getRegisterType(Context, VT);
@@ -64,8 +63,10 @@ void X86CallLowering::splitToValueTypes(const ArgInfo &OrigArg,
ArgInfo{MRI.createGenericVirtualRegister(getLLTForType(*PartTy, DL)),
PartTy, OrigArg.Flags};
SplitArgs.push_back(Info);
- PerformArgSplit(Info.Reg, PartVT.getSizeInBits() * i);
+ SplitRegs.push_back(Info.Reg);
}
+
+ PerformArgSplit(SplitRegs);
}
namespace {
@@ -112,10 +113,9 @@ bool X86CallLowering::lowerReturn(MachineIRBuilder &MIRBuilder,
setArgFlags(OrigArg, AttributeList::ReturnIndex, DL, F);
SmallVector<ArgInfo, 8> SplitArgs;
- splitToValueTypes(OrigArg, SplitArgs, DL, MRI,
- [&](unsigned Reg, uint64_t Offset) {
- MIRBuilder.buildExtract(Reg, VReg, Offset);
- });
+ splitToValueTypes(
+ OrigArg, SplitArgs, DL, MRI,
+ [&](ArrayRef<unsigned> Regs) { MIRBuilder.buildUnmerge(Regs, VReg); });
FuncReturnHandler Handler(MIRBuilder, MRI, MIB, RetCC_X86);
if (!handleAssignments(MIRBuilder, SplitArgs, Handler))
@@ -183,22 +183,10 @@ bool X86CallLowering::lowerFormalArguments(MachineIRBuilder &MIRBuilder,
for (auto &Arg : F.args()) {
ArgInfo OrigArg(VRegs[Idx], Arg.getType());
setArgFlags(OrigArg, Idx + 1, DL, F);
- LLT Ty = MRI.getType(VRegs[Idx]);
- unsigned Dst = VRegs[Idx];
- bool Split = false;
splitToValueTypes(OrigArg, SplitArgs, DL, MRI,
- [&](unsigned Reg, uint64_t Offset) {
- if (!Split) {
- Split = true;
- Dst = MRI.createGenericVirtualRegister(Ty);
- MIRBuilder.buildUndef(Dst);
- }
- unsigned Tmp = MRI.createGenericVirtualRegister(Ty);
- MIRBuilder.buildInsert(Tmp, Dst, Reg, Offset);
- Dst = Tmp;
+ [&](ArrayRef<unsigned> Regs) {
+ MIRBuilder.buildMerge(VRegs[Idx], Regs);
});
- if (Dst != VRegs[Idx])
- MIRBuilder.buildCopy(VRegs[Idx], Dst);
Idx++;
}
diff --git a/lib/Target/X86/X86CallLowering.h b/lib/Target/X86/X86CallLowering.h
index 204e6974c702..8a8afb568298 100644
--- a/lib/Target/X86/X86CallLowering.h
+++ b/lib/Target/X86/X86CallLowering.h
@@ -34,14 +34,15 @@ public:
bool lowerFormalArguments(MachineIRBuilder &MIRBuilder, const Function &F,
ArrayRef<unsigned> VRegs) const override;
+
private:
/// A function of this type is used to perform value split action.
- typedef std::function<void(unsigned, uint64_t)> SplitArgTy;
+ typedef std::function<void(ArrayRef<unsigned>)> SplitArgTy;
void splitToValueTypes(const ArgInfo &OrigArgInfo,
SmallVectorImpl<ArgInfo> &SplitArgs,
const DataLayout &DL, MachineRegisterInfo &MRI,
SplitArgTy SplitArg) const;
};
-} // End of namespace llvm;
+} // namespace llvm
#endif
diff --git a/lib/Target/X86/X86FastISel.cpp b/lib/Target/X86/X86FastISel.cpp
index 036f5d2610e4..b8477810b4c9 100644
--- a/lib/Target/X86/X86FastISel.cpp
+++ b/lib/Target/X86/X86FastISel.cpp
@@ -2149,7 +2149,8 @@ bool X86FastISel::X86FastEmitCMoveSelect(MVT RetVT, const Instruction *I) {
if (!LHSReg || !RHSReg)
return false;
- unsigned Opc = X86::getCMovFromCond(CC, RC->getSize());
+ const TargetRegisterInfo &TRI = *Subtarget->getRegisterInfo();
+ unsigned Opc = X86::getCMovFromCond(CC, TRI.getRegSizeInBits(*RC)/8);
unsigned ResultReg = fastEmitInst_rr(Opc, RC, RHSReg, RHSIsKill,
LHSReg, LHSIsKill);
updateValueMap(I, ResultReg);
diff --git a/lib/Target/X86/X86FrameLowering.cpp b/lib/Target/X86/X86FrameLowering.cpp
index 8678a13b95d0..a94045cd536d 100644
--- a/lib/Target/X86/X86FrameLowering.cpp
+++ b/lib/Target/X86/X86FrameLowering.cpp
@@ -1783,6 +1783,14 @@ int X86FrameLowering::getFrameIndexReference(const MachineFunction &MF, int FI,
return Offset + FPDelta;
}
+int X86FrameLowering::getFrameIndexReferenceSP(const MachineFunction &MF,
+ int FI, unsigned &FrameReg,
+ int Adjustment) const {
+ const MachineFrameInfo &MFI = MF.getFrameInfo();
+ FrameReg = TRI->getStackRegister();
+ return MFI.getObjectOffset(FI) - getOffsetOfLocalArea() + Adjustment;
+}
+
int
X86FrameLowering::getFrameIndexReferencePreferSP(const MachineFunction &MF,
int FI, unsigned &FrameReg,
@@ -1839,9 +1847,6 @@ X86FrameLowering::getFrameIndexReferencePreferSP(const MachineFunction &MF,
assert(MF.getInfo<X86MachineFunctionInfo>()->getTCReturnAddrDelta() >= 0 &&
"we don't handle this case!");
- // Fill in FrameReg output argument.
- FrameReg = TRI->getStackRegister();
-
// This is how the math works out:
//
// %rsp grows (i.e. gets lower) left to right. Each box below is
@@ -1866,12 +1871,8 @@ X86FrameLowering::getFrameIndexReferencePreferSP(const MachineFunction &MF,
// (C - E) == (C - A) - (B - A) + (B - E)
// { Using [1], [2] and [3] above }
// == getObjectOffset - LocalAreaOffset + StackSize
- //
-
- // Get the Offset from the StackPointer
- int Offset = MFI.getObjectOffset(FI) - getOffsetOfLocalArea();
- return Offset + StackSize;
+ return getFrameIndexReferenceSP(MF, FI, FrameReg, StackSize);
}
bool X86FrameLowering::assignCalleeSavedSpillSlots(
@@ -1923,14 +1924,15 @@ bool X86FrameLowering::assignCalleeSavedSpillSlots(
continue;
const TargetRegisterClass *RC = TRI->getMinimalPhysRegClass(Reg);
+ unsigned Size = TRI->getSpillSize(*RC);
+ unsigned Align = TRI->getSpillAlignment(*RC);
// ensure alignment
- SpillSlotOffset -= std::abs(SpillSlotOffset) % RC->getAlignment();
+ SpillSlotOffset -= std::abs(SpillSlotOffset) % Align;
// spill into slot
- SpillSlotOffset -= RC->getSize();
- int SlotIndex =
- MFI.CreateFixedSpillStackObject(RC->getSize(), SpillSlotOffset);
+ SpillSlotOffset -= Size;
+ int SlotIndex = MFI.CreateFixedSpillStackObject(Size, SpillSlotOffset);
CSI[i - 1].setFrameIdx(SlotIndex);
- MFI.ensureMaxAlignment(RC->getAlignment());
+ MFI.ensureMaxAlignment(Align);
}
return true;
diff --git a/lib/Target/X86/X86FrameLowering.h b/lib/Target/X86/X86FrameLowering.h
index 863dc8b22968..7d214cabad53 100644
--- a/lib/Target/X86/X86FrameLowering.h
+++ b/lib/Target/X86/X86FrameLowering.h
@@ -100,6 +100,8 @@ public:
int getFrameIndexReference(const MachineFunction &MF, int FI,
unsigned &FrameReg) const override;
+ int getFrameIndexReferenceSP(const MachineFunction &MF,
+ int FI, unsigned &SPReg, int Adjustment) const;
int getFrameIndexReferencePreferSP(const MachineFunction &MF, int FI,
unsigned &FrameReg,
bool IgnoreSPUpdates) const override;
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp
index b5f29fb400ef..ada46643a5fe 100644
--- a/lib/Target/X86/X86ISelLowering.cpp
+++ b/lib/Target/X86/X86ISelLowering.cpp
@@ -5060,8 +5060,8 @@ static SDValue extractSubVector(SDValue Vec, unsigned IdxVal, SelectionDAG &DAG,
// If the input is a buildvector just emit a smaller one.
if (Vec.getOpcode() == ISD::BUILD_VECTOR)
- return DAG.getNode(ISD::BUILD_VECTOR, dl, ResultVT,
- makeArrayRef(Vec->op_begin() + IdxVal, ElemsPerChunk));
+ return DAG.getBuildVector(
+ ResultVT, dl, makeArrayRef(Vec->op_begin() + IdxVal, ElemsPerChunk));
SDValue VecIdx = DAG.getIntPtrConstant(IdxVal, dl);
return DAG.getNode(ISD::EXTRACT_SUBVECTOR, dl, ResultVT, Vec, VecIdx);
@@ -14424,8 +14424,8 @@ static SDValue LowerEXTRACT_SUBVECTOR(SDValue Op, const X86Subtarget &Subtarget,
// If the input is a buildvector just emit a smaller one.
unsigned ElemsPerChunk = ResVT.getVectorNumElements();
if (In.getOpcode() == ISD::BUILD_VECTOR)
- return DAG.getNode(ISD::BUILD_VECTOR, dl, ResVT,
- makeArrayRef(In->op_begin() + IdxVal, ElemsPerChunk));
+ return DAG.getBuildVector(
+ ResVT, dl, makeArrayRef(In->op_begin() + IdxVal, ElemsPerChunk));
// Everything else is legal.
return Op;
@@ -25944,6 +25944,7 @@ X86TargetLowering::emitEHSjLjSetJmp(MachineInstr &MI,
DebugLoc DL = MI.getDebugLoc();
MachineFunction *MF = MBB->getParent();
const TargetInstrInfo *TII = Subtarget.getInstrInfo();
+ const TargetRegisterInfo *TRI = Subtarget.getRegisterInfo();
MachineRegisterInfo &MRI = MF->getRegInfo();
const BasicBlock *BB = MBB->getBasicBlock();
@@ -25960,7 +25961,8 @@ X86TargetLowering::emitEHSjLjSetJmp(MachineInstr &MI,
DstReg = MI.getOperand(CurOp++).getReg();
const TargetRegisterClass *RC = MRI.getRegClass(DstReg);
- assert(RC->hasType(MVT::i32) && "Invalid destination!");
+ assert(TRI->isTypeLegalForClass(*RC, MVT::i32) && "Invalid destination!");
+ (void)TRI;
unsigned mainDstReg = MRI.createVirtualRegister(RC);
unsigned restoreDstReg = MRI.createVirtualRegister(RC);
@@ -30207,7 +30209,7 @@ static SDValue combineSelect(SDNode *N, SelectionDAG &DAG,
APInt KnownZero, KnownOne;
TargetLowering::TargetLoweringOpt TLO(DAG, DCI.isBeforeLegalize(),
DCI.isBeforeLegalizeOps());
- if (TLO.ShrinkDemandedConstant(Cond, DemandedMask) ||
+ if (TLI.ShrinkDemandedConstant(Cond, DemandedMask, TLO) ||
TLI.SimplifyDemandedBits(Cond, DemandedMask, KnownZero, KnownOne,
TLO)) {
// If we changed the computation somewhere in the DAG, this change will
@@ -33777,7 +33779,7 @@ static SDValue combineBT(SDNode *N, SelectionDAG &DAG,
TargetLowering::TargetLoweringOpt TLO(DAG, !DCI.isBeforeLegalize(),
!DCI.isBeforeLegalizeOps());
const TargetLowering &TLI = DAG.getTargetLoweringInfo();
- if (TLO.ShrinkDemandedConstant(Op1, DemandedMask) ||
+ if (TLI.ShrinkDemandedConstant(Op1, DemandedMask, TLO) ||
TLI.SimplifyDemandedBits(Op1, DemandedMask, KnownZero, KnownOne, TLO))
DCI.CommitTargetLoweringOpt(TLO);
}
@@ -35937,7 +35939,7 @@ X86TargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *TRI,
// type. For example, we want to map "{ax},i32" -> {eax}, we don't want it to
// turn into {ax},{dx}.
// MVT::Other is used to specify clobber names.
- if (Res.second->hasType(VT) || VT == MVT::Other)
+ if (TRI->isTypeLegalForClass(*Res.second, VT) || VT == MVT::Other)
return Res; // Correct type already, nothing to do.
// Get a matching integer of the correct size. i.e. "ax" with MVT::32 should
@@ -35975,11 +35977,11 @@ X86TargetLowering::getRegForInlineAsmConstraint(const TargetRegisterInfo *TRI,
Res.second = &X86::FR32RegClass;
else if (VT == MVT::f64 || VT == MVT::i64)
Res.second = &X86::FR64RegClass;
- else if (X86::VR128RegClass.hasType(VT))
+ else if (TRI->isTypeLegalForClass(X86::VR128RegClass, VT))
Res.second = &X86::VR128RegClass;
- else if (X86::VR256RegClass.hasType(VT))
+ else if (TRI->isTypeLegalForClass(X86::VR256RegClass, VT))
Res.second = &X86::VR256RegClass;
- else if (X86::VR512RegClass.hasType(VT))
+ else if (TRI->isTypeLegalForClass(X86::VR512RegClass, VT))
Res.second = &X86::VR512RegClass;
else {
// Type mismatch and not a clobber: Return an error;
diff --git a/lib/Target/X86/X86InstrArithmetic.td b/lib/Target/X86/X86InstrArithmetic.td
index bfd21c062aa2..66382014f6e8 100644
--- a/lib/Target/X86/X86InstrArithmetic.td
+++ b/lib/Target/X86/X86InstrArithmetic.td
@@ -989,10 +989,12 @@ multiclass ArithBinOp_RF<bits<8> BaseOpc, bits<8> BaseOpc2, bits<8> BaseOpc4,
}
} // Constraints = "$src1 = $dst"
- def NAME#8mr : BinOpMR_RMW<BaseOpc, mnemonic, Xi8 , opnode>;
- def NAME#16mr : BinOpMR_RMW<BaseOpc, mnemonic, Xi16, opnode>;
- def NAME#32mr : BinOpMR_RMW<BaseOpc, mnemonic, Xi32, opnode>;
- def NAME#64mr : BinOpMR_RMW<BaseOpc, mnemonic, Xi64, opnode>;
+ let mayLoad = 1, mayStore = 1 in {
+ def NAME#8mr : BinOpMR_RMW<BaseOpc, mnemonic, Xi8 , opnode>;
+ def NAME#16mr : BinOpMR_RMW<BaseOpc, mnemonic, Xi16, opnode>;
+ def NAME#32mr : BinOpMR_RMW<BaseOpc, mnemonic, Xi32, opnode>;
+ def NAME#64mr : BinOpMR_RMW<BaseOpc, mnemonic, Xi64, opnode>;
+ }
// NOTE: These are order specific, we want the mi8 forms to be listed
// first so that they are slightly preferred to the mi forms.
diff --git a/lib/Target/X86/X86InstrInfo.cpp b/lib/Target/X86/X86InstrInfo.cpp
index 7b456fd68343..26444dd1f619 100644
--- a/lib/Target/X86/X86InstrInfo.cpp
+++ b/lib/Target/X86/X86InstrInfo.cpp
@@ -6284,9 +6284,11 @@ void X86InstrInfo::insertSelect(MachineBasicBlock &MBB,
ArrayRef<MachineOperand> Cond, unsigned TrueReg,
unsigned FalseReg) const {
MachineRegisterInfo &MRI = MBB.getParent()->getRegInfo();
+ const TargetRegisterInfo &TRI = *MRI.getTargetRegisterInfo();
+ const TargetRegisterClass &RC = *MRI.getRegClass(DstReg);
assert(Cond.size() == 1 && "Invalid Cond array");
unsigned Opc = getCMovFromCond((X86::CondCode)Cond[0].getImm(),
- MRI.getRegClass(DstReg)->getSize(),
+ TRI.getRegSizeInBits(RC) / 8,
false /*HasMemoryOperand*/);
BuildMI(MBB, I, DL, get(Opc), DstReg).addReg(FalseReg).addReg(TrueReg);
}
@@ -6557,7 +6559,7 @@ static unsigned getLoadStoreRegOpcode(unsigned Reg,
bool HasAVX512 = STI.hasAVX512();
bool HasVLX = STI.hasVLX();
- switch (RC->getSize()) {
+ switch (STI.getRegisterInfo()->getSpillSize(*RC)) {
default:
llvm_unreachable("Unknown spill size");
case 1:
@@ -6603,28 +6605,36 @@ static unsigned getLoadStoreRegOpcode(unsigned Reg,
assert(X86::RFP80RegClass.hasSubClassEq(RC) && "Unknown 10-byte regclass");
return load ? X86::LD_Fp80m : X86::ST_FpP80m;
case 16: {
- assert(X86::VR128XRegClass.hasSubClassEq(RC) && "Unknown 16-byte regclass");
- // If stack is realigned we can use aligned stores.
- if (isStackAligned)
- return load ?
- (HasVLX ? X86::VMOVAPSZ128rm :
- HasAVX512 ? X86::VMOVAPSZ128rm_NOVLX :
- HasAVX ? X86::VMOVAPSrm :
- X86::MOVAPSrm):
- (HasVLX ? X86::VMOVAPSZ128mr :
- HasAVX512 ? X86::VMOVAPSZ128mr_NOVLX :
- HasAVX ? X86::VMOVAPSmr :
- X86::MOVAPSmr);
- else
- return load ?
- (HasVLX ? X86::VMOVUPSZ128rm :
- HasAVX512 ? X86::VMOVUPSZ128rm_NOVLX :
- HasAVX ? X86::VMOVUPSrm :
- X86::MOVUPSrm):
- (HasVLX ? X86::VMOVUPSZ128mr :
- HasAVX512 ? X86::VMOVUPSZ128mr_NOVLX :
- HasAVX ? X86::VMOVUPSmr :
- X86::MOVUPSmr);
+ if (X86::VR128XRegClass.hasSubClassEq(RC)) {
+ // If stack is realigned we can use aligned stores.
+ if (isStackAligned)
+ return load ?
+ (HasVLX ? X86::VMOVAPSZ128rm :
+ HasAVX512 ? X86::VMOVAPSZ128rm_NOVLX :
+ HasAVX ? X86::VMOVAPSrm :
+ X86::MOVAPSrm):
+ (HasVLX ? X86::VMOVAPSZ128mr :
+ HasAVX512 ? X86::VMOVAPSZ128mr_NOVLX :
+ HasAVX ? X86::VMOVAPSmr :
+ X86::MOVAPSmr);
+ else
+ return load ?
+ (HasVLX ? X86::VMOVUPSZ128rm :
+ HasAVX512 ? X86::VMOVUPSZ128rm_NOVLX :
+ HasAVX ? X86::VMOVUPSrm :
+ X86::MOVUPSrm):
+ (HasVLX ? X86::VMOVUPSZ128mr :
+ HasAVX512 ? X86::VMOVUPSZ128mr_NOVLX :
+ HasAVX ? X86::VMOVUPSmr :
+ X86::MOVUPSmr);
+ }
+ if (X86::BNDRRegClass.hasSubClassEq(RC)) {
+ if (STI.is64Bit())
+ return load ? X86::BNDMOVRM64rm : X86::BNDMOVMR64mr;
+ else
+ return load ? X86::BNDMOVRM32rm : X86::BNDMOVMR32mr;
+ }
+ llvm_unreachable("Unknown 16-byte regclass");
}
case 32:
assert(X86::VR256XRegClass.hasSubClassEq(RC) && "Unknown 32-byte regclass");
@@ -6709,9 +6719,9 @@ void X86InstrInfo::storeRegToStackSlot(MachineBasicBlock &MBB,
const TargetRegisterClass *RC,
const TargetRegisterInfo *TRI) const {
const MachineFunction &MF = *MBB.getParent();
- assert(MF.getFrameInfo().getObjectSize(FrameIdx) >= RC->getSize() &&
+ assert(MF.getFrameInfo().getObjectSize(FrameIdx) >= TRI->getSpillSize(*RC) &&
"Stack slot too small for store");
- unsigned Alignment = std::max<uint32_t>(RC->getSize(), 16);
+ unsigned Alignment = std::max<uint32_t>(TRI->getSpillSize(*RC), 16);
bool isAligned =
(Subtarget.getFrameLowering()->getStackAlignment() >= Alignment) ||
RI.canRealignStack(MF);
@@ -6728,7 +6738,8 @@ void X86InstrInfo::storeRegToAddr(MachineFunction &MF, unsigned SrcReg,
MachineInstr::mmo_iterator MMOBegin,
MachineInstr::mmo_iterator MMOEnd,
SmallVectorImpl<MachineInstr*> &NewMIs) const {
- unsigned Alignment = std::max<uint32_t>(RC->getSize(), 16);
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
+ unsigned Alignment = std::max<uint32_t>(TRI.getSpillSize(*RC), 16);
bool isAligned = MMOBegin != MMOEnd &&
(*MMOBegin)->getAlignment() >= Alignment;
unsigned Opc = getStoreRegOpcode(SrcReg, RC, isAligned, Subtarget);
@@ -6748,7 +6759,7 @@ void X86InstrInfo::loadRegFromStackSlot(MachineBasicBlock &MBB,
const TargetRegisterClass *RC,
const TargetRegisterInfo *TRI) const {
const MachineFunction &MF = *MBB.getParent();
- unsigned Alignment = std::max<uint32_t>(RC->getSize(), 16);
+ unsigned Alignment = std::max<uint32_t>(TRI->getSpillSize(*RC), 16);
bool isAligned =
(Subtarget.getFrameLowering()->getStackAlignment() >= Alignment) ||
RI.canRealignStack(MF);
@@ -6763,7 +6774,8 @@ void X86InstrInfo::loadRegFromAddr(MachineFunction &MF, unsigned DestReg,
MachineInstr::mmo_iterator MMOBegin,
MachineInstr::mmo_iterator MMOEnd,
SmallVectorImpl<MachineInstr*> &NewMIs) const {
- unsigned Alignment = std::max<uint32_t>(RC->getSize(), 16);
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
+ unsigned Alignment = std::max<uint32_t>(TRI.getSpillSize(*RC), 16);
bool isAligned = MMOBegin != MMOEnd &&
(*MMOBegin)->getAlignment() >= Alignment;
unsigned Opc = getLoadRegOpcode(DestReg, RC, isAligned, Subtarget);
@@ -7222,7 +7234,8 @@ bool X86InstrInfo::optimizeCompareInstr(MachineInstr &CmpInstr, unsigned SrcReg,
NewOpc = getSETFromCond(NewCC, HasMemoryOperand);
else {
unsigned DstReg = Instr.getOperand(0).getReg();
- NewOpc = getCMovFromCond(NewCC, MRI->getRegClass(DstReg)->getSize(),
+ const TargetRegisterClass *DstRC = MRI->getRegClass(DstReg);
+ NewOpc = getCMovFromCond(NewCC, TRI->getRegSizeInBits(*DstRC)/8,
HasMemoryOperand);
}
@@ -7750,7 +7763,9 @@ MachineInstr *X86InstrInfo::foldMemoryOperandCustom(
unsigned DstIdx = (Imm >> 4) & 3;
unsigned SrcIdx = (Imm >> 6) & 3;
- unsigned RCSize = getRegClass(MI.getDesc(), OpNum, &RI, MF)->getSize();
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
+ const TargetRegisterClass *RC = getRegClass(MI.getDesc(), OpNum, &RI, MF);
+ unsigned RCSize = TRI.getRegSizeInBits(*RC) / 8;
if (Size <= RCSize && 4 <= Align) {
int PtrOffset = SrcIdx * 4;
unsigned NewImm = (DstIdx << 4) | ZMask;
@@ -7772,7 +7787,9 @@ MachineInstr *X86InstrInfo::foldMemoryOperandCustom(
// To fold the load, adjust the pointer to the upper and use (V)MOVLPS.
// TODO: In most cases AVX doesn't have a 8-byte alignment requirement.
if (OpNum == 2) {
- unsigned RCSize = getRegClass(MI.getDesc(), OpNum, &RI, MF)->getSize();
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
+ const TargetRegisterClass *RC = getRegClass(MI.getDesc(), OpNum, &RI, MF);
+ unsigned RCSize = TRI.getRegSizeInBits(*RC) / 8;
if (Size <= RCSize && 8 <= Align) {
unsigned NewOpCode =
(MI.getOpcode() == X86::VMOVHLPSZrr) ? X86::VMOVLPSZ128rm :
@@ -7861,7 +7878,10 @@ MachineInstr *X86InstrInfo::foldMemoryOperandImpl(
return nullptr;
bool NarrowToMOV32rm = false;
if (Size) {
- unsigned RCSize = getRegClass(MI.getDesc(), OpNum, &RI, MF)->getSize();
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
+ const TargetRegisterClass *RC = getRegClass(MI.getDesc(), OpNum,
+ &RI, MF);
+ unsigned RCSize = TRI.getRegSizeInBits(*RC) / 8;
if (Size < RCSize) {
// Check if it's safe to fold the load. If the size of the object is
// narrower than the load width, then it's not.
@@ -8302,11 +8322,13 @@ static bool isNonFoldablePartialRegisterLoad(const MachineInstr &LoadMI,
const MachineFunction &MF) {
unsigned Opc = LoadMI.getOpcode();
unsigned UserOpc = UserMI.getOpcode();
- unsigned RegSize =
- MF.getRegInfo().getRegClass(LoadMI.getOperand(0).getReg())->getSize();
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
+ const TargetRegisterClass *RC =
+ MF.getRegInfo().getRegClass(LoadMI.getOperand(0).getReg());
+ unsigned RegSize = TRI.getRegSizeInBits(*RC);
if ((Opc == X86::MOVSSrm || Opc == X86::VMOVSSrm || Opc == X86::VMOVSSZrm) &&
- RegSize > 4) {
+ RegSize > 32) {
// These instructions only load 32 bits, we can't fold them if the
// destination register is wider than 32 bits (4 bytes), and its user
// instruction isn't scalar (SS).
@@ -8357,7 +8379,7 @@ static bool isNonFoldablePartialRegisterLoad(const MachineInstr &LoadMI,
}
if ((Opc == X86::MOVSDrm || Opc == X86::VMOVSDrm || Opc == X86::VMOVSDZrm) &&
- RegSize > 8) {
+ RegSize > 64) {
// These instructions only load 64 bits, we can't fold them if the
// destination register is wider than 64 bits (8 bytes), and its user
// instruction isn't scalar (SD).
@@ -8702,6 +8724,7 @@ X86InstrInfo::unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
bool FoldedStore = I->second.second & TB_FOLDED_STORE;
const MCInstrDesc &MCID = get(Opc);
MachineFunction &MF = DAG.getMachineFunction();
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
const TargetRegisterClass *RC = getRegClass(MCID, Index, &RI, MF);
unsigned NumDefs = MCID.NumDefs;
std::vector<SDValue> AddrOps;
@@ -8724,7 +8747,7 @@ X86InstrInfo::unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
// Emit the load instruction.
SDNode *Load = nullptr;
if (FoldedLoad) {
- EVT VT = *RC->vt_begin();
+ EVT VT = *TRI.legalclasstypes_begin(*RC);
std::pair<MachineInstr::mmo_iterator,
MachineInstr::mmo_iterator> MMOs =
MF.extractLoadMemRefs(cast<MachineSDNode>(N)->memoperands_begin(),
@@ -8736,7 +8759,7 @@ X86InstrInfo::unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
return false;
// FIXME: If a VR128 can have size 32, we should be checking if a 32-byte
// memory access is slow above.
- unsigned Alignment = std::max<uint32_t>(RC->getSize(), 16);
+ unsigned Alignment = std::max<uint32_t>(TRI.getSpillSize(*RC), 16);
bool isAligned = (*MMOs.first) &&
(*MMOs.first)->getAlignment() >= Alignment;
Load = DAG.getMachineNode(getLoadRegOpcode(0, RC, isAligned, Subtarget), dl,
@@ -8752,7 +8775,7 @@ X86InstrInfo::unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
const TargetRegisterClass *DstRC = nullptr;
if (MCID.getNumDefs() > 0) {
DstRC = getRegClass(MCID, 0, &RI, MF);
- VTs.push_back(*DstRC->vt_begin());
+ VTs.push_back(*TRI.legalclasstypes_begin(*DstRC));
}
for (unsigned i = 0, e = N->getNumValues(); i != e; ++i) {
EVT VT = N->getValueType(i);
@@ -8781,7 +8804,7 @@ X86InstrInfo::unfoldMemoryOperand(SelectionDAG &DAG, SDNode *N,
return false;
// FIXME: If a VR128 can have size 32, we should be checking if a 32-byte
// memory access is slow above.
- unsigned Alignment = std::max<uint32_t>(RC->getSize(), 16);
+ unsigned Alignment = std::max<uint32_t>(TRI.getSpillSize(*RC), 16);
bool isAligned = (*MMOs.first) &&
(*MMOs.first)->getAlignment() >= Alignment;
SDNode *Store =
@@ -9514,7 +9537,7 @@ void X86InstrInfo::setExecutionDomain(MachineInstr &MI, unsigned Domain) const {
}
/// Return the noop instruction to use for a noop.
-void X86InstrInfo::getNoopForMachoTarget(MCInst &NopInst) const {
+void X86InstrInfo::getNoop(MCInst &NopInst) const {
NopInst.setOpcode(X86::NOOP);
}
diff --git a/lib/Target/X86/X86InstrInfo.h b/lib/Target/X86/X86InstrInfo.h
index 2fee48570ce1..38567831b3a4 100644
--- a/lib/Target/X86/X86InstrInfo.h
+++ b/lib/Target/X86/X86InstrInfo.h
@@ -457,7 +457,7 @@ public:
int64_t Offset1, int64_t Offset2,
unsigned NumLoads) const override;
- void getNoopForMachoTarget(MCInst &NopInst) const override;
+ void getNoop(MCInst &NopInst) const override;
bool
reverseBranchCondition(SmallVectorImpl<MachineOperand> &Cond) const override;
diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td
index e31d2769047b..c3def461afdc 100644
--- a/lib/Target/X86/X86InstrInfo.td
+++ b/lib/Target/X86/X86InstrInfo.td
@@ -897,6 +897,7 @@ def NotSlowIncDec : Predicate<"!Subtarget->slowIncDec()">;
def HasFastMem32 : Predicate<"!Subtarget->isUnalignedMem32Slow()">;
def HasFastLZCNT : Predicate<"Subtarget->hasFastLZCNT()">;
def HasFastSHLDRotate : Predicate<"Subtarget->hasFastSHLDRotate()">;
+def HasERMSB : Predicate<"Subtarget->hasERMSB()">;
def HasMFence : Predicate<"Subtarget->hasMFence()">;
//===----------------------------------------------------------------------===//
diff --git a/lib/Target/X86/X86InstrSSE.td b/lib/Target/X86/X86InstrSSE.td
index e1bf28cbf612..f22a50200c9a 100644
--- a/lib/Target/X86/X86InstrSSE.td
+++ b/lib/Target/X86/X86InstrSSE.td
@@ -4602,17 +4602,17 @@ def MOVDI2PDIrm : S2I<0x6E, MRMSrcMem, (outs VR128:$dst), (ins i32mem:$src),
(v4i32 (scalar_to_vector (loadi32 addr:$src))))],
IIC_SSE_MOVDQ>, Sched<[WriteLoad]>;
def MOV64toPQIrr : RS2I<0x6E, MRMSrcReg, (outs VR128:$dst), (ins GR64:$src),
- "mov{d|q}\t{$src, $dst|$dst, $src}",
+ "movq\t{$src, $dst|$dst, $src}",
[(set VR128:$dst,
(v2i64 (scalar_to_vector GR64:$src)))],
IIC_SSE_MOVDQ>, Sched<[WriteMove]>;
let isCodeGenOnly = 1, ForceDisassemble = 1, hasSideEffects = 0, mayLoad = 1 in
def MOV64toPQIrm : RS2I<0x6E, MRMSrcMem, (outs VR128:$dst), (ins i64mem:$src),
- "mov{d|q}\t{$src, $dst|$dst, $src}",
+ "movq\t{$src, $dst|$dst, $src}",
[], IIC_SSE_MOVDQ>, Sched<[WriteLoad]>;
let isCodeGenOnly = 1 in
def MOV64toSDrr : RS2I<0x6E, MRMSrcReg, (outs FR64:$dst), (ins GR64:$src),
- "mov{d|q}\t{$src, $dst|$dst, $src}",
+ "movq\t{$src, $dst|$dst, $src}",
[(set FR64:$dst, (bitconvert GR64:$src))],
IIC_SSE_MOVDQ>, Sched<[WriteMove]>;
} // ExeDomain = SSEPackedInt
@@ -4681,7 +4681,7 @@ def VMOVPQIto64rr : VRS2I<0x7E, MRMDestReg, (outs GR64:$dst), (ins VR128:$src),
VEX;
def MOVPQIto64rr : RS2I<0x7E, MRMDestReg, (outs GR64:$dst), (ins VR128:$src),
- "mov{d|q}\t{$src, $dst|$dst, $src}",
+ "movq\t{$src, $dst|$dst, $src}",
[(set GR64:$dst, (extractelt (v2i64 VR128:$src),
(iPTR 0)))],
IIC_SSE_MOVD_ToGP>;
@@ -4694,7 +4694,7 @@ def VMOVPQIto64mr : VRS2I<0x7E, MRMDestMem, (outs),
[], IIC_SSE_MOVDQ>, VEX, Sched<[WriteStore]>;
let isCodeGenOnly = 1, ForceDisassemble = 1, hasSideEffects = 0, mayStore = 1 in
def MOVPQIto64mr : RS2I<0x7E, MRMDestMem, (outs), (ins i64mem:$dst, VR128:$src),
- "mov{d|q}\t{$src, $dst|$dst, $src}",
+ "movq\t{$src, $dst|$dst, $src}",
[], IIC_SSE_MOVDQ>, Sched<[WriteStore]>;
} // ExeDomain = SSEPackedInt
@@ -4721,7 +4721,7 @@ let ExeDomain = SSEPackedInt, isCodeGenOnly = 1 in {
[(set FR64:$dst, (bitconvert (loadi64 addr:$src)))],
IIC_SSE_MOVDQ>, Sched<[WriteLoad]>;
def MOVSDto64rr : RS2I<0x7E, MRMDestReg, (outs GR64:$dst), (ins FR64:$src),
- "mov{d|q}\t{$src, $dst|$dst, $src}",
+ "movq\t{$src, $dst|$dst, $src}",
[(set GR64:$dst, (bitconvert FR64:$src))],
IIC_SSE_MOVD_ToGP>, Sched<[WriteMove]>;
def MOVSDto64mr : RS2I<0x7E, MRMDestMem, (outs), (ins i64mem:$dst, FR64:$src),
@@ -4811,12 +4811,12 @@ let Predicates = [UseSSE2] in {
}
}
-// These are the correct encodings of the instructions so that we know how to
-// read correct assembly, even though we continue to emit the wrong ones for
-// compatibility with Darwin's buggy assembler.
-def : InstAlias<"movq\t{$src, $dst|$dst, $src}",
+// Before the MC layer of LLVM existed, clang emitted "movd" assembly instead of
+// "movq" due to MacOS parsing limitation. In order to parse old assembly, we add
+// these aliases.
+def : InstAlias<"movd\t{$src, $dst|$dst, $src}",
(MOV64toPQIrr VR128:$dst, GR64:$src), 0>;
-def : InstAlias<"movq\t{$src, $dst|$dst, $src}",
+def : InstAlias<"movd\t{$src, $dst|$dst, $src}",
(MOVPQIto64rr GR64:$dst, VR128:$src), 0>;
// Allow "vmovd" but print "vmovq" since we don't need compatibility for AVX.
def : InstAlias<"vmovd\t{$src, $dst|$dst, $src}",
@@ -7144,33 +7144,37 @@ let Predicates = [UseSSE41] in {
/// SS42I_binop_rm - Simple SSE 4.2 binary operator
multiclass SS42I_binop_rm<bits<8> opc, string OpcodeStr, SDNode OpNode,
ValueType OpVT, RegisterClass RC, PatFrag memop_frag,
- X86MemOperand x86memop, bit Is2Addr = 1> {
+ X86MemOperand x86memop, OpndItins itins,
+ bit Is2Addr = 1> {
def rr : SS428I<opc, MRMSrcReg, (outs RC:$dst),
(ins RC:$src1, RC:$src2),
!if(Is2Addr,
!strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
!strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
- [(set RC:$dst, (OpVT (OpNode RC:$src1, RC:$src2)))]>;
+ [(set RC:$dst, (OpVT (OpNode RC:$src1, RC:$src2)))]>, Sched<[itins.Sched]>;
def rm : SS428I<opc, MRMSrcMem, (outs RC:$dst),
(ins RC:$src1, x86memop:$src2),
!if(Is2Addr,
!strconcat(OpcodeStr, "\t{$src2, $dst|$dst, $src2}"),
!strconcat(OpcodeStr, "\t{$src2, $src1, $dst|$dst, $src1, $src2}")),
[(set RC:$dst,
- (OpVT (OpNode RC:$src1, (memop_frag addr:$src2))))]>;
+ (OpVT (OpNode RC:$src1, (memop_frag addr:$src2))))]>,
+ Sched<[itins.Sched.Folded, ReadAfterLd]>;
}
let Predicates = [HasAVX] in
defm VPCMPGTQ : SS42I_binop_rm<0x37, "vpcmpgtq", X86pcmpgt, v2i64, VR128,
- loadv2i64, i128mem, 0>, VEX_4V, VEX_WIG;
+ loadv2i64, i128mem, SSE_INTALU_ITINS_P, 0>,
+ VEX_4V, VEX_WIG;
let Predicates = [HasAVX2] in
defm VPCMPGTQY : SS42I_binop_rm<0x37, "vpcmpgtq", X86pcmpgt, v4i64, VR256,
- loadv4i64, i256mem, 0>, VEX_4V, VEX_L, VEX_WIG;
+ loadv4i64, i256mem, SSE_INTALU_ITINS_P, 0>,
+ VEX_4V, VEX_L, VEX_WIG;
let Constraints = "$src1 = $dst" in
defm PCMPGTQ : SS42I_binop_rm<0x37, "pcmpgtq", X86pcmpgt, v2i64, VR128,
- memopv2i64, i128mem>;
+ memopv2i64, i128mem, SSE_INTALU_ITINS_P>;
//===----------------------------------------------------------------------===//
// SSE4.2 - String/text Processing Instructions
diff --git a/lib/Target/X86/X86InstructionSelector.cpp b/lib/Target/X86/X86InstructionSelector.cpp
index fb9315792892..d0f1b7091da9 100644
--- a/lib/Target/X86/X86InstructionSelector.cpp
+++ b/lib/Target/X86/X86InstructionSelector.cpp
@@ -39,11 +39,16 @@ using namespace llvm;
namespace {
+#define GET_GLOBALISEL_PREDICATE_BITSET
+#include "X86GenGlobalISel.inc"
+#undef GET_GLOBALISEL_PREDICATE_BITSET
+
class X86InstructionSelector : public InstructionSelector {
public:
- X86InstructionSelector(const X86Subtarget &STI,
+ X86InstructionSelector(const X86TargetMachine &TM, const X86Subtarget &STI,
const X86RegisterBankInfo &RBI);
+ void beginFunction(const MachineFunction &MF) override;
bool select(MachineInstr &I) const override;
private:
@@ -70,10 +75,17 @@ private:
bool selectTrunc(MachineInstr &I, MachineRegisterInfo &MRI,
MachineFunction &MF) const;
+ const X86TargetMachine &TM;
const X86Subtarget &STI;
const X86InstrInfo &TII;
const X86RegisterInfo &TRI;
const X86RegisterBankInfo &RBI;
+ bool OptForSize;
+ bool OptForMinSize;
+
+ PredicateBitset AvailableFeatures;
+ PredicateBitset computeAvailableFeatures(const MachineFunction *MF,
+ const X86Subtarget *Subtarget) const;
#define GET_GLOBALISEL_TEMPORARIES_DECL
#include "X86GenGlobalISel.inc"
@@ -86,10 +98,12 @@ private:
#include "X86GenGlobalISel.inc"
#undef GET_GLOBALISEL_IMPL
-X86InstructionSelector::X86InstructionSelector(const X86Subtarget &STI,
+X86InstructionSelector::X86InstructionSelector(const X86TargetMachine &TM,
+ const X86Subtarget &STI,
const X86RegisterBankInfo &RBI)
- : InstructionSelector(), STI(STI), TII(*STI.getInstrInfo()),
- TRI(*STI.getRegisterInfo()), RBI(RBI)
+ : InstructionSelector(), TM(TM), STI(STI), TII(*STI.getInstrInfo()),
+ TRI(*STI.getRegisterInfo()), RBI(RBI), OptForSize(false),
+ OptForMinSize(false), AvailableFeatures()
#define GET_GLOBALISEL_TEMPORARIES_INIT
#include "X86GenGlobalISel.inc"
#undef GET_GLOBALISEL_TEMPORARIES_INIT
@@ -181,6 +195,12 @@ static bool selectCopy(MachineInstr &I, const TargetInstrInfo &TII,
return true;
}
+void X86InstructionSelector::beginFunction(const MachineFunction &MF) {
+ OptForSize = MF.getFunction()->optForSize();
+ OptForMinSize = MF.getFunction()->optForMinSize();
+ AvailableFeatures = computeAvailableFeatures(&MF, &STI);
+}
+
bool X86InstructionSelector::select(MachineInstr &I) const {
assert(I.getParent() && "Instruction should be in a basic block!");
assert(I.getParent()->getParent() && "Instruction should be in a function!");
@@ -571,7 +591,8 @@ bool X86InstructionSelector::selectTrunc(MachineInstr &I,
}
InstructionSelector *
-llvm::createX86InstructionSelector(X86Subtarget &Subtarget,
+llvm::createX86InstructionSelector(const X86TargetMachine &TM,
+ X86Subtarget &Subtarget,
X86RegisterBankInfo &RBI) {
- return new X86InstructionSelector(Subtarget, RBI);
+ return new X86InstructionSelector(TM, Subtarget, RBI);
}
diff --git a/lib/Target/X86/X86RegisterInfo.cpp b/lib/Target/X86/X86RegisterInfo.cpp
index 9bab9a4cf3ba..1f16f3c9a14d 100644
--- a/lib/Target/X86/X86RegisterInfo.cpp
+++ b/lib/Target/X86/X86RegisterInfo.cpp
@@ -137,25 +137,29 @@ X86RegisterInfo::getLargestLegalSuperClass(const TargetRegisterClass *RC,
case X86::FR32RegClassID:
case X86::FR64RegClassID:
// If AVX-512 isn't supported we should only inflate to these classes.
- if (!Subtarget.hasAVX512() && Super->getSize() == RC->getSize())
+ if (!Subtarget.hasAVX512() &&
+ getRegSizeInBits(*Super) == getRegSizeInBits(*RC))
return Super;
break;
case X86::VR128RegClassID:
case X86::VR256RegClassID:
// If VLX isn't supported we should only inflate to these classes.
- if (!Subtarget.hasVLX() && Super->getSize() == RC->getSize())
+ if (!Subtarget.hasVLX() &&
+ getRegSizeInBits(*Super) == getRegSizeInBits(*RC))
return Super;
break;
case X86::VR128XRegClassID:
case X86::VR256XRegClassID:
// If VLX isn't support we shouldn't inflate to these classes.
- if (Subtarget.hasVLX() && Super->getSize() == RC->getSize())
+ if (Subtarget.hasVLX() &&
+ getRegSizeInBits(*Super) == getRegSizeInBits(*RC))
return Super;
break;
case X86::FR32XRegClassID:
case X86::FR64XRegClassID:
// If AVX-512 isn't support we shouldn't inflate to these classes.
- if (Subtarget.hasAVX512() && Super->getSize() == RC->getSize())
+ if (Subtarget.hasAVX512() &&
+ getRegSizeInBits(*Super) == getRegSizeInBits(*RC))
return Super;
break;
case X86::GR8RegClassID:
@@ -168,7 +172,7 @@ X86RegisterInfo::getLargestLegalSuperClass(const TargetRegisterClass *RC,
case X86::VR512RegClassID:
// Don't return a super-class that would shrink the spill size.
// That can happen with the vector and float classes.
- if (Super->getSize() == RC->getSize())
+ if (getRegSizeInBits(*Super) == getRegSizeInBits(*RC))
return Super;
}
Super = *I++;
@@ -669,32 +673,28 @@ X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
MachineFunction &MF = *MI.getParent()->getParent();
const X86FrameLowering *TFI = getFrameLowering(MF);
int FrameIndex = MI.getOperand(FIOperandNum).getIndex();
- unsigned BasePtr;
- unsigned Opc = MI.getOpcode();
- bool AfterFPPop = Opc == X86::TAILJMPm64 || Opc == X86::TAILJMPm ||
- Opc == X86::TCRETURNmi || Opc == X86::TCRETURNmi64;
-
- if (hasBasePointer(MF))
- BasePtr = (FrameIndex < 0 ? FramePtr : getBaseRegister());
- else if (needsStackRealignment(MF))
- BasePtr = (FrameIndex < 0 ? FramePtr : StackPtr);
- else if (AfterFPPop)
- BasePtr = StackPtr;
- else
- BasePtr = (TFI->hasFP(MF) ? FramePtr : StackPtr);
+ // Determine base register and offset.
+ int FIOffset;
+ unsigned BasePtr;
+ if (MI.isReturn()) {
+ assert((!needsStackRealignment(MF) ||
+ MF.getFrameInfo().isFixedObjectIndex(FrameIndex)) &&
+ "Return instruction can only reference SP relative frame objects");
+ FIOffset = TFI->getFrameIndexReferenceSP(MF, FrameIndex, BasePtr, 0);
+ } else {
+ FIOffset = TFI->getFrameIndexReference(MF, FrameIndex, BasePtr);
+ }
// LOCAL_ESCAPE uses a single offset, with no register. It only works in the
// simple FP case, and doesn't work with stack realignment. On 32-bit, the
// offset is from the traditional base pointer location. On 64-bit, the
// offset is from the SP at the end of the prologue, not the FP location. This
// matches the behavior of llvm.frameaddress.
- unsigned IgnoredFrameReg;
+ unsigned Opc = MI.getOpcode();
if (Opc == TargetOpcode::LOCAL_ESCAPE) {
MachineOperand &FI = MI.getOperand(FIOperandNum);
- int Offset;
- Offset = TFI->getFrameIndexReference(MF, FrameIndex, IgnoredFrameReg);
- FI.ChangeToImmediate(Offset);
+ FI.ChangeToImmediate(FIOffset);
return;
}
@@ -710,15 +710,6 @@ X86RegisterInfo::eliminateFrameIndex(MachineBasicBlock::iterator II,
// FrameIndex with base register. Add an offset to the offset.
MI.getOperand(FIOperandNum).ChangeToRegister(MachineBasePtr, false);
- // Now add the frame object offset to the offset from EBP.
- int FIOffset;
- if (AfterFPPop) {
- // Tail call jmp happens after FP is popped.
- const MachineFrameInfo &MFI = MF.getFrameInfo();
- FIOffset = MFI.getObjectOffset(FrameIndex) - TFI->getOffsetOfLocalArea();
- } else
- FIOffset = TFI->getFrameIndexReference(MF, FrameIndex, IgnoredFrameReg);
-
if (BasePtr == StackPtr)
FIOffset += SPAdj;
diff --git a/lib/Target/X86/X86SelectionDAGInfo.cpp b/lib/Target/X86/X86SelectionDAGInfo.cpp
index 9da8a18965ea..1a72a0ba3a64 100644
--- a/lib/Target/X86/X86SelectionDAGInfo.cpp
+++ b/lib/Target/X86/X86SelectionDAGInfo.cpp
@@ -106,7 +106,6 @@ SDValue X86SelectionDAGInfo::EmitTargetCodeForMemset(
SDValue Count;
ConstantSDNode *ValC = dyn_cast<ConstantSDNode>(Src);
unsigned BytesLeft = 0;
- bool TwoRepStos = false;
if (ValC) {
unsigned ValReg;
uint64_t Val = ValC->getZExtValue() & 255;
@@ -163,20 +162,7 @@ SDValue X86SelectionDAGInfo::EmitTargetCodeForMemset(
SDValue Ops[] = { Chain, DAG.getValueType(AVT), InFlag };
Chain = DAG.getNode(X86ISD::REP_STOS, dl, Tys, Ops);
- if (TwoRepStos) {
- InFlag = Chain.getValue(1);
- Count = Size;
- EVT CVT = Count.getValueType();
- SDValue Left = DAG.getNode(ISD::AND, dl, CVT, Count,
- DAG.getConstant((AVT == MVT::i64) ? 7 : 3, dl,
- CVT));
- Chain = DAG.getCopyToReg(Chain, dl, (CVT == MVT::i64) ? X86::RCX : X86::ECX,
- Left, InFlag);
- InFlag = Chain.getValue(1);
- Tys = DAG.getVTList(MVT::Other, MVT::Glue);
- SDValue Ops[] = { Chain, DAG.getValueType(MVT::i8), InFlag };
- Chain = DAG.getNode(X86ISD::REP_STOS, dl, Tys, Ops);
- } else if (BytesLeft) {
+ if (BytesLeft) {
// Handle the last 1 - 7 bytes.
unsigned Offset = SizeVal - BytesLeft;
EVT AddrVT = Dst.getValueType();
@@ -195,6 +181,24 @@ SDValue X86SelectionDAGInfo::EmitTargetCodeForMemset(
return Chain;
}
+namespace {
+
+// Represents a cover of a buffer of SizeVal bytes with blocks of size
+// AVT, as well as how many bytes remain (BytesLeft is always smaller than
+// the block size).
+struct RepMovsRepeats {
+ RepMovsRepeats(const uint64_t SizeVal, const MVT& AVT) {
+ const unsigned UBytes = AVT.getSizeInBits() / 8;
+ Count = SizeVal / UBytes;
+ BytesLeft = SizeVal % UBytes;
+ }
+
+ unsigned Count;
+ unsigned BytesLeft;
+};
+
+} // namespace
+
SDValue X86SelectionDAGInfo::EmitTargetCodeForMemcpy(
SelectionDAG &DAG, const SDLoc &dl, SDValue Chain, SDValue Dst, SDValue Src,
SDValue Size, unsigned Align, bool isVolatile, bool AlwaysInline,
@@ -229,7 +233,12 @@ SDValue X86SelectionDAGInfo::EmitTargetCodeForMemcpy(
return SDValue();
MVT AVT;
- if (Align & 1)
+ if (Subtarget.hasERMSB())
+ // If the target has enhanced REPMOVSB, then it's at least as fast to use
+ // REP MOVSB instead of REP MOVS{W,D,Q}, and it avoids having to handle
+ // BytesLeft.
+ AVT = MVT::i8;
+ else if (Align & 1)
AVT = MVT::i8;
else if (Align & 2)
AVT = MVT::i16;
@@ -240,14 +249,18 @@ SDValue X86SelectionDAGInfo::EmitTargetCodeForMemcpy(
// QWORD aligned
AVT = Subtarget.is64Bit() ? MVT::i64 : MVT::i32;
- unsigned UBytes = AVT.getSizeInBits() / 8;
- unsigned CountVal = SizeVal / UBytes;
- SDValue Count = DAG.getIntPtrConstant(CountVal, dl);
- unsigned BytesLeft = SizeVal % UBytes;
+ RepMovsRepeats Repeats(SizeVal, AVT);
+ if (Repeats.BytesLeft > 0 &&
+ DAG.getMachineFunction().getFunction()->optForMinSize()) {
+ // When agressively optimizing for size, avoid generating the code to handle
+ // BytesLeft.
+ AVT = MVT::i8;
+ Repeats = RepMovsRepeats(SizeVal, AVT);
+ }
SDValue InFlag;
Chain = DAG.getCopyToReg(Chain, dl, Subtarget.is64Bit() ? X86::RCX : X86::ECX,
- Count, InFlag);
+ DAG.getIntPtrConstant(Repeats.Count, dl), InFlag);
InFlag = Chain.getValue(1);
Chain = DAG.getCopyToReg(Chain, dl, Subtarget.is64Bit() ? X86::RDI : X86::EDI,
Dst, InFlag);
@@ -262,9 +275,9 @@ SDValue X86SelectionDAGInfo::EmitTargetCodeForMemcpy(
SmallVector<SDValue, 4> Results;
Results.push_back(RepMovs);
- if (BytesLeft) {
+ if (Repeats.BytesLeft) {
// Handle the last 1 - 7 bytes.
- unsigned Offset = SizeVal - BytesLeft;
+ unsigned Offset = SizeVal - Repeats.BytesLeft;
EVT DstVT = Dst.getValueType();
EVT SrcVT = Src.getValueType();
EVT SizeVT = Size.getValueType();
@@ -275,7 +288,8 @@ SDValue X86SelectionDAGInfo::EmitTargetCodeForMemcpy(
DAG.getNode(ISD::ADD, dl, SrcVT, Src,
DAG.getConstant(Offset, dl,
SrcVT)),
- DAG.getConstant(BytesLeft, dl, SizeVT),
+ DAG.getConstant(Repeats.BytesLeft, dl,
+ SizeVT),
Align, isVolatile, AlwaysInline, false,
DstPtrInfo.getWithOffset(Offset),
SrcPtrInfo.getWithOffset(Offset)));
diff --git a/lib/Target/X86/X86Subtarget.cpp b/lib/Target/X86/X86Subtarget.cpp
index 92a68759195c..4154530d04e7 100644
--- a/lib/Target/X86/X86Subtarget.cpp
+++ b/lib/Target/X86/X86Subtarget.cpp
@@ -303,6 +303,7 @@ void X86Subtarget::initializeEnvironment() {
HasFastVectorFSQRT = false;
HasFastLZCNT = false;
HasFastSHLDRotate = false;
+ HasERMSB = false;
HasSlowDivide32 = false;
HasSlowDivide64 = false;
PadShortFunctions = false;
diff --git a/lib/Target/X86/X86Subtarget.h b/lib/Target/X86/X86Subtarget.h
index d0d88d326949..fd057f36c890 100644
--- a/lib/Target/X86/X86Subtarget.h
+++ b/lib/Target/X86/X86Subtarget.h
@@ -232,6 +232,9 @@ protected:
/// True if SHLD based rotate is fast.
bool HasFastSHLDRotate;
+ /// True if the processor has enhanced REP MOVSB/STOSB.
+ bool HasERMSB;
+
/// True if the short functions should be padded to prevent
/// a stall when returning too early.
bool PadShortFunctions;
@@ -472,6 +475,7 @@ public:
bool hasFastVectorFSQRT() const { return HasFastVectorFSQRT; }
bool hasFastLZCNT() const { return HasFastLZCNT; }
bool hasFastSHLDRotate() const { return HasFastSHLDRotate; }
+ bool hasERMSB() const { return HasERMSB; }
bool hasSlowDivide32() const { return HasSlowDivide32; }
bool hasSlowDivide64() const { return HasSlowDivide64; }
bool padShortFunctions() const { return PadShortFunctions; }
diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp
index 03a1958121ab..623cf38aa951 100644
--- a/lib/Target/X86/X86TargetMachine.cpp
+++ b/lib/Target/X86/X86TargetMachine.cpp
@@ -286,7 +286,7 @@ X86TargetMachine::getSubtargetImpl(const Function &F) const {
auto *RBI = new X86RegisterBankInfo(*I->getRegisterInfo());
GISel->RegBankInfo.reset(RBI);
- GISel->InstSelector.reset(createX86InstructionSelector(*I, *RBI));
+ GISel->InstSelector.reset(createX86InstructionSelector(*this, *I, *RBI));
#endif
I->setGISelAccessor(*GISel);
}
diff --git a/lib/Target/XCore/XCoreFrameLowering.cpp b/lib/Target/XCore/XCoreFrameLowering.cpp
index a752357400b3..784612038c09 100644
--- a/lib/Target/XCore/XCoreFrameLowering.cpp
+++ b/lib/Target/XCore/XCoreFrameLowering.cpp
@@ -575,18 +575,17 @@ processFunctionBeforeFrameFinalized(MachineFunction &MF,
RegScavenger *RS) const {
assert(RS && "requiresRegisterScavenging failed");
MachineFrameInfo &MFI = MF.getFrameInfo();
- const TargetRegisterClass *RC = &XCore::GRRegsRegClass;
+ const TargetRegisterClass &RC = XCore::GRRegsRegClass;
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
XCoreFunctionInfo *XFI = MF.getInfo<XCoreFunctionInfo>();
// Reserve slots close to SP or frame pointer for Scavenging spills.
// When using SP for small frames, we don't need any scratch registers.
// When using SP for large frames, we may need 2 scratch registers.
// When using FP, for large or small frames, we may need 1 scratch register.
+ unsigned Size = TRI.getSpillSize(RC);
+ unsigned Align = TRI.getSpillAlignment(RC);
if (XFI->isLargeFrame(MF) || hasFP(MF))
- RS->addScavengingFrameIndex(MFI.CreateStackObject(RC->getSize(),
- RC->getAlignment(),
- false));
+ RS->addScavengingFrameIndex(MFI.CreateStackObject(Size, Align, false));
if (XFI->isLargeFrame(MF) && !hasFP(MF))
- RS->addScavengingFrameIndex(MFI.CreateStackObject(RC->getSize(),
- RC->getAlignment(),
- false));
+ RS->addScavengingFrameIndex(MFI.CreateStackObject(Size, Align, false));
}
diff --git a/lib/Target/XCore/XCoreISelLowering.cpp b/lib/Target/XCore/XCoreISelLowering.cpp
index 45437815fa37..2efcd46cd8d4 100644
--- a/lib/Target/XCore/XCoreISelLowering.cpp
+++ b/lib/Target/XCore/XCoreISelLowering.cpp
@@ -1605,7 +1605,7 @@ SDValue XCoreTargetLowering::PerformDAGCombine(SDNode *N,
TargetLowering::TargetLoweringOpt TLO(DAG, !DCI.isBeforeLegalize(),
!DCI.isBeforeLegalizeOps());
const TargetLowering &TLI = DAG.getTargetLoweringInfo();
- if (TLO.ShrinkDemandedConstant(OutVal, DemandedMask) ||
+ if (TLI.ShrinkDemandedConstant(OutVal, DemandedMask, TLO) ||
TLI.SimplifyDemandedBits(OutVal, DemandedMask, KnownZero, KnownOne,
TLO))
DCI.CommitTargetLoweringOpt(TLO);
@@ -1622,7 +1622,7 @@ SDValue XCoreTargetLowering::PerformDAGCombine(SDNode *N,
TargetLowering::TargetLoweringOpt TLO(DAG, !DCI.isBeforeLegalize(),
!DCI.isBeforeLegalizeOps());
const TargetLowering &TLI = DAG.getTargetLoweringInfo();
- if (TLO.ShrinkDemandedConstant(Time, DemandedMask) ||
+ if (TLI.ShrinkDemandedConstant(Time, DemandedMask, TLO) ||
TLI.SimplifyDemandedBits(Time, DemandedMask, KnownZero, KnownOne,
TLO))
DCI.CommitTargetLoweringOpt(TLO);
diff --git a/lib/Target/XCore/XCoreMachineFunctionInfo.cpp b/lib/Target/XCore/XCoreMachineFunctionInfo.cpp
index e91536ca1e83..75af0e97dfb5 100644
--- a/lib/Target/XCore/XCoreMachineFunctionInfo.cpp
+++ b/lib/Target/XCore/XCoreMachineFunctionInfo.cpp
@@ -10,6 +10,7 @@
#include "XCoreMachineFunctionInfo.h"
#include "XCoreInstrInfo.h"
#include "llvm/IR/Function.h"
+#include "llvm/Target/TargetSubtargetInfo.h"
using namespace llvm;
@@ -35,13 +36,15 @@ int XCoreFunctionInfo::createLRSpillSlot(MachineFunction &MF) {
if (LRSpillSlotSet) {
return LRSpillSlot;
}
- const TargetRegisterClass *RC = &XCore::GRRegsRegClass;
+ const TargetRegisterClass &RC = XCore::GRRegsRegClass;
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
MachineFrameInfo &MFI = MF.getFrameInfo();
if (! MF.getFunction()->isVarArg()) {
// A fixed offset of 0 allows us to save / restore LR using entsp / retsp.
- LRSpillSlot = MFI.CreateFixedObject(RC->getSize(), 0, true);
+ LRSpillSlot = MFI.CreateFixedObject(TRI.getSpillSize(RC), 0, true);
} else {
- LRSpillSlot = MFI.CreateStackObject(RC->getSize(), RC->getAlignment(), true);
+ LRSpillSlot = MFI.CreateStackObject(TRI.getSpillSize(RC),
+ TRI.getSpillAlignment(RC), true);
}
LRSpillSlotSet = true;
return LRSpillSlot;
@@ -51,9 +54,11 @@ int XCoreFunctionInfo::createFPSpillSlot(MachineFunction &MF) {
if (FPSpillSlotSet) {
return FPSpillSlot;
}
- const TargetRegisterClass *RC = &XCore::GRRegsRegClass;
+ const TargetRegisterClass &RC = XCore::GRRegsRegClass;
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
MachineFrameInfo &MFI = MF.getFrameInfo();
- FPSpillSlot = MFI.CreateStackObject(RC->getSize(), RC->getAlignment(), true);
+ FPSpillSlot = MFI.CreateStackObject(TRI.getSpillSize(RC),
+ TRI.getSpillAlignment(RC), true);
FPSpillSlotSet = true;
return FPSpillSlot;
}
@@ -62,10 +67,13 @@ const int* XCoreFunctionInfo::createEHSpillSlot(MachineFunction &MF) {
if (EHSpillSlotSet) {
return EHSpillSlot;
}
- const TargetRegisterClass *RC = &XCore::GRRegsRegClass;
+ const TargetRegisterClass &RC = XCore::GRRegsRegClass;
+ const TargetRegisterInfo &TRI = *MF.getSubtarget().getRegisterInfo();
MachineFrameInfo &MFI = MF.getFrameInfo();
- EHSpillSlot[0] = MFI.CreateStackObject(RC->getSize(), RC->getAlignment(), true);
- EHSpillSlot[1] = MFI.CreateStackObject(RC->getSize(), RC->getAlignment(), true);
+ unsigned Size = TRI.getSpillSize(RC);
+ unsigned Align = TRI.getSpillAlignment(RC);
+ EHSpillSlot[0] = MFI.CreateStackObject(Size, Align, true);
+ EHSpillSlot[1] = MFI.CreateStackObject(Size, Align, true);
EHSpillSlotSet = true;
return EHSpillSlot;
}
diff --git a/lib/Transforms/IPO/PartialInlining.cpp b/lib/Transforms/IPO/PartialInlining.cpp
index a2f6e5639d9d..78e71c18fe29 100644
--- a/lib/Transforms/IPO/PartialInlining.cpp
+++ b/lib/Transforms/IPO/PartialInlining.cpp
@@ -17,7 +17,9 @@
#include "llvm/Analysis/BlockFrequencyInfo.h"
#include "llvm/Analysis/BranchProbabilityInfo.h"
#include "llvm/Analysis/LoopInfo.h"
+#include "llvm/Analysis/OptimizationDiagnosticInfo.h"
#include "llvm/IR/CFG.h"
+#include "llvm/IR/DiagnosticInfo.h"
#include "llvm/IR/Dominators.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
@@ -27,10 +29,21 @@
#include "llvm/Transforms/Utils/CodeExtractor.h"
using namespace llvm;
-#define DEBUG_TYPE "partialinlining"
+#define DEBUG_TYPE "partial-inlining"
STATISTIC(NumPartialInlined, "Number of functions partially inlined");
+// Command line option to disable partial-inlining. The default is false:
+static cl::opt<bool>
+ DisablePartialInlining("disable-partial-inlining", cl::init(false),
+ cl::Hidden, cl::desc("Disable partial ininling"));
+
+// Command line option to set the maximum number of partial inlining allowed
+// for the module. The default value of -1 means no limit.
+static cl::opt<int> MaxNumPartialInlining(
+ "max-partial-inlining", cl::init(-1), cl::Hidden, cl::ZeroOrMore,
+ cl::desc("Max number of partial inlining. The default is unlimited"));
+
namespace {
struct PartialInlinerImpl {
PartialInlinerImpl(InlineFunctionInfo IFI) : IFI(std::move(IFI)) {}
@@ -39,6 +52,12 @@ struct PartialInlinerImpl {
private:
InlineFunctionInfo IFI;
+ int NumPartialInlining = 0;
+
+ bool IsLimitReached() {
+ return (MaxNumPartialInlining != -1 &&
+ NumPartialInlining >= MaxNumPartialInlining);
+ }
};
struct PartialInlinerLegacyPass : public ModulePass {
static char ID; // Pass identification, replacement for typeid
@@ -66,6 +85,9 @@ struct PartialInlinerLegacyPass : public ModulePass {
Function *PartialInlinerImpl::unswitchFunction(Function *F) {
// First, verify that this function is an unswitching candidate...
+ if (F->hasAddressTaken())
+ return nullptr;
+
BasicBlock *EntryBlock = &F->front();
BranchInst *BR = dyn_cast<BranchInst>(EntryBlock->getTerminator());
if (!BR || BR->isUnconditional())
@@ -149,11 +171,29 @@ Function *PartialInlinerImpl::unswitchFunction(Function *F) {
// Inline the top-level if test into all callers.
std::vector<User *> Users(DuplicateFunction->user_begin(),
DuplicateFunction->user_end());
- for (User *User : Users)
+
+ for (User *User : Users) {
+ CallSite CS;
if (CallInst *CI = dyn_cast<CallInst>(User))
- InlineFunction(CI, IFI);
+ CS = CallSite(CI);
else if (InvokeInst *II = dyn_cast<InvokeInst>(User))
- InlineFunction(II, IFI);
+ CS = CallSite(II);
+ else
+ llvm_unreachable("All uses must be calls");
+
+ if (IsLimitReached())
+ continue;
+ NumPartialInlining++;
+
+ OptimizationRemarkEmitter ORE(CS.getCaller());
+ DebugLoc DLoc = CS.getInstruction()->getDebugLoc();
+ BasicBlock *Block = CS.getParent();
+ ORE.emit(OptimizationRemark(DEBUG_TYPE, "PartiallyInlined", DLoc, Block)
+ << ore::NV("Callee", F) << " partially inlined into "
+ << ore::NV("Caller", CS.getCaller()));
+
+ InlineFunction(CS, IFI);
+ }
// Ditch the duplicate, since we're done with it, and rewrite all remaining
// users (function pointers, etc.) back to the original function.
@@ -166,6 +206,9 @@ Function *PartialInlinerImpl::unswitchFunction(Function *F) {
}
bool PartialInlinerImpl::run(Module &M) {
+ if (DisablePartialInlining)
+ return false;
+
std::vector<Function *> Worklist;
Worklist.reserve(M.size());
for (Function &F : M)
diff --git a/lib/Transforms/IPO/PassManagerBuilder.cpp b/lib/Transforms/IPO/PassManagerBuilder.cpp
index f11b58d1adc4..0d5910ebbfcc 100644
--- a/lib/Transforms/IPO/PassManagerBuilder.cpp
+++ b/lib/Transforms/IPO/PassManagerBuilder.cpp
@@ -282,6 +282,12 @@ void PassManagerBuilder::addPGOInstrPasses(legacy::PassManagerBase &MPM) {
}
if (!PGOInstrUse.empty())
MPM.add(createPGOInstrumentationUseLegacyPass(PGOInstrUse));
+ // Indirect call promotion that promotes intra-module targets only.
+ // For ThinLTO this is done earlier due to interactions with globalopt
+ // for imported functions. We don't run this at -O0.
+ if (OptLevel > 0)
+ MPM.add(
+ createPGOIndirectCallPromotionLegacyPass(false, !PGOSampleUse.empty()));
}
void PassManagerBuilder::addFunctionSimplificationPasses(
legacy::PassManagerBase &MPM) {
@@ -414,11 +420,14 @@ void PassManagerBuilder::populateModulePassManager(
else if (!GlobalExtensions->empty() || !Extensions.empty())
MPM.add(createBarrierNoopPass());
+ addExtensionsToPM(EP_EnabledOnOptLevel0, MPM);
+
+ // Rename anon globals to be able to export them in the summary.
+ // This has to be done after we add the extensions to the pass manager
+ // as there could be passes (e.g. Adddress sanitizer) which introduce
+ // new unnamed globals.
if (PrepareForThinLTO)
- // Rename anon globals to be able to export them in the summary.
MPM.add(createNameAnonGlobalPass());
-
- addExtensionsToPM(EP_EnabledOnOptLevel0, MPM);
return;
}
@@ -468,16 +477,10 @@ void PassManagerBuilder::populateModulePassManager(
// For SamplePGO in ThinLTO compile phase, we do not want to do indirect
// call promotion as it will change the CFG too much to make the 2nd
// profile annotation in backend more difficult.
- if (!PerformThinLTO && !PrepareForThinLTOUsingPGOSampleProfile) {
- /// PGO instrumentation is added during the compile phase for ThinLTO, do
- /// not run it a second time
+ // PGO instrumentation is added during the compile phase for ThinLTO, do
+ // not run it a second time
+ if (!PerformThinLTO && !PrepareForThinLTOUsingPGOSampleProfile)
addPGOInstrPasses(MPM);
- // Indirect call promotion that promotes intra-module targets only.
- // For ThinLTO this is done earlier due to interactions with globalopt
- // for imported functions.
- MPM.add(
- createPGOIndirectCallPromotionLegacyPass(false, !PGOSampleUse.empty()));
- }
if (EnableNonLTOGlobalsModRef)
// We add a module alias analysis pass here. In part due to bugs in the
@@ -677,6 +680,11 @@ void PassManagerBuilder::populateModulePassManager(
MPM.add(createLoopSinkPass());
// Get rid of LCSSA nodes.
MPM.add(createInstructionSimplifierPass());
+
+ // LoopSink (and other loop passes since the last simplifyCFG) might have
+ // resulted in single-entry-single-exit or empty blocks. Clean up the CFG.
+ MPM.add(createCFGSimplificationPass());
+
addExtensionsToPM(EP_OptimizerLast, MPM);
}
diff --git a/lib/Transforms/InstCombine/InstCombineAddSub.cpp b/lib/Transforms/InstCombine/InstCombineAddSub.cpp
index e30a4bafb9b0..030461004f56 100644
--- a/lib/Transforms/InstCombine/InstCombineAddSub.cpp
+++ b/lib/Transforms/InstCombine/InstCombineAddSub.cpp
@@ -17,6 +17,7 @@
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/GetElementPtrTypeIterator.h"
#include "llvm/IR/PatternMatch.h"
+#include "llvm/Support/KnownBits.h"
using namespace llvm;
using namespace PatternMatch;
@@ -794,6 +795,11 @@ unsigned FAddCombine::calcInstrNumber(const AddendVect &Opnds) {
if (Opnd->isConstant())
continue;
+ // The constant check above is really for a few special constant
+ // coefficients.
+ if (isa<UndefValue>(Opnd->getSymVal()))
+ continue;
+
const FAddendCoef &CE = Opnd->getCoef();
if (CE.isMinusOne() || CE.isMinusTwo())
NegOpndNum++;
@@ -894,24 +900,22 @@ bool InstCombiner::WillNotOverflowSignedAdd(Value *LHS, Value *RHS,
return true;
unsigned BitWidth = LHS->getType()->getScalarSizeInBits();
- APInt LHSKnownZero(BitWidth, 0);
- APInt LHSKnownOne(BitWidth, 0);
- computeKnownBits(LHS, LHSKnownZero, LHSKnownOne, 0, &CxtI);
+ KnownBits LHSKnown(BitWidth);
+ computeKnownBits(LHS, LHSKnown, 0, &CxtI);
- APInt RHSKnownZero(BitWidth, 0);
- APInt RHSKnownOne(BitWidth, 0);
- computeKnownBits(RHS, RHSKnownZero, RHSKnownOne, 0, &CxtI);
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(RHS, RHSKnown, 0, &CxtI);
// Addition of two 2's complement numbers having opposite signs will never
// overflow.
- if ((LHSKnownOne[BitWidth - 1] && RHSKnownZero[BitWidth - 1]) ||
- (LHSKnownZero[BitWidth - 1] && RHSKnownOne[BitWidth - 1]))
+ if ((LHSKnown.One[BitWidth - 1] && RHSKnown.Zero[BitWidth - 1]) ||
+ (LHSKnown.Zero[BitWidth - 1] && RHSKnown.One[BitWidth - 1]))
return true;
// Check if carry bit of addition will not cause overflow.
- if (checkRippleForAdd(LHSKnownZero, RHSKnownZero))
+ if (checkRippleForAdd(LHSKnown.Zero, RHSKnown.Zero))
return true;
- if (checkRippleForAdd(RHSKnownZero, LHSKnownZero))
+ if (checkRippleForAdd(RHSKnown.Zero, LHSKnown.Zero))
return true;
return false;
@@ -931,18 +935,16 @@ bool InstCombiner::WillNotOverflowSignedSub(Value *LHS, Value *RHS,
return true;
unsigned BitWidth = LHS->getType()->getScalarSizeInBits();
- APInt LHSKnownZero(BitWidth, 0);
- APInt LHSKnownOne(BitWidth, 0);
- computeKnownBits(LHS, LHSKnownZero, LHSKnownOne, 0, &CxtI);
+ KnownBits LHSKnown(BitWidth);
+ computeKnownBits(LHS, LHSKnown, 0, &CxtI);
- APInt RHSKnownZero(BitWidth, 0);
- APInt RHSKnownOne(BitWidth, 0);
- computeKnownBits(RHS, RHSKnownZero, RHSKnownOne, 0, &CxtI);
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(RHS, RHSKnown, 0, &CxtI);
// Subtraction of two 2's complement numbers having identical signs will
// never overflow.
- if ((LHSKnownOne[BitWidth - 1] && RHSKnownOne[BitWidth - 1]) ||
- (LHSKnownZero[BitWidth - 1] && RHSKnownZero[BitWidth - 1]))
+ if ((LHSKnown.One[BitWidth - 1] && RHSKnown.One[BitWidth - 1]) ||
+ (LHSKnown.Zero[BitWidth - 1] && RHSKnown.Zero[BitWidth - 1]))
return true;
// TODO: implement logic similar to checkRippleForAdd
@@ -1113,10 +1115,9 @@ Instruction *InstCombiner::visitAdd(BinaryOperator &I) {
// a sub and fuse this add with it.
if (LHS->hasOneUse() && (XorRHS->getValue()+1).isPowerOf2()) {
IntegerType *IT = cast<IntegerType>(I.getType());
- APInt LHSKnownOne(IT->getBitWidth(), 0);
- APInt LHSKnownZero(IT->getBitWidth(), 0);
- computeKnownBits(XorLHS, LHSKnownZero, LHSKnownOne, 0, &I);
- if ((XorRHS->getValue() | LHSKnownZero).isAllOnesValue())
+ KnownBits LHSKnown(IT->getBitWidth());
+ computeKnownBits(XorLHS, LHSKnown, 0, &I);
+ if ((XorRHS->getValue() | LHSKnown.Zero).isAllOnesValue())
return BinaryOperator::CreateSub(ConstantExpr::getAdd(XorRHS, CI),
XorLHS);
}
@@ -1385,39 +1386,58 @@ Instruction *InstCombiner::visitFAdd(BinaryOperator &I) {
// integer add followed by a promotion.
if (SIToFPInst *LHSConv = dyn_cast<SIToFPInst>(LHS)) {
Value *LHSIntVal = LHSConv->getOperand(0);
+ Type *FPType = LHSConv->getType();
+
+ // TODO: This check is overly conservative. In many cases known bits
+ // analysis can tell us that the result of the addition has less significant
+ // bits than the integer type can hold.
+ auto IsValidPromotion = [](Type *FTy, Type *ITy) {
+ Type *FScalarTy = FTy->getScalarType();
+ Type *IScalarTy = ITy->getScalarType();
+
+ // Do we have enough bits in the significand to represent the result of
+ // the integer addition?
+ unsigned MaxRepresentableBits =
+ APFloat::semanticsPrecision(FScalarTy->getFltSemantics());
+ return IScalarTy->getIntegerBitWidth() <= MaxRepresentableBits;
+ };
// (fadd double (sitofp x), fpcst) --> (sitofp (add int x, intcst))
// ... if the constant fits in the integer value. This is useful for things
// like (double)(x & 1234) + 4.0 -> (double)((X & 1234)+4) which no longer
// requires a constant pool load, and generally allows the add to be better
// instcombined.
- if (ConstantFP *CFP = dyn_cast<ConstantFP>(RHS)) {
- Constant *CI =
- ConstantExpr::getFPToSI(CFP, LHSIntVal->getType());
- if (LHSConv->hasOneUse() &&
- ConstantExpr::getSIToFP(CI, I.getType()) == CFP &&
- WillNotOverflowSignedAdd(LHSIntVal, CI, I)) {
- // Insert the new integer add.
- Value *NewAdd = Builder->CreateNSWAdd(LHSIntVal,
- CI, "addconv");
- return new SIToFPInst(NewAdd, I.getType());
+ if (ConstantFP *CFP = dyn_cast<ConstantFP>(RHS))
+ if (IsValidPromotion(FPType, LHSIntVal->getType())) {
+ Constant *CI =
+ ConstantExpr::getFPToSI(CFP, LHSIntVal->getType());
+ if (LHSConv->hasOneUse() &&
+ ConstantExpr::getSIToFP(CI, I.getType()) == CFP &&
+ WillNotOverflowSignedAdd(LHSIntVal, CI, I)) {
+ // Insert the new integer add.
+ Value *NewAdd = Builder->CreateNSWAdd(LHSIntVal,
+ CI, "addconv");
+ return new SIToFPInst(NewAdd, I.getType());
+ }
}
- }
// (fadd double (sitofp x), (sitofp y)) --> (sitofp (add int x, y))
if (SIToFPInst *RHSConv = dyn_cast<SIToFPInst>(RHS)) {
Value *RHSIntVal = RHSConv->getOperand(0);
-
- // Only do this if x/y have the same type, if at least one of them has a
- // single use (so we don't increase the number of int->fp conversions),
- // and if the integer add will not overflow.
- if (LHSIntVal->getType() == RHSIntVal->getType() &&
- (LHSConv->hasOneUse() || RHSConv->hasOneUse()) &&
- WillNotOverflowSignedAdd(LHSIntVal, RHSIntVal, I)) {
- // Insert the new integer add.
- Value *NewAdd = Builder->CreateNSWAdd(LHSIntVal,
- RHSIntVal, "addconv");
- return new SIToFPInst(NewAdd, I.getType());
+ // It's enough to check LHS types only because we require int types to
+ // be the same for this transform.
+ if (IsValidPromotion(FPType, LHSIntVal->getType())) {
+ // Only do this if x/y have the same type, if at least one of them has a
+ // single use (so we don't increase the number of int->fp conversions),
+ // and if the integer add will not overflow.
+ if (LHSIntVal->getType() == RHSIntVal->getType() &&
+ (LHSConv->hasOneUse() || RHSConv->hasOneUse()) &&
+ WillNotOverflowSignedAdd(LHSIntVal, RHSIntVal, I)) {
+ // Insert the new integer add.
+ Value *NewAdd = Builder->CreateNSWAdd(LHSIntVal,
+ RHSIntVal, "addconv");
+ return new SIToFPInst(NewAdd, I.getType());
+ }
}
}
}
@@ -1617,10 +1637,9 @@ Instruction *InstCombiner::visitSub(BinaryOperator &I) {
// Turn this into a xor if LHS is 2^n-1 and the remaining bits are known
// zero.
if (Op0C->isMask()) {
- APInt RHSKnownZero(BitWidth, 0);
- APInt RHSKnownOne(BitWidth, 0);
- computeKnownBits(Op1, RHSKnownZero, RHSKnownOne, 0, &I);
- if ((*Op0C | RHSKnownZero).isAllOnesValue())
+ KnownBits RHSKnown(BitWidth);
+ computeKnownBits(Op1, RHSKnown, 0, &I);
+ if ((*Op0C | RHSKnown.Zero).isAllOnesValue())
return BinaryOperator::CreateXor(Op1, Op0);
}
}
diff --git a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
index 3a98e8937bda..a97b5a9ec0bb 100644
--- a/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
+++ b/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
@@ -906,15 +906,6 @@ Value *InstCombiner::FoldAndOfICmps(ICmpInst *LHS, ICmpInst *RHS) {
switch (PredL) {
default:
llvm_unreachable("Unknown integer condition code!");
- case ICmpInst::ICMP_EQ:
- switch (PredR) {
- default:
- llvm_unreachable("Unknown integer condition code!");
- case ICmpInst::ICMP_NE: // (X == 13 & X != 15) -> X == 13
- case ICmpInst::ICMP_ULT: // (X == 13 & X < 15) -> X == 13
- case ICmpInst::ICMP_SLT: // (X == 13 & X < 15) -> X == 13
- return LHS;
- }
case ICmpInst::ICMP_NE:
switch (PredR) {
default:
@@ -930,43 +921,15 @@ Value *InstCombiner::FoldAndOfICmps(ICmpInst *LHS, ICmpInst *RHS) {
if (LHSC == SubOne(RHSC)) // (X != 13 & X s< 14) -> X < 13
return Builder->CreateICmpSLT(LHS0, LHSC);
break; // (X != 13 & X s< 15) -> no change
- case ICmpInst::ICMP_EQ: // (X != 13 & X == 15) -> X == 15
- case ICmpInst::ICMP_UGT: // (X != 13 & X u> 15) -> X u> 15
- case ICmpInst::ICMP_SGT: // (X != 13 & X s> 15) -> X s> 15
- return RHS;
case ICmpInst::ICMP_NE:
// Potential folds for this case should already be handled.
break;
}
break;
- case ICmpInst::ICMP_ULT:
- switch (PredR) {
- default:
- llvm_unreachable("Unknown integer condition code!");
- case ICmpInst::ICMP_EQ: // (X u< 13 & X == 15) -> false
- case ICmpInst::ICMP_UGT: // (X u< 13 & X u> 15) -> false
- return ConstantInt::get(CmpInst::makeCmpResultType(LHS->getType()), 0);
- case ICmpInst::ICMP_NE: // (X u< 13 & X != 15) -> X u< 13
- case ICmpInst::ICMP_ULT: // (X u< 13 & X u< 15) -> X u< 13
- return LHS;
- }
- break;
- case ICmpInst::ICMP_SLT:
- switch (PredR) {
- default:
- llvm_unreachable("Unknown integer condition code!");
- case ICmpInst::ICMP_NE: // (X s< 13 & X != 15) -> X < 13
- case ICmpInst::ICMP_SLT: // (X s< 13 & X s< 15) -> X < 13
- return LHS;
- }
- break;
case ICmpInst::ICMP_UGT:
switch (PredR) {
default:
llvm_unreachable("Unknown integer condition code!");
- case ICmpInst::ICMP_EQ: // (X u> 13 & X == 15) -> X == 15
- case ICmpInst::ICMP_UGT: // (X u> 13 & X u> 15) -> X u> 15
- return RHS;
case ICmpInst::ICMP_NE:
if (RHSC == AddOne(LHSC)) // (X u> 13 & X != 14) -> X u> 14
return Builder->CreateICmp(PredL, LHS0, RHSC);
@@ -980,9 +943,6 @@ Value *InstCombiner::FoldAndOfICmps(ICmpInst *LHS, ICmpInst *RHS) {
switch (PredR) {
default:
llvm_unreachable("Unknown integer condition code!");
- case ICmpInst::ICMP_EQ: // (X s> 13 & X == 15) -> X == 15
- case ICmpInst::ICMP_SGT: // (X s> 13 & X s> 15) -> X s> 15
- return RHS;
case ICmpInst::ICMP_NE:
if (RHSC == AddOne(LHSC)) // (X s> 13 & X != 14) -> X s> 14
return Builder->CreateICmp(PredL, LHS0, RHSC);
@@ -1234,6 +1194,56 @@ static Instruction *foldBoolSextMaskToSelect(BinaryOperator &I) {
return nullptr;
}
+static Instruction *foldAndToXor(BinaryOperator &I,
+ InstCombiner::BuilderTy &Builder) {
+ assert(I.getOpcode() == Instruction::And);
+ Value *Op0 = I.getOperand(0);
+ Value *Op1 = I.getOperand(1);
+ Value *A, *B;
+
+ // Operand complexity canonicalization guarantees that the 'or' is Op0.
+ // (A | B) & ~(A & B) --> A ^ B
+ // (A | B) & ~(B & A) --> A ^ B
+ if (match(Op0, m_Or(m_Value(A), m_Value(B))) &&
+ match(Op1, m_Not(m_c_And(m_Specific(A), m_Specific(B)))))
+ return BinaryOperator::CreateXor(A, B);
+
+ // (A | ~B) & (~A | B) --> ~(A ^ B)
+ // (A | ~B) & (B | ~A) --> ~(A ^ B)
+ // (~B | A) & (~A | B) --> ~(A ^ B)
+ // (~B | A) & (B | ~A) --> ~(A ^ B)
+ if (match(Op0, m_c_Or(m_Value(A), m_Not(m_Value(B)))) &&
+ match(Op1, m_c_Or(m_Not(m_Specific(A)), m_Value(B))))
+ return BinaryOperator::CreateNot(Builder.CreateXor(A, B));
+
+ return nullptr;
+}
+
+static Instruction *foldOrToXor(BinaryOperator &I,
+ InstCombiner::BuilderTy &Builder) {
+ assert(I.getOpcode() == Instruction::Or);
+ Value *Op0 = I.getOperand(0);
+ Value *Op1 = I.getOperand(1);
+ Value *A, *B;
+
+ // Operand complexity canonicalization guarantees that the 'and' is Op0.
+ // (A & B) | ~(A | B) --> ~(A ^ B)
+ // (A & B) | ~(B | A) --> ~(A ^ B)
+ if (match(Op0, m_And(m_Value(A), m_Value(B))) &&
+ match(Op1, m_Not(m_c_Or(m_Specific(A), m_Specific(B)))))
+ return BinaryOperator::CreateNot(Builder.CreateXor(A, B));
+
+ // (A & ~B) | (~A & B) --> A ^ B
+ // (A & ~B) | (B & ~A) --> A ^ B
+ // (~B & A) | (~A & B) --> A ^ B
+ // (~B & A) | (B & ~A) --> A ^ B
+ if (match(Op0, m_c_And(m_Value(A), m_Not(m_Value(B)))) &&
+ match(Op1, m_c_And(m_Not(m_Specific(A)), m_Specific(B))))
+ return BinaryOperator::CreateXor(A, B);
+
+ return nullptr;
+}
+
// FIXME: We use commutative matchers (m_c_*) for some, but not all, matches
// here. We should standardize that construct where it is needed or choose some
// other way to ensure that commutated variants of patterns are not missed.
@@ -1247,15 +1257,19 @@ Instruction *InstCombiner::visitAnd(BinaryOperator &I) {
if (Value *V = SimplifyAndInst(Op0, Op1, DL, &TLI, &DT, &AC))
return replaceInstUsesWith(I, V);
- // (A|B)&(A|C) -> A|(B&C) etc
- if (Value *V = SimplifyUsingDistributiveLaws(I))
- return replaceInstUsesWith(I, V);
-
// See if we can simplify any instructions used by the instruction whose sole
// purpose is to compute bits we don't care about.
if (SimplifyDemandedInstructionBits(I))
return &I;
+ // Do this before using distributive laws to catch simple and/or/not patterns.
+ if (Instruction *Xor = foldAndToXor(I, *Builder))
+ return Xor;
+
+ // (A|B)&(A|C) -> A|(B&C) etc
+ if (Value *V = SimplifyUsingDistributiveLaws(I))
+ return replaceInstUsesWith(I, V);
+
if (Value *V = SimplifyBSwap(I))
return replaceInstUsesWith(I, V);
@@ -1366,19 +1380,7 @@ Instruction *InstCombiner::visitAnd(BinaryOperator &I) {
return DeMorgan;
{
- Value *A = nullptr, *B = nullptr, *C = nullptr, *D = nullptr;
- // (A|B) & ~(A&B) -> A^B
- if (match(Op0, m_Or(m_Value(A), m_Value(B))) &&
- match(Op1, m_Not(m_And(m_Value(C), m_Value(D)))) &&
- ((A == C && B == D) || (A == D && B == C)))
- return BinaryOperator::CreateXor(A, B);
-
- // ~(A&B) & (A|B) -> A^B
- if (match(Op1, m_Or(m_Value(A), m_Value(B))) &&
- match(Op0, m_Not(m_And(m_Value(C), m_Value(D)))) &&
- ((A == C && B == D) || (A == D && B == C)))
- return BinaryOperator::CreateXor(A, B);
-
+ Value *A = nullptr, *B = nullptr, *C = nullptr;
// A&(A^B) => A & ~B
{
Value *tmpOp0 = Op0;
@@ -1405,11 +1407,9 @@ Instruction *InstCombiner::visitAnd(BinaryOperator &I) {
}
// (A&((~A)|B)) -> A&B
- if (match(Op0, m_Or(m_Not(m_Specific(Op1)), m_Value(A))) ||
- match(Op0, m_Or(m_Value(A), m_Not(m_Specific(Op1)))))
+ if (match(Op0, m_c_Or(m_Not(m_Specific(Op1)), m_Value(A))))
return BinaryOperator::CreateAnd(A, Op1);
- if (match(Op1, m_Or(m_Not(m_Specific(Op0)), m_Value(A))) ||
- match(Op1, m_Or(m_Value(A), m_Not(m_Specific(Op0)))))
+ if (match(Op1, m_c_Or(m_Not(m_Specific(Op0)), m_Value(A))))
return BinaryOperator::CreateAnd(A, Op0);
// (A ^ B) & ((B ^ C) ^ A) -> (A ^ B) & ~C
@@ -1425,13 +1425,18 @@ Instruction *InstCombiner::visitAnd(BinaryOperator &I) {
return BinaryOperator::CreateAnd(Op1, Builder->CreateNot(C));
// (A | B) & ((~A) ^ B) -> (A & B)
- if (match(Op0, m_Or(m_Value(A), m_Value(B))) &&
- match(Op1, m_Xor(m_Not(m_Specific(A)), m_Specific(B))))
+ // (A | B) & (B ^ (~A)) -> (A & B)
+ // (B | A) & ((~A) ^ B) -> (A & B)
+ // (B | A) & (B ^ (~A)) -> (A & B)
+ if (match(Op1, m_c_Xor(m_Not(m_Value(A)), m_Value(B))) &&
+ match(Op0, m_c_Or(m_Specific(A), m_Specific(B))))
return BinaryOperator::CreateAnd(A, B);
// ((~A) ^ B) & (A | B) -> (A & B)
// ((~A) ^ B) & (B | A) -> (A & B)
- if (match(Op0, m_Xor(m_Not(m_Value(A)), m_Value(B))) &&
+ // (B ^ (~A)) & (A | B) -> (A & B)
+ // (B ^ (~A)) & (B | A) -> (A & B)
+ if (match(Op0, m_c_Xor(m_Not(m_Value(A)), m_Value(B))) &&
match(Op1, m_c_Or(m_Specific(A), m_Specific(B))))
return BinaryOperator::CreateAnd(A, B);
}
@@ -2037,15 +2042,19 @@ Instruction *InstCombiner::visitOr(BinaryOperator &I) {
if (Value *V = SimplifyOrInst(Op0, Op1, DL, &TLI, &DT, &AC))
return replaceInstUsesWith(I, V);
- // (A&B)|(A&C) -> A&(B|C) etc
- if (Value *V = SimplifyUsingDistributiveLaws(I))
- return replaceInstUsesWith(I, V);
-
// See if we can simplify any instructions used by the instruction whose sole
// purpose is to compute bits we don't care about.
if (SimplifyDemandedInstructionBits(I))
return &I;
+ // Do this before using distributive laws to catch simple and/or/not patterns.
+ if (Instruction *Xor = foldOrToXor(I, *Builder))
+ return Xor;
+
+ // (A&B)|(A&C) -> A&(B|C) etc
+ if (Value *V = SimplifyUsingDistributiveLaws(I))
+ return replaceInstUsesWith(I, V);
+
if (Value *V = SimplifyBSwap(I))
return replaceInstUsesWith(I, V);
@@ -2105,19 +2114,6 @@ Instruction *InstCombiner::visitOr(BinaryOperator &I) {
match(Op0, m_c_And(m_Specific(A), m_Value(B))))
return BinaryOperator::CreateOr(Op1, B);
- // (A & ~B) | (A ^ B) -> (A ^ B)
- // (~B & A) | (A ^ B) -> (A ^ B)
- if (match(Op0, m_c_And(m_Value(A), m_Not(m_Value(B)))) &&
- match(Op1, m_Xor(m_Specific(A), m_Specific(B))))
- return BinaryOperator::CreateXor(A, B);
-
- // Commute the 'or' operands.
- // (A ^ B) | (A & ~B) -> (A ^ B)
- // (A ^ B) | (~B & A) -> (A ^ B)
- if (match(Op1, m_c_And(m_Value(A), m_Not(m_Value(B)))) &&
- match(Op0, m_Xor(m_Specific(A), m_Specific(B))))
- return BinaryOperator::CreateXor(A, B);
-
// (A & C)|(B & D)
Value *C = nullptr, *D = nullptr;
if (match(Op0, m_And(m_Value(A), m_Value(C))) &&
@@ -2182,23 +2178,6 @@ Instruction *InstCombiner::visitOr(BinaryOperator &I) {
return replaceInstUsesWith(I, V);
}
- // ((A&~B)|(~A&B)) -> A^B
- if ((match(C, m_Not(m_Specific(D))) &&
- match(B, m_Not(m_Specific(A)))))
- return BinaryOperator::CreateXor(A, D);
- // ((~B&A)|(~A&B)) -> A^B
- if ((match(A, m_Not(m_Specific(D))) &&
- match(B, m_Not(m_Specific(C)))))
- return BinaryOperator::CreateXor(C, D);
- // ((A&~B)|(B&~A)) -> A^B
- if ((match(C, m_Not(m_Specific(B))) &&
- match(D, m_Not(m_Specific(A)))))
- return BinaryOperator::CreateXor(A, B);
- // ((~B&A)|(B&~A)) -> A^B
- if ((match(A, m_Not(m_Specific(B))) &&
- match(D, m_Not(m_Specific(C)))))
- return BinaryOperator::CreateXor(C, B);
-
// ((A|B)&1)|(B&-2) -> (A&1) | B
if (match(A, m_Or(m_Value(V1), m_Specific(B))) ||
match(A, m_Or(m_Specific(B), m_Value(V1)))) {
@@ -2374,6 +2353,58 @@ Instruction *InstCombiner::visitOr(BinaryOperator &I) {
return Changed ? &I : nullptr;
}
+/// A ^ B can be specified using other logic ops in a variety of patterns. We
+/// can fold these early and efficiently by morphing an existing instruction.
+static Instruction *foldXorToXor(BinaryOperator &I) {
+ assert(I.getOpcode() == Instruction::Xor);
+ Value *Op0 = I.getOperand(0);
+ Value *Op1 = I.getOperand(1);
+ Value *A, *B;
+
+ // There are 4 commuted variants for each of the basic patterns.
+
+ // (A & B) ^ (A | B) -> A ^ B
+ // (A & B) ^ (B | A) -> A ^ B
+ // (A | B) ^ (A & B) -> A ^ B
+ // (A | B) ^ (B & A) -> A ^ B
+ if ((match(Op0, m_And(m_Value(A), m_Value(B))) &&
+ match(Op1, m_c_Or(m_Specific(A), m_Specific(B)))) ||
+ (match(Op0, m_Or(m_Value(A), m_Value(B))) &&
+ match(Op1, m_c_And(m_Specific(A), m_Specific(B))))) {
+ I.setOperand(0, A);
+ I.setOperand(1, B);
+ return &I;
+ }
+
+ // (A | ~B) ^ (~A | B) -> A ^ B
+ // (~B | A) ^ (~A | B) -> A ^ B
+ // (~A | B) ^ (A | ~B) -> A ^ B
+ // (B | ~A) ^ (A | ~B) -> A ^ B
+ if ((match(Op0, m_c_Or(m_Value(A), m_Not(m_Value(B)))) &&
+ match(Op1, m_Or(m_Not(m_Specific(A)), m_Specific(B)))) ||
+ (match(Op0, m_c_Or(m_Not(m_Value(A)), m_Value(B))) &&
+ match(Op1, m_Or(m_Specific(A), m_Not(m_Specific(B)))))) {
+ I.setOperand(0, A);
+ I.setOperand(1, B);
+ return &I;
+ }
+
+ // (A & ~B) ^ (~A & B) -> A ^ B
+ // (~B & A) ^ (~A & B) -> A ^ B
+ // (~A & B) ^ (A & ~B) -> A ^ B
+ // (B & ~A) ^ (A & ~B) -> A ^ B
+ if ((match(Op0, m_c_And(m_Value(A), m_Not(m_Value(B)))) &&
+ match(Op1, m_And(m_Not(m_Specific(A)), m_Specific(B)))) ||
+ (match(Op0, m_c_And(m_Not(m_Value(A)), m_Value(B))) &&
+ match(Op1, m_And(m_Specific(A), m_Not(m_Specific(B)))))) {
+ I.setOperand(0, A);
+ I.setOperand(1, B);
+ return &I;
+ }
+
+ return nullptr;
+}
+
// FIXME: We use commutative matchers (m_c_*) for some, but not all, matches
// here. We should standardize that construct where it is needed or choose some
// other way to ensure that commutated variants of patterns are not missed.
@@ -2387,6 +2418,9 @@ Instruction *InstCombiner::visitXor(BinaryOperator &I) {
if (Value *V = SimplifyXorInst(Op0, Op1, DL, &TLI, &DT, &AC))
return replaceInstUsesWith(I, V);
+ if (Instruction *NewXor = foldXorToXor(I))
+ return NewXor;
+
// (A&B)^(A&C) -> A&(B^C) etc
if (Value *V = SimplifyUsingDistributiveLaws(I))
return replaceInstUsesWith(I, V);
@@ -2399,44 +2433,39 @@ Instruction *InstCombiner::visitXor(BinaryOperator &I) {
if (Value *V = SimplifyBSwap(I))
return replaceInstUsesWith(I, V);
- // Is this a ~ operation?
- if (Value *NotOp = dyn_castNotVal(&I)) {
- if (BinaryOperator *Op0I = dyn_cast<BinaryOperator>(NotOp)) {
- if (Op0I->getOpcode() == Instruction::And ||
- Op0I->getOpcode() == Instruction::Or) {
- // ~(~X & Y) --> (X | ~Y) - De Morgan's Law
- // ~(~X | Y) === (X & ~Y) - De Morgan's Law
- if (dyn_castNotVal(Op0I->getOperand(1)))
- Op0I->swapOperands();
- if (Value *Op0NotVal = dyn_castNotVal(Op0I->getOperand(0))) {
- Value *NotY =
- Builder->CreateNot(Op0I->getOperand(1),
- Op0I->getOperand(1)->getName()+".not");
- if (Op0I->getOpcode() == Instruction::And)
- return BinaryOperator::CreateOr(Op0NotVal, NotY);
- return BinaryOperator::CreateAnd(Op0NotVal, NotY);
- }
-
- // ~(X & Y) --> (~X | ~Y) - De Morgan's Law
- // ~(X | Y) === (~X & ~Y) - De Morgan's Law
- if (IsFreeToInvert(Op0I->getOperand(0),
- Op0I->getOperand(0)->hasOneUse()) &&
- IsFreeToInvert(Op0I->getOperand(1),
- Op0I->getOperand(1)->hasOneUse())) {
- Value *NotX =
- Builder->CreateNot(Op0I->getOperand(0), "notlhs");
- Value *NotY =
- Builder->CreateNot(Op0I->getOperand(1), "notrhs");
- if (Op0I->getOpcode() == Instruction::And)
- return BinaryOperator::CreateOr(NotX, NotY);
- return BinaryOperator::CreateAnd(NotX, NotY);
- }
+ // Is this a 'not' (~) fed by a binary operator?
+ BinaryOperator *NotOp;
+ if (match(&I, m_Not(m_BinOp(NotOp)))) {
+ if (NotOp->getOpcode() == Instruction::And ||
+ NotOp->getOpcode() == Instruction::Or) {
+ // ~(~X & Y) --> (X | ~Y) - De Morgan's Law
+ // ~(~X | Y) === (X & ~Y) - De Morgan's Law
+ if (dyn_castNotVal(NotOp->getOperand(1)))
+ NotOp->swapOperands();
+ if (Value *Op0NotVal = dyn_castNotVal(NotOp->getOperand(0))) {
+ Value *NotY = Builder->CreateNot(
+ NotOp->getOperand(1), NotOp->getOperand(1)->getName() + ".not");
+ if (NotOp->getOpcode() == Instruction::And)
+ return BinaryOperator::CreateOr(Op0NotVal, NotY);
+ return BinaryOperator::CreateAnd(Op0NotVal, NotY);
+ }
- } else if (Op0I->getOpcode() == Instruction::AShr) {
- // ~(~X >>s Y) --> (X >>s Y)
- if (Value *Op0NotVal = dyn_castNotVal(Op0I->getOperand(0)))
- return BinaryOperator::CreateAShr(Op0NotVal, Op0I->getOperand(1));
+ // ~(X & Y) --> (~X | ~Y) - De Morgan's Law
+ // ~(X | Y) === (~X & ~Y) - De Morgan's Law
+ if (IsFreeToInvert(NotOp->getOperand(0),
+ NotOp->getOperand(0)->hasOneUse()) &&
+ IsFreeToInvert(NotOp->getOperand(1),
+ NotOp->getOperand(1)->hasOneUse())) {
+ Value *NotX = Builder->CreateNot(NotOp->getOperand(0), "notlhs");
+ Value *NotY = Builder->CreateNot(NotOp->getOperand(1), "notrhs");
+ if (NotOp->getOpcode() == Instruction::And)
+ return BinaryOperator::CreateOr(NotX, NotY);
+ return BinaryOperator::CreateAnd(NotX, NotY);
}
+ } else if (NotOp->getOpcode() == Instruction::AShr) {
+ // ~(~X >>s Y) --> (X >>s Y)
+ if (Value *Op0NotVal = dyn_castNotVal(NotOp->getOperand(0)))
+ return BinaryOperator::CreateAShr(Op0NotVal, NotOp->getOperand(1));
}
}
@@ -2574,40 +2603,6 @@ Instruction *InstCombiner::visitXor(BinaryOperator &I) {
{
Value *A, *B, *C, *D;
- // (A & B)^(A | B) -> A ^ B
- if (match(Op0, m_And(m_Value(A), m_Value(B))) &&
- match(Op1, m_Or(m_Value(C), m_Value(D)))) {
- if ((A == C && B == D) || (A == D && B == C))
- return BinaryOperator::CreateXor(A, B);
- }
- // (A | B)^(A & B) -> A ^ B
- if (match(Op0, m_Or(m_Value(A), m_Value(B))) &&
- match(Op1, m_And(m_Value(C), m_Value(D)))) {
- if ((A == C && B == D) || (A == D && B == C))
- return BinaryOperator::CreateXor(A, B);
- }
- // (A | ~B) ^ (~A | B) -> A ^ B
- // (~B | A) ^ (~A | B) -> A ^ B
- if (match(Op0, m_c_Or(m_Value(A), m_Not(m_Value(B)))) &&
- match(Op1, m_Or(m_Not(m_Specific(A)), m_Specific(B))))
- return BinaryOperator::CreateXor(A, B);
-
- // (~A | B) ^ (A | ~B) -> A ^ B
- if (match(Op0, m_Or(m_Not(m_Value(A)), m_Value(B))) &&
- match(Op1, m_Or(m_Specific(A), m_Not(m_Specific(B))))) {
- return BinaryOperator::CreateXor(A, B);
- }
- // (A & ~B) ^ (~A & B) -> A ^ B
- // (~B & A) ^ (~A & B) -> A ^ B
- if (match(Op0, m_c_And(m_Value(A), m_Not(m_Value(B)))) &&
- match(Op1, m_And(m_Not(m_Specific(A)), m_Specific(B))))
- return BinaryOperator::CreateXor(A, B);
-
- // (~A & B) ^ (A & ~B) -> A ^ B
- if (match(Op0, m_And(m_Not(m_Value(A)), m_Value(B))) &&
- match(Op1, m_And(m_Specific(A), m_Not(m_Specific(B))))) {
- return BinaryOperator::CreateXor(A, B);
- }
// (A ^ C)^(A | B) -> ((~A) & B) ^ C
if (match(Op0, m_Xor(m_Value(D), m_Value(C))) &&
match(Op1, m_Or(m_Value(A), m_Value(B)))) {
diff --git a/lib/Transforms/InstCombine/InstCombineCalls.cpp b/lib/Transforms/InstCombine/InstCombineCalls.cpp
index e7aa1a457371..313ab13b9e2b 100644
--- a/lib/Transforms/InstCombine/InstCombineCalls.cpp
+++ b/lib/Transforms/InstCombine/InstCombineCalls.cpp
@@ -44,6 +44,7 @@
#include "llvm/IR/ValueHandle.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Transforms/Utils/SimplifyLibCalls.h"
@@ -1378,14 +1379,13 @@ static Instruction *foldCttzCtlz(IntrinsicInst &II, InstCombiner &IC) {
return nullptr;
unsigned BitWidth = IT->getBitWidth();
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
- IC.computeKnownBits(Op0, KnownZero, KnownOne, 0, &II);
+ KnownBits Known(BitWidth);
+ IC.computeKnownBits(Op0, Known, 0, &II);
// Create a mask for bits above (ctlz) or below (cttz) the first known one.
bool IsTZ = II.getIntrinsicID() == Intrinsic::cttz;
- unsigned NumMaskBits = IsTZ ? KnownOne.countTrailingZeros()
- : KnownOne.countLeadingZeros();
+ unsigned NumMaskBits = IsTZ ? Known.One.countTrailingZeros()
+ : Known.One.countLeadingZeros();
APInt Mask = IsTZ ? APInt::getLowBitsSet(BitWidth, NumMaskBits)
: APInt::getHighBitsSet(BitWidth, NumMaskBits);
@@ -1393,7 +1393,7 @@ static Instruction *foldCttzCtlz(IntrinsicInst &II, InstCombiner &IC) {
// zero, this value is constant.
// FIXME: This should be in InstSimplify because we're replacing an
// instruction with a constant.
- if ((Mask & KnownZero) == Mask) {
+ if (Mask.isSubsetOf(Known.Zero)) {
auto *C = ConstantInt::get(IT, APInt(BitWidth, NumMaskBits));
return IC.replaceInstUsesWith(II, C);
}
@@ -1401,7 +1401,7 @@ static Instruction *foldCttzCtlz(IntrinsicInst &II, InstCombiner &IC) {
// If the input to cttz/ctlz is known to be non-zero,
// then change the 'ZeroIsUndef' parameter to 'true'
// because we know the zero behavior can't affect the result.
- if (KnownOne != 0 || isKnownNonZero(Op0, IC.getDataLayout())) {
+ if (Known.One != 0 || isKnownNonZero(Op0, IC.getDataLayout())) {
if (!match(II.getArgOperand(1), m_One())) {
II.setOperand(1, IC.Builder->getTrue());
return &II;
@@ -3432,8 +3432,26 @@ Instruction *InstCombiner::visitCallInst(CallInst &CI) {
if (auto *CSrc0 = dyn_cast<Constant>(Src0)) {
if (auto *CSrc1 = dyn_cast<Constant>(Src1)) {
Constant *CCmp = ConstantExpr::getCompare(CCVal, CSrc0, CSrc1);
- return replaceInstUsesWith(*II,
- ConstantExpr::getSExt(CCmp, II->getType()));
+ if (CCmp->isNullValue()) {
+ return replaceInstUsesWith(
+ *II, ConstantExpr::getSExt(CCmp, II->getType()));
+ }
+
+ // The result of V_ICMP/V_FCMP assembly instructions (which this
+ // intrinsic exposes) is one bit per thread, masked with the EXEC
+ // register (which contains the bitmask of live threads). So a
+ // comparison that always returns true is the same as a read of the
+ // EXEC register.
+ Value *NewF = Intrinsic::getDeclaration(
+ II->getModule(), Intrinsic::read_register, II->getType());
+ Metadata *MDArgs[] = {MDString::get(II->getContext(), "exec")};
+ MDNode *MD = MDNode::get(II->getContext(), MDArgs);
+ Value *Args[] = {MetadataAsValue::get(II->getContext(), MD)};
+ CallInst *NewCall = Builder->CreateCall(NewF, Args);
+ NewCall->addAttribute(AttributeList::FunctionIndex,
+ Attribute::Convergent);
+ NewCall->takeName(II);
+ return replaceInstUsesWith(*II, NewCall);
}
// Canonicalize constants to RHS.
@@ -3599,9 +3617,9 @@ Instruction *InstCombiner::visitCallInst(CallInst &CI) {
// If there is a dominating assume with the same condition as this one,
// then this one is redundant, and should be removed.
- APInt KnownZero(1, 0), KnownOne(1, 0);
- computeKnownBits(IIOperand, KnownZero, KnownOne, 0, II);
- if (KnownOne.isAllOnesValue())
+ KnownBits Known(1);
+ computeKnownBits(IIOperand, Known, 0, II);
+ if (Known.One.isAllOnesValue())
return eraseInstFromFunction(*II);
// Update the cache of affected values for this assumption (we might be
diff --git a/lib/Transforms/InstCombine/InstCombineCasts.cpp b/lib/Transforms/InstCombine/InstCombineCasts.cpp
index 9127ddca5915..312d9baae43a 100644
--- a/lib/Transforms/InstCombine/InstCombineCasts.cpp
+++ b/lib/Transforms/InstCombine/InstCombineCasts.cpp
@@ -14,9 +14,10 @@
#include "InstCombineInternal.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/Analysis/ConstantFolding.h"
+#include "llvm/Analysis/TargetLibraryInfo.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/PatternMatch.h"
-#include "llvm/Analysis/TargetLibraryInfo.h"
+#include "llvm/Support/KnownBits.h"
using namespace llvm;
using namespace PatternMatch;
@@ -676,11 +677,10 @@ Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, ZExtInst &CI,
// This only works for EQ and NE
ICI->isEquality()) {
// If Op1C some other power of two, convert:
- uint32_t BitWidth = Op1C->getType()->getBitWidth();
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
- computeKnownBits(ICI->getOperand(0), KnownZero, KnownOne, 0, &CI);
+ KnownBits Known(Op1C->getType()->getBitWidth());
+ computeKnownBits(ICI->getOperand(0), Known, 0, &CI);
- APInt KnownZeroMask(~KnownZero);
+ APInt KnownZeroMask(~Known.Zero);
if (KnownZeroMask.isPowerOf2()) { // Exactly 1 possible 1?
if (!DoTransform) return ICI;
@@ -726,13 +726,13 @@ Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, ZExtInst &CI,
Value *LHS = ICI->getOperand(0);
Value *RHS = ICI->getOperand(1);
- APInt KnownZeroLHS(BitWidth, 0), KnownOneLHS(BitWidth, 0);
- APInt KnownZeroRHS(BitWidth, 0), KnownOneRHS(BitWidth, 0);
- computeKnownBits(LHS, KnownZeroLHS, KnownOneLHS, 0, &CI);
- computeKnownBits(RHS, KnownZeroRHS, KnownOneRHS, 0, &CI);
+ KnownBits KnownLHS(BitWidth);
+ KnownBits KnownRHS(BitWidth);
+ computeKnownBits(LHS, KnownLHS, 0, &CI);
+ computeKnownBits(RHS, KnownRHS, 0, &CI);
- if (KnownZeroLHS == KnownZeroRHS && KnownOneLHS == KnownOneRHS) {
- APInt KnownBits = KnownZeroLHS | KnownOneLHS;
+ if (KnownLHS.Zero == KnownRHS.Zero && KnownLHS.One == KnownRHS.One) {
+ APInt KnownBits = KnownLHS.Zero | KnownLHS.One;
APInt UnknownBit = ~KnownBits;
if (UnknownBit.countPopulation() == 1) {
if (!DoTransform) return ICI;
@@ -740,7 +740,7 @@ Instruction *InstCombiner::transformZExtICmp(ICmpInst *ICI, ZExtInst &CI,
Value *Result = Builder->CreateXor(LHS, RHS);
// Mask off any bits that are set and won't be shifted away.
- if (KnownOneLHS.uge(UnknownBit))
+ if (KnownLHS.One.uge(UnknownBit))
Result = Builder->CreateAnd(Result,
ConstantInt::get(ITy, UnknownBit));
@@ -1049,10 +1049,10 @@ Instruction *InstCombiner::transformSExtICmp(ICmpInst *ICI, Instruction &CI) {
if (ICI->hasOneUse() &&
ICI->isEquality() && (Op1C->isZero() || Op1C->getValue().isPowerOf2())){
unsigned BitWidth = Op1C->getType()->getBitWidth();
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
- computeKnownBits(Op0, KnownZero, KnownOne, 0, &CI);
+ KnownBits Known(BitWidth);
+ computeKnownBits(Op0, Known, 0, &CI);
- APInt KnownZeroMask(~KnownZero);
+ APInt KnownZeroMask(~Known.Zero);
if (KnownZeroMask.isPowerOf2()) {
Value *In = ICI->getOperand(0);
diff --git a/lib/Transforms/InstCombine/InstCombineCompares.cpp b/lib/Transforms/InstCombine/InstCombineCompares.cpp
index 003029ae39d5..d846a631b96f 100644
--- a/lib/Transforms/InstCombine/InstCombineCompares.cpp
+++ b/lib/Transforms/InstCombine/InstCombineCompares.cpp
@@ -26,6 +26,7 @@
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/KnownBits.h"
using namespace llvm;
using namespace PatternMatch;
@@ -175,19 +176,18 @@ static bool isSignTest(ICmpInst::Predicate &Pred, const APInt &C) {
/// Given a signed integer type and a set of known zero and one bits, compute
/// the maximum and minimum values that could have the specified known zero and
/// known one bits, returning them in Min/Max.
-static void computeSignedMinMaxValuesFromKnownBits(const APInt &KnownZero,
- const APInt &KnownOne,
+/// TODO: Move to method on KnownBits struct?
+static void computeSignedMinMaxValuesFromKnownBits(const KnownBits &Known,
APInt &Min, APInt &Max) {
- assert(KnownZero.getBitWidth() == KnownOne.getBitWidth() &&
- KnownZero.getBitWidth() == Min.getBitWidth() &&
- KnownZero.getBitWidth() == Max.getBitWidth() &&
+ assert(Known.getBitWidth() == Min.getBitWidth() &&
+ Known.getBitWidth() == Max.getBitWidth() &&
"KnownZero, KnownOne and Min, Max must have equal bitwidth.");
- APInt UnknownBits = ~(KnownZero|KnownOne);
+ APInt UnknownBits = ~(Known.Zero|Known.One);
// The minimum value is when all unknown bits are zeros, EXCEPT for the sign
// bit if it is unknown.
- Min = KnownOne;
- Max = KnownOne|UnknownBits;
+ Min = Known.One;
+ Max = Known.One|UnknownBits;
if (UnknownBits.isNegative()) { // Sign bit is unknown
Min.setBit(Min.getBitWidth()-1);
@@ -198,19 +198,18 @@ static void computeSignedMinMaxValuesFromKnownBits(const APInt &KnownZero,
/// Given an unsigned integer type and a set of known zero and one bits, compute
/// the maximum and minimum values that could have the specified known zero and
/// known one bits, returning them in Min/Max.
-static void computeUnsignedMinMaxValuesFromKnownBits(const APInt &KnownZero,
- const APInt &KnownOne,
+/// TODO: Move to method on KnownBits struct?
+static void computeUnsignedMinMaxValuesFromKnownBits(const KnownBits &Known,
APInt &Min, APInt &Max) {
- assert(KnownZero.getBitWidth() == KnownOne.getBitWidth() &&
- KnownZero.getBitWidth() == Min.getBitWidth() &&
- KnownZero.getBitWidth() == Max.getBitWidth() &&
+ assert(Known.getBitWidth() == Min.getBitWidth() &&
+ Known.getBitWidth() == Max.getBitWidth() &&
"Ty, KnownZero, KnownOne and Min, Max must have equal bitwidth.");
- APInt UnknownBits = ~(KnownZero|KnownOne);
+ APInt UnknownBits = ~(Known.Zero|Known.One);
// The minimum value is when the unknown bits are all zeros.
- Min = KnownOne;
+ Min = Known.One;
// The maximum value is when the unknown bits are all ones.
- Max = KnownOne|UnknownBits;
+ Max = Known.One|UnknownBits;
}
/// This is called when we see this pattern:
@@ -1479,14 +1478,14 @@ Instruction *InstCombiner::foldICmpTruncConstant(ICmpInst &Cmp,
// of the high bits truncated out of x are known.
unsigned DstBits = Trunc->getType()->getScalarSizeInBits(),
SrcBits = X->getType()->getScalarSizeInBits();
- APInt KnownZero(SrcBits, 0), KnownOne(SrcBits, 0);
- computeKnownBits(X, KnownZero, KnownOne, 0, &Cmp);
+ KnownBits Known(SrcBits);
+ computeKnownBits(X, Known, 0, &Cmp);
// If all the high bits are known, we can do this xform.
- if ((KnownZero | KnownOne).countLeadingOnes() >= SrcBits - DstBits) {
+ if ((Known.Zero | Known.One).countLeadingOnes() >= SrcBits - DstBits) {
// Pull in the high bits from known-ones set.
APInt NewRHS = C->zext(SrcBits);
- NewRHS |= KnownOne & APInt::getHighBitsSet(SrcBits, SrcBits - DstBits);
+ NewRHS |= Known.One & APInt::getHighBitsSet(SrcBits, SrcBits - DstBits);
return new ICmpInst(Pred, X, ConstantInt::get(X->getType(), NewRHS));
}
}
@@ -4001,16 +4000,16 @@ Instruction *InstCombiner::foldICmpUsingKnownBits(ICmpInst &I) {
IsSignBit = isSignBitCheck(Pred, *CmpC, UnusedBit);
}
- APInt Op0KnownZero(BitWidth, 0), Op0KnownOne(BitWidth, 0);
- APInt Op1KnownZero(BitWidth, 0), Op1KnownOne(BitWidth, 0);
+ KnownBits Op0Known(BitWidth);
+ KnownBits Op1Known(BitWidth);
if (SimplifyDemandedBits(&I, 0,
getDemandedBitsLHSMask(I, BitWidth, IsSignBit),
- Op0KnownZero, Op0KnownOne, 0))
+ Op0Known, 0))
return &I;
if (SimplifyDemandedBits(&I, 1, APInt::getAllOnesValue(BitWidth),
- Op1KnownZero, Op1KnownOne, 0))
+ Op1Known, 0))
return &I;
// Given the known and unknown bits, compute a range that the LHS could be
@@ -4019,15 +4018,11 @@ Instruction *InstCombiner::foldICmpUsingKnownBits(ICmpInst &I) {
APInt Op0Min(BitWidth, 0), Op0Max(BitWidth, 0);
APInt Op1Min(BitWidth, 0), Op1Max(BitWidth, 0);
if (I.isSigned()) {
- computeSignedMinMaxValuesFromKnownBits(Op0KnownZero, Op0KnownOne, Op0Min,
- Op0Max);
- computeSignedMinMaxValuesFromKnownBits(Op1KnownZero, Op1KnownOne, Op1Min,
- Op1Max);
+ computeSignedMinMaxValuesFromKnownBits(Op0Known, Op0Min, Op0Max);
+ computeSignedMinMaxValuesFromKnownBits(Op1Known, Op1Min, Op1Max);
} else {
- computeUnsignedMinMaxValuesFromKnownBits(Op0KnownZero, Op0KnownOne, Op0Min,
- Op0Max);
- computeUnsignedMinMaxValuesFromKnownBits(Op1KnownZero, Op1KnownOne, Op1Min,
- Op1Max);
+ computeUnsignedMinMaxValuesFromKnownBits(Op0Known, Op0Min, Op0Max);
+ computeUnsignedMinMaxValuesFromKnownBits(Op1Known, Op1Min, Op1Max);
}
// If Min and Max are known to be the same, then SimplifyDemandedBits
@@ -4054,8 +4049,8 @@ Instruction *InstCombiner::foldICmpUsingKnownBits(ICmpInst &I) {
// If all bits are known zero except for one, then we know at most one bit
// is set. If the comparison is against zero, then this is a check to see if
// *that* bit is set.
- APInt Op0KnownZeroInverted = ~Op0KnownZero;
- if (~Op1KnownZero == 0) {
+ APInt Op0KnownZeroInverted = ~Op0Known.Zero;
+ if (~Op1Known.Zero == 0) {
// If the LHS is an AND with the same constant, look through it.
Value *LHS = nullptr;
const APInt *LHSC;
@@ -4193,8 +4188,8 @@ Instruction *InstCombiner::foldICmpUsingKnownBits(ICmpInst &I) {
// Turn a signed comparison into an unsigned one if both operands are known to
// have the same sign.
if (I.isSigned() &&
- ((Op0KnownZero.isNegative() && Op1KnownZero.isNegative()) ||
- (Op0KnownOne.isNegative() && Op1KnownOne.isNegative())))
+ ((Op0Known.Zero.isNegative() && Op1Known.Zero.isNegative()) ||
+ (Op0Known.One.isNegative() && Op1Known.One.isNegative())))
return new ICmpInst(I.getUnsignedPredicate(), Op0, Op1);
return nullptr;
diff --git a/lib/Transforms/InstCombine/InstCombineInternal.h b/lib/Transforms/InstCombine/InstCombineInternal.h
index 71000063ab3c..776686d3d117 100644
--- a/lib/Transforms/InstCombine/InstCombineInternal.h
+++ b/lib/Transforms/InstCombine/InstCombineInternal.h
@@ -489,10 +489,9 @@ public:
return nullptr; // Don't do anything with FI
}
- void computeKnownBits(Value *V, APInt &KnownZero, APInt &KnownOne,
+ void computeKnownBits(Value *V, KnownBits &Known,
unsigned Depth, Instruction *CxtI) const {
- return llvm::computeKnownBits(V, KnownZero, KnownOne, DL, Depth, &AC, CxtI,
- &DT);
+ return llvm::computeKnownBits(V, Known, DL, Depth, &AC, CxtI, &DT);
}
bool MaskedValueIsZero(Value *V, const APInt &Mask, unsigned Depth = 0,
@@ -536,24 +535,23 @@ private:
/// \brief Attempts to replace V with a simpler value based on the demanded
/// bits.
- Value *SimplifyDemandedUseBits(Value *V, APInt DemandedMask, APInt &KnownZero,
- APInt &KnownOne, unsigned Depth,
- Instruction *CxtI);
+ Value *SimplifyDemandedUseBits(Value *V, APInt DemandedMask, KnownBits &Known,
+ unsigned Depth, Instruction *CxtI);
bool SimplifyDemandedBits(Instruction *I, unsigned Op,
- const APInt &DemandedMask, APInt &KnownZero,
- APInt &KnownOne, unsigned Depth = 0);
+ const APInt &DemandedMask, KnownBits &Known,
+ unsigned Depth = 0);
/// Helper routine of SimplifyDemandedUseBits. It computes KnownZero/KnownOne
/// bits. It also tries to handle simplifications that can be done based on
/// DemandedMask, but without modifying the Instruction.
Value *SimplifyMultipleUseDemandedBits(Instruction *I,
const APInt &DemandedMask,
- APInt &KnownZero, APInt &KnownOne,
+ KnownBits &Known,
unsigned Depth, Instruction *CxtI);
/// Helper routine of SimplifyDemandedUseBits. It tries to simplify demanded
/// bit for "r1 = shr x, c1; r2 = shl r1, c2" instruction sequence.
- Value *SimplifyShrShlDemandedBits(Instruction *Lsr, Instruction *Sftl,
- const APInt &DemandedMask, APInt &KnownZero,
- APInt &KnownOne);
+ Value *simplifyShrShlDemandedBits(
+ Instruction *Shr, const APInt &ShrOp1, Instruction *Shl,
+ const APInt &ShlOp1, const APInt &DemandedMask, KnownBits &Known);
/// \brief Tries to simplify operands to an integer instruction based on its
/// demanded bits.
diff --git a/lib/Transforms/InstCombine/InstCombineSelect.cpp b/lib/Transforms/InstCombine/InstCombineSelect.cpp
index 5d6d899da4b5..76829c5e457b 100644
--- a/lib/Transforms/InstCombine/InstCombineSelect.cpp
+++ b/lib/Transforms/InstCombine/InstCombineSelect.cpp
@@ -17,6 +17,7 @@
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/MDBuilder.h"
#include "llvm/IR/PatternMatch.h"
+#include "llvm/Support/KnownBits.h"
using namespace llvm;
using namespace PatternMatch;
@@ -1476,11 +1477,11 @@ Instruction *InstCombiner::visitSelectInst(SelectInst &SI) {
// The motivation for this call into value tracking is to take advantage of
// the assumption cache, so make sure that is populated.
if (!CondVal->getType()->isVectorTy() && !AC.assumptions().empty()) {
- APInt KnownOne(1, 0), KnownZero(1, 0);
- computeKnownBits(CondVal, KnownZero, KnownOne, 0, &SI);
- if (KnownOne == 1)
+ KnownBits Known(1);
+ computeKnownBits(CondVal, Known, 0, &SI);
+ if (Known.One == 1)
return replaceInstUsesWith(SI, TrueVal);
- if (KnownZero == 1)
+ if (Known.Zero == 1)
return replaceInstUsesWith(SI, FalseVal);
}
diff --git a/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp b/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
index 2ba052b7e02d..8d0ed8532779 100644
--- a/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+++ b/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
@@ -16,6 +16,7 @@
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/PatternMatch.h"
+#include "llvm/Support/KnownBits.h"
using namespace llvm;
using namespace llvm::PatternMatch;
@@ -26,7 +27,7 @@ using namespace llvm::PatternMatch;
/// constant integer. If so, check to see if there are any bits set in the
/// constant that are not demanded. If so, shrink the constant and return true.
static bool ShrinkDemandedConstant(Instruction *I, unsigned OpNo,
- APInt Demanded) {
+ const APInt &Demanded) {
assert(I && "No instruction?");
assert(OpNo < I->getNumOperands() && "Operand index too large");
@@ -37,13 +38,11 @@ static bool ShrinkDemandedConstant(Instruction *I, unsigned OpNo,
return false;
// If there are no bits set that aren't demanded, nothing to do.
- Demanded = Demanded.zextOrTrunc(C->getBitWidth());
if (C->isSubsetOf(Demanded))
return false;
// This instruction is producing bits that are not demanded. Shrink the RHS.
- Demanded &= *C;
- I->setOperand(OpNo, ConstantInt::get(Op->getType(), Demanded));
+ I->setOperand(OpNo, ConstantInt::get(Op->getType(), *C & Demanded));
return true;
}
@@ -54,10 +53,10 @@ static bool ShrinkDemandedConstant(Instruction *I, unsigned OpNo,
/// the instruction has any properties that allow us to simplify its operands.
bool InstCombiner::SimplifyDemandedInstructionBits(Instruction &Inst) {
unsigned BitWidth = Inst.getType()->getScalarSizeInBits();
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
+ KnownBits Known(BitWidth);
APInt DemandedMask(APInt::getAllOnesValue(BitWidth));
- Value *V = SimplifyDemandedUseBits(&Inst, DemandedMask, KnownZero, KnownOne,
+ Value *V = SimplifyDemandedUseBits(&Inst, DemandedMask, Known,
0, &Inst);
if (!V) return false;
if (V == &Inst) return true;
@@ -70,11 +69,11 @@ bool InstCombiner::SimplifyDemandedInstructionBits(Instruction &Inst) {
/// change and false otherwise.
bool InstCombiner::SimplifyDemandedBits(Instruction *I, unsigned OpNo,
const APInt &DemandedMask,
- APInt &KnownZero, APInt &KnownOne,
+ KnownBits &Known,
unsigned Depth) {
Use &U = I->getOperandUse(OpNo);
- Value *NewVal = SimplifyDemandedUseBits(U.get(), DemandedMask, KnownZero,
- KnownOne, Depth, I);
+ Value *NewVal = SimplifyDemandedUseBits(U.get(), DemandedMask, Known,
+ Depth, I);
if (!NewVal) return false;
U = NewVal;
return true;
@@ -88,15 +87,16 @@ bool InstCombiner::SimplifyDemandedBits(Instruction *I, unsigned OpNo,
/// with a constant or one of its operands. In such cases, this function does
/// the replacement and returns true. In all other cases, it returns false after
/// analyzing the expression and setting KnownOne and known to be one in the
-/// expression. KnownZero contains all the bits that are known to be zero in the
-/// expression. These are provided to potentially allow the caller (which might
-/// recursively be SimplifyDemandedBits itself) to simplify the expression.
-/// KnownOne and KnownZero always follow the invariant that:
-/// KnownOne & KnownZero == 0.
-/// That is, a bit can't be both 1 and 0. Note that the bits in KnownOne and
-/// KnownZero may only be accurate for those bits set in DemandedMask. Note also
-/// that the bitwidth of V, DemandedMask, KnownZero and KnownOne must all be the
-/// same.
+/// expression. Known.Zero contains all the bits that are known to be zero in
+/// the expression. These are provided to potentially allow the caller (which
+/// might recursively be SimplifyDemandedBits itself) to simplify the
+/// expression.
+/// Known.One and Known.Zero always follow the invariant that:
+/// Known.One & Known.Zero == 0.
+/// That is, a bit can't be both 1 and 0. Note that the bits in Known.One and
+/// Known.Zero may only be accurate for those bits set in DemandedMask. Note
+/// also that the bitwidth of V, DemandedMask, Known.Zero and Known.One must all
+/// be the same.
///
/// This returns null if it did not change anything and it permits no
/// simplification. This returns V itself if it did some simplification of V's
@@ -104,8 +104,7 @@ bool InstCombiner::SimplifyDemandedBits(Instruction *I, unsigned OpNo,
/// some other non-null value if it found out that V is equal to another value
/// in the context where the specified bits are demanded, but not for all users.
Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
- APInt &KnownZero, APInt &KnownOne,
- unsigned Depth,
+ KnownBits &Known, unsigned Depth,
Instruction *CxtI) {
assert(V != nullptr && "Null pointer of Value???");
assert(Depth <= 6 && "Limit Search Depth");
@@ -113,18 +112,16 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
Type *VTy = V->getType();
assert(
(!VTy->isIntOrIntVectorTy() || VTy->getScalarSizeInBits() == BitWidth) &&
- KnownZero.getBitWidth() == BitWidth &&
- KnownOne.getBitWidth() == BitWidth &&
- "Value *V, DemandedMask, KnownZero and KnownOne "
- "must have same BitWidth");
+ Known.getBitWidth() == BitWidth &&
+ "Value *V, DemandedMask and Known must have same BitWidth");
if (isa<Constant>(V)) {
- computeKnownBits(V, KnownZero, KnownOne, Depth, CxtI);
+ computeKnownBits(V, Known, Depth, CxtI);
return nullptr;
}
- KnownZero.clearAllBits();
- KnownOne.clearAllBits();
+ Known.Zero.clearAllBits();
+ Known.One.clearAllBits();
if (DemandedMask == 0) // Not demanding any bits from V.
return UndefValue::get(VTy);
@@ -133,20 +130,17 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
Instruction *I = dyn_cast<Instruction>(V);
if (!I) {
- computeKnownBits(V, KnownZero, KnownOne, Depth, CxtI);
+ computeKnownBits(V, Known, Depth, CxtI);
return nullptr; // Only analyze instructions.
}
// If there are multiple uses of this value and we aren't at the root, then
// we can't do any simplifications of the operands, because DemandedMask
// only reflects the bits demanded by *one* of the users.
- if (Depth != 0 && !I->hasOneUse()) {
- return SimplifyMultipleUseDemandedBits(I, DemandedMask, KnownZero, KnownOne,
- Depth, CxtI);
- }
+ if (Depth != 0 && !I->hasOneUse())
+ return SimplifyMultipleUseDemandedBits(I, DemandedMask, Known, Depth, CxtI);
- APInt LHSKnownZero(BitWidth, 0), LHSKnownOne(BitWidth, 0);
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
+ KnownBits LHSKnown(BitWidth), RHSKnown(BitWidth);
// If this is the root being simplified, allow it to have multiple uses,
// just set the DemandedMask to all bits so that we can try to simplify the
@@ -157,22 +151,21 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
switch (I->getOpcode()) {
default:
- computeKnownBits(I, KnownZero, KnownOne, Depth, CxtI);
+ computeKnownBits(I, Known, Depth, CxtI);
break;
case Instruction::And: {
// If either the LHS or the RHS are Zero, the result is zero.
- if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnownZero, RHSKnownOne,
- Depth + 1) ||
- SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnownZero, LHSKnownZero,
- LHSKnownOne, Depth + 1))
+ if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) ||
+ SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.Zero, LHSKnown,
+ Depth + 1))
return I;
- assert(!(RHSKnownZero & RHSKnownOne) && "Bits known to be one AND zero?");
- assert(!(LHSKnownZero & LHSKnownOne) && "Bits known to be one AND zero?");
+ assert(!(RHSKnown.Zero & RHSKnown.One) && "Bits known to be one AND zero?");
+ assert(!(LHSKnown.Zero & LHSKnown.One) && "Bits known to be one AND zero?");
// Output known-0 are known to be clear if zero in either the LHS | RHS.
- APInt IKnownZero = RHSKnownZero | LHSKnownZero;
+ APInt IKnownZero = RHSKnown.Zero | LHSKnown.Zero;
// Output known-1 bits are only known if set in both the LHS & RHS.
- APInt IKnownOne = RHSKnownOne & LHSKnownOne;
+ APInt IKnownOne = RHSKnown.One & LHSKnown.One;
// If the client is only demanding bits that we know, return the known
// constant.
@@ -181,33 +174,32 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
// If all of the demanded bits are known 1 on one side, return the other.
// These bits cannot contribute to the result of the 'and'.
- if (DemandedMask.isSubsetOf(LHSKnownZero | RHSKnownOne))
+ if (DemandedMask.isSubsetOf(LHSKnown.Zero | RHSKnown.One))
return I->getOperand(0);
- if (DemandedMask.isSubsetOf(RHSKnownZero | LHSKnownOne))
+ if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.One))
return I->getOperand(1);
// If the RHS is a constant, see if we can simplify it.
- if (ShrinkDemandedConstant(I, 1, DemandedMask & ~LHSKnownZero))
+ if (ShrinkDemandedConstant(I, 1, DemandedMask & ~LHSKnown.Zero))
return I;
- KnownZero = std::move(IKnownZero);
- KnownOne = std::move(IKnownOne);
+ Known.Zero = std::move(IKnownZero);
+ Known.One = std::move(IKnownOne);
break;
}
case Instruction::Or: {
// If either the LHS or the RHS are One, the result is One.
- if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnownZero, RHSKnownOne,
- Depth + 1) ||
- SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnownOne, LHSKnownZero,
- LHSKnownOne, Depth + 1))
+ if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) ||
+ SimplifyDemandedBits(I, 0, DemandedMask & ~RHSKnown.One, LHSKnown,
+ Depth + 1))
return I;
- assert(!(RHSKnownZero & RHSKnownOne) && "Bits known to be one AND zero?");
- assert(!(LHSKnownZero & LHSKnownOne) && "Bits known to be one AND zero?");
+ assert(!(RHSKnown.Zero & RHSKnown.One) && "Bits known to be one AND zero?");
+ assert(!(LHSKnown.Zero & LHSKnown.One) && "Bits known to be one AND zero?");
// Output known-0 bits are only known if clear in both the LHS & RHS.
- APInt IKnownZero = RHSKnownZero & LHSKnownZero;
- // Output known-1 are known to be set if set in either the LHS | RHS.
- APInt IKnownOne = RHSKnownOne | LHSKnownOne;
+ APInt IKnownZero = RHSKnown.Zero & LHSKnown.Zero;
+ // Output known-1 are known. to be set if s.et in either the LHS | RHS.
+ APInt IKnownOne = RHSKnown.One | LHSKnown.One;
// If the client is only demanding bits that we know, return the known
// constant.
@@ -216,34 +208,32 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
// If all of the demanded bits are known zero on one side, return the other.
// These bits cannot contribute to the result of the 'or'.
- if (DemandedMask.isSubsetOf(LHSKnownOne | RHSKnownZero))
+ if (DemandedMask.isSubsetOf(LHSKnown.One | RHSKnown.Zero))
return I->getOperand(0);
- if (DemandedMask.isSubsetOf(RHSKnownOne | LHSKnownZero))
+ if (DemandedMask.isSubsetOf(RHSKnown.One | LHSKnown.Zero))
return I->getOperand(1);
// If the RHS is a constant, see if we can simplify it.
if (ShrinkDemandedConstant(I, 1, DemandedMask))
return I;
- KnownZero = std::move(IKnownZero);
- KnownOne = std::move(IKnownOne);
+ Known.Zero = std::move(IKnownZero);
+ Known.One = std::move(IKnownOne);
break;
}
case Instruction::Xor: {
- if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnownZero, RHSKnownOne,
- Depth + 1) ||
- SimplifyDemandedBits(I, 0, DemandedMask, LHSKnownZero, LHSKnownOne,
- Depth + 1))
+ if (SimplifyDemandedBits(I, 1, DemandedMask, RHSKnown, Depth + 1) ||
+ SimplifyDemandedBits(I, 0, DemandedMask, LHSKnown, Depth + 1))
return I;
- assert(!(RHSKnownZero & RHSKnownOne) && "Bits known to be one AND zero?");
- assert(!(LHSKnownZero & LHSKnownOne) && "Bits known to be one AND zero?");
+ assert(!(RHSKnown.Zero & RHSKnown.One) && "Bits known to be one AND zero?");
+ assert(!(LHSKnown.Zero & LHSKnown.One) && "Bits known to be one AND zero?");
// Output known-0 bits are known if clear or set in both the LHS & RHS.
- APInt IKnownZero = (RHSKnownZero & LHSKnownZero) |
- (RHSKnownOne & LHSKnownOne);
+ APInt IKnownZero = (RHSKnown.Zero & LHSKnown.Zero) |
+ (RHSKnown.One & LHSKnown.One);
// Output known-1 are known to be set if set in only one of the LHS, RHS.
- APInt IKnownOne = (RHSKnownZero & LHSKnownOne) |
- (RHSKnownOne & LHSKnownZero);
+ APInt IKnownOne = (RHSKnown.Zero & LHSKnown.One) |
+ (RHSKnown.One & LHSKnown.Zero);
// If the client is only demanding bits that we know, return the known
// constant.
@@ -252,15 +242,15 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
// If all of the demanded bits are known zero on one side, return the other.
// These bits cannot contribute to the result of the 'xor'.
- if (DemandedMask.isSubsetOf(RHSKnownZero))
+ if (DemandedMask.isSubsetOf(RHSKnown.Zero))
return I->getOperand(0);
- if (DemandedMask.isSubsetOf(LHSKnownZero))
+ if (DemandedMask.isSubsetOf(LHSKnown.Zero))
return I->getOperand(1);
// If all of the demanded bits are known to be zero on one side or the
// other, turn this into an *inclusive* or.
// e.g. (A & C1)^(B & C2) -> (A & C1)|(B & C2) iff C1&C2 == 0
- if (DemandedMask.isSubsetOf(RHSKnownZero | LHSKnownZero)) {
+ if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.Zero)) {
Instruction *Or =
BinaryOperator::CreateOr(I->getOperand(0), I->getOperand(1),
I->getName());
@@ -271,10 +261,10 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
// bits on that side are also known to be set on the other side, turn this
// into an AND, as we know the bits will be cleared.
// e.g. (X | C1) ^ C2 --> (X | C1) & ~C2 iff (C1&C2) == C2
- if (DemandedMask.isSubsetOf(RHSKnownZero|RHSKnownOne) &&
- RHSKnownOne.isSubsetOf(LHSKnownOne)) {
+ if (DemandedMask.isSubsetOf(RHSKnown.Zero|RHSKnown.One) &&
+ RHSKnown.One.isSubsetOf(LHSKnown.One)) {
Constant *AndC = Constant::getIntegerValue(VTy,
- ~RHSKnownOne & DemandedMask);
+ ~RHSKnown.One & DemandedMask);
Instruction *And = BinaryOperator::CreateAnd(I->getOperand(0), AndC);
return InsertNewInstWith(And, *I);
}
@@ -292,10 +282,10 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
if (LHSInst->getOpcode() == Instruction::And && LHSInst->hasOneUse() &&
isa<ConstantInt>(I->getOperand(1)) &&
isa<ConstantInt>(LHSInst->getOperand(1)) &&
- (LHSKnownOne & RHSKnownOne & DemandedMask) != 0) {
+ (LHSKnown.One & RHSKnown.One & DemandedMask) != 0) {
ConstantInt *AndRHS = cast<ConstantInt>(LHSInst->getOperand(1));
ConstantInt *XorRHS = cast<ConstantInt>(I->getOperand(1));
- APInt NewMask = ~(LHSKnownOne & RHSKnownOne & DemandedMask);
+ APInt NewMask = ~(LHSKnown.One & RHSKnown.One & DemandedMask);
Constant *AndC =
ConstantInt::get(I->getType(), NewMask & AndRHS->getValue());
@@ -309,9 +299,9 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
}
// Output known-0 bits are known if clear or set in both the LHS & RHS.
- KnownZero = std::move(IKnownZero);
+ Known.Zero = std::move(IKnownZero);
// Output known-1 are known to be set if set in only one of the LHS, RHS.
- KnownOne = std::move(IKnownOne);
+ Known.One = std::move(IKnownOne);
break;
}
case Instruction::Select:
@@ -321,13 +311,11 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
if (matchSelectPattern(I, LHS, RHS).Flavor != SPF_UNKNOWN)
return nullptr;
- if (SimplifyDemandedBits(I, 2, DemandedMask, RHSKnownZero, RHSKnownOne,
- Depth + 1) ||
- SimplifyDemandedBits(I, 1, DemandedMask, LHSKnownZero, LHSKnownOne,
- Depth + 1))
+ if (SimplifyDemandedBits(I, 2, DemandedMask, RHSKnown, Depth + 1) ||
+ SimplifyDemandedBits(I, 1, DemandedMask, LHSKnown, Depth + 1))
return I;
- assert(!(RHSKnownZero & RHSKnownOne) && "Bits known to be one AND zero?");
- assert(!(LHSKnownZero & LHSKnownOne) && "Bits known to be one AND zero?");
+ assert(!(RHSKnown.Zero & RHSKnown.One) && "Bits known to be one AND zero?");
+ assert(!(LHSKnown.Zero & LHSKnown.One) && "Bits known to be one AND zero?");
// If the operands are constants, see if we can simplify them.
if (ShrinkDemandedConstant(I, 1, DemandedMask) ||
@@ -335,21 +323,20 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
return I;
// Only known if known in both the LHS and RHS.
- KnownOne = RHSKnownOne & LHSKnownOne;
- KnownZero = RHSKnownZero & LHSKnownZero;
+ Known.One = RHSKnown.One & LHSKnown.One;
+ Known.Zero = RHSKnown.Zero & LHSKnown.Zero;
break;
case Instruction::Trunc: {
unsigned truncBf = I->getOperand(0)->getType()->getScalarSizeInBits();
DemandedMask = DemandedMask.zext(truncBf);
- KnownZero = KnownZero.zext(truncBf);
- KnownOne = KnownOne.zext(truncBf);
- if (SimplifyDemandedBits(I, 0, DemandedMask, KnownZero, KnownOne,
- Depth + 1))
+ Known.Zero = Known.Zero.zext(truncBf);
+ Known.One = Known.One.zext(truncBf);
+ if (SimplifyDemandedBits(I, 0, DemandedMask, Known, Depth + 1))
return I;
DemandedMask = DemandedMask.trunc(BitWidth);
- KnownZero = KnownZero.trunc(BitWidth);
- KnownOne = KnownOne.trunc(BitWidth);
- assert(!(KnownZero & KnownOne) && "Bits known to be one AND zero?");
+ Known.Zero = Known.Zero.trunc(BitWidth);
+ Known.One = Known.One.trunc(BitWidth);
+ assert(!(Known.Zero & Known.One) && "Bits known to be one AND zero?");
break;
}
case Instruction::BitCast:
@@ -369,27 +356,25 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
// Don't touch a vector-to-scalar bitcast.
return nullptr;
- if (SimplifyDemandedBits(I, 0, DemandedMask, KnownZero, KnownOne,
- Depth + 1))
+ if (SimplifyDemandedBits(I, 0, DemandedMask, Known, Depth + 1))
return I;
- assert(!(KnownZero & KnownOne) && "Bits known to be one AND zero?");
+ assert(!(Known.Zero & Known.One) && "Bits known to be one AND zero?");
break;
case Instruction::ZExt: {
// Compute the bits in the result that are not present in the input.
unsigned SrcBitWidth =I->getOperand(0)->getType()->getScalarSizeInBits();
DemandedMask = DemandedMask.trunc(SrcBitWidth);
- KnownZero = KnownZero.trunc(SrcBitWidth);
- KnownOne = KnownOne.trunc(SrcBitWidth);
- if (SimplifyDemandedBits(I, 0, DemandedMask, KnownZero, KnownOne,
- Depth + 1))
+ Known.Zero = Known.Zero.trunc(SrcBitWidth);
+ Known.One = Known.One.trunc(SrcBitWidth);
+ if (SimplifyDemandedBits(I, 0, DemandedMask, Known, Depth + 1))
return I;
DemandedMask = DemandedMask.zext(BitWidth);
- KnownZero = KnownZero.zext(BitWidth);
- KnownOne = KnownOne.zext(BitWidth);
- assert(!(KnownZero & KnownOne) && "Bits known to be one AND zero?");
+ Known.Zero = Known.Zero.zext(BitWidth);
+ Known.One = Known.One.zext(BitWidth);
+ assert(!(Known.Zero & Known.One) && "Bits known to be one AND zero?");
// The top bits are known to be zero.
- KnownZero.setBitsFrom(SrcBitWidth);
+ Known.Zero.setBitsFrom(SrcBitWidth);
break;
}
case Instruction::SExt: {
@@ -406,27 +391,26 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
InputDemandedBits.setBit(SrcBitWidth-1);
InputDemandedBits = InputDemandedBits.trunc(SrcBitWidth);
- KnownZero = KnownZero.trunc(SrcBitWidth);
- KnownOne = KnownOne.trunc(SrcBitWidth);
- if (SimplifyDemandedBits(I, 0, InputDemandedBits, KnownZero, KnownOne,
- Depth + 1))
+ Known.Zero = Known.Zero.trunc(SrcBitWidth);
+ Known.One = Known.One.trunc(SrcBitWidth);
+ if (SimplifyDemandedBits(I, 0, InputDemandedBits, Known, Depth + 1))
return I;
InputDemandedBits = InputDemandedBits.zext(BitWidth);
- KnownZero = KnownZero.zext(BitWidth);
- KnownOne = KnownOne.zext(BitWidth);
- assert(!(KnownZero & KnownOne) && "Bits known to be one AND zero?");
+ Known.Zero = Known.Zero.zext(BitWidth);
+ Known.One = Known.One.zext(BitWidth);
+ assert(!(Known.Zero & Known.One) && "Bits known to be one AND zero?");
// If the sign bit of the input is known set or clear, then we know the
// top bits of the result.
// If the input sign bit is known zero, or if the NewBits are not demanded
// convert this into a zero extension.
- if (KnownZero[SrcBitWidth-1] || (NewBits & ~DemandedMask) == NewBits) {
+ if (Known.Zero[SrcBitWidth-1] || (NewBits & ~DemandedMask) == NewBits) {
// Convert to ZExt cast
CastInst *NewCast = new ZExtInst(I->getOperand(0), VTy, I->getName());
return InsertNewInstWith(NewCast, *I);
- } else if (KnownOne[SrcBitWidth-1]) { // Input sign bit known set
- KnownOne |= NewBits;
+ } else if (Known.One[SrcBitWidth-1]) { // Input sign bit known set
+ Known.One |= NewBits;
}
break;
}
@@ -440,11 +424,9 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
// significant bit and all those below it.
APInt DemandedFromOps(APInt::getLowBitsSet(BitWidth, BitWidth-NLZ));
if (ShrinkDemandedConstant(I, 0, DemandedFromOps) ||
- SimplifyDemandedBits(I, 0, DemandedFromOps, LHSKnownZero, LHSKnownOne,
- Depth + 1) ||
+ SimplifyDemandedBits(I, 0, DemandedFromOps, LHSKnown, Depth + 1) ||
ShrinkDemandedConstant(I, 1, DemandedFromOps) ||
- SimplifyDemandedBits(I, 1, DemandedFromOps, RHSKnownZero, RHSKnownOne,
- Depth + 1)) {
+ SimplifyDemandedBits(I, 1, DemandedFromOps, RHSKnown, Depth + 1)) {
// Disable the nsw and nuw flags here: We can no longer guarantee that
// we won't wrap after simplification. Removing the nsw/nuw flags is
// legal here because the top bit is not demanded.
@@ -456,30 +438,28 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
// If we are known to be adding/subtracting zeros to every bit below
// the highest demanded bit, we just return the other side.
- if ((DemandedFromOps & RHSKnownZero) == DemandedFromOps)
+ if (DemandedFromOps.isSubsetOf(RHSKnown.Zero))
return I->getOperand(0);
// We can't do this with the LHS for subtraction.
if (I->getOpcode() == Instruction::Add &&
- (DemandedFromOps & LHSKnownZero) == DemandedFromOps)
+ DemandedFromOps.isSubsetOf(LHSKnown.Zero))
return I->getOperand(1);
}
// Otherwise just hand the add/sub off to computeKnownBits to fill in
// the known zeros and ones.
- computeKnownBits(V, KnownZero, KnownOne, Depth, CxtI);
+ computeKnownBits(V, Known, Depth, CxtI);
break;
}
- case Instruction::Shl:
- if (ConstantInt *SA = dyn_cast<ConstantInt>(I->getOperand(1))) {
- {
- Value *VarX; ConstantInt *C1;
- if (match(I->getOperand(0), m_Shr(m_Value(VarX), m_ConstantInt(C1)))) {
- Instruction *Shr = cast<Instruction>(I->getOperand(0));
- Value *R = SimplifyShrShlDemandedBits(Shr, I, DemandedMask,
- KnownZero, KnownOne);
- if (R)
- return R;
- }
+ case Instruction::Shl: {
+ const APInt *SA;
+ if (match(I->getOperand(1), m_APInt(SA))) {
+ const APInt *ShrAmt;
+ if (match(I->getOperand(0), m_Shr(m_Value(), m_APInt(ShrAmt)))) {
+ Instruction *Shr = cast<Instruction>(I->getOperand(0));
+ if (Value *R = simplifyShrShlDemandedBits(
+ Shr, *ShrAmt, I, *SA, DemandedMask, Known))
+ return R;
}
uint64_t ShiftAmt = SA->getLimitedValue(BitWidth-1);
@@ -492,17 +472,17 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
else if (IOp->hasNoUnsignedWrap())
DemandedMaskIn.setHighBits(ShiftAmt);
- if (SimplifyDemandedBits(I, 0, DemandedMaskIn, KnownZero, KnownOne,
- Depth + 1))
+ if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1))
return I;
- assert(!(KnownZero & KnownOne) && "Bits known to be one AND zero?");
- KnownZero <<= ShiftAmt;
- KnownOne <<= ShiftAmt;
+ assert(!(Known.Zero & Known.One) && "Bits known to be one AND zero?");
+ Known.Zero <<= ShiftAmt;
+ Known.One <<= ShiftAmt;
// low bits known zero.
if (ShiftAmt)
- KnownZero.setLowBits(ShiftAmt);
+ Known.Zero.setLowBits(ShiftAmt);
}
break;
+ }
case Instruction::LShr: {
const APInt *SA;
if (match(I->getOperand(1), m_APInt(SA))) {
@@ -516,14 +496,13 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
if (cast<LShrOperator>(I)->isExact())
DemandedMaskIn.setLowBits(ShiftAmt);
- if (SimplifyDemandedBits(I, 0, DemandedMaskIn, KnownZero, KnownOne,
- Depth + 1))
+ if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1))
return I;
- assert(!(KnownZero & KnownOne) && "Bits known to be one AND zero?");
- KnownZero.lshrInPlace(ShiftAmt);
- KnownOne.lshrInPlace(ShiftAmt);
+ assert(!(Known.Zero & Known.One) && "Bits known to be one AND zero?");
+ Known.Zero.lshrInPlace(ShiftAmt);
+ Known.One.lshrInPlace(ShiftAmt);
if (ShiftAmt)
- KnownZero.setHighBits(ShiftAmt); // high bits known zero.
+ Known.Zero.setHighBits(ShiftAmt); // high bits known zero.
}
break;
}
@@ -560,15 +539,14 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
if (cast<AShrOperator>(I)->isExact())
DemandedMaskIn.setLowBits(ShiftAmt);
- if (SimplifyDemandedBits(I, 0, DemandedMaskIn, KnownZero, KnownOne,
- Depth + 1))
+ if (SimplifyDemandedBits(I, 0, DemandedMaskIn, Known, Depth + 1))
return I;
- assert(!(KnownZero & KnownOne) && "Bits known to be one AND zero?");
+ assert(!(Known.Zero & Known.One) && "Bits known to be one AND zero?");
// Compute the new bits that are at the top now.
APInt HighBits(APInt::getHighBitsSet(BitWidth, ShiftAmt));
- KnownZero.lshrInPlace(ShiftAmt);
- KnownOne.lshrInPlace(ShiftAmt);
+ Known.Zero.lshrInPlace(ShiftAmt);
+ Known.One.lshrInPlace(ShiftAmt);
// Handle the sign bits.
APInt SignMask(APInt::getSignMask(BitWidth));
@@ -577,14 +555,14 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
// If the input sign bit is known to be zero, or if none of the top bits
// are demanded, turn this into an unsigned shift right.
- if (BitWidth <= ShiftAmt || KnownZero[BitWidth-ShiftAmt-1] ||
- (HighBits & ~DemandedMask) == HighBits) {
+ if (BitWidth <= ShiftAmt || Known.Zero[BitWidth-ShiftAmt-1] ||
+ !DemandedMask.intersects(HighBits)) {
BinaryOperator *LShr = BinaryOperator::CreateLShr(I->getOperand(0),
I->getOperand(1));
LShr->setIsExact(cast<BinaryOperator>(I)->isExact());
return InsertNewInstWith(LShr, *I);
- } else if ((KnownOne & SignMask) != 0) { // New bits are known one.
- KnownOne |= HighBits;
+ } else if (Known.One.intersects(SignMask)) { // New bits are known one.
+ Known.One |= HighBits;
}
}
break;
@@ -602,25 +580,24 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
APInt LowBits = RA - 1;
APInt Mask2 = LowBits | APInt::getSignMask(BitWidth);
- if (SimplifyDemandedBits(I, 0, Mask2, LHSKnownZero, LHSKnownOne,
- Depth + 1))
+ if (SimplifyDemandedBits(I, 0, Mask2, LHSKnown, Depth + 1))
return I;
// The low bits of LHS are unchanged by the srem.
- KnownZero = LHSKnownZero & LowBits;
- KnownOne = LHSKnownOne & LowBits;
+ Known.Zero = LHSKnown.Zero & LowBits;
+ Known.One = LHSKnown.One & LowBits;
// If LHS is non-negative or has all low bits zero, then the upper bits
// are all zero.
- if (LHSKnownZero.isSignBitSet() || ((LHSKnownZero & LowBits) == LowBits))
- KnownZero |= ~LowBits;
+ if (LHSKnown.Zero.isSignBitSet() || LowBits.isSubsetOf(LHSKnown.Zero))
+ Known.Zero |= ~LowBits;
// If LHS is negative and not all low bits are zero, then the upper bits
// are all one.
- if (LHSKnownOne.isSignBitSet() && ((LHSKnownOne & LowBits) != 0))
- KnownOne |= ~LowBits;
+ if (LHSKnown.One.isSignBitSet() && LowBits.intersects(LHSKnown.One))
+ Known.One |= ~LowBits;
- assert(!(KnownZero & KnownOne) && "Bits known to be one AND zero?");
+ assert(!(Known.Zero & Known.One) && "Bits known to be one AND zero?");
break;
}
}
@@ -628,22 +605,21 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
// The sign bit is the LHS's sign bit, except when the result of the
// remainder is zero.
if (DemandedMask.isSignBitSet()) {
- computeKnownBits(I->getOperand(0), LHSKnownZero, LHSKnownOne, Depth + 1,
- CxtI);
+ computeKnownBits(I->getOperand(0), LHSKnown, Depth + 1, CxtI);
// If it's known zero, our sign bit is also zero.
- if (LHSKnownZero.isSignBitSet())
- KnownZero.setSignBit();
+ if (LHSKnown.Zero.isSignBitSet())
+ Known.Zero.setSignBit();
}
break;
case Instruction::URem: {
- APInt KnownZero2(BitWidth, 0), KnownOne2(BitWidth, 0);
+ KnownBits Known2(BitWidth);
APInt AllOnes = APInt::getAllOnesValue(BitWidth);
- if (SimplifyDemandedBits(I, 0, AllOnes, KnownZero2, KnownOne2, Depth + 1) ||
- SimplifyDemandedBits(I, 1, AllOnes, KnownZero2, KnownOne2, Depth + 1))
+ if (SimplifyDemandedBits(I, 0, AllOnes, Known2, Depth + 1) ||
+ SimplifyDemandedBits(I, 1, AllOnes, Known2, Depth + 1))
return I;
- unsigned Leaders = KnownZero2.countLeadingOnes();
- KnownZero = APInt::getHighBitsSet(BitWidth, Leaders) & DemandedMask;
+ unsigned Leaders = Known2.Zero.countLeadingOnes();
+ Known.Zero = APInt::getHighBitsSet(BitWidth, Leaders) & DemandedMask;
break;
}
case Instruction::Call:
@@ -707,56 +683,54 @@ Value *InstCombiner::SimplifyDemandedUseBits(Value *V, APInt DemandedMask,
return ConstantInt::getNullValue(VTy);
// We know that the upper bits are set to zero.
- KnownZero.setBitsFrom(ArgWidth);
+ Known.Zero.setBitsFrom(ArgWidth);
return nullptr;
}
case Intrinsic::x86_sse42_crc32_64_64:
- KnownZero.setBitsFrom(32);
+ Known.Zero.setBitsFrom(32);
return nullptr;
}
}
- computeKnownBits(V, KnownZero, KnownOne, Depth, CxtI);
+ computeKnownBits(V, Known, Depth, CxtI);
break;
}
// If the client is only demanding bits that we know, return the known
// constant.
- if (DemandedMask.isSubsetOf(KnownZero|KnownOne))
- return Constant::getIntegerValue(VTy, KnownOne);
+ if (DemandedMask.isSubsetOf(Known.Zero|Known.One))
+ return Constant::getIntegerValue(VTy, Known.One);
return nullptr;
}
-/// Helper routine of SimplifyDemandedUseBits. It computes KnownZero/KnownOne
+/// Helper routine of SimplifyDemandedUseBits. It computes Known
/// bits. It also tries to handle simplifications that can be done based on
/// DemandedMask, but without modifying the Instruction.
Value *InstCombiner::SimplifyMultipleUseDemandedBits(Instruction *I,
const APInt &DemandedMask,
- APInt &KnownZero,
- APInt &KnownOne,
+ KnownBits &Known,
unsigned Depth,
Instruction *CxtI) {
unsigned BitWidth = DemandedMask.getBitWidth();
Type *ITy = I->getType();
- APInt LHSKnownZero(BitWidth, 0), LHSKnownOne(BitWidth, 0);
- APInt RHSKnownZero(BitWidth, 0), RHSKnownOne(BitWidth, 0);
+ KnownBits LHSKnown(BitWidth);
+ KnownBits RHSKnown(BitWidth);
// Despite the fact that we can't simplify this instruction in all User's
- // context, we can at least compute the knownzero/knownone bits, and we can
+ // context, we can at least compute the known bits, and we can
// do simplifications that apply to *just* the one user if we know that
// this instruction has a simpler value in that context.
switch (I->getOpcode()) {
case Instruction::And: {
// If either the LHS or the RHS are Zero, the result is zero.
- computeKnownBits(I->getOperand(1), RHSKnownZero, RHSKnownOne, Depth + 1,
- CxtI);
- computeKnownBits(I->getOperand(0), LHSKnownZero, LHSKnownOne, Depth + 1,
+ computeKnownBits(I->getOperand(1), RHSKnown, Depth + 1, CxtI);
+ computeKnownBits(I->getOperand(0), LHSKnown, Depth + 1,
CxtI);
// Output known-0 are known to be clear if zero in either the LHS | RHS.
- APInt IKnownZero = RHSKnownZero | LHSKnownZero;
+ APInt IKnownZero = RHSKnown.Zero | LHSKnown.Zero;
// Output known-1 bits are only known if set in both the LHS & RHS.
- APInt IKnownOne = RHSKnownOne & LHSKnownOne;
+ APInt IKnownOne = RHSKnown.One & LHSKnown.One;
// If the client is only demanding bits that we know, return the known
// constant.
@@ -766,13 +740,13 @@ Value *InstCombiner::SimplifyMultipleUseDemandedBits(Instruction *I,
// If all of the demanded bits are known 1 on one side, return the other.
// These bits cannot contribute to the result of the 'and' in this
// context.
- if (DemandedMask.isSubsetOf(LHSKnownZero | RHSKnownOne))
+ if (DemandedMask.isSubsetOf(LHSKnown.Zero | RHSKnown.One))
return I->getOperand(0);
- if (DemandedMask.isSubsetOf(RHSKnownZero | LHSKnownOne))
+ if (DemandedMask.isSubsetOf(RHSKnown.Zero | LHSKnown.One))
return I->getOperand(1);
- KnownZero = std::move(IKnownZero);
- KnownOne = std::move(IKnownOne);
+ Known.Zero = std::move(IKnownZero);
+ Known.One = std::move(IKnownOne);
break;
}
case Instruction::Or: {
@@ -780,15 +754,14 @@ Value *InstCombiner::SimplifyMultipleUseDemandedBits(Instruction *I,
// only bits from X or Y are demanded.
// If either the LHS or the RHS are One, the result is One.
- computeKnownBits(I->getOperand(1), RHSKnownZero, RHSKnownOne, Depth + 1,
- CxtI);
- computeKnownBits(I->getOperand(0), LHSKnownZero, LHSKnownOne, Depth + 1,
+ computeKnownBits(I->getOperand(1), RHSKnown, Depth + 1, CxtI);
+ computeKnownBits(I->getOperand(0), LHSKnown, Depth + 1,
CxtI);
// Output known-0 bits are only known if clear in both the LHS & RHS.
- APInt IKnownZero = RHSKnownZero & LHSKnownZero;
+ APInt IKnownZero = RHSKnown.Zero & LHSKnown.Zero;
// Output known-1 are known to be set if set in either the LHS | RHS.
- APInt IKnownOne = RHSKnownOne | LHSKnownOne;
+ APInt IKnownOne = RHSKnown.One | LHSKnown.One;
// If the client is only demanding bits that we know, return the known
// constant.
@@ -798,30 +771,29 @@ Value *InstCombiner::SimplifyMultipleUseDemandedBits(Instruction *I,
// If all of the demanded bits are known zero on one side, return the
// other. These bits cannot contribute to the result of the 'or' in this
// context.
- if (DemandedMask.isSubsetOf(LHSKnownOne | RHSKnownZero))
+ if (DemandedMask.isSubsetOf(LHSKnown.One | RHSKnown.Zero))
return I->getOperand(0);
- if (DemandedMask.isSubsetOf(RHSKnownOne | LHSKnownZero))
+ if (DemandedMask.isSubsetOf(RHSKnown.One | LHSKnown.Zero))
return I->getOperand(1);
- KnownZero = std::move(IKnownZero);
- KnownOne = std::move(IKnownOne);
+ Known.Zero = std::move(IKnownZero);
+ Known.One = std::move(IKnownOne);
break;
}
case Instruction::Xor: {
// We can simplify (X^Y) -> X or Y in the user's context if we know that
// only bits from X or Y are demanded.
- computeKnownBits(I->getOperand(1), RHSKnownZero, RHSKnownOne, Depth + 1,
- CxtI);
- computeKnownBits(I->getOperand(0), LHSKnownZero, LHSKnownOne, Depth + 1,
+ computeKnownBits(I->getOperand(1), RHSKnown, Depth + 1, CxtI);
+ computeKnownBits(I->getOperand(0), LHSKnown, Depth + 1,
CxtI);
// Output known-0 bits are known if clear or set in both the LHS & RHS.
- APInt IKnownZero = (RHSKnownZero & LHSKnownZero) |
- (RHSKnownOne & LHSKnownOne);
+ APInt IKnownZero = (RHSKnown.Zero & LHSKnown.Zero) |
+ (RHSKnown.One & LHSKnown.One);
// Output known-1 are known to be set if set in only one of the LHS, RHS.
- APInt IKnownOne = (RHSKnownZero & LHSKnownOne) |
- (RHSKnownOne & LHSKnownZero);
+ APInt IKnownOne = (RHSKnown.Zero & LHSKnown.One) |
+ (RHSKnown.One & LHSKnown.Zero);
// If the client is only demanding bits that we know, return the known
// constant.
@@ -830,25 +802,25 @@ Value *InstCombiner::SimplifyMultipleUseDemandedBits(Instruction *I,
// If all of the demanded bits are known zero on one side, return the
// other.
- if (DemandedMask.isSubsetOf(RHSKnownZero))
+ if (DemandedMask.isSubsetOf(RHSKnown.Zero))
return I->getOperand(0);
- if (DemandedMask.isSubsetOf(LHSKnownZero))
+ if (DemandedMask.isSubsetOf(LHSKnown.Zero))
return I->getOperand(1);
// Output known-0 bits are known if clear or set in both the LHS & RHS.
- KnownZero = std::move(IKnownZero);
+ Known.Zero = std::move(IKnownZero);
// Output known-1 are known to be set if set in only one of the LHS, RHS.
- KnownOne = std::move(IKnownOne);
+ Known.One = std::move(IKnownOne);
break;
}
default:
- // Compute the KnownZero/KnownOne bits to simplify things downstream.
- computeKnownBits(I, KnownZero, KnownOne, Depth, CxtI);
+ // Compute the Known bits to simplify things downstream.
+ computeKnownBits(I, Known, Depth, CxtI);
// If this user is only demanding bits that we know, return the known
// constant.
- if (DemandedMask.isSubsetOf(KnownZero|KnownOne))
- return Constant::getIntegerValue(ITy, KnownOne);
+ if (DemandedMask.isSubsetOf(Known.Zero|Known.One))
+ return Constant::getIntegerValue(ITy, Known.One);
break;
}
@@ -874,29 +846,26 @@ Value *InstCombiner::SimplifyMultipleUseDemandedBits(Instruction *I,
///
/// As with SimplifyDemandedUseBits, it returns NULL if the simplification was
/// not successful.
-Value *InstCombiner::SimplifyShrShlDemandedBits(Instruction *Shr,
- Instruction *Shl,
- const APInt &DemandedMask,
- APInt &KnownZero,
- APInt &KnownOne) {
-
- const APInt &ShlOp1 = cast<ConstantInt>(Shl->getOperand(1))->getValue();
- const APInt &ShrOp1 = cast<ConstantInt>(Shr->getOperand(1))->getValue();
+Value *
+InstCombiner::simplifyShrShlDemandedBits(Instruction *Shr, const APInt &ShrOp1,
+ Instruction *Shl, const APInt &ShlOp1,
+ const APInt &DemandedMask,
+ KnownBits &Known) {
if (!ShlOp1 || !ShrOp1)
- return nullptr; // Noop.
+ return nullptr; // No-op.
Value *VarX = Shr->getOperand(0);
Type *Ty = VarX->getType();
- unsigned BitWidth = Ty->getIntegerBitWidth();
+ unsigned BitWidth = Ty->getScalarSizeInBits();
if (ShlOp1.uge(BitWidth) || ShrOp1.uge(BitWidth))
return nullptr; // Undef.
unsigned ShlAmt = ShlOp1.getZExtValue();
unsigned ShrAmt = ShrOp1.getZExtValue();
- KnownOne.clearAllBits();
- KnownZero.setLowBits(ShlAmt - 1);
- KnownZero &= DemandedMask;
+ Known.One.clearAllBits();
+ Known.Zero.setLowBits(ShlAmt - 1);
+ Known.Zero &= DemandedMask;
APInt BitMask1(APInt::getAllOnesValue(BitWidth));
APInt BitMask2(APInt::getAllOnesValue(BitWidth));
diff --git a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp
index 81f2d9fa179f..4729c79ca4c3 100644
--- a/lib/Transforms/InstCombine/InstructionCombining.cpp
+++ b/lib/Transforms/InstCombine/InstructionCombining.cpp
@@ -60,6 +60,7 @@
#include "llvm/IR/ValueHandle.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
@@ -641,14 +642,6 @@ Value *InstCombiner::SimplifyUsingDistributiveLaws(BinaryOperator &I) {
if (Value *R = SimplifyBinOp(TopLevelOpcode, B, C, DL)) {
// They do! Return "L op' R".
++NumExpand;
- // If "L op' R" equals "A op' B" then "L op' R" is just the LHS.
- if ((L == A && R == B) ||
- (Instruction::isCommutative(InnerOpcode) && L == B && R == A))
- return Op0;
- // Otherwise return "L op' R" if it simplifies.
- if (Value *V = SimplifyBinOp(InnerOpcode, L, R, DL))
- return V;
- // Otherwise, create a new instruction.
C = Builder->CreateBinOp(InnerOpcode, L, R);
C->takeName(&I);
return C;
@@ -666,14 +659,6 @@ Value *InstCombiner::SimplifyUsingDistributiveLaws(BinaryOperator &I) {
if (Value *R = SimplifyBinOp(TopLevelOpcode, A, C, DL)) {
// They do! Return "L op' R".
++NumExpand;
- // If "L op' R" equals "B op' C" then "L op' R" is just the RHS.
- if ((L == B && R == C) ||
- (Instruction::isCommutative(InnerOpcode) && L == C && R == B))
- return Op1;
- // Otherwise return "L op' R" if it simplifies.
- if (Value *V = SimplifyBinOp(InnerOpcode, L, R, DL))
- return V;
- // Otherwise, create a new instruction.
A = Builder->CreateBinOp(InnerOpcode, L, R);
A->takeName(&I);
return A;
@@ -2196,11 +2181,10 @@ Instruction *InstCombiner::visitReturnInst(ReturnInst &RI) {
// There might be assume intrinsics dominating this return that completely
// determine the value. If so, constant fold it.
- unsigned BitWidth = VTy->getPrimitiveSizeInBits();
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
- computeKnownBits(ResultOp, KnownZero, KnownOne, 0, &RI);
- if ((KnownZero|KnownOne).isAllOnesValue())
- RI.setOperand(0, Constant::getIntegerValue(VTy, KnownOne));
+ KnownBits Known(VTy->getPrimitiveSizeInBits());
+ computeKnownBits(ResultOp, Known, 0, &RI);
+ if ((Known.Zero|Known.One).isAllOnesValue())
+ RI.setOperand(0, Constant::getIntegerValue(VTy, Known.One));
return nullptr;
}
@@ -2279,10 +2263,10 @@ Instruction *InstCombiner::visitSwitchInst(SwitchInst &SI) {
}
unsigned BitWidth = cast<IntegerType>(Cond->getType())->getBitWidth();
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
- computeKnownBits(Cond, KnownZero, KnownOne, 0, &SI);
- unsigned LeadingKnownZeros = KnownZero.countLeadingOnes();
- unsigned LeadingKnownOnes = KnownOne.countLeadingOnes();
+ KnownBits Known(BitWidth);
+ computeKnownBits(Cond, Known, 0, &SI);
+ unsigned LeadingKnownZeros = Known.Zero.countLeadingOnes();
+ unsigned LeadingKnownOnes = Known.One.countLeadingOnes();
// Compute the number of leading bits we can ignore.
// TODO: A better way to determine this would use ComputeNumSignBits().
@@ -2879,11 +2863,10 @@ bool InstCombiner::run() {
Type *Ty = I->getType();
if (ExpensiveCombines && !I->use_empty() && Ty->isIntOrIntVectorTy()) {
unsigned BitWidth = Ty->getScalarSizeInBits();
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
- computeKnownBits(I, KnownZero, KnownOne, /*Depth*/0, I);
- if ((KnownZero | KnownOne).isAllOnesValue()) {
- Constant *C = ConstantInt::get(Ty, KnownOne);
+ KnownBits Known(BitWidth);
+ computeKnownBits(I, Known, /*Depth*/0, I);
+ if ((Known.Zero | Known.One).isAllOnesValue()) {
+ Constant *C = ConstantInt::get(Ty, Known.One);
DEBUG(dbgs() << "IC: ConstFold (all bits known) to: " << *C <<
" from: " << *I << '\n');
diff --git a/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/lib/Transforms/Instrumentation/AddressSanitizer.cpp
index 036dd8d39a08..b866958e3c4b 100644
--- a/lib/Transforms/Instrumentation/AddressSanitizer.cpp
+++ b/lib/Transforms/Instrumentation/AddressSanitizer.cpp
@@ -265,11 +265,10 @@ static cl::opt<bool>
cl::Hidden, cl::init(false));
static cl::opt<bool>
- ClUseMachOGlobalsSection("asan-globals-live-support",
- cl::desc("Use linker features to support dead "
- "code stripping of globals "
- "(Mach-O only)"),
- cl::Hidden, cl::init(true));
+ ClUseGlobalsGC("asan-globals-live-support",
+ cl::desc("Use linker features to support dead "
+ "code stripping of globals"),
+ cl::Hidden, cl::init(true));
// Debug flags.
static cl::opt<int> ClDebug("asan-debug", cl::desc("debug"), cl::Hidden,
@@ -594,13 +593,15 @@ struct AddressSanitizer : public FunctionPass {
};
class AddressSanitizerModule : public ModulePass {
- public:
+public:
explicit AddressSanitizerModule(bool CompileKernel = false,
- bool Recover = false)
+ bool Recover = false,
+ bool UseGlobalsGC = true)
: ModulePass(ID), CompileKernel(CompileKernel || ClEnableKasan),
- Recover(Recover || ClRecover) {}
+ Recover(Recover || ClRecover),
+ UseGlobalsGC(UseGlobalsGC && ClUseGlobalsGC) {}
bool runOnModule(Module &M) override;
- static char ID; // Pass identification, replacement for typeid
+ static char ID; // Pass identification, replacement for typeid
StringRef getPassName() const override { return "AddressSanitizerModule"; }
private:
@@ -635,6 +636,7 @@ private:
GlobalsMetadata GlobalsMD;
bool CompileKernel;
bool Recover;
+ bool UseGlobalsGC;
Type *IntptrTy;
LLVMContext *C;
Triple TargetTriple;
@@ -913,9 +915,10 @@ INITIALIZE_PASS(
"ModulePass",
false, false)
ModulePass *llvm::createAddressSanitizerModulePass(bool CompileKernel,
- bool Recover) {
+ bool Recover,
+ bool UseGlobalsGC) {
assert(!CompileKernel || Recover);
- return new AddressSanitizerModule(CompileKernel, Recover);
+ return new AddressSanitizerModule(CompileKernel, Recover, UseGlobalsGC);
}
static size_t TypeSizeToSizeIndex(uint32_t TypeSize) {
@@ -1537,9 +1540,6 @@ bool AddressSanitizerModule::ShouldInstrumentGlobal(GlobalVariable *G) {
// binary in order to allow the linker to properly dead strip. This is only
// supported on recent versions of ld64.
bool AddressSanitizerModule::ShouldUseMachOGlobalsSection() const {
- if (!ClUseMachOGlobalsSection)
- return false;
-
if (!TargetTriple.isOSBinFormatMachO())
return false;
@@ -1911,9 +1911,9 @@ bool AddressSanitizerModule::InstrumentGlobals(IRBuilder<> &IRB, Module &M) {
Initializers[i] = Initializer;
}
- if (TargetTriple.isOSBinFormatCOFF()) {
+ if (UseGlobalsGC && TargetTriple.isOSBinFormatCOFF()) {
InstrumentGlobalsCOFF(IRB, M, NewGlobals, Initializers);
- } else if (ShouldUseMachOGlobalsSection()) {
+ } else if (UseGlobalsGC && ShouldUseMachOGlobalsSection()) {
InstrumentGlobalsMachO(IRB, M, NewGlobals, Initializers);
} else {
InstrumentGlobalsWithMetadataArray(IRB, M, NewGlobals, Initializers);
diff --git a/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp b/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
index 61d627673c90..d7eb857cff7e 100644
--- a/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
+++ b/lib/Transforms/Instrumentation/IndirectCallPromotion.cpp
@@ -943,14 +943,16 @@ bool MemOPSizeOpt::perform(MemIntrinsic *MI) {
BasicBlock *BB = MI->getParent();
DEBUG(dbgs() << "\n\n== Basic Block Before ==\n");
DEBUG(dbgs() << *BB << "\n");
+ auto OrigBBFreq = BFI.getBlockFreq(BB);
BasicBlock *DefaultBB = SplitBlock(BB, MI);
BasicBlock::iterator It(*MI);
++It;
assert(It != DefaultBB->end());
BasicBlock *MergeBB = SplitBlock(DefaultBB, &(*It));
- DefaultBB->setName("MemOP.Default");
MergeBB->setName("MemOP.Merge");
+ BFI.setBlockFreq(MergeBB, OrigBBFreq.getFrequency());
+ DefaultBB->setName("MemOP.Default");
auto &Ctx = Func.getContext();
IRBuilder<> IRB(BB);
diff --git a/lib/Transforms/ObjCARC/PtrState.cpp b/lib/Transforms/ObjCARC/PtrState.cpp
index a5afc8ad977c..c1bbc4e96b16 100644
--- a/lib/Transforms/ObjCARC/PtrState.cpp
+++ b/lib/Transforms/ObjCARC/PtrState.cpp
@@ -351,8 +351,10 @@ bool TopDownPtrState::HandlePotentialAlterRefCount(Instruction *Inst,
const Value *Ptr,
ProvenanceAnalysis &PA,
ARCInstKind Class) {
- // Check for possible releases.
- if (!CanAlterRefCount(Inst, Ptr, PA, Class))
+ // Check for possible releases. Treat clang.arc.use as a releasing instruction
+ // to prevent sinking a retain past it.
+ if (!CanAlterRefCount(Inst, Ptr, PA, Class) &&
+ Class != ARCInstKind::IntrinsicUser)
return false;
DEBUG(dbgs() << " CanAlterRefCount: Seq: " << GetSeq() << "; " << *Ptr
diff --git a/lib/Transforms/Scalar/ConstantHoisting.cpp b/lib/Transforms/Scalar/ConstantHoisting.cpp
index ee6333e88716..f62e111460ca 100644
--- a/lib/Transforms/Scalar/ConstantHoisting.cpp
+++ b/lib/Transforms/Scalar/ConstantHoisting.cpp
@@ -53,6 +53,12 @@ using namespace consthoist;
STATISTIC(NumConstantsHoisted, "Number of constants hoisted");
STATISTIC(NumConstantsRebased, "Number of constants rebased");
+static cl::opt<bool> ConstHoistWithBlockFrequency(
+ "consthoist-with-block-frequency", cl::init(false), cl::Hidden,
+ cl::desc("Enable the use of the block frequency analysis to reduce the "
+ "chance to execute const materialization more frequently than "
+ "without hoisting."));
+
namespace {
/// \brief The constant hoisting pass.
class ConstantHoistingLegacyPass : public FunctionPass {
@@ -68,6 +74,8 @@ public:
void getAnalysisUsage(AnalysisUsage &AU) const override {
AU.setPreservesCFG();
+ if (ConstHoistWithBlockFrequency)
+ AU.addRequired<BlockFrequencyInfoWrapperPass>();
AU.addRequired<DominatorTreeWrapperPass>();
AU.addRequired<TargetTransformInfoWrapperPass>();
}
@@ -82,6 +90,7 @@ private:
char ConstantHoistingLegacyPass::ID = 0;
INITIALIZE_PASS_BEGIN(ConstantHoistingLegacyPass, "consthoist",
"Constant Hoisting", false, false)
+INITIALIZE_PASS_DEPENDENCY(BlockFrequencyInfoWrapperPass)
INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
INITIALIZE_PASS_DEPENDENCY(TargetTransformInfoWrapperPass)
INITIALIZE_PASS_END(ConstantHoistingLegacyPass, "consthoist",
@@ -99,9 +108,13 @@ bool ConstantHoistingLegacyPass::runOnFunction(Function &Fn) {
DEBUG(dbgs() << "********** Begin Constant Hoisting **********\n");
DEBUG(dbgs() << "********** Function: " << Fn.getName() << '\n');
- bool MadeChange = Impl.runImpl(
- Fn, getAnalysis<TargetTransformInfoWrapperPass>().getTTI(Fn),
- getAnalysis<DominatorTreeWrapperPass>().getDomTree(), Fn.getEntryBlock());
+ bool MadeChange =
+ Impl.runImpl(Fn, getAnalysis<TargetTransformInfoWrapperPass>().getTTI(Fn),
+ getAnalysis<DominatorTreeWrapperPass>().getDomTree(),
+ ConstHoistWithBlockFrequency
+ ? &getAnalysis<BlockFrequencyInfoWrapperPass>().getBFI()
+ : nullptr,
+ Fn.getEntryBlock());
if (MadeChange) {
DEBUG(dbgs() << "********** Function after Constant Hoisting: "
@@ -148,33 +161,142 @@ Instruction *ConstantHoistingPass::findMatInsertPt(Instruction *Inst,
return IDom->getBlock()->getTerminator();
}
+/// \brief Given \p BBs as input, find another set of BBs which collectively
+/// dominates \p BBs and have the minimal sum of frequencies. Return the BB
+/// set found in \p BBs.
+void findBestInsertionSet(DominatorTree &DT, BlockFrequencyInfo &BFI,
+ BasicBlock *Entry,
+ SmallPtrSet<BasicBlock *, 8> &BBs) {
+ assert(!BBs.count(Entry) && "Assume Entry is not in BBs");
+ // Nodes on the current path to the root.
+ SmallPtrSet<BasicBlock *, 8> Path;
+ // Candidates includes any block 'BB' in set 'BBs' that is not strictly
+ // dominated by any other blocks in set 'BBs', and all nodes in the path
+ // in the dominator tree from Entry to 'BB'.
+ SmallPtrSet<BasicBlock *, 16> Candidates;
+ for (auto BB : BBs) {
+ Path.clear();
+ // Walk up the dominator tree until Entry or another BB in BBs
+ // is reached. Insert the nodes on the way to the Path.
+ BasicBlock *Node = BB;
+ // The "Path" is a candidate path to be added into Candidates set.
+ bool isCandidate = false;
+ do {
+ Path.insert(Node);
+ if (Node == Entry || Candidates.count(Node)) {
+ isCandidate = true;
+ break;
+ }
+ assert(DT.getNode(Node)->getIDom() &&
+ "Entry doens't dominate current Node");
+ Node = DT.getNode(Node)->getIDom()->getBlock();
+ } while (!BBs.count(Node));
+
+ // If isCandidate is false, Node is another Block in BBs dominating
+ // current 'BB'. Drop the nodes on the Path.
+ if (!isCandidate)
+ continue;
+
+ // Add nodes on the Path into Candidates.
+ Candidates.insert(Path.begin(), Path.end());
+ }
+
+ // Sort the nodes in Candidates in top-down order and save the nodes
+ // in Orders.
+ unsigned Idx = 0;
+ SmallVector<BasicBlock *, 16> Orders;
+ Orders.push_back(Entry);
+ while (Idx != Orders.size()) {
+ BasicBlock *Node = Orders[Idx++];
+ for (auto ChildDomNode : DT.getNode(Node)->getChildren()) {
+ if (Candidates.count(ChildDomNode->getBlock()))
+ Orders.push_back(ChildDomNode->getBlock());
+ }
+ }
+
+ // Visit Orders in bottom-up order.
+ typedef std::pair<SmallPtrSet<BasicBlock *, 16>, BlockFrequency>
+ InsertPtsCostPair;
+ // InsertPtsMap is a map from a BB to the best insertion points for the
+ // subtree of BB (subtree not including the BB itself).
+ DenseMap<BasicBlock *, InsertPtsCostPair> InsertPtsMap;
+ InsertPtsMap.reserve(Orders.size() + 1);
+ for (auto RIt = Orders.rbegin(); RIt != Orders.rend(); RIt++) {
+ BasicBlock *Node = *RIt;
+ bool NodeInBBs = BBs.count(Node);
+ SmallPtrSet<BasicBlock *, 16> &InsertPts = InsertPtsMap[Node].first;
+ BlockFrequency &InsertPtsFreq = InsertPtsMap[Node].second;
+
+ // Return the optimal insert points in BBs.
+ if (Node == Entry) {
+ BBs.clear();
+ if (InsertPtsFreq > BFI.getBlockFreq(Node))
+ BBs.insert(Entry);
+ else
+ BBs.insert(InsertPts.begin(), InsertPts.end());
+ break;
+ }
+
+ BasicBlock *Parent = DT.getNode(Node)->getIDom()->getBlock();
+ // Initially, ParentInsertPts is empty and ParentPtsFreq is 0. Every child
+ // will update its parent's ParentInsertPts and ParentPtsFreq.
+ SmallPtrSet<BasicBlock *, 16> &ParentInsertPts = InsertPtsMap[Parent].first;
+ BlockFrequency &ParentPtsFreq = InsertPtsMap[Parent].second;
+ // Choose to insert in Node or in subtree of Node.
+ if (InsertPtsFreq > BFI.getBlockFreq(Node) || NodeInBBs) {
+ ParentInsertPts.insert(Node);
+ ParentPtsFreq += BFI.getBlockFreq(Node);
+ } else {
+ ParentInsertPts.insert(InsertPts.begin(), InsertPts.end());
+ ParentPtsFreq += InsertPtsFreq;
+ }
+ }
+}
+
/// \brief Find an insertion point that dominates all uses.
-Instruction *ConstantHoistingPass::findConstantInsertionPoint(
+SmallPtrSet<Instruction *, 8> ConstantHoistingPass::findConstantInsertionPoint(
const ConstantInfo &ConstInfo) const {
assert(!ConstInfo.RebasedConstants.empty() && "Invalid constant info entry.");
// Collect all basic blocks.
SmallPtrSet<BasicBlock *, 8> BBs;
+ SmallPtrSet<Instruction *, 8> InsertPts;
for (auto const &RCI : ConstInfo.RebasedConstants)
for (auto const &U : RCI.Uses)
BBs.insert(findMatInsertPt(U.Inst, U.OpndIdx)->getParent());
- if (BBs.count(Entry))
- return &Entry->front();
+ if (BBs.count(Entry)) {
+ InsertPts.insert(&Entry->front());
+ return InsertPts;
+ }
+
+ if (BFI) {
+ findBestInsertionSet(*DT, *BFI, Entry, BBs);
+ for (auto BB : BBs) {
+ BasicBlock::iterator InsertPt = BB->begin();
+ for (; isa<PHINode>(InsertPt) || InsertPt->isEHPad(); ++InsertPt)
+ ;
+ InsertPts.insert(&*InsertPt);
+ }
+ return InsertPts;
+ }
while (BBs.size() >= 2) {
BasicBlock *BB, *BB1, *BB2;
BB1 = *BBs.begin();
BB2 = *std::next(BBs.begin());
BB = DT->findNearestCommonDominator(BB1, BB2);
- if (BB == Entry)
- return &Entry->front();
+ if (BB == Entry) {
+ InsertPts.insert(&Entry->front());
+ return InsertPts;
+ }
BBs.erase(BB1);
BBs.erase(BB2);
BBs.insert(BB);
}
assert((BBs.size() == 1) && "Expected only one element.");
Instruction &FirstInst = (*BBs.begin())->front();
- return findMatInsertPt(&FirstInst);
+ InsertPts.insert(findMatInsertPt(&FirstInst));
+ return InsertPts;
}
@@ -557,29 +679,54 @@ bool ConstantHoistingPass::emitBaseConstants() {
bool MadeChange = false;
for (auto const &ConstInfo : ConstantVec) {
// Hoist and hide the base constant behind a bitcast.
- Instruction *IP = findConstantInsertionPoint(ConstInfo);
- IntegerType *Ty = ConstInfo.BaseConstant->getType();
- Instruction *Base =
- new BitCastInst(ConstInfo.BaseConstant, Ty, "const", IP);
- DEBUG(dbgs() << "Hoist constant (" << *ConstInfo.BaseConstant << ") to BB "
- << IP->getParent()->getName() << '\n' << *Base << '\n');
- NumConstantsHoisted++;
+ SmallPtrSet<Instruction *, 8> IPSet = findConstantInsertionPoint(ConstInfo);
+ assert(!IPSet.empty() && "IPSet is empty");
+
+ unsigned UsesNum = 0;
+ unsigned ReBasesNum = 0;
+ for (Instruction *IP : IPSet) {
+ IntegerType *Ty = ConstInfo.BaseConstant->getType();
+ Instruction *Base =
+ new BitCastInst(ConstInfo.BaseConstant, Ty, "const", IP);
+ DEBUG(dbgs() << "Hoist constant (" << *ConstInfo.BaseConstant
+ << ") to BB " << IP->getParent()->getName() << '\n'
+ << *Base << '\n');
+
+ // Emit materialization code for all rebased constants.
+ unsigned Uses = 0;
+ for (auto const &RCI : ConstInfo.RebasedConstants) {
+ for (auto const &U : RCI.Uses) {
+ Uses++;
+ BasicBlock *OrigMatInsertBB =
+ findMatInsertPt(U.Inst, U.OpndIdx)->getParent();
+ // If Base constant is to be inserted in multiple places,
+ // generate rebase for U using the Base dominating U.
+ if (IPSet.size() == 1 ||
+ DT->dominates(Base->getParent(), OrigMatInsertBB)) {
+ emitBaseConstants(Base, RCI.Offset, U);
+ ReBasesNum++;
+ }
+ }
+ }
+ UsesNum = Uses;
- // Emit materialization code for all rebased constants.
- for (auto const &RCI : ConstInfo.RebasedConstants) {
- NumConstantsRebased++;
- for (auto const &U : RCI.Uses)
- emitBaseConstants(Base, RCI.Offset, U);
+ // Use the same debug location as the last user of the constant.
+ assert(!Base->use_empty() && "The use list is empty!?");
+ assert(isa<Instruction>(Base->user_back()) &&
+ "All uses should be instructions.");
+ Base->setDebugLoc(cast<Instruction>(Base->user_back())->getDebugLoc());
}
+ (void)UsesNum;
+ (void)ReBasesNum;
+ // Expect all uses are rebased after rebase is done.
+ assert(UsesNum == ReBasesNum && "Not all uses are rebased");
+
+ NumConstantsHoisted++;
- // Use the same debug location as the last user of the constant.
- assert(!Base->use_empty() && "The use list is empty!?");
- assert(isa<Instruction>(Base->user_back()) &&
- "All uses should be instructions.");
- Base->setDebugLoc(cast<Instruction>(Base->user_back())->getDebugLoc());
+ // Base constant is also included in ConstInfo.RebasedConstants, so
+ // deduct 1 from ConstInfo.RebasedConstants.size().
+ NumConstantsRebased = ConstInfo.RebasedConstants.size() - 1;
- // Correct for base constant, which we counted above too.
- NumConstantsRebased--;
MadeChange = true;
}
return MadeChange;
@@ -595,9 +742,11 @@ void ConstantHoistingPass::deleteDeadCastInst() const {
/// \brief Optimize expensive integer constants in the given function.
bool ConstantHoistingPass::runImpl(Function &Fn, TargetTransformInfo &TTI,
- DominatorTree &DT, BasicBlock &Entry) {
+ DominatorTree &DT, BlockFrequencyInfo *BFI,
+ BasicBlock &Entry) {
this->TTI = &TTI;
this->DT = &DT;
+ this->BFI = BFI;
this->Entry = &Entry;
// Collect all constant candidates.
collectConstantCandidates(Fn);
@@ -628,7 +777,10 @@ PreservedAnalyses ConstantHoistingPass::run(Function &F,
FunctionAnalysisManager &AM) {
auto &DT = AM.getResult<DominatorTreeAnalysis>(F);
auto &TTI = AM.getResult<TargetIRAnalysis>(F);
- if (!runImpl(F, TTI, DT, F.getEntryBlock()))
+ auto BFI = ConstHoistWithBlockFrequency
+ ? &AM.getResult<BlockFrequencyAnalysis>(F)
+ : nullptr;
+ if (!runImpl(F, TTI, DT, BFI, F.getEntryBlock()))
return PreservedAnalyses::all();
PreservedAnalyses PA;
diff --git a/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp b/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
index c843c61ea94e..b5a4cc2f3953 100644
--- a/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
+++ b/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
@@ -12,8 +12,8 @@
//===----------------------------------------------------------------------===//
#include "llvm/Transforms/Scalar/CorrelatedValuePropagation.h"
-#include "llvm/Transforms/Scalar.h"
#include "llvm/ADT/Statistic.h"
+#include "llvm/Analysis/AssumptionCache.h"
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/Analysis/InstructionSimplify.h"
#include "llvm/Analysis/LazyValueInfo.h"
@@ -26,6 +26,7 @@
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
+#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Utils/Local.h"
using namespace llvm;
@@ -95,7 +96,8 @@ static bool processSelect(SelectInst *S, LazyValueInfo *LVI) {
return true;
}
-static bool processPHI(PHINode *P, LazyValueInfo *LVI) {
+static bool processPHI(PHINode *P, LazyValueInfo *LVI,
+ const SimplifyQuery &SQ) {
bool Changed = false;
BasicBlock *BB = P->getParent();
@@ -149,9 +151,7 @@ static bool processPHI(PHINode *P, LazyValueInfo *LVI) {
Changed = true;
}
- // FIXME: Provide TLI, DT, AT to SimplifyInstruction.
- const DataLayout &DL = BB->getModule()->getDataLayout();
- if (Value *V = SimplifyInstruction(P, DL)) {
+ if (Value *V = SimplifyInstruction(P, SQ.getWithInstruction(P))) {
P->replaceAllUsesWith(V);
P->eraseFromParent();
Changed = true;
@@ -488,9 +488,8 @@ static Constant *getConstantAt(Value *V, Instruction *At, LazyValueInfo *LVI) {
ConstantInt::getFalse(C->getContext());
}
-static bool runImpl(Function &F, LazyValueInfo *LVI) {
+static bool runImpl(Function &F, LazyValueInfo *LVI, const SimplifyQuery &SQ) {
bool FnChanged = false;
-
// Visiting in a pre-order depth-first traversal causes us to simplify early
// blocks before querying later blocks (which require us to analyze early
// blocks). Eagerly simplifying shallow blocks means there is strictly less
@@ -505,7 +504,7 @@ static bool runImpl(Function &F, LazyValueInfo *LVI) {
BBChanged |= processSelect(cast<SelectInst>(II), LVI);
break;
case Instruction::PHI:
- BBChanged |= processPHI(cast<PHINode>(II), LVI);
+ BBChanged |= processPHI(cast<PHINode>(II), LVI, SQ);
break;
case Instruction::ICmp:
case Instruction::FCmp:
@@ -566,14 +565,25 @@ bool CorrelatedValuePropagation::runOnFunction(Function &F) {
return false;
LazyValueInfo *LVI = &getAnalysis<LazyValueInfoWrapperPass>().getLVI();
- return runImpl(F, LVI);
+ auto *DTWP = getAnalysisIfAvailable<DominatorTreeWrapperPass>();
+ auto *DT = DTWP ? &DTWP->getDomTree() : nullptr;
+ auto *TLIWP = getAnalysisIfAvailable<TargetLibraryInfoWrapperPass>();
+ auto *TLI = TLIWP ? &TLIWP->getTLI() : nullptr;
+ auto *ACWP = getAnalysisIfAvailable<AssumptionCacheTracker>();
+ auto *AC = ACWP ? &ACWP->getAssumptionCache(F) : nullptr;
+ const SimplifyQuery SQ(F.getParent()->getDataLayout(), TLI, DT, AC);
+ return runImpl(F, LVI, SQ);
}
PreservedAnalyses
CorrelatedValuePropagationPass::run(Function &F, FunctionAnalysisManager &AM) {
LazyValueInfo *LVI = &AM.getResult<LazyValueAnalysis>(F);
- bool Changed = runImpl(F, LVI);
+ auto *DT = AM.getCachedResult<DominatorTreeAnalysis>(F);
+ auto *TLI = AM.getCachedResult<TargetLibraryAnalysis>(F);
+ auto *AC = AM.getCachedResult<AssumptionAnalysis>(F);
+ const SimplifyQuery SQ(F.getParent()->getDataLayout(), TLI, DT, AC);
+ bool Changed = runImpl(F, LVI, SQ);
if (!Changed)
return PreservedAnalyses::all();
diff --git a/lib/Transforms/Scalar/GuardWidening.cpp b/lib/Transforms/Scalar/GuardWidening.cpp
index 7019287954a1..48eda09c463e 100644
--- a/lib/Transforms/Scalar/GuardWidening.cpp
+++ b/lib/Transforms/Scalar/GuardWidening.cpp
@@ -51,6 +51,7 @@
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Transforms/Scalar.h"
using namespace llvm;
@@ -537,9 +538,9 @@ bool GuardWideningImpl::parseRangeChecks(
} else if (match(Check.getBase(),
m_Or(m_Value(OpLHS), m_ConstantInt(OpRHS)))) {
unsigned BitWidth = OpLHS->getType()->getScalarSizeInBits();
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
- computeKnownBits(OpLHS, KnownZero, KnownOne, DL);
- if ((OpRHS->getValue() & KnownZero) == OpRHS->getValue()) {
+ KnownBits Known(BitWidth);
+ computeKnownBits(OpLHS, Known, DL);
+ if ((OpRHS->getValue() & Known.Zero) == OpRHS->getValue()) {
Check.setBase(OpLHS);
APInt NewOffset = Check.getOffsetValue() + OpRHS->getValue();
Check.setOffset(ConstantInt::get(Ctx, NewOffset));
diff --git a/lib/Transforms/Scalar/InferAddressSpaces.cpp b/lib/Transforms/Scalar/InferAddressSpaces.cpp
index 5d8701431a2c..9e2563879da2 100644
--- a/lib/Transforms/Scalar/InferAddressSpaces.cpp
+++ b/lib/Transforms/Scalar/InferAddressSpaces.cpp
@@ -152,15 +152,15 @@ private:
Function *F) const;
void appendsFlatAddressExpressionToPostorderStack(
- Value *V, std::vector<std::pair<Value *, bool>> *PostorderStack,
- DenseSet<Value *> *Visited) const;
+ Value *V, std::vector<std::pair<Value *, bool>> &PostorderStack,
+ DenseSet<Value *> &Visited) const;
bool rewriteIntrinsicOperands(IntrinsicInst *II,
Value *OldV, Value *NewV) const;
void collectRewritableIntrinsicOperands(
IntrinsicInst *II,
- std::vector<std::pair<Value *, bool>> *PostorderStack,
- DenseSet<Value *> *Visited) const;
+ std::vector<std::pair<Value *, bool>> &PostorderStack,
+ DenseSet<Value *> &Visited) const;
std::vector<Value *> collectFlatAddressExpressions(Function &F) const;
@@ -204,7 +204,6 @@ static bool isAddressExpression(const Value &V) {
//
// Precondition: V is an address expression.
static SmallVector<Value *, 2> getPointerOperands(const Value &V) {
- assert(isAddressExpression(V));
const Operator &Op = cast<Operator>(V);
switch (Op.getOpcode()) {
case Instruction::PHI: {
@@ -254,8 +253,8 @@ bool InferAddressSpaces::rewriteIntrinsicOperands(IntrinsicInst *II,
// TODO: Move logic to TTI?
void InferAddressSpaces::collectRewritableIntrinsicOperands(
- IntrinsicInst *II, std::vector<std::pair<Value *, bool>> *PostorderStack,
- DenseSet<Value *> *Visited) const {
+ IntrinsicInst *II, std::vector<std::pair<Value *, bool>> &PostorderStack,
+ DenseSet<Value *> &Visited) const {
switch (II->getIntrinsicID()) {
case Intrinsic::objectsize:
case Intrinsic::amdgcn_atomic_inc:
@@ -272,13 +271,13 @@ void InferAddressSpaces::collectRewritableIntrinsicOperands(
// If V is an unvisited flat address expression, appends V to PostorderStack
// and marks it as visited.
void InferAddressSpaces::appendsFlatAddressExpressionToPostorderStack(
- Value *V, std::vector<std::pair<Value *, bool>> *PostorderStack,
- DenseSet<Value *> *Visited) const {
+ Value *V, std::vector<std::pair<Value *, bool>> &PostorderStack,
+ DenseSet<Value *> &Visited) const {
assert(V->getType()->isPointerTy());
if (isAddressExpression(*V) &&
V->getType()->getPointerAddressSpace() == FlatAddrSpace) {
- if (Visited->insert(V).second)
- PostorderStack->push_back(std::make_pair(V, false));
+ if (Visited.insert(V).second)
+ PostorderStack.push_back(std::make_pair(V, false));
}
}
@@ -293,14 +292,18 @@ InferAddressSpaces::collectFlatAddressExpressions(Function &F) const {
DenseSet<Value *> Visited;
auto PushPtrOperand = [&](Value *Ptr) {
- appendsFlatAddressExpressionToPostorderStack(Ptr, &PostorderStack,
- &Visited);
+ appendsFlatAddressExpressionToPostorderStack(Ptr, PostorderStack,
+ Visited);
};
- // We only explore address expressions that are reachable from loads and
- // stores for now because we aim at generating faster loads and stores.
+ // Look at operations that may be interesting accelerate by moving to a known
+ // address space. We aim at generating after loads and stores, but pure
+ // addressing calculations may also be faster.
for (Instruction &I : instructions(F)) {
- if (auto *LI = dyn_cast<LoadInst>(&I))
+ if (auto *GEP = dyn_cast<GetElementPtrInst>(&I)) {
+ if (!GEP->getType()->isVectorTy())
+ PushPtrOperand(GEP->getPointerOperand());
+ } else if (auto *LI = dyn_cast<LoadInst>(&I))
PushPtrOperand(LI->getPointerOperand());
else if (auto *SI = dyn_cast<StoreInst>(&I))
PushPtrOperand(SI->getPointerOperand());
@@ -316,7 +319,7 @@ InferAddressSpaces::collectFlatAddressExpressions(Function &F) const {
if (auto *MTI = dyn_cast<MemTransferInst>(MI))
PushPtrOperand(MTI->getRawSource());
} else if (auto *II = dyn_cast<IntrinsicInst>(&I))
- collectRewritableIntrinsicOperands(II, &PostorderStack, &Visited);
+ collectRewritableIntrinsicOperands(II, PostorderStack, Visited);
else if (ICmpInst *Cmp = dyn_cast<ICmpInst>(&I)) {
// FIXME: Handle vectors of pointers
if (Cmp->getOperand(0)->getType()->isPointerTy()) {
@@ -338,8 +341,8 @@ InferAddressSpaces::collectFlatAddressExpressions(Function &F) const {
// Otherwise, adds its operands to the stack and explores them.
PostorderStack.back().second = true;
for (Value *PtrOperand : getPointerOperands(*PostorderStack.back().first)) {
- appendsFlatAddressExpressionToPostorderStack(PtrOperand, &PostorderStack,
- &Visited);
+ appendsFlatAddressExpressionToPostorderStack(PtrOperand, PostorderStack,
+ Visited);
}
}
return Postorder;
diff --git a/lib/Transforms/Scalar/JumpThreading.cpp b/lib/Transforms/Scalar/JumpThreading.cpp
index 08eb95a1a3d3..a0da81605a80 100644
--- a/lib/Transforms/Scalar/JumpThreading.cpp
+++ b/lib/Transforms/Scalar/JumpThreading.cpp
@@ -1289,6 +1289,36 @@ bool JumpThreadingPass::ProcessThreadableEdges(Value *Cond, BasicBlock *BB,
if (PredToDestList.empty())
return false;
+ // If all the predecessors go to a single known successor, we want to fold,
+ // not thread. By doing so, we do not need to duplicate the current block and
+ // also miss potential opportunities in case we dont/cant duplicate.
+ if (OnlyDest && OnlyDest != MultipleDestSentinel) {
+ if (PredToDestList.size() ==
+ (size_t)std::distance(pred_begin(BB), pred_end(BB))) {
+ bool SeenFirstBranchToOnlyDest = false;
+ for (BasicBlock *SuccBB : successors(BB)) {
+ if (SuccBB == OnlyDest && !SeenFirstBranchToOnlyDest)
+ SeenFirstBranchToOnlyDest = true; // Don't modify the first branch.
+ else
+ SuccBB->removePredecessor(BB, true); // This is unreachable successor.
+ }
+
+ // Finally update the terminator.
+ TerminatorInst *Term = BB->getTerminator();
+ BranchInst::Create(OnlyDest, Term);
+ Term->eraseFromParent();
+
+ // If the condition is now dead due to the removal of the old terminator,
+ // erase it.
+ auto *CondInst = dyn_cast<Instruction>(Cond);
+ if (CondInst && CondInst->use_empty())
+ CondInst->eraseFromParent();
+ // FIXME: in case this instruction is defined in the current BB and it
+ // resolves to a single value from all predecessors, we can do RAUW.
+ return true;
+ }
+ }
+
// Determine which is the most common successor. If we have many inputs and
// this block is a switch, we want to start by threading the batch that goes
// to the most popular destination first. If we only know about one
diff --git a/lib/Transforms/Scalar/LoopIdiomRecognize.cpp b/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
index 946d85d7360f..5042fc18d7c4 100644
--- a/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
+++ b/lib/Transforms/Scalar/LoopIdiomRecognize.cpp
@@ -345,6 +345,11 @@ bool LoopIdiomRecognize::isLegalStore(StoreInst *SI, bool &ForMemset,
if (!SI->isSimple())
return false;
+ // Don't convert stores of non-integral pointer types to memsets (which stores
+ // integers).
+ if (DL->isNonIntegralPointerType(SI->getValueOperand()->getType()))
+ return false;
+
// Avoid merging nontemporal stores.
if (SI->getMetadata(LLVMContext::MD_nontemporal))
return false;
diff --git a/lib/Transforms/Scalar/LoopRotation.cpp b/lib/Transforms/Scalar/LoopRotation.cpp
index e5689368de80..8ce96cf1b7a6 100644
--- a/lib/Transforms/Scalar/LoopRotation.cpp
+++ b/lib/Transforms/Scalar/LoopRotation.cpp
@@ -58,13 +58,14 @@ class LoopRotate {
AssumptionCache *AC;
DominatorTree *DT;
ScalarEvolution *SE;
+ const SimplifyQuery &SQ;
public:
LoopRotate(unsigned MaxHeaderSize, LoopInfo *LI,
const TargetTransformInfo *TTI, AssumptionCache *AC,
- DominatorTree *DT, ScalarEvolution *SE)
- : MaxHeaderSize(MaxHeaderSize), LI(LI), TTI(TTI), AC(AC), DT(DT), SE(SE) {
- }
+ DominatorTree *DT, ScalarEvolution *SE, const SimplifyQuery &SQ)
+ : MaxHeaderSize(MaxHeaderSize), LI(LI), TTI(TTI), AC(AC), DT(DT), SE(SE),
+ SQ(SQ) {}
bool processLoop(Loop *L);
private:
@@ -311,8 +312,6 @@ bool LoopRotate::rotateLoop(Loop *L, bool SimplifiedLatch) {
for (; PHINode *PN = dyn_cast<PHINode>(I); ++I)
ValueMap[PN] = PN->getIncomingValueForBlock(OrigPreheader);
- const DataLayout &DL = L->getHeader()->getModule()->getDataLayout();
-
// For the rest of the instructions, either hoist to the OrigPreheader if
// possible or create a clone in the OldPreHeader if not.
TerminatorInst *LoopEntryBranch = OrigPreheader->getTerminator();
@@ -342,8 +341,7 @@ bool LoopRotate::rotateLoop(Loop *L, bool SimplifiedLatch) {
// With the operands remapped, see if the instruction constant folds or is
// otherwise simplifyable. This commonly occurs because the entry from PHI
// nodes allows icmps and other instructions to fold.
- // FIXME: Provide TLI, DT, AC to SimplifyInstruction.
- Value *V = SimplifyInstruction(C, DL);
+ Value *V = SimplifyInstruction(C, SQ.getWithInstruction(C));
if (V && LI->replacementPreservesLCSSAForm(C, V)) {
// If so, then delete the temporary instruction and stick the folded value
// in the map.
@@ -671,7 +669,9 @@ PreservedAnalyses LoopRotatePass::run(Loop &L, LoopAnalysisManager &AM,
LoopStandardAnalysisResults &AR,
LPMUpdater &) {
int Threshold = EnableHeaderDuplication ? DefaultRotationThreshold : 0;
- LoopRotate LR(Threshold, &AR.LI, &AR.TTI, &AR.AC, &AR.DT, &AR.SE);
+ const DataLayout &DL = L.getHeader()->getModule()->getDataLayout();
+ const SimplifyQuery SQ(DL, &AR.TLI, &AR.DT, &AR.AC);
+ LoopRotate LR(Threshold, &AR.LI, &AR.TTI, &AR.AC, &AR.DT, &AR.SE, SQ);
bool Changed = LR.processLoop(&L);
if (!Changed)
@@ -714,7 +714,11 @@ public:
auto *DT = DTWP ? &DTWP->getDomTree() : nullptr;
auto *SEWP = getAnalysisIfAvailable<ScalarEvolutionWrapperPass>();
auto *SE = SEWP ? &SEWP->getSE() : nullptr;
- LoopRotate LR(MaxHeaderSize, LI, TTI, AC, DT, SE);
+ auto *TLIWP = getAnalysisIfAvailable<TargetLibraryInfoWrapperPass>();
+ auto *TLI = TLIWP ? &TLIWP->getTLI() : nullptr;
+ const DataLayout &DL = L->getHeader()->getModule()->getDataLayout();
+ const SimplifyQuery SQ(DL, TLI, DT, AC);
+ LoopRotate LR(MaxHeaderSize, LI, TTI, AC, DT, SE, SQ);
return LR.processLoop(L);
}
};
diff --git a/lib/Transforms/Scalar/LoopUnswitch.cpp b/lib/Transforms/Scalar/LoopUnswitch.cpp
index a99c9999c619..8fa806a7e8bc 100644
--- a/lib/Transforms/Scalar/LoopUnswitch.cpp
+++ b/lib/Transforms/Scalar/LoopUnswitch.cpp
@@ -8,7 +8,7 @@
//===----------------------------------------------------------------------===//
//
// This pass transforms loops that contain branches on loop-invariant conditions
-// to have multiple loops. For example, it turns the left into the right code:
+// to multiple loops. For example, it turns the left into the right code:
//
// for (...) if (lic)
// A for (...)
diff --git a/lib/Transforms/Scalar/StructurizeCFG.cpp b/lib/Transforms/Scalar/StructurizeCFG.cpp
index 659353e912fe..49ce0262c97b 100644
--- a/lib/Transforms/Scalar/StructurizeCFG.cpp
+++ b/lib/Transforms/Scalar/StructurizeCFG.cpp
@@ -352,20 +352,10 @@ Value *StructurizeCFG::invert(Value *Condition) {
if (Instruction *Inst = dyn_cast<Instruction>(Condition)) {
// Third: Check all the users for an invert
BasicBlock *Parent = Inst->getParent();
- for (User *U : Condition->users()) {
- if (Instruction *I = dyn_cast<Instruction>(U)) {
+ for (User *U : Condition->users())
+ if (Instruction *I = dyn_cast<Instruction>(U))
if (I->getParent() == Parent && match(I, m_Not(m_Specific(Condition))))
return I;
- }
- }
-
- // Avoid creating a new instruction in the common case of a compare.
- if (CmpInst *Cmp = dyn_cast<CmpInst>(Inst)) {
- if (Cmp->hasOneUse()) {
- Cmp->setPredicate(Cmp->getInversePredicate());
- return Cmp;
- }
- }
// Last option: Create a new instruction
return BinaryOperator::CreateNot(Condition, "", Parent->getTerminator());
diff --git a/lib/Transforms/Utils/BypassSlowDivision.cpp b/lib/Transforms/Utils/BypassSlowDivision.cpp
index 1cfe3bd53648..7ffdad597a9b 100644
--- a/lib/Transforms/Utils/BypassSlowDivision.cpp
+++ b/lib/Transforms/Utils/BypassSlowDivision.cpp
@@ -22,6 +22,7 @@
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instructions.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Transforms/Utils/Local.h"
using namespace llvm;
@@ -256,14 +257,14 @@ ValueRange FastDivInsertionTask::getValueRange(Value *V,
unsigned HiBits = LongLen - ShortLen;
const DataLayout &DL = SlowDivOrRem->getModule()->getDataLayout();
- APInt Zeros(LongLen, 0), Ones(LongLen, 0);
+ KnownBits Known(LongLen);
- computeKnownBits(V, Zeros, Ones, DL);
+ computeKnownBits(V, Known, DL);
- if (Zeros.countLeadingOnes() >= HiBits)
+ if (Known.Zero.countLeadingOnes() >= HiBits)
return VALRNG_KNOWN_SHORT;
- if (Ones.countLeadingZeros() < HiBits)
+ if (Known.One.countLeadingZeros() < HiBits)
return VALRNG_LIKELY_LONG;
// Long integer divisions are often used in hashtable implementations. It's
diff --git a/lib/Transforms/Utils/CodeExtractor.cpp b/lib/Transforms/Utils/CodeExtractor.cpp
index 82552684b832..ed72099ec3ed 100644
--- a/lib/Transforms/Utils/CodeExtractor.cpp
+++ b/lib/Transforms/Utils/CodeExtractor.cpp
@@ -73,24 +73,26 @@ bool CodeExtractor::isBlockValidForExtraction(const BasicBlock &BB) {
}
/// \brief Build a set of blocks to extract if the input blocks are viable.
-template <typename IteratorT>
-static SetVector<BasicBlock *> buildExtractionBlockSet(IteratorT BBBegin,
- IteratorT BBEnd) {
+static SetVector<BasicBlock *>
+buildExtractionBlockSet(ArrayRef<BasicBlock *> BBs, DominatorTree *DT) {
+ assert(!BBs.empty() && "The set of blocks to extract must be non-empty");
SetVector<BasicBlock *> Result;
- assert(BBBegin != BBEnd);
-
// Loop over the blocks, adding them to our set-vector, and aborting with an
// empty set if we encounter invalid blocks.
- do {
- if (!Result.insert(*BBBegin))
- llvm_unreachable("Repeated basic blocks in extraction input");
+ for (BasicBlock *BB : BBs) {
- if (!CodeExtractor::isBlockValidForExtraction(**BBBegin)) {
+ // If this block is dead, don't process it.
+ if (DT && !DT->isReachableFromEntry(BB))
+ continue;
+
+ if (!Result.insert(BB))
+ llvm_unreachable("Repeated basic blocks in extraction input");
+ if (!CodeExtractor::isBlockValidForExtraction(*BB)) {
Result.clear();
return Result;
}
- } while (++BBBegin != BBEnd);
+ }
#ifndef NDEBUG
for (SetVector<BasicBlock *>::iterator I = std::next(Result.begin()),
@@ -106,23 +108,17 @@ static SetVector<BasicBlock *> buildExtractionBlockSet(IteratorT BBBegin,
return Result;
}
-/// \brief Helper to call buildExtractionBlockSet with an ArrayRef.
-static SetVector<BasicBlock *>
-buildExtractionBlockSet(ArrayRef<BasicBlock *> BBs) {
- return buildExtractionBlockSet(BBs.begin(), BBs.end());
-}
-
CodeExtractor::CodeExtractor(ArrayRef<BasicBlock *> BBs, DominatorTree *DT,
bool AggregateArgs, BlockFrequencyInfo *BFI,
BranchProbabilityInfo *BPI)
: DT(DT), AggregateArgs(AggregateArgs || AggregateArgsOpt), BFI(BFI),
- BPI(BPI), Blocks(buildExtractionBlockSet(BBs)), NumExitBlocks(~0U) {}
+ BPI(BPI), Blocks(buildExtractionBlockSet(BBs, DT)), NumExitBlocks(~0U) {}
CodeExtractor::CodeExtractor(DominatorTree &DT, Loop &L, bool AggregateArgs,
BlockFrequencyInfo *BFI,
BranchProbabilityInfo *BPI)
: DT(&DT), AggregateArgs(AggregateArgs || AggregateArgsOpt), BFI(BFI),
- BPI(BPI), Blocks(buildExtractionBlockSet(L.getBlocks())),
+ BPI(BPI), Blocks(buildExtractionBlockSet(L.getBlocks(), &DT)),
NumExitBlocks(~0U) {}
/// definedInRegion - Return true if the specified value is defined in the
@@ -194,9 +190,7 @@ void CodeExtractor::severSplitPHINodes(BasicBlock *&Header) {
// containing PHI nodes merging values from outside of the region, and a
// second that contains all of the code for the block and merges back any
// incoming values from inside of the region.
- BasicBlock::iterator AfterPHIs = Header->getFirstNonPHI()->getIterator();
- BasicBlock *NewBB = Header->splitBasicBlock(AfterPHIs,
- Header->getName()+".ce");
+ BasicBlock *NewBB = llvm::SplitBlock(Header, Header->getFirstNonPHI(), DT);
// We only want to code extract the second block now, and it becomes the new
// header of the region.
@@ -205,11 +199,6 @@ void CodeExtractor::severSplitPHINodes(BasicBlock *&Header) {
Blocks.insert(NewBB);
Header = NewBB;
- // Okay, update dominator sets. The blocks that dominate the new one are the
- // blocks that dominate TIBB plus the new block itself.
- if (DT)
- DT->splitBlock(NewBB);
-
// Okay, now we need to adjust the PHI nodes and any branches from within the
// region to go to the new header block instead of the old header block.
if (NumPredsFromRegion) {
@@ -224,12 +213,14 @@ void CodeExtractor::severSplitPHINodes(BasicBlock *&Header) {
// Okay, everything within the region is now branching to the right block, we
// just have to update the PHI nodes now, inserting PHI nodes into NewBB.
+ BasicBlock::iterator AfterPHIs;
for (AfterPHIs = OldPred->begin(); isa<PHINode>(AfterPHIs); ++AfterPHIs) {
PHINode *PN = cast<PHINode>(AfterPHIs);
// Create a new PHI node in the new region, which has an incoming value
// from OldPred of PN.
PHINode *NewPN = PHINode::Create(PN->getType(), 1 + NumPredsFromRegion,
PN->getName() + ".ce", &NewBB->front());
+ PN->replaceAllUsesWith(NewPN);
NewPN->addIncoming(PN, OldPred);
// Loop over all of the incoming value in PN, moving them to NewPN if they
diff --git a/lib/Transforms/Utils/Local.cpp b/lib/Transforms/Utils/Local.cpp
index 8c5442762643..d3002c5fb750 100644
--- a/lib/Transforms/Utils/Local.cpp
+++ b/lib/Transforms/Utils/Local.cpp
@@ -45,6 +45,7 @@
#include "llvm/IR/PatternMatch.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
@@ -1038,9 +1039,9 @@ unsigned llvm::getOrEnforceKnownAlignment(Value *V, unsigned PrefAlign,
"getOrEnforceKnownAlignment expects a pointer!");
unsigned BitWidth = DL.getPointerTypeSizeInBits(V->getType());
- APInt KnownZero(BitWidth, 0), KnownOne(BitWidth, 0);
- computeKnownBits(V, KnownZero, KnownOne, DL, 0, AC, CxtI, DT);
- unsigned TrailZ = KnownZero.countTrailingOnes();
+ KnownBits Known(BitWidth);
+ computeKnownBits(V, Known, DL, 0, AC, CxtI, DT);
+ unsigned TrailZ = Known.Zero.countTrailingOnes();
// Avoid trouble with ridiculously large TrailZ values, such as
// those computed from a null pointer.
@@ -1268,21 +1269,37 @@ static void appendOffset(SmallVectorImpl<uint64_t> &Ops, int64_t Offset) {
}
}
-/// Prepend \p DIExpr with a deref and offset operation.
+enum { WithStackValue = true };
+
+/// Prepend \p DIExpr with a deref and offset operation and optionally turn it
+/// into a stack value.
static DIExpression *prependDIExpr(DIBuilder &Builder, DIExpression *DIExpr,
- bool Deref, int64_t Offset) {
- if (!Deref && !Offset)
+ bool Deref, int64_t Offset = 0,
+ bool StackValue = false) {
+ if (!Deref && !Offset && !StackValue)
return DIExpr;
- // Create a copy of the original DIDescriptor for user variable, prepending
- // "deref" operation to a list of address elements, as new llvm.dbg.declare
- // will take a value storing address of the memory for variable, not
- // alloca itself.
- SmallVector<uint64_t, 4> Ops;
+
+ SmallVector<uint64_t, 8> Ops;
+ appendOffset(Ops, Offset);
if (Deref)
Ops.push_back(dwarf::DW_OP_deref);
- appendOffset(Ops, Offset);
if (DIExpr)
- Ops.append(DIExpr->elements_begin(), DIExpr->elements_end());
+ for (auto Op : DIExpr->expr_ops()) {
+ // A DW_OP_stack_value comes at the end, but before a DW_OP_LLVM_fragment.
+ if (StackValue) {
+ if (Op.getOp() == dwarf::DW_OP_stack_value)
+ StackValue = false;
+ else if (Op.getOp() == dwarf::DW_OP_LLVM_fragment) {
+ Ops.push_back(dwarf::DW_OP_stack_value);
+ StackValue = false;
+ }
+ }
+ Ops.push_back(Op.getOp());
+ for (unsigned I = 0; I < Op.getNumArgs(); ++I)
+ Ops.push_back(Op.getArg(I));
+ }
+ if (StackValue)
+ Ops.push_back(dwarf::DW_OP_stack_value);
return Builder.createExpression(Ops);
}
@@ -1374,12 +1391,15 @@ void llvm::salvageDebugInfo(Instruction &I) {
unsigned BitWidth =
M.getDataLayout().getPointerSizeInBits(GEP->getPointerAddressSpace());
APInt Offset(BitWidth, 0);
- // Rewrite a constant GEP into a DIExpression.
+ // Rewrite a constant GEP into a DIExpression. Since we are performing
+ // arithmetic to compute the variable's *value* in the DIExpression, we
+ // need to mark the expression with a DW_OP_stack_value.
if (GEP->accumulateConstantOffset(M.getDataLayout(), Offset)) {
auto *DIExpr = DVI->getExpression();
DIBuilder DIB(M, /*AllowUnresolved*/ false);
- // GEP offsets are i32 and thus alwaus fit into an int64_t.
- DIExpr = prependDIExpr(DIB, DIExpr, NoDeref, Offset.getSExtValue());
+ // GEP offsets are i32 and thus always fit into an int64_t.
+ DIExpr = prependDIExpr(DIB, DIExpr, NoDeref, Offset.getSExtValue(),
+ WithStackValue);
DVI->setOperand(0, MDWrap(I.getOperand(0)));
DVI->setOperand(3, MetadataAsValue::get(I.getContext(), DIExpr));
DEBUG(dbgs() << "SALVAGE: " << *DVI << '\n');
@@ -1391,7 +1411,7 @@ void llvm::salvageDebugInfo(Instruction &I) {
// Rewrite the load into DW_OP_deref.
auto *DIExpr = DVI->getExpression();
DIBuilder DIB(M, /*AllowUnresolved*/ false);
- DIExpr = prependDIExpr(DIB, DIExpr, WithDeref, 0);
+ DIExpr = prependDIExpr(DIB, DIExpr, WithDeref);
DVI->setOperand(0, MDWrap(I.getOperand(0)));
DVI->setOperand(3, MetadataAsValue::get(I.getContext(), DIExpr));
DEBUG(dbgs() << "SALVAGE: " << *DVI << '\n');
diff --git a/lib/Transforms/Utils/LoopUnroll.cpp b/lib/Transforms/Utils/LoopUnroll.cpp
index 3c669ce644e2..43ab725b0769 100644
--- a/lib/Transforms/Utils/LoopUnroll.cpp
+++ b/lib/Transforms/Utils/LoopUnroll.cpp
@@ -318,6 +318,10 @@ bool llvm::UnrollLoop(Loop *L, unsigned Count, unsigned TripCount, bool Force,
return false;
}
+ // The current loop unroll pass can only unroll loops with a single latch
+ // that's a conditional branch exiting the loop.
+ // FIXME: The implementation can be extended to work with more complicated
+ // cases, e.g. loops with multiple latches.
BasicBlock *Header = L->getHeader();
BranchInst *BI = dyn_cast<BranchInst>(LatchBlock->getTerminator());
@@ -328,6 +332,16 @@ bool llvm::UnrollLoop(Loop *L, unsigned Count, unsigned TripCount, bool Force,
return false;
}
+ auto CheckSuccessors = [&](unsigned S1, unsigned S2) {
+ return BI->getSuccessor(S1) == Header && !L->contains(BI->getSuccessor(S2));
+ };
+
+ if (!CheckSuccessors(0, 1) && !CheckSuccessors(1, 0)) {
+ DEBUG(dbgs() << "Can't unroll; only loops with one conditional latch"
+ " exiting the loop can be unrolled\n");
+ return false;
+ }
+
if (Header->hasAddressTaken()) {
// The loop-rotate pass can be helpful to avoid this in many cases.
DEBUG(dbgs() <<
diff --git a/lib/Transforms/Utils/LowerSwitch.cpp b/lib/Transforms/Utils/LowerSwitch.cpp
index b375d51005d5..8959e77438e9 100644
--- a/lib/Transforms/Utils/LowerSwitch.cpp
+++ b/lib/Transforms/Utils/LowerSwitch.cpp
@@ -403,6 +403,14 @@ void LowerSwitch::processSwitchInst(SwitchInst *SI,
Value *Val = SI->getCondition(); // The value we are switching on...
BasicBlock* Default = SI->getDefaultDest();
+ // Don't handle unreachable blocks. If there are successors with phis, this
+ // would leave them behind with missing predecessors.
+ if ((CurBlock != &F->getEntryBlock() && pred_empty(CurBlock)) ||
+ CurBlock->getSinglePredecessor() == CurBlock) {
+ DeleteList.insert(CurBlock);
+ return;
+ }
+
// If there is only the default destination, just branch.
if (!SI->getNumCases()) {
BranchInst::Create(Default, CurBlock);
diff --git a/lib/Transforms/Utils/SimplifyCFG.cpp b/lib/Transforms/Utils/SimplifyCFG.cpp
index 2f575b9d5027..f86e97b6cc72 100644
--- a/lib/Transforms/Utils/SimplifyCFG.cpp
+++ b/lib/Transforms/Utils/SimplifyCFG.cpp
@@ -60,6 +60,7 @@
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Utils/BasicBlockUtils.h"
@@ -3055,6 +3056,15 @@ static bool mergeConditionalStores(BranchInst *PBI, BranchInst *QBI) {
BasicBlock *QFB = QBI->getSuccessor(1);
BasicBlock *PostBB = QFB->getSingleSuccessor();
+ // Make sure we have a good guess for PostBB. If QTB's only successor is
+ // QFB, then QFB is a better PostBB.
+ if (QTB->getSingleSuccessor() == QFB)
+ PostBB = QFB;
+
+ // If we couldn't find a good PostBB, stop.
+ if (!PostBB)
+ return false;
+
bool InvertPCond = false, InvertQCond = false;
// Canonicalize fallthroughs to the true branches.
if (PFB == QBI->getParent()) {
@@ -3079,8 +3089,7 @@ static bool mergeConditionalStores(BranchInst *PBI, BranchInst *QBI) {
auto HasOnePredAndOneSucc = [](BasicBlock *BB, BasicBlock *P, BasicBlock *S) {
return BB->getSinglePredecessor() == P && BB->getSingleSuccessor() == S;
};
- if (!PostBB ||
- !HasOnePredAndOneSucc(PFB, PBI->getParent(), QBI->getParent()) ||
+ if (!HasOnePredAndOneSucc(PFB, PBI->getParent(), QBI->getParent()) ||
!HasOnePredAndOneSucc(QFB, QBI->getParent(), PostBB))
return false;
if ((PTB && !HasOnePredAndOneSucc(PTB, PBI->getParent(), QBI->getParent())) ||
@@ -3746,7 +3755,7 @@ bool SimplifyCFGOpt::SimplifyCommonResume(ResumeInst *RI) {
if (!isa<DbgInfoIntrinsic>(I))
return false;
- SmallSet<BasicBlock *, 4> TrivialUnwindBlocks;
+ SmallSetVector<BasicBlock *, 4> TrivialUnwindBlocks;
auto *PhiLPInst = cast<PHINode>(RI->getValue());
// Check incoming blocks to see if any of them are trivial.
@@ -4359,8 +4368,8 @@ static bool EliminateDeadSwitchCases(SwitchInst *SI, AssumptionCache *AC,
const DataLayout &DL) {
Value *Cond = SI->getCondition();
unsigned Bits = Cond->getType()->getIntegerBitWidth();
- APInt KnownZero(Bits, 0), KnownOne(Bits, 0);
- computeKnownBits(Cond, KnownZero, KnownOne, DL, 0, AC, SI);
+ KnownBits Known(Bits);
+ computeKnownBits(Cond, Known, DL, 0, AC, SI);
// We can also eliminate cases by determining that their values are outside of
// the limited range of the condition based on how many significant (non-sign)
@@ -4372,7 +4381,7 @@ static bool EliminateDeadSwitchCases(SwitchInst *SI, AssumptionCache *AC,
SmallVector<ConstantInt *, 8> DeadCases;
for (auto &Case : SI->cases()) {
APInt CaseVal = Case.getCaseValue()->getValue();
- if ((CaseVal & KnownZero) != 0 || (CaseVal & KnownOne) != KnownOne ||
+ if (Known.Zero.intersects(CaseVal) || !Known.One.isSubsetOf(CaseVal) ||
(CaseVal.getMinSignedBits() > MaxSignificantBitsInCond)) {
DeadCases.push_back(Case.getCaseValue());
DEBUG(dbgs() << "SimplifyCFG: switch case " << CaseVal << " is dead.\n");
@@ -4386,7 +4395,7 @@ static bool EliminateDeadSwitchCases(SwitchInst *SI, AssumptionCache *AC,
bool HasDefault =
!isa<UnreachableInst>(SI->getDefaultDest()->getFirstNonPHIOrDbg());
const unsigned NumUnknownBits =
- Bits - (KnownZero | KnownOne).countPopulation();
+ Bits - (Known.Zero | Known.One).countPopulation();
assert(NumUnknownBits <= Bits);
if (HasDefault && DeadCases.empty() &&
NumUnknownBits < 64 /* avoid overflow */ &&
diff --git a/lib/Transforms/Utils/SimplifyInstructions.cpp b/lib/Transforms/Utils/SimplifyInstructions.cpp
index f6070868de44..27373427d4f7 100644
--- a/lib/Transforms/Utils/SimplifyInstructions.cpp
+++ b/lib/Transforms/Utils/SimplifyInstructions.cpp
@@ -35,10 +35,8 @@ using namespace llvm;
STATISTIC(NumSimplified, "Number of redundant instructions removed");
-static bool runImpl(Function &F, const DominatorTree *DT,
- const TargetLibraryInfo *TLI, AssumptionCache *AC,
+static bool runImpl(Function &F, const SimplifyQuery &SQ,
OptimizationRemarkEmitter *ORE) {
- const DataLayout &DL = F.getParent()->getDataLayout();
SmallPtrSet<const Instruction *, 8> S1, S2, *ToSimplify = &S1, *Next = &S2;
bool Changed = false;
@@ -56,7 +54,8 @@ static bool runImpl(Function &F, const DominatorTree *DT,
// Don't waste time simplifying unused instructions.
if (!I->use_empty()) {
- if (Value *V = SimplifyInstruction(I, DL, TLI, DT, AC, ORE)) {
+ if (Value *V =
+ SimplifyInstruction(I, SQ.getWithInstruction(I), ORE)) {
// Mark all uses for resimplification next time round the loop.
for (User *U : I->users())
Next->insert(cast<Instruction>(U));
@@ -65,7 +64,7 @@ static bool runImpl(Function &F, const DominatorTree *DT,
Changed = true;
}
}
- if (RecursivelyDeleteTriviallyDeadInstructions(I, TLI)) {
+ if (RecursivelyDeleteTriviallyDeadInstructions(I, SQ.TLI)) {
// RecursivelyDeleteTriviallyDeadInstruction can remove more than one
// instruction, so simply incrementing the iterator does not work.
// When instructions get deleted re-iterate instead.
@@ -113,8 +112,9 @@ namespace {
&getAnalysis<AssumptionCacheTracker>().getAssumptionCache(F);
OptimizationRemarkEmitter *ORE =
&getAnalysis<OptimizationRemarkEmitterWrapperPass>().getORE();
-
- return runImpl(F, DT, TLI, AC, ORE);
+ const DataLayout &DL = F.getParent()->getDataLayout();
+ const SimplifyQuery SQ(DL, TLI, DT, AC);
+ return runImpl(F, SQ, ORE);
}
};
}
@@ -141,7 +141,9 @@ PreservedAnalyses InstSimplifierPass::run(Function &F,
auto &TLI = AM.getResult<TargetLibraryAnalysis>(F);
auto &AC = AM.getResult<AssumptionAnalysis>(F);
auto &ORE = AM.getResult<OptimizationRemarkEmitterAnalysis>(F);
- bool Changed = runImpl(F, &DT, &TLI, &AC, &ORE);
+ const DataLayout &DL = F.getParent()->getDataLayout();
+ const SimplifyQuery SQ(DL, &TLI, &DT, &AC);
+ bool Changed = runImpl(F, SQ, &ORE);
if (!Changed)
return PreservedAnalyses::all();
diff --git a/lib/Transforms/Utils/SimplifyLibCalls.cpp b/lib/Transforms/Utils/SimplifyLibCalls.cpp
index aa71e3669ea2..2c1c30463a23 100644
--- a/lib/Transforms/Utils/SimplifyLibCalls.cpp
+++ b/lib/Transforms/Utils/SimplifyLibCalls.cpp
@@ -30,6 +30,7 @@
#include "llvm/IR/Module.h"
#include "llvm/IR/PatternMatch.h"
#include "llvm/Support/CommandLine.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Transforms/Utils/BuildLibCalls.h"
#include "llvm/Transforms/Utils/Local.h"
@@ -37,10 +38,6 @@ using namespace llvm;
using namespace PatternMatch;
static cl::opt<bool>
- ColdErrorCalls("error-reporting-is-cold", cl::init(true), cl::Hidden,
- cl::desc("Treat error-reporting calls as cold"));
-
-static cl::opt<bool>
EnableUnsafeFPShrink("enable-double-float-shrink", cl::Hidden,
cl::init(false),
cl::desc("Enable unsafe double to float "
@@ -459,11 +456,9 @@ Value *LibCallSimplifier::optimizeStrLen(CallInst *CI, IRBuilder<> &B) {
Value *Offset = GEP->getOperand(2);
unsigned BitWidth = Offset->getType()->getIntegerBitWidth();
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
- computeKnownBits(Offset, KnownZero, KnownOne, DL, 0, nullptr, CI,
- nullptr);
- KnownZero.flipAllBits();
+ KnownBits Known(BitWidth);
+ computeKnownBits(Offset, Known, DL, 0, nullptr, CI, nullptr);
+ Known.Zero.flipAllBits();
size_t ArrSize =
cast<ArrayType>(GEP->getSourceElementType())->getNumElements();
@@ -477,7 +472,7 @@ Value *LibCallSimplifier::optimizeStrLen(CallInst *CI, IRBuilder<> &B) {
// optimize if we can prove that the program has undefined behavior when
// Offset is outside that range. That is the case when GEP->getOperand(0)
// is a pointer to an object whose memory extent is NullTermIdx+1.
- if ((KnownZero.isNonNegative() && KnownZero.ule(NullTermIdx)) ||
+ if ((Known.Zero.isNonNegative() && Known.Zero.ule(NullTermIdx)) ||
(GEP->isInBounds() && isa<GlobalVariable>(GEP->getOperand(0)) &&
NullTermIdx == ArrSize - 1))
return B.CreateSub(ConstantInt::get(CI->getType(), NullTermIdx),
@@ -846,6 +841,9 @@ static Value *foldMallocMemset(CallInst *Memset, IRBuilder<> &B,
// Is the inner call really malloc()?
Function *InnerCallee = Malloc->getCalledFunction();
+ if (!InnerCallee)
+ return nullptr;
+
LibFunc Func;
if (!TLI.getLibFunc(*InnerCallee, Func) || !TLI.has(Func) ||
Func != LibFunc_malloc)
@@ -930,6 +928,24 @@ static Value *optimizeUnaryDoubleFP(CallInst *CI, IRBuilder<> &B,
if (V == nullptr)
return nullptr;
+ // If call isn't an intrinsic, check that it isn't within a function with the
+ // same name as the float version of this call.
+ //
+ // e.g. inline float expf(float val) { return (float) exp((double) val); }
+ //
+ // A similar such definition exists in the MinGW-w64 math.h header file which
+ // when compiled with -O2 -ffast-math causes the generation of infinite loops
+ // where expf is called.
+ if (!Callee->isIntrinsic()) {
+ const Function *F = CI->getFunction();
+ StringRef FName = F->getName();
+ StringRef CalleeName = Callee->getName();
+ if ((FName.size() == (CalleeName.size() + 1)) &&
+ (FName.back() == 'f') &&
+ FName.startswith(CalleeName))
+ return nullptr;
+ }
+
// Propagate fast-math flags from the existing call to the new call.
IRBuilder<>::FastMathFlagGuard Guard(B);
B.setFastMathFlags(CI->getFastMathFlags());
@@ -1632,7 +1648,7 @@ Value *LibCallSimplifier::optimizeErrorReporting(CallInst *CI, IRBuilder<> &B,
}
static bool isReportingError(Function *Callee, CallInst *CI, int StreamArg) {
- if (!ColdErrorCalls || !Callee || !Callee->isDeclaration())
+ if (!Callee || !Callee->isDeclaration())
return false;
if (StreamArg < 0)
diff --git a/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp b/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
index 4409d7a404f8..97dcb40a1d72 100644
--- a/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
+++ b/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
@@ -30,6 +30,7 @@
#include "llvm/IR/Value.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/KnownBits.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Utils/Local.h"
#include "llvm/Transforms/Vectorize.h"
@@ -65,7 +66,9 @@ public:
bool run();
private:
- Value *getPointerOperand(Value *I);
+ Value *getPointerOperand(Value *I) const;
+
+ GetElementPtrInst *getSourceGEP(Value *Src) const;
unsigned getPointerAddressSpace(Value *I);
@@ -215,7 +218,7 @@ bool Vectorizer::run() {
return Changed;
}
-Value *Vectorizer::getPointerOperand(Value *I) {
+Value *Vectorizer::getPointerOperand(Value *I) const {
if (LoadInst *LI = dyn_cast<LoadInst>(I))
return LI->getPointerOperand();
if (StoreInst *SI = dyn_cast<StoreInst>(I))
@@ -231,6 +234,19 @@ unsigned Vectorizer::getPointerAddressSpace(Value *I) {
return -1;
}
+GetElementPtrInst *Vectorizer::getSourceGEP(Value *Src) const {
+ // First strip pointer bitcasts. Make sure pointee size is the same with
+ // and without casts.
+ // TODO: a stride set by the add instruction below can match the difference
+ // in pointee type size here. Currently it will not be vectorized.
+ Value *SrcPtr = getPointerOperand(Src);
+ Value *SrcBase = SrcPtr->stripPointerCasts();
+ if (DL.getTypeStoreSize(SrcPtr->getType()->getPointerElementType()) ==
+ DL.getTypeStoreSize(SrcBase->getType()->getPointerElementType()))
+ SrcPtr = SrcBase;
+ return dyn_cast<GetElementPtrInst>(SrcPtr);
+}
+
// FIXME: Merge with llvm::isConsecutiveAccess
bool Vectorizer::isConsecutiveAccess(Value *A, Value *B) {
Value *PtrA = getPointerOperand(A);
@@ -283,8 +299,8 @@ bool Vectorizer::isConsecutiveAccess(Value *A, Value *B) {
// Look through GEPs after checking they're the same except for the last
// index.
- GetElementPtrInst *GEPA = dyn_cast<GetElementPtrInst>(getPointerOperand(A));
- GetElementPtrInst *GEPB = dyn_cast<GetElementPtrInst>(getPointerOperand(B));
+ GetElementPtrInst *GEPA = getSourceGEP(A);
+ GetElementPtrInst *GEPB = getSourceGEP(B);
if (!GEPA || !GEPB || GEPA->getNumOperands() != GEPB->getNumOperands())
return false;
unsigned FinalIndex = GEPA->getNumOperands() - 1;
@@ -328,11 +344,9 @@ bool Vectorizer::isConsecutiveAccess(Value *A, Value *B) {
// If any bits are known to be zero other than the sign bit in OpA, we can
// add 1 to it while guaranteeing no overflow of any sort.
if (!Safe) {
- APInt KnownZero(BitWidth, 0);
- APInt KnownOne(BitWidth, 0);
- computeKnownBits(OpA, KnownZero, KnownOne, DL, 0, nullptr, OpA, &DT);
- KnownZero &= ~APInt::getHighBitsSet(BitWidth, 1);
- if (KnownZero != 0)
+ KnownBits Known(BitWidth);
+ computeKnownBits(OpA, Known, DL, 0, nullptr, OpA, &DT);
+ if (Known.Zero.countTrailingZeros() < (BitWidth - 1))
Safe = true;
}
diff --git a/lib/Transforms/Vectorize/LoopVectorize.cpp b/lib/Transforms/Vectorize/LoopVectorize.cpp
index 7eb8fabe0b2f..87ce0194dad6 100644
--- a/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -3586,8 +3586,12 @@ void InnerLoopVectorizer::fixupIVUsers(PHINode *OrigPhi,
IRBuilder<> B(MiddleBlock->getTerminator());
Value *CountMinusOne = B.CreateSub(
CountRoundDown, ConstantInt::get(CountRoundDown->getType(), 1));
- Value *CMO = B.CreateSExtOrTrunc(CountMinusOne, II.getStep()->getType(),
- "cast.cmo");
+ Value *CMO =
+ !II.getStep()->getType()->isIntegerTy()
+ ? B.CreateCast(Instruction::SIToFP, CountMinusOne,
+ II.getStep()->getType())
+ : B.CreateSExtOrTrunc(CountMinusOne, II.getStep()->getType());
+ CMO->setName("cast.cmo");
Value *Escape = II.transform(B, CMO, PSE.getSE(), DL);
Escape->setName("ind.escape");
MissingVals[UI] = Escape;
@@ -4516,14 +4520,15 @@ void InnerLoopVectorizer::predicateInstructions() {
for (auto KV : PredicatedInstructions) {
BasicBlock::iterator I(KV.first);
BasicBlock *Head = I->getParent();
- auto *BB = SplitBlock(Head, &*std::next(I), DT, LI);
auto *T = SplitBlockAndInsertIfThen(KV.second, &*I, /*Unreachable=*/false,
/*BranchWeights=*/nullptr, DT, LI);
I->moveBefore(T);
sinkScalarOperands(&*I);
- I->getParent()->setName(Twine("pred.") + I->getOpcodeName() + ".if");
- BB->setName(Twine("pred.") + I->getOpcodeName() + ".continue");
+ BasicBlock *PredicatedBlock = I->getParent();
+ Twine BBNamePrefix = Twine("pred.") + I->getOpcodeName();
+ PredicatedBlock->setName(BBNamePrefix + ".if");
+ PredicatedBlock->getSingleSuccessor()->setName(BBNamePrefix + ".continue");
// If the instruction is non-void create a Phi node at reconvergence point.
if (!I->getType()->isVoidTy()) {
@@ -7324,8 +7329,16 @@ unsigned LoopVectorizationCostModel::getInstructionCost(Instruction *I,
return TTI.getShuffleCost(TargetTransformInfo::SK_ExtractSubvector,
VectorTy, VF - 1, VectorTy);
- // TODO: IF-converted IFs become selects.
- return 0;
+ // Phi nodes in non-header blocks (not inductions, reductions, etc.) are
+ // converted into select instructions. We require N - 1 selects per phi
+ // node, where N is the number of incoming values.
+ if (VF > 1 && Phi->getParent() != TheLoop->getHeader())
+ return (Phi->getNumIncomingValues() - 1) *
+ TTI.getCmpSelInstrCost(
+ Instruction::Select, ToVectorTy(Phi->getType(), VF),
+ ToVectorTy(Type::getInt1Ty(Phi->getContext()), VF));
+
+ return TTI.getCFInstrCost(Instruction::PHI);
}
case Instruction::UDiv:
case Instruction::SDiv:
diff --git a/test/Analysis/IVUsers/quadradic-exit-value.ll b/test/Analysis/IVUsers/quadradic-exit-value.ll
index 214afcb2ffa7..6d4f1b039b48 100644
--- a/test/Analysis/IVUsers/quadradic-exit-value.ll
+++ b/test/Analysis/IVUsers/quadradic-exit-value.ll
@@ -36,7 +36,7 @@ exit:
; sure they aren't marked as post-inc users.
;
; CHECK-LABEL: IV Users for loop %test2.loop
-; CHECK-NO-LCSSA: %sext.us = {0,+,(16777216 + (-16777216 * %sub.us))<nuw><nsw>,+,33554432}<%test2.loop> in %f = ashr i32 %sext.us, 24
+; CHECK-NO-LCSSA: %sext.us = {0,+,(16777216 + (-16777216 * %sub.us))<nuw><nsw>,+,33554432}<%test2.loop> (post-inc with loop %test2.loop) in %f = ashr i32 %sext.us, 24
define i32 @test2() {
entry:
br label %test2.loop
diff --git a/test/Analysis/ScalarEvolution/exponential-behavior.ll b/test/Analysis/ScalarEvolution/exponential-behavior.ll
new file mode 100644
index 000000000000..919521a58b6d
--- /dev/null
+++ b/test/Analysis/ScalarEvolution/exponential-behavior.ll
@@ -0,0 +1,57 @@
+; RUN: opt -analyze -scalar-evolution < %s | FileCheck %s
+
+; CHECK: Printing analysis 'Scalar Evolution Analysis' for function 'f':
+
+; CHECK: Loop %loop: <multiple exits> Unpredictable backedge-taken count.
+; CHECK: Loop %loop: max backedge-taken count is 0
+; CHECK: Loop %loop: Unpredictable predicated backedge-taken count.
+
+
+define void @f(i32 %n, i32* %ptr) {
+entry:
+ br label %loop
+
+loop:
+ %iv = phi i32 [ 0, %entry ], [ %iv.inc, %be ]
+ %iv.inc = add i32 %iv, 1
+ %unswitch_cond_root = icmp ne i32 %iv.inc, 42
+ %us.0 = and i1 %unswitch_cond_root, %unswitch_cond_root
+ %us.1 = and i1 %us.0, %us.0
+ %us.2 = and i1 %us.1, %us.1
+ %us.3 = and i1 %us.2, %us.2
+ %us.4 = and i1 %us.3, %us.3
+ %us.5 = and i1 %us.4, %us.4
+ %us.6 = and i1 %us.5, %us.5
+ %us.7 = and i1 %us.6, %us.6
+ %us.8 = and i1 %us.7, %us.7
+ %us.9 = and i1 %us.8, %us.8
+ %us.10 = and i1 %us.9, %us.9
+ %us.11 = and i1 %us.10, %us.10
+ %us.12 = and i1 %us.11, %us.11
+ %us.13 = and i1 %us.12, %us.12
+ %us.14 = and i1 %us.13, %us.13
+ %us.15 = and i1 %us.14, %us.14
+ %us.16 = and i1 %us.15, %us.15
+ %us.17 = and i1 %us.16, %us.16
+ %us.18 = and i1 %us.17, %us.17
+ %us.19 = and i1 %us.18, %us.18
+ %us.20 = and i1 %us.19, %us.19
+ %us.21 = and i1 %us.20, %us.20
+ %us.22 = and i1 %us.21, %us.21
+ %us.23 = and i1 %us.22, %us.22
+ %us.24 = and i1 %us.23, %us.23
+ %us.25 = and i1 %us.24, %us.24
+ %us.26 = and i1 %us.25, %us.25
+ %us.27 = and i1 %us.26, %us.26
+ %us.28 = and i1 %us.27, %us.27
+ %us.29 = and i1 %us.28, %us.28
+ br i1 %us.29, label %leave, label %be
+
+be:
+ store volatile i32 0, i32* %ptr
+ %becond = icmp ult i32 %iv.inc, %n
+ br i1 %becond, label %leave, label %loop
+
+leave:
+ ret void
+}
diff --git a/test/Analysis/ScalarEvolution/or-as-add.ll b/test/Analysis/ScalarEvolution/or-as-add.ll
deleted file mode 100644
index ac4e65a20f21..000000000000
--- a/test/Analysis/ScalarEvolution/or-as-add.ll
+++ /dev/null
@@ -1,38 +0,0 @@
-; RUN: opt < %s -analyze -scalar-evolution | FileCheck %s
-
-declare void @z(i32)
-declare void @z2(i64)
-
-define void @fun(i1 %bool, i32 %x) {
-entry:
- br label %body
-body:
- %i = phi i32 [ 0, %entry ], [ %i.next, %body ]
- %bottom_zero = mul i32 %i, 2
- %a = or i32 %bottom_zero, 1
- call void @z(i32 %a)
- %bool_ext = zext i1 %bool to i32
- %b = or i32 %bool_ext, %bottom_zero
- call void @z(i32 %b)
- %shifted = lshr i32 %x, 31
- %c = or i32 %shifted, %bottom_zero
- call void @z(i32 %c)
- %i_ext = zext i32 %i to i64
- %d = or i64 %i_ext, 4294967296
- call void @z2(i64 %d)
- %i.next = add i32 %i, 1
- %cond = icmp eq i32 %i.next, 10
- br i1 %cond, label %exit, label %body
-exit:
- ret void
-}
-
-; CHECK: %a = or i32 %bottom_zero, 1
-; CHECK-NEXT: --> {1,+,2}<%body>
-; CHECK: %b = or i32 %bool_ext, %bottom_zero
-; CHECK-NEXT: --> {(zext i1 %bool to i32),+,2}
-; CHECK: %c = or i32 %shifted, %bottom_zero
-; CHECK-NEXT: --> {(%x /u -2147483648),+,2}<%body>
-; CHECK: %d = or i64 %i_ext, 4294967296
-; CHECK-NEXT: --> {4294967296,+,1}<nuw><nsw><%body>
-
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index c1667049f80f..25c340fea6f7 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -45,6 +45,7 @@ set(LLVM_TEST_DEPENDS
llvm-config
llvm-cov
llvm-cxxdump
+ llvm-cvtres
llvm-diff
llvm-dis
llvm-dsymutil
diff --git a/test/CodeGen/AArch64/GlobalISel/select-pr32733.mir b/test/CodeGen/AArch64/GlobalISel/select-pr32733.mir
new file mode 100644
index 000000000000..96436209451b
--- /dev/null
+++ b/test/CodeGen/AArch64/GlobalISel/select-pr32733.mir
@@ -0,0 +1,65 @@
+# RUN: llc -mtriple=aarch64-- -run-pass=instruction-select -verify-machineinstrs -global-isel %s -o - | FileCheck %s
+
+--- |
+ define i32 @main() {
+ entry:
+ ret i32 0
+ }
+
+ declare i32 @printf(i8*, ...)
+...
+---
+# CHECK-LABEL: name: main
+name: main
+alignment: 2
+exposesReturnsTwice: false
+noVRegs: false
+legalized: true
+regBankSelected: true
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: gpr }
+ - { id: 1, class: gpr }
+ - { id: 2, class: gpr }
+ - { id: 3, class: gpr }
+ - { id: 4, class: gpr }
+ - { id: 5, class: gpr }
+ - { id: 6, class: gpr }
+ - { id: 7, class: gpr }
+ - { id: 8, class: gpr }
+ - { id: 9, class: gpr }
+ - { id: 10, class: gpr }
+ - { id: 11, class: gpr }
+ - { id: 12, class: gpr }
+ - { id: 13, class: gpr }
+ - { id: 14, class: gpr }
+ - { id: 15, class: gpr }
+frameInfo:
+ isFrameAddressTaken: false
+ isReturnAddressTaken: false
+ hasStackMap: false
+ hasPatchPoint: false
+ stackSize: 0
+ offsetAdjustment: 0
+ maxAlignment: 8
+ adjustsStack: false
+ hasCalls: true
+ maxCallFrameSize: 0
+ hasOpaqueSPAdjustment: false
+ hasVAStart: false
+ hasMustTailInVarArgFunc: false
+# CHECK: body:
+# CHECK: %1 = COPY %w0
+# CHECK-NOT: %2 = ORNWrr %wzr, %1
+# CHECK: %4 = EONWrr %1, %3
+body: |
+ bb.1.entry:
+ liveins: %w0
+ %0(s32) = G_CONSTANT i32 -1
+ %3(s32) = G_CONSTANT i32 1
+ %1(s32) = COPY %w0
+ %2(s32) = G_XOR %1, %0
+ %4(s32) = G_XOR %2, %3
+ %w0 = COPY %4(s32)
+...
diff --git a/test/CodeGen/AArch64/arm64-vmul.ll b/test/CodeGen/AArch64/arm64-vmul.ll
index a5fa78abb92f..a7668ec97979 100644
--- a/test/CodeGen/AArch64/arm64-vmul.ll
+++ b/test/CodeGen/AArch64/arm64-vmul.ll
@@ -1201,35 +1201,35 @@ define <2 x i64> @umlsl_lane_2d(<2 x i32>* %A, <2 x i32>* %B, <2 x i64>* %C) nou
; Scalar FMULX
define float @fmulxs(float %a, float %b) nounwind {
; CHECK-LABEL: fmulxs:
-; CHECKNEXT: fmulx s0, s0, s1
+; CHECK-NEXT: fmulx s0, s0, s1
%fmulx.i = tail call float @llvm.aarch64.neon.fmulx.f32(float %a, float %b) nounwind
-; CHECKNEXT: ret
+; CHECK-NEXT: ret
ret float %fmulx.i
}
define double @fmulxd(double %a, double %b) nounwind {
; CHECK-LABEL: fmulxd:
-; CHECKNEXT: fmulx d0, d0, d1
+; CHECK-NEXT: fmulx d0, d0, d1
%fmulx.i = tail call double @llvm.aarch64.neon.fmulx.f64(double %a, double %b) nounwind
-; CHECKNEXT: ret
+; CHECK-NEXT: ret
ret double %fmulx.i
}
define float @fmulxs_lane(float %a, <4 x float> %vec) nounwind {
; CHECK-LABEL: fmulxs_lane:
-; CHECKNEXT: fmulx.s s0, s0, v1[3]
+; CHECK-NEXT: fmulx.s s0, s0, v1[3]
%b = extractelement <4 x float> %vec, i32 3
%fmulx.i = tail call float @llvm.aarch64.neon.fmulx.f32(float %a, float %b) nounwind
-; CHECKNEXT: ret
+; CHECK-NEXT: ret
ret float %fmulx.i
}
define double @fmulxd_lane(double %a, <2 x double> %vec) nounwind {
; CHECK-LABEL: fmulxd_lane:
-; CHECKNEXT: fmulx d0, d0, v1[1]
+; CHECK-NEXT: fmulx.d d0, d0, v1[1]
%b = extractelement <2 x double> %vec, i32 1
%fmulx.i = tail call double @llvm.aarch64.neon.fmulx.f64(double %a, double %b) nounwind
-; CHECKNEXT: ret
+; CHECK-NEXT: ret
ret double %fmulx.i
}
diff --git a/test/CodeGen/AArch64/fence-singlethread.ll b/test/CodeGen/AArch64/fence-singlethread.ll
new file mode 100644
index 000000000000..2ed744277385
--- /dev/null
+++ b/test/CodeGen/AArch64/fence-singlethread.ll
@@ -0,0 +1,21 @@
+; RUN: llc -mtriple=aarch64-linux-gnu %s -o - | FileCheck %s --check-prefix=LINUX
+; RUN: llc -mtriple=aarch64-apple-ios %s -o - | FileCheck %s --check-prefix=IOS
+; RUN: llc -mtriple=aarch64-linux-gnueabihf %s -filetype=obj -o %t
+; RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=OBJ
+
+; OBJ-NOT: dmb
+
+define void @fence_singlethread() {
+; LINUX-LABEL: fence_singlethread:
+; LINUX-NOT: dmb
+; LINUX: // COMPILER BARRIER
+; LINUX-NOT: dmb
+
+; IOS-LABEL: fence_singlethread:
+; IOS-NOT: dmb
+; IOS: ; COMPILER BARRIER
+; IOS-NOT: dmb
+
+ fence singlethread seq_cst
+ ret void
+}
diff --git a/test/CodeGen/AArch64/optimize-imm.ll b/test/CodeGen/AArch64/optimize-imm.ll
new file mode 100644
index 000000000000..a4725c65aa26
--- /dev/null
+++ b/test/CodeGen/AArch64/optimize-imm.ll
@@ -0,0 +1,64 @@
+; RUN: llc -o - %s -mtriple=aarch64-- | FileCheck %s
+
+; CHECK-LABEL: and1:
+; CHECK: and {{w[0-9]+}}, w0, #0xfffffffd
+
+define void @and1(i32 %a, i8* nocapture %p) {
+entry:
+ %and = and i32 %a, 253
+ %conv = trunc i32 %and to i8
+ store i8 %conv, i8* %p, align 1
+ ret void
+}
+
+; (a & 0x3dfd) | 0xffffc000
+;
+; CHECK-LABEL: and2:
+; CHECK: and {{w[0-9]+}}, w0, #0xfdfdfdfd
+
+define i32 @and2(i32 %a) {
+entry:
+ %and = and i32 %a, 15869
+ %or = or i32 %and, -16384
+ ret i32 %or
+}
+
+; (a & 0x19) | 0xffffffc0
+;
+; CHECK-LABEL: and3:
+; CHECK: and {{w[0-9]+}}, w0, #0x99999999
+
+define i32 @and3(i32 %a) {
+entry:
+ %and = and i32 %a, 25
+ %or = or i32 %and, -64
+ ret i32 %or
+}
+
+; (a & 0xc5600) | 0xfff1f1ff
+;
+; CHECK-LABEL: and4:
+; CHECK: and {{w[0-9]+}}, w0, #0xfffc07ff
+
+define i32 @and4(i32 %a) {
+entry:
+ %and = and i32 %a, 787968
+ %or = or i32 %and, -921089
+ ret i32 %or
+}
+
+; Make sure we don't shrink or optimize an XOR's immediate operand if the
+; immediate is -1. Instruction selection turns (and ((xor $mask, -1), $v0)) into
+; a BIC.
+
+; CHECK-LABEL: xor1:
+; CHECK: orr [[R0:w[0-9]+]], wzr, #0x38
+; CHECK: bic {{w[0-9]+}}, [[R0]], w0, lsl #3
+
+define i32 @xor1(i32 %a) {
+entry:
+ %shl = shl i32 %a, 3
+ %xor = and i32 %shl, 56
+ %and = xor i32 %xor, 56
+ ret i32 %and
+}
diff --git a/test/CodeGen/AArch64/swiftself-scavenger.ll b/test/CodeGen/AArch64/swiftself-scavenger.ll
new file mode 100644
index 000000000000..6d0278440931
--- /dev/null
+++ b/test/CodeGen/AArch64/swiftself-scavenger.ll
@@ -0,0 +1,82 @@
+; RUN: llc -o - %s | FileCheck %s
+; Check that we reserve an emergency spill slot, even if we added an extra
+; CSR spill for the values used by the swiftself parameter.
+; CHECK-LABEL: func:
+; CHECK: str [[REG:x[0-9]+]], [sp, #8]
+; CHECK: add [[REG]], sp, #248
+; CHECK: str xzr, [{{\s*}}[[REG]], #32760]
+; CHECK: ldr x30, [sp, #8]
+target triple = "arm64-apple-ios"
+
+@ptr8 = external global i8*
+@ptr64 = external global i64
+
+define hidden swiftcc void @func(i8* swiftself %arg) #0 {
+bb:
+ %stack0 = alloca i8*, i32 5000, align 8
+ %stack1 = alloca i8*, i32 32, align 8
+
+ %v0 = load volatile i64, i64* @ptr64, align 8
+ %v1 = load volatile i64, i64* @ptr64, align 8
+ %v2 = load volatile i64, i64* @ptr64, align 8
+ %v3 = load volatile i64, i64* @ptr64, align 8
+ %v4 = load volatile i64, i64* @ptr64, align 8
+ %v5 = load volatile i64, i64* @ptr64, align 8
+ %v6 = load volatile i64, i64* @ptr64, align 8
+ %v7 = load volatile i64, i64* @ptr64, align 8
+ %v8 = load volatile i64, i64* @ptr64, align 8
+ %v9 = load volatile i64, i64* @ptr64, align 8
+ %v10 = load volatile i64, i64* @ptr64, align 8
+ %v11 = load volatile i64, i64* @ptr64, align 8
+ %v12 = load volatile i64, i64* @ptr64, align 8
+ %v13 = load volatile i64, i64* @ptr64, align 8
+ %v14 = load volatile i64, i64* @ptr64, align 8
+ %v15 = load volatile i64, i64* @ptr64, align 8
+ %v16 = load volatile i64, i64* @ptr64, align 8
+ %v17 = load volatile i64, i64* @ptr64, align 8
+ %v18 = load volatile i64, i64* @ptr64, align 8
+ %v19 = load volatile i64, i64* @ptr64, align 8
+ %v20 = load volatile i64, i64* @ptr64, align 8
+ %v21 = load volatile i64, i64* @ptr64, align 8
+ %v22 = load volatile i64, i64* @ptr64, align 8
+ %v23 = load volatile i64, i64* @ptr64, align 8
+ %v24 = load volatile i64, i64* @ptr64, align 8
+ %v25 = load volatile i64, i64* @ptr64, align 8
+
+ ; this should exceed stack-relative addressing limits and need an emergency
+ ; spill slot.
+ %s = getelementptr inbounds i8*, i8** %stack0, i64 4092
+ store volatile i8* null, i8** %s
+ store volatile i8* null, i8** %stack1
+
+ store volatile i64 %v0, i64* @ptr64, align 8
+ store volatile i64 %v1, i64* @ptr64, align 8
+ store volatile i64 %v2, i64* @ptr64, align 8
+ store volatile i64 %v3, i64* @ptr64, align 8
+ store volatile i64 %v4, i64* @ptr64, align 8
+ store volatile i64 %v5, i64* @ptr64, align 8
+ store volatile i64 %v6, i64* @ptr64, align 8
+ store volatile i64 %v7, i64* @ptr64, align 8
+ store volatile i64 %v8, i64* @ptr64, align 8
+ store volatile i64 %v9, i64* @ptr64, align 8
+ store volatile i64 %v10, i64* @ptr64, align 8
+ store volatile i64 %v11, i64* @ptr64, align 8
+ store volatile i64 %v12, i64* @ptr64, align 8
+ store volatile i64 %v13, i64* @ptr64, align 8
+ store volatile i64 %v14, i64* @ptr64, align 8
+ store volatile i64 %v15, i64* @ptr64, align 8
+ store volatile i64 %v16, i64* @ptr64, align 8
+ store volatile i64 %v17, i64* @ptr64, align 8
+ store volatile i64 %v18, i64* @ptr64, align 8
+ store volatile i64 %v19, i64* @ptr64, align 8
+ store volatile i64 %v20, i64* @ptr64, align 8
+ store volatile i64 %v21, i64* @ptr64, align 8
+ store volatile i64 %v22, i64* @ptr64, align 8
+ store volatile i64 %v23, i64* @ptr64, align 8
+ store volatile i64 %v24, i64* @ptr64, align 8
+ store volatile i64 %v25, i64* @ptr64, align 8
+
+ ; use swiftself parameter late so it stays alive throughout the function.
+ store volatile i8* %arg, i8** @ptr8
+ ret void
+}
diff --git a/test/CodeGen/AMDGPU/add.v2i16.ll b/test/CodeGen/AMDGPU/add.v2i16.ll
index e137ef4bc236..73e80d523f1e 100644
--- a/test/CodeGen/AMDGPU/add.v2i16.ll
+++ b/test/CodeGen/AMDGPU/add.v2i16.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI %s
; FIXME: Need to handle non-uniform case for function below (load without gep).
diff --git a/test/CodeGen/AMDGPU/addrspacecast.ll b/test/CodeGen/AMDGPU/addrspacecast.ll
index 6ec93c72ec52..b1e71722d80c 100644
--- a/test/CodeGen/AMDGPU/addrspacecast.ll
+++ b/test/CodeGen/AMDGPU/addrspacecast.ll
@@ -1,5 +1,5 @@
-; RUN: llc -march=amdgcn -mtriple=amdgcn-amd-amdhsa -mattr=-promote-alloca -verify-machineinstrs < %s | FileCheck -check-prefix=HSA -check-prefix=CI %s
-; RUN: llc -march=amdgcn -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -mattr=-promote-alloca -verify-machineinstrs < %s | FileCheck -check-prefix=HSA -check-prefix=GFX9 %s
+; RUN: llc -march=amdgcn -mtriple=amdgcn-amd-amdhsa -mattr=-promote-alloca -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=HSA -check-prefix=CI %s
+; RUN: llc -march=amdgcn -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -mattr=-promote-alloca -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=HSA -check-prefix=GFX9 %s
; HSA-LABEL: {{^}}use_group_to_flat_addrspacecast:
; HSA: enable_sgpr_private_segment_buffer = 1
@@ -223,9 +223,8 @@ define amdgpu_kernel void @cast_0_private_to_flat_addrspacecast() #0 {
}
; HSA-LABEL: {{^}}cast_0_flat_to_private_addrspacecast:
-; HSA-DAG: v_mov_b32_e32 [[PTR:v[0-9]+]], 0{{$}}
-; HSA-DAG: v_mov_b32_e32 [[K:v[0-9]+]], 7{{$}}
-; HSA: buffer_store_dword [[K]], [[PTR]], s{{\[[0-9]+:[0-9]+\]}}, s{{[0-9]+}} offen
+; HSA: v_mov_b32_e32 [[K:v[0-9]+]], 7{{$}}
+; HSA: buffer_store_dword [[K]], off, s{{\[[0-9]+:[0-9]+\]}}, s{{[0-9]+$}}
define amdgpu_kernel void @cast_0_flat_to_private_addrspacecast() #0 {
%cast = addrspacecast i32 addrspace(4)* null to i32 addrspace(0)*
store volatile i32 7, i32* %cast
diff --git a/test/CodeGen/AMDGPU/ashr.v2i16.ll b/test/CodeGen/AMDGPU/ashr.v2i16.ll
index 96a5e3b23758..7f424ef2a147 100644
--- a/test/CodeGen/AMDGPU/ashr.v2i16.ll
+++ b/test/CodeGen/AMDGPU/ashr.v2i16.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=CIVI %s
; RUN: llc -march=amdgcn -mcpu=bonaire -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=CI -check-prefix=CIVI %s
diff --git a/test/CodeGen/AMDGPU/code-object-metadata-images.ll b/test/CodeGen/AMDGPU/code-object-metadata-images.ll
new file mode 100644
index 000000000000..918560469852
--- /dev/null
+++ b/test/CodeGen/AMDGPU/code-object-metadata-images.ll
@@ -0,0 +1,80 @@
+; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx700 -filetype=obj -o - < %s | llvm-readobj -amdgpu-code-object-metadata -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX700 --check-prefix=NOTES %s
+; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx800 -filetype=obj -o - < %s | llvm-readobj -amdgpu-code-object-metadata -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX800 --check-prefix=NOTES %s
+; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -filetype=obj -o - < %s | llvm-readobj -amdgpu-code-object-metadata -elf-output-style=GNU -notes | FileCheck --check-prefix=CHECK --check-prefix=GFX900 --check-prefix=NOTES %s
+
+%opencl.image1d_t = type opaque
+%opencl.image1d_array_t = type opaque
+%opencl.image1d_buffer_t = type opaque
+%opencl.image2d_t = type opaque
+%opencl.image2d_array_t = type opaque
+%opencl.image2d_array_depth_t = type opaque
+%opencl.image2d_array_msaa_t = type opaque
+%opencl.image2d_array_msaa_depth_t = type opaque
+%opencl.image2d_depth_t = type opaque
+%opencl.image2d_msaa_t = type opaque
+%opencl.image2d_msaa_depth_t = type opaque
+%opencl.image3d_t = type opaque
+
+; CHECK: ---
+; CHECK: Version: [ 1, 0 ]
+
+; CHECK: Kernels:
+; CHECK: - Name: test
+; CHECK: Args:
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image1d_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image1d_array_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image1d_buffer_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image2d_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image2d_array_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image2d_array_depth_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image2d_array_msaa_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image2d_array_msaa_depth_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image2d_depth_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image2d_msaa_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image2d_msaa_depth_t
+; CHECK: - Size: 8
+; CHECK: ValueKind: Image
+; CHECK: TypeName: image3d_t
+define amdgpu_kernel void @test(%opencl.image1d_t addrspace(1)* %a,
+ %opencl.image1d_array_t addrspace(1)* %b,
+ %opencl.image1d_buffer_t addrspace(1)* %c,
+ %opencl.image2d_t addrspace(1)* %d,
+ %opencl.image2d_array_t addrspace(1)* %e,
+ %opencl.image2d_array_depth_t addrspace(1)* %f,
+ %opencl.image2d_array_msaa_t addrspace(1)* %g,
+ %opencl.image2d_array_msaa_depth_t addrspace(1)* %h,
+ %opencl.image2d_depth_t addrspace(1)* %i,
+ %opencl.image2d_msaa_t addrspace(1)* %j,
+ %opencl.image2d_msaa_depth_t addrspace(1)* %k,
+ %opencl.image3d_t addrspace(1)* %l)
+ !kernel_arg_type !1 !kernel_arg_base_type !1 {
+ ret void
+}
+
+!1 = !{!"image1d_t", !"image1d_array_t", !"image1d_buffer_t",
+ !"image2d_t", !"image2d_array_t", !"image2d_array_depth_t",
+ !"image2d_array_msaa_t", !"image2d_array_msaa_depth_t",
+ !"image2d_depth_t", !"image2d_msaa_t", !"image2d_msaa_depth_t",
+ !"image3d_t"}
diff --git a/test/CodeGen/AMDGPU/fcanonicalize.f16.ll b/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
index f2686a5582dc..c9787bb478ef 100644
--- a/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
+++ b/test/CodeGen/AMDGPU/fcanonicalize.f16.ll
@@ -1,5 +1,5 @@
; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI %s
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
declare half @llvm.fabs.f16(half) #0
declare half @llvm.canonicalize.f16(half) #0
diff --git a/test/CodeGen/AMDGPU/fdiv.ll b/test/CodeGen/AMDGPU/fdiv.ll
index b3a2b6643720..738a5adba14f 100644
--- a/test/CodeGen/AMDGPU/fdiv.ll
+++ b/test/CodeGen/AMDGPU/fdiv.ll
@@ -85,10 +85,20 @@ entry:
}
; FUNC-LABEL: {{^}}fdiv_fast_denormals_f32:
-; GCN: v_rcp_f32_e32 [[RCP:v[0-9]+]], s{{[0-9]+}}
-; GCN: v_mul_f32_e32 [[RESULT:v[0-9]+]], s{{[0-9]+}}, [[RCP]]
-; GCN-NOT: [[RESULT]]
-; GCN: buffer_store_dword [[RESULT]]
+; GCN: v_div_scale_f32 [[NUM_SCALE:v[0-9]+]]
+; GCN-DAG: v_div_scale_f32 [[DEN_SCALE:v[0-9]+]]
+; GCN-DAG: v_rcp_f32_e32 [[NUM_RCP:v[0-9]+]], [[NUM_SCALE]]
+
+; GCN-NOT: s_setreg
+; GCN: v_fma_f32 [[A:v[0-9]+]], -[[NUM_SCALE]], [[NUM_RCP]], 1.0
+; GCN: v_fma_f32 [[B:v[0-9]+]], [[A]], [[NUM_RCP]], [[NUM_RCP]]
+; GCN: v_mul_f32_e32 [[C:v[0-9]+]], [[B]], [[DEN_SCALE]]
+; GCN: v_fma_f32 [[D:v[0-9]+]], -[[NUM_SCALE]], [[C]], [[DEN_SCALE]]
+; GCN: v_fma_f32 [[E:v[0-9]+]], [[D]], [[B]], [[C]]
+; GCN: v_fma_f32 [[F:v[0-9]+]], -[[NUM_SCALE]], [[E]], [[DEN_SCALE]]
+; GCN-NOT: s_setreg
+; GCN: v_div_fmas_f32 [[FMAS:v[0-9]+]], [[F]], [[B]], [[E]]
+; GCN: v_div_fixup_f32 v{{[0-9]+}}, [[FMAS]],
define amdgpu_kernel void @fdiv_fast_denormals_f32(float addrspace(1)* %out, float %a, float %b) #2 {
entry:
%fdiv = fdiv fast float %a, %b
diff --git a/test/CodeGen/AMDGPU/fence-amdgiz.ll b/test/CodeGen/AMDGPU/fence-amdgiz.ll
new file mode 100644
index 000000000000..df675c9a8692
--- /dev/null
+++ b/test/CodeGen/AMDGPU/fence-amdgiz.ll
@@ -0,0 +1,15 @@
+; RUN: llc < %s | FileCheck %s
+
+target datalayout = "e-p:64:64-p1:64:64-p2:64:64-p3:32:32-p4:32:32-p5:32:32-i64:64-v16:16-v24:32-v32:32-v48:64-v96:128-v192:256-v256:256-v512:512-v1024:1024-v2048:2048-n32:64-A5"
+target triple = "amdgcn-amd-amdhsa-amdgizcl"
+
+; CHECK_LABEL: atomic_fence
+; CHECK: BB#0:
+; CHECK: ATOMIC_FENCE 4, 1
+; CHECK: s_endpgm
+
+define amdgpu_kernel void @atomic_fence() {
+ fence acquire
+ ret void
+}
+
diff --git a/test/CodeGen/AMDGPU/fmuladd.v2f16.ll b/test/CodeGen/AMDGPU/fmuladd.v2f16.ll
index bdd3c04fd318..624610096cbc 100644
--- a/test/CodeGen/AMDGPU/fmuladd.v2f16.ll
+++ b/test/CodeGen/AMDGPU/fmuladd.v2f16.ll
@@ -1,12 +1,12 @@
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-fp64-fp16-denormals -fp-contract=on -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GCN-STRICT,GFX9-FLUSH,GFX9 %s
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-fp64-fp16-denormals -fp-contract=on -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GCN-STRICT,GFX9-FLUSH,GFX9 %s
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-fp64-fp16-denormals -fp-contract=fast -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GCN-CONTRACT,GFX9-FLUSH,GFX9 %s
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-fp64-fp16-denormals -fp-contract=fast -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GCN-CONTRACT,GFX9-FLUSH,GFX9 %s
-
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=+fp64-fp16-denormals -fp-contract=on -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GCN-STRICT,GFX9-DENORM-STRICT,GFX9-DENORM,GFX9 %s
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=+fp64-fp16-denormals -fp-contract=on -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GCN-STRICT,GFX9-DENORM-STRICT,GFX9-DENORM,GFX9 %s
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=+fp64-fp16-denormals -fp-contract=fast -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GCN-CONTRACT,GFX9-DENORM-CONTRACT,GFX9-DENORM,GFX9 %s
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=+fp64-fp16-denormals -fp-contract=fast -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GCN-CONTRACT,GFX9-DENORM-CONTRACT,GFX9-DENORM,GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-fp64-fp16-denormals -fp-contract=on -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefixes=GCN,GCN-STRICT,GFX9-FLUSH,GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-fp64-fp16-denormals -fp-contract=on -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefixes=GCN,GCN-STRICT,GFX9-FLUSH,GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-fp64-fp16-denormals -fp-contract=fast -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefixes=GCN,GCN-CONTRACT,GFX9-FLUSH,GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-fp64-fp16-denormals -fp-contract=fast -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefixes=GCN,GCN-CONTRACT,GFX9-FLUSH,GFX9 %s
+
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=+fp64-fp16-denormals -fp-contract=on -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefixes=GCN,GCN-STRICT,GFX9-DENORM-STRICT,GFX9-DENORM,GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=+fp64-fp16-denormals -fp-contract=on -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefixes=GCN,GCN-STRICT,GFX9-DENORM-STRICT,GFX9-DENORM,GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=+fp64-fp16-denormals -fp-contract=fast -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefixes=GCN,GCN-CONTRACT,GFX9-DENORM-CONTRACT,GFX9-DENORM,GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=+fp64-fp16-denormals -fp-contract=fast -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefixes=GCN,GCN-CONTRACT,GFX9-DENORM-CONTRACT,GFX9-DENORM,GFX9 %s
declare i32 @llvm.amdgcn.workitem.id.x() #1
declare <2 x half> @llvm.fmuladd.v2f16(<2 x half>, <2 x half>, <2 x half>) #1
diff --git a/test/CodeGen/AMDGPU/fneg-fabs.f16.ll b/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
index 555764c15519..506b2a02f828 100644
--- a/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
+++ b/test/CodeGen/AMDGPU/fneg-fabs.f16.ll
@@ -1,6 +1,6 @@
; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=kaveri -verify-machineinstrs < %s | FileCheck -check-prefix=CI -check-prefix=GCN -check-prefix=CIVI %s
; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=VI -check-prefix=GFX89 -check-prefix=GCN -check-prefix=CIVI %s
-; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx901 -verify-machineinstrs < %s | FileCheck -check-prefix=GFX89 -check-prefix=GFX9 -check-prefix=GCN %s
+; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx901 -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefix=GFX89 -check-prefix=GFX9 -check-prefix=GCN %s
; GCN-LABEL: {{^}}fneg_fabs_fadd_f16:
; CI: v_cvt_f32_f16_e32
diff --git a/test/CodeGen/AMDGPU/immv216.ll b/test/CodeGen/AMDGPU/immv216.ll
index 85ad365d02a8..c15a30e3c540 100644
--- a/test/CodeGen/AMDGPU/immv216.ll
+++ b/test/CodeGen/AMDGPU/immv216.ll
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
+; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=fiji -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI %s
; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=kaveri -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=CI %s
; FIXME: Merge into imm.ll
diff --git a/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll b/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
index a3f82b8a0117..89adcff1a278 100644
--- a/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
+++ b/test/CodeGen/AMDGPU/insert_vector_elt.v2i16.ll
@@ -216,7 +216,7 @@ define amdgpu_kernel void @v_insertelement_v2i16_0(<2 x i16> addrspace(1)* %out,
; CIVI-DAG: v_and_b32_e32 [[ELT1:v[0-9]+]], 0xffff0000, [[VEC]]
; CIVI: v_or_b32_e32 [[RES:v[0-9]+]], [[ELT0_SHIFT]], [[ELT1]]
-; GFX9-DAG: v_mov_b32_e32 [[MASK:v[0-9]+]], 0xffff{{$}}
+; GFX9-DAG: v_mov_b32_e32 [[MASK:v[0-9]+]], 0xffff0000{{$}}
; GFX9-DAG: v_lshrrev_b32_e64 [[ELT0_SHIFT:v[0-9]+]], 16, [[ELT0]]
; GFX9: v_and_or_b32 [[RES:v[0-9]+]], [[VEC]], [[MASK]], [[ELT0_SHIFT]]
diff --git a/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll b/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
index 5e892fad3741..cbd8f0a9c23a 100644
--- a/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
+++ b/test/CodeGen/AMDGPU/llvm.amdgcn.readlane.ll
@@ -19,6 +19,20 @@ define amdgpu_kernel void @test_readlane_imm_sreg(i32 addrspace(1)* %out, i32 %s
ret void
}
+; CHECK-LABEL: {{^}}test_readlane_vregs:
+; CHECK: v_readfirstlane_b32 [[LANE:s[0-9]+]], v{{[0-9]+}}
+; CHECK: v_readlane_b32 s{{[0-9]+}}, v{{[0-9]+}}, [[LANE]]
+define amdgpu_kernel void @test_readlane_vregs(i32 addrspace(1)* %out, <2 x i32> addrspace(1)* %in) #1 {
+ %tid = call i32 @llvm.amdgcn.workitem.id.x()
+ %gep.in = getelementptr <2 x i32>, <2 x i32> addrspace(1)* %in, i32 %tid
+ %args = load <2 x i32>, <2 x i32> addrspace(1)* %gep.in
+ %value = extractelement <2 x i32> %args, i32 0
+ %lane = extractelement <2 x i32> %args, i32 1
+ %readlane = call i32 @llvm.amdgcn.readlane(i32 %value, i32 %lane)
+ store i32 %readlane, i32 addrspace(1)* %out, align 4
+ ret void
+}
+
; TODO: m0 should be folded.
; CHECK-LABEL: {{^}}test_readlane_m0_sreg:
; CHECK: s_mov_b32 m0, -1
@@ -40,5 +54,8 @@ define amdgpu_kernel void @test_readlane_imm(i32 addrspace(1)* %out, i32 %src0)
ret void
}
+declare i32 @llvm.amdgcn.workitem.id.x() #2
+
attributes #0 = { nounwind readnone convergent }
attributes #1 = { nounwind }
+attributes #2 = { nounwind readnone }
diff --git a/test/CodeGen/AMDGPU/llvm.amdgcn.unreachable.ll b/test/CodeGen/AMDGPU/llvm.amdgcn.unreachable.ll
new file mode 100644
index 000000000000..bafafa33016f
--- /dev/null
+++ b/test/CodeGen/AMDGPU/llvm.amdgcn.unreachable.ll
@@ -0,0 +1,9 @@
+; RUN: llc -march amdgcn %s -filetype=obj -o /dev/null
+; RUN: llc -march amdgcn <%s | FileCheck %s
+define amdgpu_kernel void @f() {
+ ; CHECK: ; divergent unreachable
+ call void @llvm.amdgcn.unreachable()
+ ret void
+}
+
+declare void @llvm.amdgcn.unreachable()
diff --git a/test/CodeGen/AMDGPU/loop_break.ll b/test/CodeGen/AMDGPU/loop_break.ll
index 84c42e8bd1e0..b9df2cb779ad 100644
--- a/test/CodeGen/AMDGPU/loop_break.ll
+++ b/test/CodeGen/AMDGPU/loop_break.ll
@@ -10,7 +10,7 @@
; OPT: bb4:
; OPT: load volatile
-; OPT: %cmp1 = icmp sge i32 %tmp, %load
+; OPT: xor i1 %cmp1
; OPT: call i64 @llvm.amdgcn.if.break(
; OPT: br label %Flow
diff --git a/test/CodeGen/AMDGPU/lshr.v2i16.ll b/test/CodeGen/AMDGPU/lshr.v2i16.ll
index e21d0d09bb41..6a90a7a9f2eb 100644
--- a/test/CodeGen/AMDGPU/lshr.v2i16.ll
+++ b/test/CodeGen/AMDGPU/lshr.v2i16.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=amdgcn -mcpu=gfx901 -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=CIVI %s
; RUN: llc -march=amdgcn -mcpu=bonaire -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=CI -check-prefix=CIVI %s
diff --git a/test/CodeGen/AMDGPU/merge-m0.mir b/test/CodeGen/AMDGPU/merge-m0.mir
new file mode 100644
index 000000000000..064db49924e1
--- /dev/null
+++ b/test/CodeGen/AMDGPU/merge-m0.mir
@@ -0,0 +1,132 @@
+# RUN: llc -march=amdgcn -amdgpu-enable-merge-m0 -verify-machineinstrs -run-pass si-fix-sgpr-copies %s -o - | FileCheck -check-prefix=GCN %s
+
+# GCN: bb.0.entry:
+# GCN: SI_INIT_M0 -1
+# GCN-NEXT: DS_WRITE_B32
+# GCN-NEXT: DS_WRITE_B32
+# GCN-NEXT: SI_INIT_M0 65536
+# GCN-NEXT: DS_WRITE_B32
+# GCN-NEXT: DS_WRITE_B32
+# GCN-NEXT: SI_INIT_M0 -1
+# GCN-NEXT: DS_WRITE_B32
+# GCN-NEXT: SI_INIT_M0 65536
+# GCN-NEXT: DS_WRITE_B32
+
+# GCN: bb.1:
+# GCN: SI_INIT_M0 -1
+# GCN-NEXT: DS_WRITE_B32
+# GCN-NEXT: DS_WRITE_B32
+
+# GCN: bb.2:
+# GCN: SI_INIT_M0 65536
+# GCN-NEXT: DS_WRITE_B32
+
+# GCN: bb.3:
+# GCN: SI_INIT_M0 3
+
+# GCN: bb.4:
+# GCN-NOT: SI_INIT_M0
+# GCN: DS_WRITE_B32
+# GCN-NEXT: SI_INIT_M0 4
+# GCN-NEXT: DS_WRITE_B32
+
+# GCN: bb.5:
+# GCN-NOT: SI_INIT_M0
+# GCN: DS_WRITE_B32
+# GCN-NEXT: SI_INIT_M0 4
+# GCN-NEXT: DS_WRITE_B32
+
+# GCN: bb.6:
+# GCN: SI_INIT_M0 -1,
+# GCN-NEXT: DS_WRITE_B32
+# GCN: SI_INIT_M0 %2
+# GCN-NEXT: DS_WRITE_B32
+# GCN-NEXT: SI_INIT_M0 %2
+# GCN-NEXT: DS_WRITE_B32
+# GCN-NEXT: SI_INIT_M0 -1
+# GCN-NEXT: DS_WRITE_B32
+
+---
+name: test
+alignment: 0
+exposesReturnsTwice: false
+noVRegs: false
+legalized: false
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: vgpr_32 }
+ - { id: 1, class: vgpr_32 }
+ - { id: 2, class: sreg_32_xm0 }
+body: |
+ bb.0.entry:
+ successors: %bb.1, %bb.2
+
+ %0 = IMPLICIT_DEF
+ %1 = IMPLICIT_DEF
+ SI_INIT_M0 -1, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ SI_INIT_M0 -1, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ SI_INIT_M0 65536, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ SI_INIT_M0 65536, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ SI_INIT_M0 -1, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ SI_INIT_M0 65536, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ S_CBRANCH_VCCZ %bb.1, implicit undef %vcc
+ S_BRANCH %bb.2
+
+ bb.1:
+ successors: %bb.2
+ SI_INIT_M0 -1, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ SI_INIT_M0 -1, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ S_BRANCH %bb.2
+
+ bb.2:
+ successors: %bb.3
+ SI_INIT_M0 65536, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ S_BRANCH %bb.3
+
+ bb.3:
+ successors: %bb.4, %bb.5
+ S_CBRANCH_VCCZ %bb.4, implicit undef %vcc
+ S_BRANCH %bb.5
+
+ bb.4:
+ successors: %bb.6
+ SI_INIT_M0 3, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ SI_INIT_M0 4, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ S_BRANCH %bb.6
+
+ bb.5:
+ successors: %bb.6
+ SI_INIT_M0 3, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ SI_INIT_M0 4, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ S_BRANCH %bb.6
+
+ bb.6:
+ successors: %bb.0.entry, %bb.6
+ SI_INIT_M0 -1, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ %2 = IMPLICIT_DEF
+ SI_INIT_M0 %2, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ SI_INIT_M0 %2, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ SI_INIT_M0 -1, implicit-def %m0
+ DS_WRITE_B32 %0, %1, 0, 0, implicit %m0, implicit %exec
+ S_CBRANCH_VCCZ %bb.6, implicit undef %vcc
+ S_BRANCH %bb.0.entry
+
+...
diff --git a/test/CodeGen/AMDGPU/mubuf-offset-private.ll b/test/CodeGen/AMDGPU/mubuf-offset-private.ll
new file mode 100644
index 000000000000..3a0605fa182a
--- /dev/null
+++ b/test/CodeGen/AMDGPU/mubuf-offset-private.ll
@@ -0,0 +1,136 @@
+; RUN: llc -march=amdgcn -mattr=+max-private-element-size-16 < %s | FileCheck -enable-var-scope -check-prefix=GCN -check-prefix=SI %s
+; RUN: llc -march=amdgcn -mcpu=fiji -mattr=+max-private-element-size-16 < %s | FileCheck -enable-var-scope -check-prefix=GCN -check-prefix=VI %s
+; RUN: llc -march=amdgcn -mcpu=gfx900 -mattr=+max-private-element-size-16 < %s | FileCheck -enable-var-scope -check-prefix=GCN -check-prefix=VI %s
+
+; Test addressing modes when the scratch base is not a frame index.
+
+; GCN-LABEL: {{^}}store_private_offset_i8:
+; GCN: buffer_store_byte v{{[0-9]+}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @store_private_offset_i8() #0 {
+ store volatile i8 5, i8* inttoptr (i32 8 to i8*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}store_private_offset_i16:
+; GCN: buffer_store_short v{{[0-9]+}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @store_private_offset_i16() #0 {
+ store volatile i16 5, i16* inttoptr (i32 8 to i16*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}store_private_offset_i32:
+; GCN: buffer_store_dword v{{[0-9]+}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @store_private_offset_i32() #0 {
+ store volatile i32 5, i32* inttoptr (i32 8 to i32*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}store_private_offset_v2i32:
+; GCN: buffer_store_dwordx2 v{{\[[0-9]+:[0-9]+\]}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @store_private_offset_v2i32() #0 {
+ store volatile <2 x i32> <i32 5, i32 10>, <2 x i32>* inttoptr (i32 8 to <2 x i32>*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}store_private_offset_v4i32:
+; GCN: buffer_store_dwordx4 v{{\[[0-9]+:[0-9]+\]}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @store_private_offset_v4i32() #0 {
+ store volatile <4 x i32> <i32 5, i32 10, i32 15, i32 0>, <4 x i32>* inttoptr (i32 8 to <4 x i32>*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}load_private_offset_i8:
+; GCN: buffer_load_ubyte v{{[0-9]+}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @load_private_offset_i8() #0 {
+ %load = load volatile i8, i8* inttoptr (i32 8 to i8*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}sextload_private_offset_i8:
+; GCN: buffer_load_sbyte v{{[0-9]+}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @sextload_private_offset_i8(i32 addrspace(1)* %out) #0 {
+ %load = load volatile i8, i8* inttoptr (i32 8 to i8*)
+ %sextload = sext i8 %load to i32
+ store i32 %sextload, i32 addrspace(1)* undef
+ ret void
+}
+
+; GCN-LABEL: {{^}}zextload_private_offset_i8:
+; GCN: buffer_load_ubyte v{{[0-9]+}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @zextload_private_offset_i8(i32 addrspace(1)* %out) #0 {
+ %load = load volatile i8, i8* inttoptr (i32 8 to i8*)
+ %zextload = zext i8 %load to i32
+ store i32 %zextload, i32 addrspace(1)* undef
+ ret void
+}
+
+; GCN-LABEL: {{^}}load_private_offset_i16:
+; GCN: buffer_load_ushort v{{[0-9]+}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @load_private_offset_i16() #0 {
+ %load = load volatile i16, i16* inttoptr (i32 8 to i16*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}sextload_private_offset_i16:
+; GCN: buffer_load_sshort v{{[0-9]+}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @sextload_private_offset_i16(i32 addrspace(1)* %out) #0 {
+ %load = load volatile i16, i16* inttoptr (i32 8 to i16*)
+ %sextload = sext i16 %load to i32
+ store i32 %sextload, i32 addrspace(1)* undef
+ ret void
+}
+
+; GCN-LABEL: {{^}}zextload_private_offset_i16:
+; GCN: buffer_load_ushort v{{[0-9]+}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @zextload_private_offset_i16(i32 addrspace(1)* %out) #0 {
+ %load = load volatile i16, i16* inttoptr (i32 8 to i16*)
+ %zextload = zext i16 %load to i32
+ store i32 %zextload, i32 addrspace(1)* undef
+ ret void
+}
+
+; GCN-LABEL: {{^}}load_private_offset_i32:
+; GCN: buffer_load_dword v{{[0-9]+}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @load_private_offset_i32() #0 {
+ %load = load volatile i32, i32* inttoptr (i32 8 to i32*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}load_private_offset_v2i32:
+; GCN: buffer_load_dwordx2 v{{\[[0-9]+:[0-9]+\]}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @load_private_offset_v2i32() #0 {
+ %load = load volatile <2 x i32>, <2 x i32>* inttoptr (i32 8 to <2 x i32>*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}load_private_offset_v4i32:
+; GCN: buffer_load_dwordx4 v{{\[[0-9]+:[0-9]+\]}}, off, s[4:7], s8 offset:8
+define amdgpu_kernel void @load_private_offset_v4i32() #0 {
+ %load = load volatile <4 x i32>, <4 x i32>* inttoptr (i32 8 to <4 x i32>*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}store_private_offset_i8_max_offset:
+; GCN: buffer_store_byte v{{[0-9]+}}, off, s[4:7], s8 offset:4095
+define amdgpu_kernel void @store_private_offset_i8_max_offset() #0 {
+ store volatile i8 5, i8* inttoptr (i32 4095 to i8*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}store_private_offset_i8_max_offset_plus1:
+; GCN: v_mov_b32_e32 [[OFFSET:v[0-9]+]], 0x1000
+; GCN: buffer_store_byte v{{[0-9]+}}, [[OFFSET]], s[4:7], s8 offen{{$}}
+define amdgpu_kernel void @store_private_offset_i8_max_offset_plus1() #0 {
+ store volatile i8 5, i8* inttoptr (i32 4096 to i8*)
+ ret void
+}
+
+; GCN-LABEL: {{^}}store_private_offset_i8_max_offset_plus2:
+; GCN: v_mov_b32_e32 [[OFFSET:v[0-9]+]], 0x1000
+; GCN: buffer_store_byte v{{[0-9]+}}, [[OFFSET]], s[4:7], s8 offen offset:1{{$}}
+define amdgpu_kernel void @store_private_offset_i8_max_offset_plus2() #0 {
+ store volatile i8 5, i8* inttoptr (i32 4097 to i8*)
+ ret void
+}
+
+attributes #0 = { nounwind }
diff --git a/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll b/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
index 4bd8bff4809a..9d0b6b395996 100644
--- a/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
+++ b/test/CodeGen/AMDGPU/multi-divergent-exit-region.ll
@@ -9,19 +9,18 @@
; StructurizeCFG.
; IR-LABEL: @multi_divergent_region_exit_ret_ret(
-; IR: %Pivot = icmp sge i32 %tmp16, 2
-; IR-NEXT: %0 = call { i1, i64 } @llvm.amdgcn.if(i1 %Pivot)
-; IR: %1 = extractvalue { i1, i64 } %0, 0
-; IR: %2 = extractvalue { i1, i64 } %0, 1
-; IR: br i1 %1, label %LeafBlock1, label %Flow
+; IR: %1 = call { i1, i64 } @llvm.amdgcn.if(i1 %0)
+; IR: %2 = extractvalue { i1, i64 } %1, 0
+; IR: %3 = extractvalue { i1, i64 } %1, 1
+; IR: br i1 %2, label %LeafBlock1, label %Flow
; IR: Flow:
-; IR: %3 = phi i1 [ true, %LeafBlock1 ], [ false, %entry ]
-; IR: %4 = phi i1 [ %SwitchLeaf2, %LeafBlock1 ], [ false, %entry ]
-; IR: %5 = call { i1, i64 } @llvm.amdgcn.else(i64 %2)
-; IR: %6 = extractvalue { i1, i64 } %5, 0
-; IR: %7 = extractvalue { i1, i64 } %5, 1
-; IR: br i1 %6, label %LeafBlock, label %Flow1
+; IR: %4 = phi i1 [ true, %LeafBlock1 ], [ false, %entry ]
+; IR: %5 = phi i1 [ %10, %LeafBlock1 ], [ false, %entry ]
+; IR: %6 = call { i1, i64 } @llvm.amdgcn.else(i64 %3)
+; IR: %7 = extractvalue { i1, i64 } %6, 0
+; IR: %8 = extractvalue { i1, i64 } %6, 1
+; IR: br i1 %7, label %LeafBlock, label %Flow1
; IR: LeafBlock:
; IR: br label %Flow1
@@ -30,32 +29,32 @@
; IR: br label %Flow{{$}}
; IR: Flow2:
-; IR: %8 = phi i1 [ false, %exit1 ], [ %12, %Flow1 ]
-; IR: call void @llvm.amdgcn.end.cf(i64 %16)
-; IR: [[IF:%[0-9]+]] = call { i1, i64 } @llvm.amdgcn.if(i1 %8)
-; IR: %10 = extractvalue { i1, i64 } [[IF]], 0
-; IR: %11 = extractvalue { i1, i64 } [[IF]], 1
-; IR: br i1 %10, label %exit0, label %UnifiedReturnBlock
+; IR: %11 = phi i1 [ false, %exit1 ], [ %15, %Flow1 ]
+; IR: call void @llvm.amdgcn.end.cf(i64 %19)
+; IR: %12 = call { i1, i64 } @llvm.amdgcn.if(i1 %11)
+; IR: %13 = extractvalue { i1, i64 } %12, 0
+; IR: %14 = extractvalue { i1, i64 } %12, 1
+; IR: br i1 %13, label %exit0, label %UnifiedReturnBlock
; IR: exit0:
; IR: store volatile i32 9, i32 addrspace(1)* undef
; IR: br label %UnifiedReturnBlock
; IR: Flow1:
-; IR: %12 = phi i1 [ %SwitchLeaf, %LeafBlock ], [ %3, %Flow ]
-; IR: %13 = phi i1 [ %SwitchLeaf, %LeafBlock ], [ %4, %Flow ]
-; IR: call void @llvm.amdgcn.end.cf(i64 %7)
-; IR: %14 = call { i1, i64 } @llvm.amdgcn.if(i1 %13)
-; IR: %15 = extractvalue { i1, i64 } %14, 0
-; IR: %16 = extractvalue { i1, i64 } %14, 1
-; IR: br i1 %15, label %exit1, label %Flow2
+; IR: %15 = phi i1 [ %SwitchLeaf, %LeafBlock ], [ %4, %Flow ]
+; IR: %16 = phi i1 [ %9, %LeafBlock ], [ %5, %Flow ]
+; IR: call void @llvm.amdgcn.end.cf(i64 %8)
+; IR: %17 = call { i1, i64 } @llvm.amdgcn.if(i1 %16)
+; IR: %18 = extractvalue { i1, i64 } %17, 0
+; IR: %19 = extractvalue { i1, i64 } %17, 1
+; IR: br i1 %18, label %exit1, label %Flow2
; IR: exit1:
; IR: store volatile i32 17, i32 addrspace(3)* undef
; IR: br label %Flow2
; IR: UnifiedReturnBlock:
-; IR: call void @llvm.amdgcn.end.cf(i64 %11)
+; IR: call void @llvm.amdgcn.end.cf(i64 %14)
; IR: ret void
@@ -65,9 +64,11 @@
; GCN: s_xor_b64
-; GCN: ; %LeafBlock
-; GCN: v_cmp_ne_u32_e32 vcc, 1, [[REG:v[0-9]+]]
+; FIXME: Why is this compare essentially repeated?
+; GCN: v_cmp_eq_u32_e32 vcc, 1, [[REG:v[0-9]+]]
+; GCN-NEXT: v_cmp_ne_u32_e64 s{{\[[0-9]+:[0-9]+\]}}, 1, [[REG]]
; GCN: v_cndmask_b32_e64 v{{[0-9]+}}, 0, -1, vcc
+; GCN: v_cndmask_b32_e64 v{{[0-9]+}}, 0, -1
; GCN: ; %Flow1
; GCN-NEXT: s_or_b64 exec, exec
@@ -125,15 +126,14 @@ exit1: ; preds = %LeafBlock, %LeafBlock1
}
; IR-LABEL: @multi_divergent_region_exit_unreachable_unreachable(
-; IR: %Pivot = icmp sge i32 %tmp16, 2
-; IR-NEXT: %0 = call { i1, i64 } @llvm.amdgcn.if(i1 %Pivot)
+; IR: %1 = call { i1, i64 } @llvm.amdgcn.if(i1 %0)
-; IR: %5 = call { i1, i64 } @llvm.amdgcn.else(i64 %2)
+; IR: %6 = call { i1, i64 } @llvm.amdgcn.else(i64 %3)
-; IR: %8 = phi i1 [ false, %exit1 ], [ %12, %Flow1 ]
-; IR: call void @llvm.amdgcn.end.cf(i64 %16)
-; IR: %9 = call { i1, i64 } @llvm.amdgcn.if(i1 %8)
-; IR: br i1 %10, label %exit0, label %UnifiedUnreachableBlock
+; IR: %11 = phi i1 [ false, %exit1 ], [ %15, %Flow1 ]
+; IR: call void @llvm.amdgcn.end.cf(i64 %19)
+; IR: %12 = call { i1, i64 } @llvm.amdgcn.if(i1 %11)
+; IR: br i1 %13, label %exit0, label %UnifiedUnreachableBlock
; IR: UnifiedUnreachableBlock:
@@ -181,49 +181,51 @@ exit1: ; preds = %LeafBlock, %LeafBlock1
}
; IR-LABEL: @multi_exit_region_divergent_ret_uniform_ret(
-; IR: %divergent.cond0 = icmp sge i32 %tmp16, 2
+; IR: %divergent.cond0 = icmp slt i32 %tmp16, 2
; IR: llvm.amdgcn.if
; IR: br i1
; IR: {{^}}Flow:
-; IR: %3 = phi i1 [ true, %LeafBlock1 ], [ false, %entry ]
-; IR: %4 = phi i1 [ %uniform.cond0, %LeafBlock1 ], [ false, %entry ]
-; IR: %5 = call { i1, i64 } @llvm.amdgcn.else(i64 %2)
-; IR: br i1 %6, label %LeafBlock, label %Flow1
+; IR: %4 = phi i1 [ true, %LeafBlock1 ], [ false, %entry ]
+; IR: %5 = phi i1 [ %10, %LeafBlock1 ], [ false, %entry ]
+; IR: %6 = call { i1, i64 } @llvm.amdgcn.else(i64 %3)
+; IR: br i1 %7, label %LeafBlock, label %Flow1
; IR: {{^}}LeafBlock:
-; IR: %divergent.cond1 = icmp ne i32 %tmp16, 1
+; IR: %divergent.cond1 = icmp eq i32 %tmp16, 1
+; IR: %9 = xor i1 %divergent.cond1, true
; IR: br label %Flow1
; IR: LeafBlock1:
-; IR: %uniform.cond0 = icmp ne i32 %arg3, 2
+; IR: %uniform.cond0 = icmp eq i32 %arg3, 2
+; IR: %10 = xor i1 %uniform.cond0, true
; IR: br label %Flow
; IR: Flow2:
-; IR: %8 = phi i1 [ false, %exit1 ], [ %12, %Flow1 ]
-; IR: call void @llvm.amdgcn.end.cf(i64 %16)
-; IR: %9 = call { i1, i64 } @llvm.amdgcn.if(i1 %8)
-; IR: br i1 %10, label %exit0, label %UnifiedReturnBlock
+; IR: %11 = phi i1 [ false, %exit1 ], [ %15, %Flow1 ]
+; IR: call void @llvm.amdgcn.end.cf(i64 %19)
+; IR: %12 = call { i1, i64 } @llvm.amdgcn.if(i1 %11)
+; IR: br i1 %13, label %exit0, label %UnifiedReturnBlock
; IR: exit0:
; IR: store volatile i32 9, i32 addrspace(1)* undef
; IR: br label %UnifiedReturnBlock
; IR: {{^}}Flow1:
-; IR: %12 = phi i1 [ %divergent.cond1, %LeafBlock ], [ %3, %Flow ]
-; IR: %13 = phi i1 [ %divergent.cond1, %LeafBlock ], [ %4, %Flow ]
-; IR: call void @llvm.amdgcn.end.cf(i64 %7)
-; IR: %14 = call { i1, i64 } @llvm.amdgcn.if(i1 %13)
-; IR: %15 = extractvalue { i1, i64 } %14, 0
-; IR: %16 = extractvalue { i1, i64 } %14, 1
-; IR: br i1 %15, label %exit1, label %Flow2
+; IR: %15 = phi i1 [ %divergent.cond1, %LeafBlock ], [ %4, %Flow ]
+; IR: %16 = phi i1 [ %9, %LeafBlock ], [ %5, %Flow ]
+; IR: call void @llvm.amdgcn.end.cf(i64 %8)
+; IR: %17 = call { i1, i64 } @llvm.amdgcn.if(i1 %16)
+; IR: %18 = extractvalue { i1, i64 } %17, 0
+; IR: %19 = extractvalue { i1, i64 } %17, 1
+; IR: br i1 %18, label %exit1, label %Flow2
; IR: exit1:
; IR: store volatile i32 17, i32 addrspace(3)* undef
; IR: br label %Flow2
; IR: UnifiedReturnBlock:
-; IR: call void @llvm.amdgcn.end.cf(i64 %11)
+; IR: call void @llvm.amdgcn.end.cf(i64 %14)
; IR: ret void
define amdgpu_kernel void @multi_exit_region_divergent_ret_uniform_ret(i32 addrspace(1)* nocapture %arg0, i32 addrspace(1)* nocapture %arg1, i32 addrspace(1)* nocapture %arg2, i32 %arg3) #0 {
entry:
@@ -262,18 +264,17 @@ exit1: ; preds = %LeafBlock, %LeafBlock1
}
; IR-LABEL: @multi_exit_region_uniform_ret_divergent_ret(
-; IR: %Pivot = icmp sge i32 %tmp16, 2
-; IR-NEXT: %0 = call { i1, i64 } @llvm.amdgcn.if(i1 %Pivot)
-; IR: br i1 %1, label %LeafBlock1, label %Flow
+; IR: %1 = call { i1, i64 } @llvm.amdgcn.if(i1 %0)
+; IR: br i1 %2, label %LeafBlock1, label %Flow
; IR: Flow:
-; IR: %3 = phi i1 [ true, %LeafBlock1 ], [ false, %entry ]
-; IR: %4 = phi i1 [ %SwitchLeaf2, %LeafBlock1 ], [ false, %entry ]
-; IR: %5 = call { i1, i64 } @llvm.amdgcn.else(i64 %2)
+; IR: %4 = phi i1 [ true, %LeafBlock1 ], [ false, %entry ]
+; IR: %5 = phi i1 [ %10, %LeafBlock1 ], [ false, %entry ]
+; IR: %6 = call { i1, i64 } @llvm.amdgcn.else(i64 %3)
-; IR: %8 = phi i1 [ false, %exit1 ], [ %12, %Flow1 ]
-; IR: call void @llvm.amdgcn.end.cf(i64 %16)
-; IR: %9 = call { i1, i64 } @llvm.amdgcn.if(i1 %8)
+; IR: %11 = phi i1 [ false, %exit1 ], [ %15, %Flow1 ]
+; IR: call void @llvm.amdgcn.end.cf(i64 %19)
+; IR: %12 = call { i1, i64 } @llvm.amdgcn.if(i1 %11)
define amdgpu_kernel void @multi_exit_region_uniform_ret_divergent_ret(i32 addrspace(1)* nocapture %arg0, i32 addrspace(1)* nocapture %arg1, i32 addrspace(1)* nocapture %arg2, i32 %arg3) #0 {
entry:
@@ -313,13 +314,13 @@ exit1: ; preds = %LeafBlock, %LeafBlock1
; IR-LABEL: @multi_divergent_region_exit_ret_ret_return_value(
; IR: Flow2:
-; IR: %8 = phi float [ 2.000000e+00, %exit1 ], [ undef, %Flow1 ]
-; IR: %9 = phi i1 [ false, %exit1 ], [ %13, %Flow1 ]
-; IR: call void @llvm.amdgcn.end.cf(i64 %17)
+; IR: %11 = phi float [ 2.000000e+00, %exit1 ], [ undef, %Flow1 ]
+; IR: %12 = phi i1 [ false, %exit1 ], [ %16, %Flow1 ]
+; IR: call void @llvm.amdgcn.end.cf(i64 %20)
; IR: UnifiedReturnBlock:
-; IR: %UnifiedRetVal = phi float [ %8, %Flow2 ], [ 1.000000e+00, %exit0 ]
-; IR: call void @llvm.amdgcn.end.cf(i64 %12)
+; IR: %UnifiedRetVal = phi float [ %11, %Flow2 ], [ 1.000000e+00, %exit0 ]
+; IR: call void @llvm.amdgcn.end.cf(i64 %15)
; IR: ret float %UnifiedRetVal
define amdgpu_ps float @multi_divergent_region_exit_ret_ret_return_value(i32 %vgpr) #0 {
entry:
@@ -386,32 +387,31 @@ exit1: ; preds = %LeafBlock, %LeafBlock1
}
; IR-LABEL: @multi_divergent_region_exit_ret_unreachable(
-; IR: %Pivot = icmp sge i32 %tmp16, 2
-; IR-NEXT: %0 = call { i1, i64 } @llvm.amdgcn.if(i1 %Pivot)
+; IR: %1 = call { i1, i64 } @llvm.amdgcn.if(i1 %0)
; IR: Flow:
-; IR: %3 = phi i1 [ true, %LeafBlock1 ], [ false, %entry ]
-; IR: %4 = phi i1 [ %SwitchLeaf2, %LeafBlock1 ], [ false, %entry ]
-; IR: %5 = call { i1, i64 } @llvm.amdgcn.else(i64 %2)
+; IR: %4 = phi i1 [ true, %LeafBlock1 ], [ false, %entry ]
+; IR: %5 = phi i1 [ %10, %LeafBlock1 ], [ false, %entry ]
+; IR: %6 = call { i1, i64 } @llvm.amdgcn.else(i64 %3)
; IR: Flow2:
-; IR: %8 = phi i1 [ false, %exit1 ], [ %12, %Flow1 ]
-; IR: call void @llvm.amdgcn.end.cf(i64 %16)
-; IR: %9 = call { i1, i64 } @llvm.amdgcn.if(i1 %8)
-; IR: br i1 %10, label %exit0, label %UnifiedReturnBlock
+; IR: %11 = phi i1 [ false, %exit1 ], [ %15, %Flow1 ]
+; IR: call void @llvm.amdgcn.end.cf(i64 %19)
+; IR: %12 = call { i1, i64 } @llvm.amdgcn.if(i1 %11)
+; IR: br i1 %13, label %exit0, label %UnifiedReturnBlock
; IR: exit0:
; IR-NEXT: store volatile i32 17, i32 addrspace(3)* undef
; IR-NEXT: br label %UnifiedReturnBlock
; IR: Flow1:
-; IR: %12 = phi i1 [ %SwitchLeaf, %LeafBlock ], [ %3, %Flow ]
-; IR: %13 = phi i1 [ %SwitchLeaf, %LeafBlock ], [ %4, %Flow ]
-; IR: call void @llvm.amdgcn.end.cf(i64 %7)
-; IR: %14 = call { i1, i64 } @llvm.amdgcn.if(i1 %13)
-; IR: %15 = extractvalue { i1, i64 } %14, 0
-; IR: %16 = extractvalue { i1, i64 } %14, 1
-; IR: br i1 %15, label %exit1, label %Flow2
+; IR: %15 = phi i1 [ %SwitchLeaf, %LeafBlock ], [ %4, %Flow ]
+; IR: %16 = phi i1 [ %9, %LeafBlock ], [ %5, %Flow ]
+; IR: call void @llvm.amdgcn.end.cf(i64 %8)
+; IR: %17 = call { i1, i64 } @llvm.amdgcn.if(i1 %16)
+; IR: %18 = extractvalue { i1, i64 } %17, 0
+; IR: %19 = extractvalue { i1, i64 } %17, 1
+; IR: br i1 %18, label %exit1, label %Flow2
; IR: exit1:
; IR-NEXT: store volatile i32 9, i32 addrspace(1)* undef
@@ -419,7 +419,7 @@ exit1: ; preds = %LeafBlock, %LeafBlock1
; IR-NEXT: br label %Flow2
; IR: UnifiedReturnBlock:
-; IR-NEXT: call void @llvm.amdgcn.end.cf(i64 %11)
+; IR-NEXT: call void @llvm.amdgcn.end.cf(i64 %14)
; IR-NEXT: ret void
define amdgpu_kernel void @multi_divergent_region_exit_ret_unreachable(i32 addrspace(1)* nocapture %arg0, i32 addrspace(1)* nocapture %arg1, i32 addrspace(1)* nocapture %arg2) #0 {
entry:
@@ -475,7 +475,7 @@ exit1: ; preds = %LeafBlock, %LeafBlock1
; IR-NEXT: br label %Flow2
; IR: UnifiedReturnBlock: ; preds = %exit0, %Flow2
-; IR-NEXT: call void @llvm.amdgcn.end.cf(i64 %11)
+; IR-NEXT: call void @llvm.amdgcn.end.cf(i64 %14)
; IR-NEXT: ret void
define amdgpu_kernel void @indirect_multi_divergent_region_exit_ret_unreachable(i32 addrspace(1)* nocapture %arg0, i32 addrspace(1)* nocapture %arg1, i32 addrspace(1)* nocapture %arg2) #0 {
entry:
@@ -622,15 +622,15 @@ uniform.ret:
; IR-LABEL: @uniform_complex_multi_ret_nest_in_divergent_triangle(
; IR: Flow1: ; preds = %uniform.ret1, %uniform.multi.exit.region
-; IR: %6 = phi i1 [ false, %uniform.ret1 ], [ true, %uniform.multi.exit.region ]
-; IR: br i1 %6, label %uniform.if, label %Flow2
+; IR: %8 = phi i1 [ false, %uniform.ret1 ], [ true, %uniform.multi.exit.region ]
+; IR: br i1 %8, label %uniform.if, label %Flow2
; IR: Flow: ; preds = %uniform.then, %uniform.if
-; IR: %7 = phi i1 [ %uniform.cond2, %uniform.then ], [ %uniform.cond1, %uniform.if ]
-; IR: br i1 %7, label %uniform.endif, label %uniform.ret0
+; IR: %11 = phi i1 [ %10, %uniform.then ], [ %9, %uniform.if ]
+; IR: br i1 %11, label %uniform.endif, label %uniform.ret0
; IR: UnifiedReturnBlock: ; preds = %Flow3, %Flow2
-; IR-NEXT: call void @llvm.amdgcn.end.cf(i64 %5)
+; IR-NEXT: call void @llvm.amdgcn.end.cf(i64 %6)
; IR-NEXT: ret void
define amdgpu_kernel void @uniform_complex_multi_ret_nest_in_divergent_triangle(i32 %arg0) #0 {
entry:
diff --git a/test/CodeGen/AMDGPU/nested-loop-conditions.ll b/test/CodeGen/AMDGPU/nested-loop-conditions.ll
index c0b4eaff60aa..672549c8ea63 100644
--- a/test/CodeGen/AMDGPU/nested-loop-conditions.ll
+++ b/test/CodeGen/AMDGPU/nested-loop-conditions.ll
@@ -133,9 +133,9 @@ bb23: ; preds = %bb10
; IR: Flow1:
; IR-NEXT: %loop.phi = phi i64 [ %loop.phi9, %Flow6 ], [ %phi.broken, %bb14 ]
-; IR-NEXT: %13 = phi <4 x i32> [ %28, %Flow6 ], [ undef, %bb14 ]
-; IR-NEXT: %14 = phi i32 [ %29, %Flow6 ], [ undef, %bb14 ]
-; IR-NEXT: %15 = phi i1 [ %30, %Flow6 ], [ false, %bb14 ]
+; IR-NEXT: %13 = phi <4 x i32> [ %29, %Flow6 ], [ undef, %bb14 ]
+; IR-NEXT: %14 = phi i32 [ %30, %Flow6 ], [ undef, %bb14 ]
+; IR-NEXT: %15 = phi i1 [ %31, %Flow6 ], [ false, %bb14 ]
; IR-NEXT: %16 = phi i1 [ false, %Flow6 ], [ %8, %bb14 ]
; IR-NEXT: %17 = call i64 @llvm.amdgcn.else.break(i64 %11, i64 %loop.phi)
; IR-NEXT: call void @llvm.amdgcn.end.cf(i64 %11)
@@ -144,9 +144,9 @@ bb23: ; preds = %bb10
; IR: Flow2:
; IR-NEXT: %loop.phi10 = phi i64 [ %loop.phi11, %Flow5 ], [ %12, %bb16 ]
-; IR-NEXT: %19 = phi <4 x i32> [ %28, %Flow5 ], [ undef, %bb16 ]
-; IR-NEXT: %20 = phi i32 [ %29, %Flow5 ], [ undef, %bb16 ]
-; IR-NEXT: %21 = phi i1 [ %30, %Flow5 ], [ false, %bb16 ]
+; IR-NEXT: %19 = phi <4 x i32> [ %29, %Flow5 ], [ undef, %bb16 ]
+; IR-NEXT: %20 = phi i32 [ %30, %Flow5 ], [ undef, %bb16 ]
+; IR-NEXT: %21 = phi i1 [ %31, %Flow5 ], [ false, %bb16 ]
; IR-NEXT: %22 = phi i1 [ false, %Flow5 ], [ false, %bb16 ]
; IR-NEXT: %23 = phi i1 [ false, %Flow5 ], [ %8, %bb16 ]
; IR-NEXT: %24 = call { i1, i64 } @llvm.amdgcn.if(i1 %23)
@@ -156,15 +156,16 @@ bb23: ; preds = %bb10
; IR: bb21:
; IR: %tmp12 = icmp slt i32 %tmp11, 9
-; IR-NEXT: %27 = call i64 @llvm.amdgcn.if.break(i1 %tmp12, i64 %phi.broken)
+; IR-NEXT: %27 = xor i1 %tmp12, true
+; IR-NEXT: %28 = call i64 @llvm.amdgcn.if.break(i1 %27, i64 %phi.broken)
; IR-NEXT: br label %Flow3
; IR: Flow3:
; IR-NEXT: %loop.phi11 = phi i64 [ %phi.broken, %bb21 ], [ %phi.broken, %Flow2 ]
-; IR-NEXT: %loop.phi9 = phi i64 [ %27, %bb21 ], [ %loop.phi10, %Flow2 ]
-; IR-NEXT: %28 = phi <4 x i32> [ %tmp9, %bb21 ], [ %19, %Flow2 ]
-; IR-NEXT: %29 = phi i32 [ %tmp10, %bb21 ], [ %20, %Flow2 ]
-; IR-NEXT: %30 = phi i1 [ %tmp12, %bb21 ], [ %21, %Flow2 ]
+; IR-NEXT: %loop.phi9 = phi i64 [ %28, %bb21 ], [ %loop.phi10, %Flow2 ]
+; IR-NEXT: %29 = phi <4 x i32> [ %tmp9, %bb21 ], [ %19, %Flow2 ]
+; IR-NEXT: %30 = phi i32 [ %tmp10, %bb21 ], [ %20, %Flow2 ]
+; IR-NEXT: %31 = phi i1 [ %27, %bb21 ], [ %21, %Flow2 ]
; IR-NEXT: call void @llvm.amdgcn.end.cf(i64 %26)
; IR-NEXT: br i1 %22, label %bb31.loopexit, label %Flow4
diff --git a/test/CodeGen/AMDGPU/private-access-no-objects.ll b/test/CodeGen/AMDGPU/private-access-no-objects.ll
index af2683510293..dcb089010e99 100644
--- a/test/CodeGen/AMDGPU/private-access-no-objects.ll
+++ b/test/CodeGen/AMDGPU/private-access-no-objects.ll
@@ -1,7 +1,7 @@
-; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=fiji -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=OPT %s
-; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=hawaii -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=CI -check-prefix=OPT %s
-; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=iceland -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=OPT %s
-; RUN: llc -O0 -mtriple=amdgcn--amdhsa -mcpu=fiji -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=OPTNONE %s
+; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=fiji -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GCN -check-prefix=VI -check-prefix=OPT %s
+; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=hawaii -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GCN -check-prefix=CI -check-prefix=OPT %s
+; RUN: llc -mtriple=amdgcn--amdhsa -mcpu=iceland -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GCN -check-prefix=VI -check-prefix=OPT %s
+; RUN: llc -O0 -mtriple=amdgcn--amdhsa -mcpu=fiji -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GCN -check-prefix=OPTNONE %s
; There are no stack objects, but still a private memory access. The
; private access regiters need to be correctly initialized anyway, and
@@ -27,9 +27,9 @@ define amdgpu_kernel void @store_to_undef() #0 {
; OPT-DAG: s_mov_b64 s{{\[}}[[RSRC_LO:[0-9]+]]:{{[0-9]+\]}}, s[0:1]
; OPT-DAG: s_mov_b64 s{{\[[0-9]+}}:[[RSRC_HI:[0-9]+]]{{\]}}, s[2:3]
; OPT-DAG: s_mov_b32 [[SOFFSET:s[0-9]+]], s7{{$}}
-; OPT: buffer_store_dword v{{[0-9]+}}, v{{[0-9]+}}, s{{\[}}[[RSRC_LO]]:[[RSRC_HI]]{{\]}}, [[SOFFSET]] offen{{$}}
+; OPT: buffer_store_dword v{{[0-9]+}}, off, s{{\[}}[[RSRC_LO]]:[[RSRC_HI]]{{\]}}, [[SOFFSET]] offset:124{{$}}
define amdgpu_kernel void @store_to_inttoptr() #0 {
- store volatile i32 0, i32* inttoptr (i32 123 to i32*)
+ store volatile i32 0, i32* inttoptr (i32 124 to i32*)
ret void
}
@@ -47,9 +47,9 @@ define amdgpu_kernel void @load_from_undef() #0 {
; OPT-DAG: s_mov_b64 s{{\[}}[[RSRC_LO:[0-9]+]]:{{[0-9]+\]}}, s[0:1]
; OPT-DAG: s_mov_b64 s{{\[[0-9]+}}:[[RSRC_HI:[0-9]+]]{{\]}}, s[2:3]
; OPT-DAG: s_mov_b32 [[SOFFSET:s[0-9]+]], s7{{$}}
-; OPT: buffer_load_dword v{{[0-9]+}}, v{{[0-9]+}}, s{{\[}}[[RSRC_LO]]:[[RSRC_HI]]{{\]}}, [[SOFFSET]] offen{{$}}
+; OPT: buffer_load_dword v{{[0-9]+}}, off, s{{\[}}[[RSRC_LO]]:[[RSRC_HI]]{{\]}}, [[SOFFSET]] offset:124{{$}}
define amdgpu_kernel void @load_from_inttoptr() #0 {
- %ld = load volatile i32, i32* inttoptr (i32 123 to i32*)
+ %ld = load volatile i32, i32* inttoptr (i32 124 to i32*)
ret void
}
diff --git a/test/CodeGen/AMDGPU/readcyclecounter.ll b/test/CodeGen/AMDGPU/readcyclecounter.ll
index 5c698c839fa6..d7b353cd25d3 100644
--- a/test/CodeGen/AMDGPU/readcyclecounter.ll
+++ b/test/CodeGen/AMDGPU/readcyclecounter.ll
@@ -22,4 +22,18 @@ define amdgpu_kernel void @test_readcyclecounter(i64 addrspace(1)* %out) #0 {
ret void
}
+; This test used to crash in ScheduleDAG.
+;
+; GCN-LABEL: {{^}}test_readcyclecounter_smem:
+; SI-DAG: s_memtime
+; VI-DAG: s_memrealtime
+; GCN-DAG: s_load_dword
+define amdgpu_cs i32 @test_readcyclecounter_smem(i64 addrspace(2)* inreg %in) #0 {
+ %cycle0 = call i64 @llvm.readcyclecounter()
+ %in.v = load i64, i64 addrspace(2)* %in
+ %r.64 = add i64 %cycle0, %in.v
+ %r.32 = trunc i64 %r.64 to i32
+ ret i32 %r.32
+}
+
attributes #0 = { nounwind }
diff --git a/test/CodeGen/AMDGPU/ret_jump.ll b/test/CodeGen/AMDGPU/ret_jump.ll
index 748f98a12c59..f2fbacbab82e 100644
--- a/test/CodeGen/AMDGPU/ret_jump.ll
+++ b/test/CodeGen/AMDGPU/ret_jump.ll
@@ -56,7 +56,7 @@ ret.bb: ; preds = %else, %main_body
}
; GCN-LABEL: {{^}}uniform_br_nontrivial_ret_divergent_br_nontrivial_unreachable:
-; GCN: s_cbranch_scc1 [[RET_BB:BB[0-9]+_[0-9]+]]
+; GCN: s_cbranch_vccnz [[RET_BB:BB[0-9]+_[0-9]+]]
; GCN: ; BB#{{[0-9]+}}: ; %else
; GCN: s_and_saveexec_b64 [[SAVE_EXEC:s\[[0-9]+:[0-9]+\]]], vcc
diff --git a/test/CodeGen/AMDGPU/sext-in-reg.ll b/test/CodeGen/AMDGPU/sext-in-reg.ll
index b702e1c07200..160fb6a038fe 100644
--- a/test/CodeGen/AMDGPU/sext-in-reg.ll
+++ b/test/CodeGen/AMDGPU/sext-in-reg.ll
@@ -1,6 +1,6 @@
; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=SI -check-prefix=FUNC %s
; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=GFX89 -check-prefix=FUNC %s
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 -check-prefix=GFX89 -check-prefix=FUNC %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 -check-prefix=GFX89 -check-prefix=FUNC %s
; RUN: llc -march=r600 -mcpu=cypress < %s | FileCheck -check-prefix=EG -check-prefix=FUNC %s
; FIXME: i16 promotion pass ruins the scalar cases when legal.
diff --git a/test/CodeGen/AMDGPU/shl.v2i16.ll b/test/CodeGen/AMDGPU/shl.v2i16.ll
index eac29bad7cf2..115221c5316d 100644
--- a/test/CodeGen/AMDGPU/shl.v2i16.ll
+++ b/test/CodeGen/AMDGPU/shl.v2i16.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefix=GCN -check-prefix=GFX9 %s
; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI -check-prefix=CIVI %s
; RUN: llc -march=amdgcn -mcpu=bonaire -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=CI -check-prefix=CIVI %s
diff --git a/test/CodeGen/AMDGPU/sminmax.v2i16.ll b/test/CodeGen/AMDGPU/sminmax.v2i16.ll
index 4e093cdece21..16ce86bf8b11 100644
--- a/test/CodeGen/AMDGPU/sminmax.v2i16.ll
+++ b/test/CodeGen/AMDGPU/sminmax.v2i16.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=VI -check-prefix=CIVI -check-prefix=GCN %s
; RUN: llc -march=amdgcn -mcpu=bonaire -verify-machineinstrs < %s | FileCheck -check-prefix=CI -check-prefix=CIVI -check-prefix=GCN %s
diff --git a/test/CodeGen/AMDGPU/spill-m0.ll b/test/CodeGen/AMDGPU/spill-m0.ll
index 0e715c453209..8f1aebfe9ceb 100644
--- a/test/CodeGen/AMDGPU/spill-m0.ll
+++ b/test/CodeGen/AMDGPU/spill-m0.ll
@@ -69,19 +69,20 @@ endif:
; TOSMEM-NOT: s_m0
; TOSMEM: s_add_u32 m0, s7, 0x100
; TOSMEM-NEXT: s_buffer_store_dword s{{[0-9]+}}, s{{\[[0-9]+:[0-9]+\]}}, m0 ; 4-byte Folded Spill
-; TOSMEM-NOT: m0
+; FIXME: RegScavenger::isRegUsed() always returns true if m0 is reserved, so we have to save and restore it
+; FIXME-TOSMEM-NOT: m0
-; TOSMEM-NOT: m0
+; FIXME-TOSMEM-NOT: m0
; TOSMEM: s_add_u32 m0, s7, 0x200
; TOSMEM: s_buffer_store_dwordx2 s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, m0 ; 8-byte Folded Spill
-; TOSMEM-NOT: m0
+; FIXME-TOSMEM-NOT: m0
; TOSMEM: s_mov_b64 exec,
; TOSMEM: s_cbranch_execz
; TOSMEM: s_branch
; TOSMEM: BB{{[0-9]+_[0-9]+}}:
-; TOSMEM-NEXT: s_add_u32 m0, s7, 0x200
+; TOSMEM: s_add_u32 m0, s7, 0x200
; TOSMEM-NEXT: s_buffer_load_dwordx2 s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, m0 ; 8-byte Folded Reload
@@ -130,7 +131,7 @@ endif: ; preds = %else, %if
; TOSMEM: s_branch
; TOSMEM: BB{{[0-9]+_[0-9]+}}:
-; TOSMEM-NEXT: s_add_u32 m0, s3, 0x100
+; TOSMEM: s_add_u32 m0, s3, 0x100
; TOSMEM-NEXT: s_buffer_load_dwordx2 s{{\[[0-9]+:[0-9]+\]}}, s{{\[[0-9]+:[0-9]+\]}}, m0 ; 8-byte Folded Reload
; GCN-NOT: v_readlane_b32 m0
@@ -159,13 +160,14 @@ endif:
; GCN-LABEL: {{^}}restore_m0_lds:
; TOSMEM: s_load_dwordx2 [[REG:s\[[0-9]+:[0-9]+\]]]
; TOSMEM: s_cmp_eq_u32
-; TOSMEM-NOT: m0
+; FIXME: RegScavenger::isRegUsed() always returns true if m0 is reserved, so we have to save and restore it
+; FIXME-TOSMEM-NOT: m0
; TOSMEM: s_add_u32 m0, s3, 0x100
; TOSMEM: s_buffer_store_dwordx2 [[REG]], s[88:91], m0 ; 8-byte Folded Spill
-; TOSMEM-NOT: m0
+; FIXME-TOSMEM-NOT: m0
; TOSMEM: s_add_u32 m0, s3, 0x300
; TOSMEM: s_buffer_store_dword s{{[0-9]+}}, s[88:91], m0 ; 4-byte Folded Spill
-; TOSMEM-NOT: m0
+; FIXME-TOSMEM-NOT: m0
; TOSMEM: s_cbranch_scc1
; TOSMEM: s_mov_b32 m0, -1
@@ -178,10 +180,10 @@ endif:
; TOSMEM: ds_write_b64
-; TOSMEM-NOT: m0
+; FIXME-TOSMEM-NOT: m0
; TOSMEM: s_add_u32 m0, s3, 0x300
; TOSMEM: s_buffer_load_dword s0, s[88:91], m0 ; 4-byte Folded Reload
-; TOSMEM-NOT: m0
+; FIXME-TOSMEM-NOT: m0
; TOSMEM: s_waitcnt lgkmcnt(0)
; TOSMEM-NOT: m0
; TOSMEM: s_mov_b32 m0, s0
diff --git a/test/CodeGen/AMDGPU/sub.v2i16.ll b/test/CodeGen/AMDGPU/sub.v2i16.ll
index 69f0accef628..431344670ffb 100644
--- a/test/CodeGen/AMDGPU/sub.v2i16.ll
+++ b/test/CodeGen/AMDGPU/sub.v2i16.ll
@@ -1,4 +1,4 @@
-; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
+; RUN: llc -march=amdgcn -mcpu=gfx901 -mattr=-flat-for-global -verify-machineinstrs -enable-packed-inlinable-literals < %s | FileCheck -check-prefix=GFX9 -check-prefix=GCN %s
; RUN: llc -march=amdgcn -mcpu=tonga -mattr=-flat-for-global -verify-machineinstrs < %s | FileCheck -check-prefix=VI -check-prefix=GCN %s
; FIXME: Need to handle non-uniform case for function below (load without gep).
diff --git a/test/CodeGen/AMDGPU/trap.ll b/test/CodeGen/AMDGPU/trap.ll
index 77ad895d0e86..51771c9723e0 100644
--- a/test/CodeGen/AMDGPU/trap.ll
+++ b/test/CodeGen/AMDGPU/trap.ll
@@ -80,4 +80,25 @@ define amdgpu_kernel void @trap() {
ret void
}
+; GCN-LABEL: {{^}}non_entry_trap:
+; TRAP-BIT: enable_trap_handler = 1
+; NO-TRAP-BIT: enable_trap_handler = 0
+
+; HSA: BB{{[0-9]_[0-9]+]]: ; %trap
+; HSA-TRAP: s_mov_b64 s[0:1], s[4:5]
+; HSA-TRAP-NEXT: s_trap 2
+define amdgpu_kernel void @non_entry_trap(i32 addrspace(1)* nocapture readonly %arg0) local_unnamed_addr #1 {
+entry:
+ %tmp29 = load volatile i32, i32 addrspace(1)* %arg0
+ %cmp = icmp eq i32 %tmp29, -1
+ br i1 %cmp, label %ret, label %trap
+
+trap:
+ call void @llvm.trap()
+ unreachable
+
+ret:
+ ret void
+}
+
attributes #0 = { nounwind noreturn }
diff --git a/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir b/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir
index 21c774133f89..83ab2659ef4a 100644
--- a/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir
+++ b/test/CodeGen/ARM/GlobalISel/arm-instruction-select.mir
@@ -5,6 +5,8 @@
define void @test_sext_s8() { ret void }
define void @test_zext_s16() { ret void }
+ define void @test_trunc_s32_16() { ret void }
+
define void @test_add_s8() { ret void }
define void @test_add_s16() { ret void }
define void @test_add_s32() { ret void }
@@ -21,6 +23,9 @@
define void @test_mul_s32() #1 { ret void }
define void @test_mulv5_s32() { ret void }
+ define void @test_sdiv_s32() #2 { ret void }
+ define void @test_udiv_s32() #2 { ret void }
+
define void @test_load_from_stack() { ret void }
define void @test_load_f32() #0 { ret void }
define void @test_load_f64() #0 { ret void }
@@ -28,12 +33,14 @@
define void @test_stores() #0 { ret void }
define void @test_gep() { ret void }
- define void @test_constants() { ret void }
+ define void @test_constant_imm() { ret void }
+ define void @test_constant_cimm() { ret void }
define void @test_soft_fp_double() #0 { ret void }
attributes #0 = { "target-features"="+vfp2,-neonfp" }
attributes #1 = { "target-features"="+v6" }
+ attributes #2 = { "target-features"="+hwdiv-arm" }
...
---
name: test_zext_s1
@@ -142,6 +149,34 @@ body: |
; CHECK: BX_RET 14, _, implicit %r0
...
---
+name: test_trunc_s32_16
+# CHECK-LABEL: name: test_trunc_s32_16
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+# CHECK-DAG: id: 0, class: gpr
+# CHECK-DAG: id: 1, class: gpr
+body: |
+ bb.0:
+ liveins: %r0
+
+ %0(s32) = COPY %r0
+ ; CHECK: [[VREGX:%[0-9]+]] = COPY %r0
+
+ %1(s16) = G_TRUNC %0(s32)
+ ; CHECK: [[VREGTRUNC:%[0-9]+]] = COPY [[VREGX]]
+
+ %r0 = COPY %1(s16)
+ ; CHECK: %r0 = COPY [[VREGTRUNC]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
name: test_add_s8
# CHECK-LABEL: name: test_add_s8
legalized: true
@@ -538,6 +573,72 @@ body: |
; CHECK: BX_RET 14, _, implicit %r0
...
---
+name: test_sdiv_s32
+# CHECK-LABEL: name: test_sdiv_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+# CHECK: id: 0, class: gpr
+# CHECK: id: 1, class: gpr
+# CHECK: id: 2, class: gpr
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ %0(s32) = COPY %r0
+ ; CHECK: [[VREGX:%[0-9]+]] = COPY %r0
+
+ %1(s32) = COPY %r1
+ ; CHECK: [[VREGY:%[0-9]+]] = COPY %r1
+
+ %2(s32) = G_SDIV %0, %1
+ ; CHECK: [[VREGRES:%[0-9]+]] = SDIV [[VREGX]], [[VREGY]], 14, _
+
+ %r0 = COPY %2(s32)
+ ; CHECK: %r0 = COPY [[VREGRES]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
+name: test_udiv_s32
+# CHECK-LABEL: name: test_udiv_s32
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+ - { id: 1, class: gprb }
+ - { id: 2, class: gprb }
+# CHECK: id: 0, class: gpr
+# CHECK: id: 1, class: gpr
+# CHECK: id: 2, class: gpr
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ %0(s32) = COPY %r0
+ ; CHECK: [[VREGX:%[0-9]+]] = COPY %r0
+
+ %1(s32) = COPY %r1
+ ; CHECK: [[VREGY:%[0-9]+]] = COPY %r1
+
+ %2(s32) = G_UDIV %0, %1
+ ; CHECK: [[VREGRES:%[0-9]+]] = UDIV [[VREGX]], [[VREGY]], 14, _
+
+ %r0 = COPY %2(s32)
+ ; CHECK: %r0 = COPY [[VREGRES]]
+
+ BX_RET 14, _, implicit %r0
+ ; CHECK: BX_RET 14, _, implicit %r0
+...
+---
name: test_load_from_stack
# CHECK-LABEL: name: test_load_from_stack
legalized: true
@@ -714,8 +815,8 @@ body: |
BX_RET 14, _, implicit %r0
...
---
-name: test_constants
-# CHECK-LABEL: name: test_constants
+name: test_constant_imm
+# CHECK-LABEL: name: test_constant_imm
legalized: true
regBankSelected: true
selected: false
@@ -732,6 +833,26 @@ body: |
BX_RET 14, _, implicit %r0
...
---
+name: test_constant_cimm
+# CHECK-LABEL: name: test_constant_cimm
+legalized: true
+regBankSelected: true
+selected: false
+# CHECK: selected: true
+registers:
+ - { id: 0, class: gprb }
+# CHECK: id: [[C:[0-9]+]], class: gpr
+body: |
+ bb.0:
+ ; Adding a type on G_CONSTANT changes its operand from an Imm into a CImm.
+ ; We still want to see the same thing in the output though.
+ %0(s32) = G_CONSTANT i32 42
+ ; CHECK: %[[C]] = MOVi 42, 14, _, _
+
+ %r0 = COPY %0(s32)
+ BX_RET 14, _, implicit %r0
+...
+---
name: test_soft_fp_double
# CHECK-LABEL: name: test_soft_fp_double
legalized: true
diff --git a/test/CodeGen/ARM/GlobalISel/arm-isel-divmod.ll b/test/CodeGen/ARM/GlobalISel/arm-isel-divmod.ll
new file mode 100644
index 000000000000..2881740b016f
--- /dev/null
+++ b/test/CodeGen/ARM/GlobalISel/arm-isel-divmod.ll
@@ -0,0 +1,68 @@
+; We use V6 ops so we can easily check for the extensions (sxth vs bit tricks).
+; RUN: llc -mtriple arm-gnueabi -mattr=+v6,+hwdiv-arm -global-isel %s -o - | FileCheck %s -check-prefixes=CHECK,HWDIV
+; RUN: llc -mtriple arm-gnueabi -mattr=+v6,-hwdiv-arm -global-isel %s -o - | FileCheck %s -check-prefixes=CHECK,SOFT-AEABI
+; RUN: llc -mtriple arm-gnu -mattr=+v6,+hwdiv-arm -global-isel %s -o - | FileCheck %s -check-prefixes=CHECK,HWDIV
+; RUN: llc -mtriple arm-gnu -mattr=+v6,-hwdiv-arm -global-isel %s -o - | FileCheck %s -check-prefixes=CHECK,SOFT-DEFAULT
+
+define arm_aapcscc i32 @test_sdiv_i32(i32 %a, i32 %b) {
+; CHECK-LABEL: test_sdiv_i32:
+; HWDIV: sdiv r0, r0, r1
+; SOFT-AEABI: blx __aeabi_idiv
+; SOFT-DEFAULT: blx __divsi3
+ %r = sdiv i32 %a, %b
+ ret i32 %r
+}
+
+define arm_aapcscc i32 @test_udiv_i32(i32 %a, i32 %b) {
+; CHECK-LABEL: test_udiv_i32:
+; HWDIV: udiv r0, r0, r1
+; SOFT-AEABI: blx __aeabi_uidiv
+; SOFT-DEFAULT: blx __udivsi3
+ %r = udiv i32 %a, %b
+ ret i32 %r
+}
+
+define arm_aapcscc i16 @test_sdiv_i16(i16 %a, i16 %b) {
+; CHECK-LABEL: test_sdiv_i16:
+; CHECK-DAG: sxth r0, r0
+; CHECK-DAG: sxth r1, r1
+; HWDIV: sdiv r0, r0, r1
+; SOFT-AEABI: blx __aeabi_idiv
+; SOFT-DEFAULT: blx __divsi3
+ %r = sdiv i16 %a, %b
+ ret i16 %r
+}
+
+define arm_aapcscc i16 @test_udiv_i16(i16 %a, i16 %b) {
+; CHECK-LABEL: test_udiv_i16:
+; CHECK-DAG: uxth r0, r0
+; CHECK-DAG: uxth r1, r1
+; HWDIV: udiv r0, r0, r1
+; SOFT-AEABI: blx __aeabi_uidiv
+; SOFT-DEFAULT: blx __udivsi3
+ %r = udiv i16 %a, %b
+ ret i16 %r
+}
+
+define arm_aapcscc i8 @test_sdiv_i8(i8 %a, i8 %b) {
+; CHECK-LABEL: test_sdiv_i8:
+; CHECK-DAG: sxtb r0, r0
+; CHECK-DAG: sxtb r1, r1
+; HWDIV: sdiv r0, r0, r1
+; SOFT-AEABI: blx __aeabi_idiv
+; SOFT-DEFAULT: blx __divsi3
+ %r = sdiv i8 %a, %b
+ ret i8 %r
+}
+
+define arm_aapcscc i8 @test_udiv_i8(i8 %a, i8 %b) {
+; CHECK-LABEL: test_udiv_i8:
+; CHECK-DAG: uxtb r0, r0
+; CHECK-DAG: uxtb r1, r1
+; HWDIV: udiv r0, r0, r1
+; SOFT-AEABI: blx __aeabi_uidiv
+; SOFT-DEFAULT: blx __udivsi3
+ %r = udiv i8 %a, %b
+ ret i8 %r
+}
+
diff --git a/test/CodeGen/ARM/GlobalISel/arm-isel.ll b/test/CodeGen/ARM/GlobalISel/arm-isel.ll
index f3ca2915f306..da02bfe68519 100644
--- a/test/CodeGen/ARM/GlobalISel/arm-isel.ll
+++ b/test/CodeGen/ARM/GlobalISel/arm-isel.ll
@@ -7,6 +7,14 @@ entry:
ret void
}
+define i32 @test_constant_return_i32() {
+; CHECK-LABEL: test_constant_return_i32:
+; CHECK: mov r0, #42
+; CHECK: bx lr
+entry:
+ ret i32 42
+}
+
define zeroext i1 @test_zext_i1(i1 %x) {
; CHECK-LABEL: test_zext_i1
; CHECK: and r0, r0, #1
@@ -40,6 +48,30 @@ entry:
ret i16 %x
}
+define void @test_trunc_i32_i16(i32 %v, i16 *%p) {
+; CHECK-LABEL: test_trunc_i32_i16:
+; The trunc doesn't result in any instructions, but we
+; expect the store to be explicitly 16-bit.
+; CHECK: strh r0, [r1]
+; CHECK: bx lr
+entry:
+ %v16 = trunc i32 %v to i16
+ store i16 %v16, i16 *%p
+ ret void
+}
+
+define void @test_trunc_i32_i8(i32 %v, i8 *%p) {
+; CHECK-LABEL: test_trunc_i32_i8:
+; The trunc doesn't result in any instructions, but we
+; expect the store to be explicitly 8-bit.
+; CHECK: strb r0, [r1]
+; CHECK: bx lr
+entry:
+ %v8 = trunc i32 %v to i8
+ store i8 %v8, i8 *%p
+ ret void
+}
+
define i8 @test_add_i8(i8 %x, i8 %y) {
; CHECK-LABEL: test_add_i8:
; CHECK: add r0, r0, r1
diff --git a/test/CodeGen/ARM/GlobalISel/arm-legalize-divmod.mir b/test/CodeGen/ARM/GlobalISel/arm-legalize-divmod.mir
new file mode 100644
index 000000000000..6f3e09d328cf
--- /dev/null
+++ b/test/CodeGen/ARM/GlobalISel/arm-legalize-divmod.mir
@@ -0,0 +1,230 @@
+# RUN: llc -mtriple arm-linux-gnueabi -mattr=+hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,HWDIV
+# RUN: llc -mtriple arm-linux-gnueabi -mattr=-hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,SOFT,SOFT-AEABI
+# RUN: llc -mtriple arm-linux-gnu -mattr=+hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,HWDIV
+# RUN: llc -mtriple arm-linux-gnu -mattr=-hwdiv-arm -global-isel -run-pass=legalizer %s -o - | FileCheck %s -check-prefixes=CHECK,SOFT,SOFT-DEFAULT
+--- |
+ define void @test_sdiv_i32() { ret void }
+ define void @test_udiv_i32() { ret void }
+
+ define void @test_sdiv_i16() { ret void }
+ define void @test_udiv_i16() { ret void }
+
+ define void @test_sdiv_i8() { ret void }
+ define void @test_udiv_i8() { ret void }
+...
+---
+name: test_sdiv_i32
+# CHECK-LABEL: name: test_sdiv_i32
+legalized: false
+# CHECK: legalized: true
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ ; CHECK-DAG: [[X:%[0-9]+]](s32) = COPY %r0
+ ; CHECK-DAG: [[Y:%[0-9]+]](s32) = COPY %r1
+ %0(s32) = COPY %r0
+ %1(s32) = COPY %r1
+ ; HWDIV: [[R:%[0-9]+]](s32) = G_SDIV [[X]], [[Y]]
+ ; SOFT: ADJCALLSTACKDOWN
+ ; SOFT-DAG: %r0 = COPY [[X]]
+ ; SOFT-DAG: %r1 = COPY [[Y]]
+ ; SOFT-AEABI: BLX $__aeabi_idiv, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-AEABI: [[R:%[0-9]+]](s32) = COPY %r0
+ ; SOFT-DEFAULT: BLX $__divsi3, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-DEFAULT: [[R:%[0-9]+]](s32) = COPY %r0
+ ; SOFT: ADJCALLSTACKUP
+ %2(s32) = G_SDIV %0, %1
+ ; CHECK: %r0 = COPY [[R]]
+ %r0 = COPY %2(s32)
+ BX_RET 14, _, implicit %r0
+...
+---
+name: test_udiv_i32
+# CHECK-LABEL: name: test_udiv_i32
+legalized: false
+# CHECK: legalized: true
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ ; CHECK-DAG: [[X:%[0-9]+]](s32) = COPY %r0
+ ; CHECK-DAG: [[Y:%[0-9]+]](s32) = COPY %r1
+ %0(s32) = COPY %r0
+ %1(s32) = COPY %r1
+ ; HWDIV: [[R:%[0-9]+]](s32) = G_UDIV [[X]], [[Y]]
+ ; SOFT: ADJCALLSTACKDOWN
+ ; SOFT-DAG: %r0 = COPY [[X]]
+ ; SOFT-DAG: %r1 = COPY [[Y]]
+ ; SOFT-AEABI: BLX $__aeabi_uidiv, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-AEABI: [[R:%[0-9]+]](s32) = COPY %r0
+ ; SOFT-DEFAULT: BLX $__udivsi3, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-DEFAULT: [[R:%[0-9]+]](s32) = COPY %r0
+ ; SOFT: ADJCALLSTACKUP
+ %2(s32) = G_UDIV %0, %1
+ ; CHECK: %r0 = COPY [[R]]
+ %r0 = COPY %2(s32)
+ BX_RET 14, _, implicit %r0
+...
+---
+name: test_sdiv_i16
+# CHECK-LABEL: name: test_sdiv_i16
+legalized: false
+# CHECK: legalized: true
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ ; CHECK-DAG: [[X:%[0-9]+]](s16) = COPY %r0
+ ; CHECK-DAG: [[Y:%[0-9]+]](s16) = COPY %r1
+ ; CHECK-DAG: [[X32:%[0-9]+]](s32) = G_SEXT [[X]](s16)
+ ; CHECK-DAG: [[Y32:%[0-9]+]](s32) = G_SEXT [[Y]](s16)
+ %0(s16) = COPY %r0
+ %1(s16) = COPY %r1
+ ; HWDIV: [[R32:%[0-9]+]](s32) = G_SDIV [[X32]], [[Y32]]
+ ; SOFT: ADJCALLSTACKDOWN
+ ; SOFT-DAG: %r0 = COPY [[X32]]
+ ; SOFT-DAG: %r1 = COPY [[Y32]]
+ ; SOFT-AEABI: BLX $__aeabi_idiv, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-AEABI: [[R32:%[0-9]+]](s32) = COPY %r0
+ ; SOFT-DEFAULT: BLX $__divsi3, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-DEFAULT: [[R32:%[0-9]+]](s32) = COPY %r0
+ ; SOFT: ADJCALLSTACKUP
+ ; CHECK: [[R:%[0-9]+]](s16) = G_TRUNC [[R32]]
+ %2(s16) = G_SDIV %0, %1
+ ; CHECK: %r0 = COPY [[R]]
+ %r0 = COPY %2(s16)
+ BX_RET 14, _, implicit %r0
+...
+---
+name: test_udiv_i16
+# CHECK-LABEL: name: test_udiv_i16
+legalized: false
+# CHECK: legalized: true
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ ; CHECK-DAG: [[X:%[0-9]+]](s16) = COPY %r0
+ ; CHECK-DAG: [[Y:%[0-9]+]](s16) = COPY %r1
+ ; CHECK-DAG: [[X32:%[0-9]+]](s32) = G_ZEXT [[X]](s16)
+ ; CHECK-DAG: [[Y32:%[0-9]+]](s32) = G_ZEXT [[Y]](s16)
+ %0(s16) = COPY %r0
+ %1(s16) = COPY %r1
+ ; HWDIV: [[R32:%[0-9]+]](s32) = G_UDIV [[X32]], [[Y32]]
+ ; SOFT: ADJCALLSTACKDOWN
+ ; SOFT-DAG: %r0 = COPY [[X32]]
+ ; SOFT-DAG: %r1 = COPY [[Y32]]
+ ; SOFT-AEABI: BLX $__aeabi_uidiv, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-AEABI: [[R32:%[0-9]+]](s32) = COPY %r0
+ ; SOFT-DEFAULT: BLX $__udivsi3, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-DEFAULT: [[R32:%[0-9]+]](s32) = COPY %r0
+ ; SOFT: ADJCALLSTACKUP
+ ; CHECK: [[R:%[0-9]+]](s16) = G_TRUNC [[R32]]
+ %2(s16) = G_UDIV %0, %1
+ ; CHECK: %r0 = COPY [[R]]
+ %r0 = COPY %2(s16)
+ BX_RET 14, _, implicit %r0
+...
+---
+name: test_sdiv_i8
+# CHECK-LABEL: name: test_sdiv_i8
+legalized: false
+# CHECK: legalized: true
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ ; CHECK-DAG: [[X:%[0-9]+]](s8) = COPY %r0
+ ; CHECK-DAG: [[Y:%[0-9]+]](s8) = COPY %r1
+ ; CHECK-DAG: [[X32:%[0-9]+]](s32) = G_SEXT [[X]](s8)
+ ; CHECK-DAG: [[Y32:%[0-9]+]](s32) = G_SEXT [[Y]](s8)
+ %0(s8) = COPY %r0
+ %1(s8) = COPY %r1
+ ; HWDIV: [[R32:%[0-9]+]](s32) = G_SDIV [[X32]], [[Y32]]
+ ; SOFT: ADJCALLSTACKDOWN
+ ; SOFT-DAG: %r0 = COPY [[X32]]
+ ; SOFT-DAG: %r1 = COPY [[Y32]]
+ ; SOFT-AEABI: BLX $__aeabi_idiv, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-AEABI: [[R32:%[0-9]+]](s32) = COPY %r0
+ ; SOFT-DEFAULT: BLX $__divsi3, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-DEFAULT: [[R32:%[0-9]+]](s32) = COPY %r0
+ ; SOFT: ADJCALLSTACKUP
+ ; CHECK: [[R:%[0-9]+]](s8) = G_TRUNC [[R32]]
+ %2(s8) = G_SDIV %0, %1
+ ; CHECK: %r0 = COPY [[R]]
+ %r0 = COPY %2(s8)
+ BX_RET 14, _, implicit %r0
+...
+---
+name: test_udiv_i8
+# CHECK-LABEL: name: test_udiv_i8
+legalized: false
+# CHECK: legalized: true
+regBankSelected: false
+selected: false
+tracksRegLiveness: true
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ ; CHECK-DAG: [[X:%[0-9]+]](s8) = COPY %r0
+ ; CHECK-DAG: [[Y:%[0-9]+]](s8) = COPY %r1
+ ; CHECK-DAG: [[X32:%[0-9]+]](s32) = G_ZEXT [[X]](s8)
+ ; CHECK-DAG: [[Y32:%[0-9]+]](s32) = G_ZEXT [[Y]](s8)
+ %0(s8) = COPY %r0
+ %1(s8) = COPY %r1
+ ; HWDIV: [[R32:%[0-9]+]](s32) = G_UDIV [[X32]], [[Y32]]
+ ; SOFT: ADJCALLSTACKDOWN
+ ; SOFT-DAG: %r0 = COPY [[X32]]
+ ; SOFT-DAG: %r1 = COPY [[Y32]]
+ ; SOFT-AEABI: BLX $__aeabi_uidiv, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-AEABI: [[R32:%[0-9]+]](s32) = COPY %r0
+ ; SOFT-DEFAULT: BLX $__udivsi3, {{.*}}, implicit %r0, implicit %r1, implicit-def %r0
+ ; SOFT-DEFAULT: [[R32:%[0-9]+]](s32) = COPY %r0
+ ; SOFT: ADJCALLSTACKUP
+ ; CHECK: [[R:%[0-9]+]](s8) = G_TRUNC [[R32]]
+ %2(s8) = G_UDIV %0, %1
+ ; CHECK: %r0 = COPY [[R]]
+ %r0 = COPY %2(s8)
+ BX_RET 14, _, implicit %r0
+...
diff --git a/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir b/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir
index e7935832f98a..4e94fb4e3481 100644
--- a/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir
+++ b/test/CodeGen/ARM/GlobalISel/arm-regbankselect.mir
@@ -13,6 +13,9 @@
define void @test_mul_s16() { ret void }
define void @test_mul_s8() { ret void }
+ define void @test_sdiv_s32() #1 { ret void }
+ define void @test_udiv_s32() #1 { ret void }
+
define void @test_loads() #0 { ret void }
define void @test_stores() #0 { ret void }
@@ -22,12 +25,15 @@
define void @test_constants() { ret void }
+ define void @test_trunc_s32_16() { ret void }
+
define void @test_fadd_s32() #0 { ret void }
define void @test_fadd_s64() #0 { ret void }
define void @test_soft_fp_s64() #0 { ret void }
attributes #0 = { "target-features"="+vfp2"}
+ attributes #1 = { "target-features"="+hwdiv-arm" }
...
---
name: test_add_s32
@@ -290,6 +296,58 @@ body: |
...
---
+name: test_sdiv_s32
+# CHECK-LABEL: name: test_sdiv_s32
+legalized: true
+regBankSelected: false
+selected: false
+# CHECK: registers:
+# CHECK: - { id: 0, class: gprb }
+# CHECK: - { id: 1, class: gprb }
+# CHECK: - { id: 2, class: gprb }
+
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ %0(s32) = COPY %r0
+ %1(s32) = COPY %r1
+ %2(s32) = G_SDIV %0, %1
+ %r0 = COPY %2(s32)
+ BX_RET 14, _, implicit %r0
+
+...
+---
+name: test_udiv_s32
+# CHECK-LABEL: name: test_udiv_s32
+legalized: true
+regBankSelected: false
+selected: false
+# CHECK: registers:
+# CHECK: - { id: 0, class: gprb }
+# CHECK: - { id: 1, class: gprb }
+# CHECK: - { id: 2, class: gprb }
+
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+ - { id: 2, class: _ }
+body: |
+ bb.0:
+ liveins: %r0, %r1
+
+ %0(s32) = COPY %r0
+ %1(s32) = COPY %r1
+ %2(s32) = G_UDIV %0, %1
+ %r0 = COPY %2(s32)
+ BX_RET 14, _, implicit %r0
+
+...
+---
name: test_loads
# CHECK-LABEL: name: test_loads
legalized: true
@@ -442,6 +500,27 @@ body: |
BX_RET 14, _, implicit %r0
...
---
+name: test_trunc_s32_16
+# CHECK-LABEL: name: test_trunc_s32_16
+legalized: true
+regBankSelected: false
+selected: false
+# CHECK: registers:
+# CHECK: - { id: 0, class: gprb }
+# CHECK: - { id: 1, class: gprb }
+registers:
+ - { id: 0, class: _ }
+ - { id: 1, class: _ }
+body: |
+ bb.0:
+ liveins: %r0
+
+ %0(s32) = COPY %r0
+ %1(s16) = G_TRUNC %0(s32)
+ %r0 = COPY %1(s16)
+ BX_RET 14, _, implicit %r0
+...
+---
name: test_fadd_s32
# CHECK-LABEL: name: test_fadd_s32
legalized: true
diff --git a/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll b/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll
new file mode 100644
index 000000000000..e3680ed2b929
--- /dev/null
+++ b/test/CodeGen/ARM/GlobalISel/arm-unsupported.ll
@@ -0,0 +1,80 @@
+; RUN: llc -mtriple arm-unknown -verify-machineinstrs -global-isel -global-isel-abort=2 -pass-remarks-missed='gisel*' %s -o - 2>&1 | FileCheck %s
+
+; This file checks that we use the fallback path for things that are known to
+; be unsupported on the ARM target. It should progressively shrink in size.
+
+define <4 x i32> @test_int_vectors(<4 x i32> %a, <4 x i32> %b) {
+; CHECK: remark: {{.*}} unable to lower arguments: <4 x i32> (<4 x i32>, <4 x i32>)*
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_int_vectors
+ %res = add <4 x i32> %a, %b
+ ret <4 x i32> %res
+}
+
+define <4 x float> @test_float_vectors(<4 x float> %a, <4 x float> %b) {
+; CHECK: remark: {{.*}} unable to lower arguments: <4 x float> (<4 x float>, <4 x float>)*
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_float_vectors
+ %res = fadd <4 x float> %a, %b
+ ret <4 x float> %res
+}
+
+define i64 @test_i64(i64 %a, i64 %b) {
+; CHECK: remark: {{.*}} unable to lower arguments: i64 (i64, i64)*
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_i64
+ %res = add i64 %a, %b
+ ret i64 %res
+}
+
+define i128 @test_i128(i128 %a, i128 %b) {
+; CHECK: remark: {{.*}} unable to lower arguments: i128 (i128, i128)*
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_i128
+ %res = add i128 %a, %b
+ ret i128 %res
+}
+
+define i17 @test_funny_ints(i17 %a, i17 %b) {
+; CHECK: remark: {{.*}} unable to lower arguments: i17 (i17, i17)*
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_funny_ints
+ %res = add i17 %a, %b
+ ret i17 %res
+}
+
+define half @test_half(half %a, half %b) {
+; CHECK: remark: {{.*}} unable to lower arguments: half (half, half)*
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_half
+ %res = fadd half %a, %b
+ ret half %res
+}
+
+; On ARM, clang lowers structs to arrays.
+define void @test_arrays([2 x i32] %this.could.come.from.a.struct) {
+; CHECK: remark: {{.*}} unable to lower arguments: void ([2 x i32])*
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_arrays
+ ret void
+}
+
+define void @test_structs({i32, i32} %struct) {
+; CHECK: remark: {{.*}} unable to lower arguments: void ({ i32, i32 })*
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_structs
+ ret void
+}
+
+define void @test_vararg_definition(i32 %a, ...) {
+; CHECK: remark: {{.*}} unable to lower arguments: void (i32, ...)*
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_vararg_definition
+ ret void
+}
+
+define void @test_vararg_call(i32 %a) {
+; CHECK: remark: {{.*}} unable to translate instruction: call
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_vararg_call
+ call void(i32, ...) @test_vararg_definition(i32 %a, i32 %a, i32 %a)
+ ret void
+}
+
+define i32 @test_thumb(i32 %a) #0 {
+; CHECK: remark: {{.*}} unable to lower arguments: i32 (i32)*
+; CHECK-LABEL: warning: Instruction selection used fallback path for test_thumb
+ ret i32 %a
+}
+
+attributes #0 = { "target-features"="+thumb-mode" }
diff --git a/test/CodeGen/ARM/bool-ext-inc.ll b/test/CodeGen/ARM/bool-ext-inc.ll
index fe43f1b2ef93..b91b9b258991 100644
--- a/test/CodeGen/ARM/bool-ext-inc.ll
+++ b/test/CodeGen/ARM/bool-ext-inc.ll
@@ -30,3 +30,42 @@ define <4 x i32> @sext_inc_vec(<4 x i1> %x) {
ret <4 x i32> %add
}
+define <4 x i32> @cmpgt_sext_inc_vec(<4 x i32> %x, <4 x i32> %y) {
+; CHECK-LABEL: cmpgt_sext_inc_vec:
+; CHECK: @ BB#0:
+; CHECK-NEXT: mov r12, sp
+; CHECK-NEXT: vmov d19, r2, r3
+; CHECK-NEXT: vmov.i32 q10, #0x1
+; CHECK-NEXT: vld1.64 {d16, d17}, [r12]
+; CHECK-NEXT: vmov d18, r0, r1
+; CHECK-NEXT: vcgt.s32 q8, q9, q8
+; CHECK-NEXT: vadd.i32 q8, q8, q10
+; CHECK-NEXT: vmov r0, r1, d16
+; CHECK-NEXT: vmov r2, r3, d17
+; CHECK-NEXT: mov pc, lr
+ %cmp = icmp sgt <4 x i32> %x, %y
+ %ext = sext <4 x i1> %cmp to <4 x i32>
+ %add = add <4 x i32> %ext, <i32 1, i32 1, i32 1, i32 1>
+ ret <4 x i32> %add
+}
+
+define <4 x i32> @cmpne_sext_inc_vec(<4 x i32> %x, <4 x i32> %y) {
+; CHECK-LABEL: cmpne_sext_inc_vec:
+; CHECK: @ BB#0:
+; CHECK-NEXT: mov r12, sp
+; CHECK-NEXT: vmov d19, r2, r3
+; CHECK-NEXT: vld1.64 {d16, d17}, [r12]
+; CHECK-NEXT: vmov d18, r0, r1
+; CHECK-NEXT: vceq.i32 q8, q9, q8
+; CHECK-NEXT: vmov.i32 q9, #0x1
+; CHECK-NEXT: vmvn q8, q8
+; CHECK-NEXT: vadd.i32 q8, q8, q9
+; CHECK-NEXT: vmov r0, r1, d16
+; CHECK-NEXT: vmov r2, r3, d17
+; CHECK-NEXT: mov pc, lr
+ %cmp = icmp ne <4 x i32> %x, %y
+ %ext = sext <4 x i1> %cmp to <4 x i32>
+ %add = add <4 x i32> %ext, <i32 1, i32 1, i32 1, i32 1>
+ ret <4 x i32> %add
+}
+
diff --git a/test/CodeGen/ARM/fence-singlethread.ll b/test/CodeGen/ARM/fence-singlethread.ll
new file mode 100644
index 000000000000..ec032ccac423
--- /dev/null
+++ b/test/CodeGen/ARM/fence-singlethread.ll
@@ -0,0 +1,16 @@
+; RUN: llc -mtriple=thumbv7-linux-gnueabihf %s -o - | FileCheck %s
+; RUN: llc -mtriple=thumbv7-apple-ios %s -o - | FileCheck %s
+; RUN: llc -mtriple=thumbv7-linux-gnueabihf %s -filetype=obj -o %t
+; RUN: llvm-objdump -d %t | FileCheck %s --check-prefix=OBJ
+
+; OBJ-NOT: dmb
+
+define void @fence_singlethread() {
+; CHECK-LABEL: fence_singlethread:
+; CHECK-NOT: dmb
+; CHECK: @ COMPILER BARRIER
+; CHECK-NOT: dmb
+
+ fence singlethread seq_cst
+ ret void
+}
diff --git a/test/CodeGen/ARM/v6m-smul-with-overflow.ll b/test/CodeGen/ARM/v6m-smul-with-overflow.ll
new file mode 100644
index 000000000000..6e8a7041de2b
--- /dev/null
+++ b/test/CodeGen/ARM/v6m-smul-with-overflow.ll
@@ -0,0 +1,16 @@
+; RUN: llc < %s -mtriple=thumbv6m-none-eabi | FileCheck %s
+
+define i1 @signed_multiplication_did_overflow(i32, i32) {
+; CHECK-LABEL: signed_multiplication_did_overflow:
+entry-block:
+ %2 = tail call { i32, i1 } @llvm.smul.with.overflow.i32(i32 %0, i32 %1)
+ %3 = extractvalue { i32, i1 } %2, 1
+ ret i1 %3
+
+; CHECK: mov r2, r1
+; CHECK: asrs r1, r0, #31
+; CHECK: asrs r3, r2, #31
+; CHECK: bl __aeabi_lmul
+}
+
+declare { i32, i1 } @llvm.smul.with.overflow.i32(i32, i32)
diff --git a/test/CodeGen/ARM/vpadd.ll b/test/CodeGen/ARM/vpadd.ll
index 1aa23597cf49..3409d37a31f4 100644
--- a/test/CodeGen/ARM/vpadd.ll
+++ b/test/CodeGen/ARM/vpadd.ll
@@ -485,6 +485,26 @@ define <2 x i16> @fromExtendingExtractVectorElt_i16(<4 x i16> %in) {
ret <2 x i16> %x
}
+; And <2 x i8> to <2 x i32>
+define <2 x i8> @fromExtendingExtractVectorElt_2i8(<8 x i8> %in) {
+; CHECK-LABEL: fromExtendingExtractVectorElt_2i8:
+; CHECK: vadd.i32
+ %tmp1 = shufflevector <8 x i8> %in, <8 x i8> undef, <2 x i32> <i32 0, i32 2>
+ %tmp2 = shufflevector <8 x i8> %in, <8 x i8> undef, <2 x i32> <i32 1, i32 3>
+ %x = add <2 x i8> %tmp2, %tmp1
+ ret <2 x i8> %x
+}
+
+define <2 x i16> @fromExtendingExtractVectorElt_2i16(<8 x i16> %in) {
+; CHECK-LABEL: fromExtendingExtractVectorElt_2i16:
+; CHECK: vadd.i32
+ %tmp1 = shufflevector <8 x i16> %in, <8 x i16> undef, <2 x i32> <i32 0, i32 2>
+ %tmp2 = shufflevector <8 x i16> %in, <8 x i16> undef, <2 x i32> <i32 1, i32 3>
+ %x = add <2 x i16> %tmp2, %tmp1
+ ret <2 x i16> %x
+}
+
+
declare <4 x i16> @llvm.arm.neon.vpaddls.v4i16.v8i8(<8 x i8>) nounwind readnone
declare <2 x i32> @llvm.arm.neon.vpaddls.v2i32.v4i16(<4 x i16>) nounwind readnone
declare <1 x i64> @llvm.arm.neon.vpaddls.v1i64.v2i32(<2 x i32>) nounwind readnone
diff --git a/test/CodeGen/AVR/pseudo/LDDWRdPtrQ-same-src-dst.mir b/test/CodeGen/AVR/pseudo/LDDWRdPtrQ-same-src-dst.mir
new file mode 100644
index 000000000000..b19e44e29fb6
--- /dev/null
+++ b/test/CodeGen/AVR/pseudo/LDDWRdPtrQ-same-src-dst.mir
@@ -0,0 +1,35 @@
+# RUN: llc -O0 %s -o - -march=avr | FileCheck %s
+
+# This test checks the expansion of the 16-bit 'LDDWRdPtrQ' pseudo instruction.
+#
+# This test ensures that the pseudo expander can correctly handle the case
+# where we are expanding a 16-bit LDD instruction where the source and
+# destination registers are the same.
+#
+# The instruction itself is earlyclobber and so ISel will never produce an
+# instruction like this, but the stack slot loading can and will.
+
+--- |
+ target triple = "avr--"
+ define void @test_lddwrdptrq() {
+ entry:
+ ret void
+ }
+...
+
+---
+name: test_lddwrdptrq
+tracksRegLiveness: true
+body: |
+ bb.0.entry:
+
+ ; CHECK-LABEL: test_lddwrdptrq
+
+ ; CHECK: ldd [[SCRATCH:r[0-9]+]], Z+10
+ ; CHECK-NEXT: push [[SCRATCH]]
+ ; CHECK-NEXT: ldd [[SCRATCH]], Z+11
+ ; CHECK-NEXT: mov r31, [[SCRATCH]]
+ ; CHECK-NEXT: pop r30
+
+ early-clobber %r31r30 = LDDWRdPtrQ undef %r31r30, 10
+...
diff --git a/test/CodeGen/AVR/pseudo/LDWRdPtr-same-src-dst.mir b/test/CodeGen/AVR/pseudo/LDWRdPtr-same-src-dst.mir
new file mode 100644
index 000000000000..3e7fdcd400d2
--- /dev/null
+++ b/test/CodeGen/AVR/pseudo/LDWRdPtr-same-src-dst.mir
@@ -0,0 +1,29 @@
+# RUN: llc -O0 %s -o - | FileCheck %s
+
+# This test checks the expansion of the 16-bit LDWRdPtr pseudo instruction.
+
+--- |
+ target triple = "avr--"
+ define void @test_ldwrdptr() {
+ entry:
+ ret void
+ }
+...
+
+---
+name: test_ldwrdptr
+tracksRegLiveness: true
+body: |
+ bb.0.entry:
+
+ ; CHECK-LABEL: test_ldwrdptr
+
+ ; CHECK: ld [[SCRATCH:r[0-9]+]], Z
+ ; CHECK-NEXT: push [[SCRATCH]]
+ ; CHECK-NEXT: ldd [[SCRATCH]], Z+1
+ ; CHECK-NEXT: mov r31, [[SCRATCH]]
+ ; CHECK-NEXT: pop r30
+
+ early-clobber %r31r30 = LDWRdPtr undef %r31r30
+...
+
diff --git a/test/CodeGen/AVR/pseudo/expand-lddw-dst-src-same.mir b/test/CodeGen/AVR/pseudo/expand-lddw-dst-src-same.mir
deleted file mode 100644
index 8427a2bfb4ed..000000000000
--- a/test/CodeGen/AVR/pseudo/expand-lddw-dst-src-same.mir
+++ /dev/null
@@ -1,35 +0,0 @@
-# RUN: llc -O0 %s -o - -march=avr | FileCheck %s
-
-# This test ensures that the pseudo expander can correctly handle the case
-# where we are expanding a 16-bit LDD instruction where the source and
-# destination registers are the same.
-#
-# The instruction itself is earlyclobber and so ISel will never produce an
-# instruction like this, but the stack slot loading can and will.
-
---- |
- target triple = "avr--"
-
- define void @test_lddw() {
- entry:
- ret void
- }
-
-...
----
-name: test_lddw
-tracksRegLiveness: true
-stack:
- - { id: 0, type: spill-slot, offset: -4, size: 1, alignment: 1, callee-saved-register: '%r28' }
-body: |
- bb.0.entry:
- liveins: %r28, %r29
-
- ; CHECK-LABEL: test_lddw
-
- ; CHECK: ldd [[TMPREG:r[0-9]+]], Y+0
- ; CHECK-NEXT: mov r28, [[TMPREG]]
- ; CHECK-NEXT: ldd [[TMPREG]], Y+1
- ; CHECK-NEXT: mov r29, [[TMPREG]]
- dead early-clobber %r29r28 = LDDWRdYQ killed %r29r28, 0
-...
diff --git a/test/CodeGen/MSP430/select-use-sr.ll b/test/CodeGen/MSP430/select-use-sr.ll
new file mode 100644
index 000000000000..3f67fb85f793
--- /dev/null
+++ b/test/CodeGen/MSP430/select-use-sr.ll
@@ -0,0 +1,21 @@
+; RUN: llc < %s -march=msp430 | FileCheck %s
+; PR32769
+
+target triple = "msp430"
+
+; Test that CMP instruction is not removed by MachineCSE.
+;
+; CHECK-LABEL: @f
+; CHECK: cmp.w r15, r13
+; CHECK: cmp.w r15, r13
+; CHECK-NEXT: jeq .LBB0_2
+define i16 @f(i16, i16, i16, i16) {
+entry:
+ %4 = icmp ult i16 %1, %3
+ %5 = zext i1 %4 to i16
+ %6 = icmp ult i16 %0, %2
+ %7 = zext i1 %6 to i16
+ %8 = icmp eq i16 %1, %3
+ %out = select i1 %8, i16 %5, i16 %7
+ ret i16 %out
+}
diff --git a/test/CodeGen/Mips/llvm-ir/mul.ll b/test/CodeGen/Mips/llvm-ir/mul.ll
index 1562372ce9a0..20853073dfa6 100644
--- a/test/CodeGen/Mips/llvm-ir/mul.ll
+++ b/test/CodeGen/Mips/llvm-ir/mul.ll
@@ -268,7 +268,7 @@ entry:
; MM64R6: daddu $2, $[[T1]], $[[T0]]
; MM64R6-DAG: dmul $3, $5, $7
- ; MM32: lw $25, %call16(__multi3)($16)
+ ; MM32: lw $25, %call16(__multi3)($gp)
%r = mul i128 %a, %b
ret i128 %r
diff --git a/test/CodeGen/Mips/llvm-ir/sdiv.ll b/test/CodeGen/Mips/llvm-ir/sdiv.ll
index defd25bb41ac..ee2b212a9f2f 100644
--- a/test/CodeGen/Mips/llvm-ir/sdiv.ll
+++ b/test/CodeGen/Mips/llvm-ir/sdiv.ll
@@ -172,7 +172,7 @@ entry:
; 64R6: ddiv $2, $4, $5
; 64R6: teq $5, $zero, 7
- ; MM32: lw $25, %call16(__divdi3)($2)
+ ; MM32: lw $25, %call16(__divdi3)($gp)
; MM64: ddiv $2, $4, $5
; MM64: teq $5, $zero, 7
@@ -184,15 +184,7 @@ entry:
define signext i128 @sdiv_i128(i128 signext %a, i128 signext %b) {
entry:
; ALL-LABEL: sdiv_i128:
-
- ; GP32: lw $25, %call16(__divti3)($gp)
-
- ; GP64-NOT-R6: ld $25, %call16(__divti3)($gp)
- ; 64R6: ld $25, %call16(__divti3)($gp)
-
- ; MM32: lw $25, %call16(__divti3)($16)
-
- ; MM64: ld $25, %call16(__divti3)($2)
+ ; ALL: l{{w|d}} $25, %call16(__divti3)($gp)
%r = sdiv i128 %a, %b
ret i128 %r
diff --git a/test/CodeGen/Mips/llvm-ir/srem.ll b/test/CodeGen/Mips/llvm-ir/srem.ll
index 42664d7457e5..812c10566979 100644
--- a/test/CodeGen/Mips/llvm-ir/srem.ll
+++ b/test/CodeGen/Mips/llvm-ir/srem.ll
@@ -164,7 +164,7 @@ entry:
; 64R6: dmod $2, $4, $5
; 64R6: teq $5, $zero, 7
- ; MM32: lw $25, %call16(__moddi3)($2)
+ ; MM32: lw $25, %call16(__moddi3)($gp)
; MM64: dmod $2, $4, $5
; MM64: teq $5, $zero, 7
@@ -177,14 +177,7 @@ define signext i128 @srem_i128(i128 signext %a, i128 signext %b) {
entry:
; ALL-LABEL: srem_i128:
- ; GP32: lw $25, %call16(__modti3)($gp)
-
- ; GP64-NOT-R6: ld $25, %call16(__modti3)($gp)
- ; 64R6: ld $25, %call16(__modti3)($gp)
-
- ; MM32: lw $25, %call16(__modti3)($16)
-
- ; MM64: ld $25, %call16(__modti3)($2)
+ ; ALL: l{{w|d}} $25, %call16(__modti3)($gp)
%r = srem i128 %a, %b
ret i128 %r
diff --git a/test/CodeGen/Mips/llvm-ir/udiv.ll b/test/CodeGen/Mips/llvm-ir/udiv.ll
index 78ab36442a9a..6e078fdedfca 100644
--- a/test/CodeGen/Mips/llvm-ir/udiv.ll
+++ b/test/CodeGen/Mips/llvm-ir/udiv.ll
@@ -134,7 +134,7 @@ entry:
; 64R6: ddivu $2, $4, $5
; 64R6: teq $5, $zero, 7
- ; MM32: lw $25, %call16(__udivdi3)($2)
+ ; MM32: lw $25, %call16(__udivdi3)($gp)
; MM64: ddivu $2, $4, $5
; MM64: teq $5, $zero, 7
@@ -147,14 +147,7 @@ define signext i128 @udiv_i128(i128 signext %a, i128 signext %b) {
entry:
; ALL-LABEL: udiv_i128:
- ; GP32: lw $25, %call16(__udivti3)($gp)
-
- ; GP64-NOT-R6: ld $25, %call16(__udivti3)($gp)
- ; 64-R6: ld $25, %call16(__udivti3)($gp)
-
- ; MM32: lw $25, %call16(__udivti3)($16)
-
- ; MM64: ld $25, %call16(__udivti3)($2)
+ ; ALL: l{{w|d}} $25, %call16(__udivti3)($gp)
%r = udiv i128 %a, %b
ret i128 %r
diff --git a/test/CodeGen/Mips/llvm-ir/urem.ll b/test/CodeGen/Mips/llvm-ir/urem.ll
index 160c126c7e3a..3bc82ceecd2a 100644
--- a/test/CodeGen/Mips/llvm-ir/urem.ll
+++ b/test/CodeGen/Mips/llvm-ir/urem.ll
@@ -190,7 +190,7 @@ entry:
; 64R6: dmodu $2, $4, $5
; 64R6: teq $5, $zero, 7
- ; MM32: lw $25, %call16(__umoddi3)($2)
+ ; MM32: lw $25, %call16(__umoddi3)($gp)
; MM64: dmodu $2, $4, $5
; MM64: teq $5, $zero, 7
@@ -208,9 +208,9 @@ entry:
; GP64-NOT-R6: ld $25, %call16(__umodti3)($gp)
; 64R6: ld $25, %call16(__umodti3)($gp)
- ; MM32: lw $25, %call16(__umodti3)($16)
+ ; MM32: lw $25, %call16(__umodti3)($gp)
- ; MM64: ld $25, %call16(__umodti3)($2)
+ ; MM64: ld $25, %call16(__umodti3)($gp)
%r = urem i128 %a, %b
ret i128 %r
diff --git a/test/CodeGen/Mips/micromips-gp-rc.ll b/test/CodeGen/Mips/micromips-gp-rc.ll
index f139f7a8486d..16e55c357db6 100644
--- a/test/CodeGen/Mips/micromips-gp-rc.ll
+++ b/test/CodeGen/Mips/micromips-gp-rc.ll
@@ -14,5 +14,5 @@ entry:
; Function Attrs: noreturn
declare void @exit(i32 signext)
-; CHECK: move $gp, ${{[0-9]+}}
+; CHECK: addu $gp, ${{[0-9]+}}
diff --git a/test/CodeGen/Mips/mips64fpldst.ll b/test/CodeGen/Mips/mips64fpldst.ll
index 564ffdd2f691..6fa506849ee6 100644
--- a/test/CodeGen/Mips/mips64fpldst.ll
+++ b/test/CodeGen/Mips/mips64fpldst.ll
@@ -1,9 +1,9 @@
-; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n64 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N64
-; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n32 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N32
-; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n64 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N64
-; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n32 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N32
-; RUN: llc < %s -march=mipsel -mcpu=mips64r6 -mattr=+micromips -target-abi n32 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N32
-; RUN: llc < %s -march=mipsel -mcpu=mips64r6 -mattr=+micromips -target-abi n64 -relocation-model=pic | FileCheck %s -check-prefix=CHECK-N64
+; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n64 -relocation-model=pic -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-N64
+; RUN: llc < %s -march=mips64el -mcpu=mips4 -target-abi n32 -relocation-model=pic -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-N32
+; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n64 -relocation-model=pic -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-N64
+; RUN: llc < %s -march=mips64el -mcpu=mips64 -target-abi n32 -relocation-model=pic -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-N32
+; RUN: llc < %s -march=mipsel -mcpu=mips64r6 -mattr=+micromips -target-abi n32 -relocation-model=pic -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-N32
+; RUN: llc < %s -march=mipsel -mcpu=mips64r6 -mattr=+micromips -target-abi n64 -relocation-model=pic -verify-machineinstrs | FileCheck %s -check-prefix=CHECK-N64
@f0 = common global float 0.000000e+00, align 4
@d0 = common global double 0.000000e+00, align 8
diff --git a/test/CodeGen/Mips/tailcall/tailcall.ll b/test/CodeGen/Mips/tailcall/tailcall.ll
index 3f04e1cf3053..01a9b64ba63c 100644
--- a/test/CodeGen/Mips/tailcall/tailcall.ll
+++ b/test/CodeGen/Mips/tailcall/tailcall.ll
@@ -176,7 +176,7 @@ entry:
; ALL-LABEL: caller8_1:
; PIC32: jalr $25
; PIC32R6: jalr $25
-; PIC32MM: jalr $25
+; PIC32MM: jalr{{.*}} $25
; STATIC32: jal
; PIC64: jalr $25
; STATIC64: jal
@@ -288,7 +288,7 @@ entry:
; ALL-LABEL: caller13:
; PIC32: jalr $25
; PIC32R6: jalr $25
-; PIC32MM: jalr $25
+; PIC32MM: jalr{{.*}} $25
; STATIC32: jal
; STATIC64: jal
; PIC64R6: jalr $25
diff --git a/test/CodeGen/PowerPC/empty-functions.ll b/test/CodeGen/PowerPC/empty-functions.ll
index 56db8f39bffd..b8394e14318f 100644
--- a/test/CodeGen/PowerPC/empty-functions.ll
+++ b/test/CodeGen/PowerPC/empty-functions.ll
@@ -24,9 +24,7 @@ entry:
; LINUX-NO-FP-NEXT: .size func, .L[[END]]-.L[[BEGIN]]
; LINUX-NO-FP-NEXT: .cfi_endproc
-; A cfi directive can point to the end of a function. It (and in fact the
-; entire body) could be optimized out because of the unreachable, but we
-; don't do it right now.
+; A cfi directive cannot point to the end of a function.
; LINUX-FP: func:
; LINUX-FP-NEXT: {{^}}.L[[BEGIN:.*]]:{{$}}
; LINUX-FP-NEXT: .cfi_startproc
@@ -38,8 +36,6 @@ entry:
; LINUX-FP-NEXT: {{^}}.L{{.*}}:{{$}}
; LINUX-FP-NEXT: .cfi_offset r31, -4
; LINUX-FP-NEXT: mr 31, 1
-; LINUX-FP-NEXT:{{^}}.L{{.*}}:{{$}}
-; LINUX-FP-NEXT: .cfi_def_cfa_register r31
; LINUX-FP-NEXT: {{^}}.L[[END:.*]]:{{$}}
; LINUX-FP-NEXT: .size func, .L[[END]]-.L[[BEGIN]]
; LINUX-FP-NEXT: .cfi_endproc
diff --git a/test/CodeGen/SPARC/empty-functions.ll b/test/CodeGen/SPARC/empty-functions.ll
index 1f8c5e3a312d..974df232033a 100644
--- a/test/CodeGen/SPARC/empty-functions.ll
+++ b/test/CodeGen/SPARC/empty-functions.ll
@@ -14,19 +14,11 @@ entry:
; LINUX-NO-FP-NEXT: .size func, .L{{.*}}-func
; LINUX-NO-FP-NEXT: .cfi_endproc
-; A cfi directive can point to the end of a function. It (and in fact the
-; entire body) could be optimized out because of the unreachable, but we
-; don't do it right now.
+; A cfi directive cannot point to the end of a function.
; LINUX-FP: func:
; LINUX-FP-NEXT: .cfi_startproc
; LINUX-FP-NEXT: {{^}}!
; LINUX-FP-NEXT: save %sp, -96, %sp
; LINUX-FP-NEXT: {{^}}.L{{.*}}:{{$}}
-; LINUX-FP-NEXT: .cfi_def_cfa_register %fp
-; LINUX-FP-NEXT: {{^}}.L{{.*}}:{{$}}
-; LINUX-FP-NEXT: .cfi_window_save
-; LINUX-FP-NEXT: {{^}}.L{{.*}}:{{$}}
-; LINUX-FP-NEXT: .cfi_register 15, 31
-; LINUX-FP-NEXT: {{^}}.L{{.*}}:{{$}}
; LINUX-FP-NEXT: .size func, .Lfunc_end0-func
; LINUX-FP-NEXT: .cfi_endproc
diff --git a/test/CodeGen/SystemZ/splitMove_undefReg_mverifier_2.ll b/test/CodeGen/SystemZ/splitMove_undefReg_mverifier_2.ll
new file mode 100644
index 000000000000..fc3b7ef1dade
--- /dev/null
+++ b/test/CodeGen/SystemZ/splitMove_undefReg_mverifier_2.ll
@@ -0,0 +1,229 @@
+; RUN: llc < %s -mtriple=s390x-linux-gnu -mcpu=z13 -verify-machineinstrs -disable-lsr | FileCheck %s
+;
+; Regression test for a machine verifier complaint discovered with llvm-stress.
+; Test that splitting of a 128 bit store does not result in use of undef phys reg.
+; This test case involved spilling of 128 bits, where the data operand was killed.
+
+define void @autogen_SD15107(i8*, i32*, i64*, i32, i64, i8) {
+; CHECK: .text
+BB:
+ %A4 = alloca double
+ %A1 = alloca i32
+ %L = load i8, i8* %0
+ br label %CF331
+
+CF331: ; preds = %CF331, %BB
+ %Shuff = shufflevector <8 x i8> zeroinitializer, <8 x i8> zeroinitializer, <8 x i32> <i32 undef, i32 undef, i32 1, i32 3, i32 5, i32 7, i32 9, i32 11>
+ %L5 = load i8, i8* %0
+ %FC9 = fptosi float 0xC59D259100000000 to i8
+ %Shuff13 = shufflevector <8 x i64> zeroinitializer, <8 x i64> zeroinitializer, <8 x i32> <i32 10, i32 undef, i32 14, i32 0, i32 undef, i32 4, i32 6, i32 8>
+ %Tr = trunc <8 x i16> zeroinitializer to <8 x i1>
+ %Sl16 = select i1 true, i64 448097, i64 253977
+ %E18 = extractelement <2 x i1> zeroinitializer, i32 1
+ br i1 %E18, label %CF331, label %CF350
+
+CF350: ; preds = %CF331
+ %Cmp22 = icmp slt i8 %L, -1
+ br label %CF
+
+CF: ; preds = %CF333, %CF364, %CF, %CF350
+ %Shuff25 = shufflevector <16 x i1> zeroinitializer, <16 x i1> zeroinitializer, <16 x i32> <i32 25, i32 27, i32 29, i32 31, i32 1, i32 undef, i32 undef, i32 7, i32 9, i32 11, i32 undef, i32 15, i32 17, i32 19, i32 21, i32 23>
+ %B27 = mul <8 x i8> zeroinitializer, %Shuff
+ %L31 = load i8, i8* %0
+ store i8 %L5, i8* %0
+ %E32 = extractelement <8 x i64> %Shuff13, i32 5
+ %Sl37 = select i1 %E18, i64* %2, i64* %2
+ %E40 = extractelement <8 x i64> %Shuff13, i32 4
+ %I42 = insertelement <8 x i64> %Shuff13, i64 0, i32 1
+ %Sl44 = select i1 true, double* %A4, double* %A4
+ %L46 = load i64, i64* %Sl37
+ br i1 undef, label %CF, label %CF335
+
+CF335: ; preds = %CF335, %CF
+ %Shuff48 = shufflevector <8 x i16> zeroinitializer, <8 x i16> zeroinitializer, <8 x i32> <i32 undef, i32 15, i32 undef, i32 3, i32 5, i32 7, i32 9, i32 11>
+ %B50 = sub <8 x i64> undef, zeroinitializer
+ %Se = sext i1 %Cmp22 to i64
+ %Cmp52 = icmp ule i64 %E40, 184653
+ br i1 %Cmp52, label %CF335, label %CF364
+
+CF364: ; preds = %CF335
+ store i64 %E32, i64* %Sl37
+ %B57 = udiv <8 x i64> %I42, %B50
+ %L61 = load i64, i64* %Sl37
+ %Sl65 = select i1 undef, i1 %Cmp52, i1 true
+ br i1 %Sl65, label %CF, label %CF333
+
+CF333: ; preds = %CF364
+ %Cmp66 = fcmp uge float 0x474A237E00000000, undef
+ br i1 %Cmp66, label %CF, label %CF324
+
+CF324: ; preds = %CF358, %CF360, %CF333
+ %L67 = load i64, i64* %Sl37
+ %Sl73 = select i1 %E18, i8 %L, i8 %L31
+ %ZE = zext i1 true to i32
+ %Cmp81 = icmp ult i64 184653, %L46
+ br label %CF346
+
+CF346: ; preds = %CF363, %CF346, %CF324
+ %L82 = load double, double* %Sl44
+ store i64 %Se, i64* %Sl37
+ br i1 undef, label %CF346, label %CF363
+
+CF363: ; preds = %CF346
+ %I85 = insertelement <8 x i64> undef, i64 0, i32 4
+ %Se86 = sext i1 %Cmp81 to i64
+ %Cmp88 = icmp eq <16 x i1> zeroinitializer, undef
+ %Shuff91 = shufflevector <8 x i64> %B57, <8 x i64> %I42, <8 x i32> <i32 1, i32 undef, i32 5, i32 7, i32 undef, i32 11, i32 13, i32 undef>
+ %Sl95 = select i1 undef, i8 -1, i8 %5
+ store i8 %FC9, i8* %0
+ %Sl102 = select i1 %Sl65, float 0x3AAFABC380000000, float undef
+ %L104 = load i64, i64* %Sl37
+ store i8 %Sl95, i8* %0
+ br i1 undef, label %CF346, label %CF360
+
+CF360: ; preds = %CF363
+ %I107 = insertelement <16 x i1> undef, i1 %Sl65, i32 3
+ %B108 = fdiv float undef, %Sl102
+ %FC109 = sitofp <16 x i1> %Shuff25 to <16 x float>
+ %Cmp111 = icmp slt i8 %Sl73, %Sl95
+ br i1 %Cmp111, label %CF324, label %CF344
+
+CF344: ; preds = %CF344, %CF360
+ store i64 %4, i64* %Sl37
+ br i1 undef, label %CF344, label %CF358
+
+CF358: ; preds = %CF344
+ %B116 = add i8 29, %5
+ %Sl118 = select i1 %Cmp81, <8 x i1> undef, <8 x i1> %Tr
+ %L120 = load i16, i16* undef
+ store i8 %FC9, i8* %0
+ %E121 = extractelement <16 x i1> %Shuff25, i32 3
+ br i1 %E121, label %CF324, label %CF325
+
+CF325: ; preds = %CF362, %CF358
+ %I123 = insertelement <8 x i16> undef, i16 %L120, i32 0
+ %Sl125 = select i1 undef, i32 undef, i32 199785
+ %Cmp126 = icmp ule <16 x i1> undef, %Cmp88
+ br label %CF356
+
+CF356: ; preds = %CF356, %CF325
+ %FC131 = sitofp <8 x i8> %B27 to <8 x double>
+ store i8 %Sl73, i8* %0
+ store i64 396197, i64* %Sl37
+ %L150 = load i64, i64* %Sl37
+ %Cmp157 = icmp ult i64 %L150, %L61
+ br i1 %Cmp157, label %CF356, label %CF359
+
+CF359: ; preds = %CF359, %CF356
+ %B162 = srem <8 x i64> %I85, %Shuff13
+ %Tr163 = trunc i64 %Se to i8
+ %Sl164 = select i1 %Cmp52, i32* %A1, i32* %1
+ store i64 %E32, i64* undef
+ %I168 = insertelement <8 x i16> %I123, i16 undef, i32 5
+ %Se170 = sext i1 %Cmp81 to i32
+ %Cmp172 = icmp uge i8 %Sl73, %Sl73
+ br i1 %Cmp172, label %CF359, label %CF362
+
+CF362: ; preds = %CF359
+ store i16 0, i16* undef
+ store i64 448097, i64* %Sl37
+ %E189 = extractelement <8 x i16> %Shuff48, i32 6
+ %Sl194 = select i1 %Cmp111, i8 29, i8 0
+ %Cmp195 = icmp eq i32 %ZE, %ZE
+ br i1 %Cmp195, label %CF325, label %CF326
+
+CF326: ; preds = %CF342, %CF362
+ store i64 %L104, i64* undef
+ br label %CF342
+
+CF342: ; preds = %CF326
+ %Cmp203 = icmp ule i1 %Cmp195, %E18
+ br i1 %Cmp203, label %CF326, label %CF337
+
+CF337: ; preds = %CF342
+ br label %CF327
+
+CF327: ; preds = %CF336, %CF355, %CF327, %CF337
+ store i64 %Se86, i64* undef
+ %Tr216 = trunc i64 184653 to i16
+ %Sl217 = select i1 %Cmp157, <4 x i1> undef, <4 x i1> undef
+ %Cmp218 = icmp slt i32 undef, %Se170
+ br i1 %Cmp218, label %CF327, label %CF355
+
+CF355: ; preds = %CF327
+ %E220 = extractelement <16 x i1> %Cmp126, i32 3
+ br i1 %E220, label %CF327, label %CF340
+
+CF340: ; preds = %CF355
+ %Sl224 = select i1 %Sl65, double undef, double 0xBE278346AB25A5C4
+ br label %CF334
+
+CF334: ; preds = %CF343, %CF334, %CF340
+ %L226 = load i64, i64* undef
+ store i32 %3, i32* %Sl164
+ %Cmp233 = icmp uge i16 %Tr216, %L120
+ br i1 %Cmp233, label %CF334, label %CF354
+
+CF354: ; preds = %CF334
+ store i64 %L226, i64* %Sl37
+ %Cmp240 = icmp uge i1 %Cmp52, undef
+ %Shuff243 = shufflevector <16 x i1> %I107, <16 x i1> undef, <16 x i32> <i32 28, i32 30, i32 undef, i32 2, i32 4, i32 6, i32 8, i32 10, i32 12, i32 14, i32 16, i32 18, i32 20, i32 22, i32 24, i32 undef>
+ %B245 = fmul <16 x float> %FC109, %FC109
+ br label %CF343
+
+CF343: ; preds = %CF354
+ %Cmp248 = icmp sgt i8 0, %B116
+ br i1 %Cmp248, label %CF334, label %CF336
+
+CF336: ; preds = %CF343
+ store i64 %E32, i64* undef
+ br i1 undef, label %CF327, label %CF328
+
+CF328: ; preds = %CF345, %CF336
+ br label %CF345
+
+CF345: ; preds = %CF328
+ %E257 = extractelement <4 x i1> %Sl217, i32 2
+ br i1 %E257, label %CF328, label %CF338
+
+CF338: ; preds = %CF345
+ %Sl261 = select i1 %E121, <8 x i16> zeroinitializer, <8 x i16> undef
+ %Cmp262 = icmp sgt i8 undef, %Sl194
+ br label %CF329
+
+CF329: ; preds = %CF339, %CF348, %CF357, %CF338
+ store i64 %L67, i64* %Sl37
+ br label %CF357
+
+CF357: ; preds = %CF329
+ %Cmp275 = icmp ne i1 %Cmp203, %Sl65
+ br i1 %Cmp275, label %CF329, label %CF348
+
+CF348: ; preds = %CF357
+ %Shuff286 = shufflevector <8 x i16> undef, <8 x i16> %Sl261, <8 x i32> <i32 6, i32 8, i32 10, i32 12, i32 undef, i32 0, i32 2, i32 4>
+ %Cmp291 = icmp ne i32 %Sl125, undef
+ br i1 %Cmp291, label %CF329, label %CF339
+
+CF339: ; preds = %CF348
+ %Cmp299 = fcmp ugt double %L82, undef
+ br i1 %Cmp299, label %CF329, label %CF330
+
+CF330: ; preds = %CF361, %CF330, %CF339
+ %E301 = extractelement <8 x double> %FC131, i32 3
+ store i64 %Sl16, i64* %Sl37
+ %Se313 = sext <8 x i1> %Sl118 to <8 x i32>
+ %Cmp315 = icmp sgt i8 %Tr163, %L
+ br i1 %Cmp315, label %CF330, label %CF361
+
+CF361: ; preds = %CF330
+ store i16 %L120, i16* undef
+ %Shuff318 = shufflevector <8 x i64> %B162, <8 x i64> undef, <8 x i32> <i32 8, i32 10, i32 12, i32 14, i32 0, i32 2, i32 4, i32 6>
+ %ZE321 = zext i16 %E189 to i64
+ %Sl322 = select i1 %Cmp240, i1 %Cmp262, i1 %Cmp291
+ br i1 %Sl322, label %CF330, label %CF351
+
+CF351: ; preds = %CF361
+ store double %Sl224, double* %Sl44
+ store i32 %ZE, i32* %Sl164
+ ret void
+}
diff --git a/test/CodeGen/Thumb/long.ll b/test/CodeGen/Thumb/long.ll
index c549bd425aaf..13951ef4354b 100644
--- a/test/CodeGen/Thumb/long.ll
+++ b/test/CodeGen/Thumb/long.ll
@@ -206,3 +206,34 @@ entry:
; CHECK: adds r0, r0, r2
; CHECK: sbcs r1, r3
}
+
+declare void @f13(i64 %x)
+
+define void @f14(i1 %x, i64 %y) #0 {
+; CHECK-LABEL: f14:
+entry:
+ %a = add i64 %y, 47
+ call void @f13(i64 %a)
+; CHECK: bl
+ br i1 %x, label %if.end, label %if.then
+
+if.then:
+ call void @f13(i64 %y)
+; CHECK: bl
+ br label %if.end
+
+if.end:
+ %b = add i64 %y, 45
+ call void @f13(i64 %b)
+; CHECK: adds
+; CHECK: adcs
+; CHECK: bl
+ %c = add i64 %y, 47
+ call void @f13(i64 %c)
+; CHECK: adds
+; CHECK-NEXT: adcs
+; CHECK: bl
+ ret void
+}
+
+attributes #0 = { optsize }
diff --git a/test/CodeGen/Thumb/optionaldef-scheduling.ll b/test/CodeGen/Thumb/optionaldef-scheduling.ll
new file mode 100644
index 000000000000..bd091cf2b6f8
--- /dev/null
+++ b/test/CodeGen/Thumb/optionaldef-scheduling.ll
@@ -0,0 +1,18 @@
+; RUN: llc -mtriple=thumb-eabi %s -verify-machineinstrs -o - | FileCheck %s
+; RUN: llc -mtriple=thumbv6-eabi %s -verify-machineinstrs -o - | FileCheck %s
+
+define i1 @test(i64 %arg) {
+entry:
+ %ispos = icmp sgt i64 %arg, -1
+ %neg = sub i64 0, %arg
+ %sel = select i1 %ispos, i64 %arg, i64 %neg
+ %cmp2 = icmp eq i64 %sel, %arg
+ ret i1 %cmp2
+}
+
+; The scheduler used to ignore OptionalDefs, and could unwittingly insert
+; a flag-setting instruction in between an ADDS and the corresponding ADC.
+
+; CHECK: adds
+; CHECK-NOT: eors
+; CHECK: adcs
diff --git a/test/CodeGen/X86/GlobalISel/callingconv.ll b/test/CodeGen/X86/GlobalISel/callingconv.ll
new file mode 100644
index 000000000000..ec62ece6d408
--- /dev/null
+++ b/test/CodeGen/X86/GlobalISel/callingconv.ll
@@ -0,0 +1,133 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc -mtriple=i386-linux-gnu -mattr=+sse2 -global-isel < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=X32 --check-prefix=X32_GISEL
+; RUN: llc -mtriple=i386-linux-gnu -mattr=+sse2 < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=X32 --check-prefix=X32_ISEL
+; RUN: llc -mtriple=x86_64-linux-gnu -global-isel < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=X64 --check-prefix=X64_GISEL
+; RUN: llc -mtriple=x86_64-linux-gnu < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=X64 --check-prefix=X64_ISEL
+
+define i32 @test_ret_i32() {
+; X32-LABEL: test_ret_i32:
+; X32: # BB#0:
+; X32-NEXT: movl $20, %eax
+; X32-NEXT: retl
+;
+; X64-LABEL: test_ret_i32:
+; X64: # BB#0:
+; X64-NEXT: movl $20, %eax
+; X64-NEXT: retq
+ ret i32 20
+}
+
+define i64 @test_ret_i64() {
+; X32_GISEL-LABEL: test_ret_i64:
+; X32_GISEL: # BB#0:
+; X32_GISEL-NEXT: movl $4294967295, %eax # imm = 0xFFFFFFFF
+; X32_GISEL-NEXT: movl $15, %edx
+; X32_GISEL-NEXT: retl
+;
+; X32_ISEL-LABEL: test_ret_i64:
+; X32_ISEL: # BB#0:
+; X32_ISEL-NEXT: movl $-1, %eax
+; X32_ISEL-NEXT: movl $15, %edx
+; X32_ISEL-NEXT: retl
+;
+; X64-LABEL: test_ret_i64:
+; X64: # BB#0:
+; X64-NEXT: movabsq $68719476735, %rax # imm = 0xFFFFFFFFF
+; X64-NEXT: retq
+ ret i64 68719476735
+}
+
+define i32 @test_arg_i32(i32 %a) {
+; X32_GISEL-LABEL: test_arg_i32:
+; X32_GISEL: # BB#0:
+; X32_GISEL-NEXT: leal 4(%esp), %eax
+; X32_GISEL-NEXT: movl (%eax), %eax
+; X32_GISEL-NEXT: retl
+;
+; X32_ISEL-LABEL: test_arg_i32:
+; X32_ISEL: # BB#0:
+; X32_ISEL-NEXT: movl 4(%esp), %eax
+; X32_ISEL-NEXT: retl
+;
+; X64-LABEL: test_arg_i32:
+; X64: # BB#0:
+; X64-NEXT: movl %edi, %eax
+; X64-NEXT: retq
+ ret i32 %a
+}
+
+define i64 @test_arg_i64(i64 %a) {
+; X32_GISEL-LABEL: test_arg_i64:
+; X32_GISEL: # BB#0:
+; X32_GISEL-NEXT: leal 4(%esp), %eax
+; X32_GISEL-NEXT: movl (%eax), %eax
+; X32_GISEL-NEXT: leal 8(%esp), %ecx
+; X32_GISEL-NEXT: movl (%ecx), %edx
+; X32_GISEL-NEXT: retl
+;
+; X32_ISEL-LABEL: test_arg_i64:
+; X32_ISEL: # BB#0:
+; X32_ISEL-NEXT: movl 4(%esp), %eax
+; X32_ISEL-NEXT: movl 8(%esp), %edx
+; X32_ISEL-NEXT: retl
+;
+; X64-LABEL: test_arg_i64:
+; X64: # BB#0:
+; X64-NEXT: movq %rdi, %rax
+; X64-NEXT: retq
+ ret i64 %a
+}
+
+define i64 @test_i64_args_8(i64 %arg1, i64 %arg2, i64 %arg3, i64 %arg4, i64 %arg5, i64 %arg6, i64 %arg7, i64 %arg8) {
+; X32_GISEL-LABEL: test_i64_args_8:
+; X32_GISEL: # BB#0:
+; X32_GISEL-NEXT: leal 60(%esp), %eax
+; X32_GISEL-NEXT: movl (%eax), %eax
+; X32_GISEL-NEXT: leal 64(%esp), %ecx
+; X32_GISEL-NEXT: movl (%ecx), %edx
+; X32_GISEL-NEXT: retl
+;
+; X32_ISEL-LABEL: test_i64_args_8:
+; X32_ISEL: # BB#0:
+; X32_ISEL-NEXT: movl 60(%esp), %eax
+; X32_ISEL-NEXT: movl 64(%esp), %edx
+; X32_ISEL-NEXT: retl
+;
+; X64_GISEL-LABEL: test_i64_args_8:
+; X64_GISEL: # BB#0:
+; X64_GISEL-NEXT: leaq 16(%rsp), %rax
+; X64_GISEL-NEXT: movq (%rax), %rax
+; X64_GISEL-NEXT: retq
+;
+; X64_ISEL-LABEL: test_i64_args_8:
+; X64_ISEL: # BB#0:
+; X64_ISEL-NEXT: movq 16(%rsp), %rax
+; X64_ISEL-NEXT: retq
+
+ ret i64 %arg8
+}
+
+define <4 x i32> @test_v4i32_args(<4 x i32> %arg1, <4 x i32> %arg2) {
+; X32-LABEL: test_v4i32_args:
+; X32: # BB#0:
+; X32-NEXT: movaps %xmm1, %xmm0
+; X32-NEXT: retl
+;
+; X64-LABEL: test_v4i32_args:
+; X64: # BB#0:
+; X64-NEXT: movaps %xmm1, %xmm0
+; X64-NEXT: retq
+ ret <4 x i32> %arg2
+}
+
+define <8 x i32> @test_v8i32_args(<8 x i32> %arg1) {
+; X32-LABEL: test_v8i32_args:
+; X32: # BB#0:
+; X32-NEXT: retl
+;
+; X64-LABEL: test_v8i32_args:
+; X64: # BB#0:
+; X64-NEXT: retq
+
+ ret <8 x i32> %arg1
+}
diff --git a/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll b/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
index 616cb70652bb..8ea3e4f9d739 100644
--- a/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
+++ b/test/CodeGen/X86/GlobalISel/irtranslator-callingconv.ll
@@ -207,24 +207,15 @@ define i64 @test_i64_args_8(i64 %arg1, i64 %arg2, i64 %arg3, i64 %arg4,
; X32-NEXT: [[ARG8H_ADDR:%[0-9]+]](p0) = G_FRAME_INDEX %fixed-stack.[[STACK60]]
; X32-NEXT: [[ARG8H:%[0-9]+]](s32) = G_LOAD [[ARG8H_ADDR]](p0) :: (invariant load 4 from %fixed-stack.[[STACK60]], align 0)
-; X32-NEXT: [[UNDEF:%[0-9]+]](s64) = IMPLICIT_DEF
-; X32-NEXT: [[ARG1_TMP0:%[0-9]+]](s64) = G_INSERT [[UNDEF]], [[ARG1L]](s32), 0
-; X32-NEXT: [[ARG1_TMP1:%[0-9]+]](s64) = G_INSERT [[ARG1_TMP0]], [[ARG1H]](s32), 32
-; X32-NEXT: [[ARG1:%[0-9]+]](s64) = COPY [[ARG1_TMP1]]
- ; ... a bunch more that we don't track ...
- ; X32: IMPLICIT_DEF
- ; X32: IMPLICIT_DEF
- ; X32: IMPLICIT_DEF
- ; X32: IMPLICIT_DEF
- ; X32: IMPLICIT_DEF
-; X32: [[UNDEF:%[0-9]+]](s64) = IMPLICIT_DEF
-; X32-NEXT: [[ARG7_TMP0:%[0-9]+]](s64) = G_INSERT [[UNDEF]], [[ARG7L]](s32), 0
-; X32-NEXT: [[ARG7_TMP1:%[0-9]+]](s64) = G_INSERT [[ARG7_TMP0]], [[ARG7H]](s32), 32
-; X32-NEXT: [[ARG7:%[0-9]+]](s64) = COPY [[ARG7_TMP1]]
-; X32-NEXT: [[UNDEF:%[0-9]+]](s64) = IMPLICIT_DEF
-; X32-NEXT: [[ARG8_TMP0:%[0-9]+]](s64) = G_INSERT [[UNDEF]], [[ARG8L]](s32), 0
-; X32-NEXT: [[ARG8_TMP1:%[0-9]+]](s64) = G_INSERT [[ARG8_TMP0]], [[ARG8H]](s32), 32
-; X32-NEXT: [[ARG8:%[0-9]+]](s64) = COPY [[ARG8_TMP1]]
+; X32-NEXT: [[ARG1:%[0-9]+]](s64) = G_MERGE_VALUES [[ARG1L]](s32), [[ARG1H]](s32)
+; ... a bunch more that we don't track ...
+; X32-NEXT: G_MERGE_VALUES
+; X32-NEXT: G_MERGE_VALUES
+; X32-NEXT: G_MERGE_VALUES
+; X32-NEXT: G_MERGE_VALUES
+; X32-NEXT: G_MERGE_VALUES
+; X32-NEXT: [[ARG7:%[0-9]+]](s64) = G_MERGE_VALUES [[ARG7L]](s32), [[ARG7H]](s32)
+; X32-NEXT: [[ARG8:%[0-9]+]](s64) = G_MERGE_VALUES [[ARG8L]](s32), [[ARG8H]](s32)
; ALL-NEXT: [[GADDR_A1:%[0-9]+]](p0) = G_GLOBAL_VALUE @a1_64bit
; ALL-NEXT: [[GADDR_A7:%[0-9]+]](p0) = G_GLOBAL_VALUE @a7_64bit
@@ -236,8 +227,7 @@ define i64 @test_i64_args_8(i64 %arg1, i64 %arg2, i64 %arg3, i64 %arg4,
; X64-NEXT: %rax = COPY [[ARG1]](s64)
; X64-NEXT: RET 0, implicit %rax
-; X32-NEXT: [[RETL:%[0-9]+]](s32) = G_EXTRACT [[ARG1:%[0-9]+]](s64), 0
-; X32-NEXT: [[RETH:%[0-9]+]](s32) = G_EXTRACT [[ARG1:%[0-9]+]](s64), 32
+; X32-NEXT: [[RETL:%[0-9]+]](s32), [[RETH:%[0-9]+]](s32) = G_UNMERGE_VALUES [[ARG1:%[0-9]+]](s64)
; X32-NEXT: %eax = COPY [[RETL:%[0-9]+]](s32)
; X32-NEXT: %edx = COPY [[RETH:%[0-9]+]](s32)
; X32-NEXT: RET 0, implicit %eax, implicit %edx
diff --git a/test/CodeGen/X86/GlobalISel/irtranslator-callingconv_64bit.ll b/test/CodeGen/X86/GlobalISel/irtranslator-callingconv_64bit.ll
index e2d938550aea..90a05f5fc225 100644
--- a/test/CodeGen/X86/GlobalISel/irtranslator-callingconv_64bit.ll
+++ b/test/CodeGen/X86/GlobalISel/irtranslator-callingconv_64bit.ll
@@ -15,12 +15,8 @@ define <8 x i32> @test_v8i32_args(<8 x i32> %arg1) {
; X64: liveins: %xmm0, %xmm1
; X64: [[ARG1L:%[0-9]+]](<4 x s32>) = COPY %xmm0
; X64-NEXT: [[ARG1H:%[0-9]+]](<4 x s32>) = COPY %xmm1
-; X64-NEXT: [[UNDEF:%[0-9]+]](<8 x s32>) = IMPLICIT_DEF
-; X64-NEXT: [[ARG1_TMP0:%[0-9]+]](<8 x s32>) = G_INSERT [[UNDEF]], [[ARG1L]](<4 x s32>), 0
-; X64-NEXT: [[ARG1_TMP1:%[0-9]+]](<8 x s32>) = G_INSERT [[ARG1_TMP0]], [[ARG1H]](<4 x s32>), 128
-; X64-NEXT: [[ARG1:%[0-9]+]](<8 x s32>) = COPY [[ARG1_TMP1]]
-; X64-NEXT: [[RETL:%[0-9]+]](<4 x s32>) = G_EXTRACT [[ARG1:%[0-9]+]](<8 x s32>), 0
-; X64-NEXT: [[RETH:%[0-9]+]](<4 x s32>) = G_EXTRACT [[ARG1:%[0-9]+]](<8 x s32>), 128
+; X64-NEXT: [[ARG1:%[0-9]+]](<8 x s32>) = G_MERGE_VALUES [[ARG1L]](<4 x s32>), [[ARG1H]](<4 x s32>)
+; X64-NEXT: [[RETL:%[0-9]+]](<4 x s32>), [[RETH:%[0-9]+]](<4 x s32>) = G_UNMERGE_VALUES [[ARG1:%[0-9]+]](<8 x s32>)
; X64-NEXT: %xmm0 = COPY [[RETL:%[0-9]+]](<4 x s32>)
; X64-NEXT: %xmm1 = COPY [[RETH:%[0-9]+]](<4 x s32>)
; X64-NEXT: RET 0, implicit %xmm0, implicit %xmm1
diff --git a/test/CodeGen/X86/GlobalISel/memop.ll b/test/CodeGen/X86/GlobalISel/memop.ll
index 6fe66436e4a8..f793e36026b1 100644
--- a/test/CodeGen/X86/GlobalISel/memop.ll
+++ b/test/CodeGen/X86/GlobalISel/memop.ll
@@ -65,7 +65,7 @@ define double @test_load_double(double * %p1) {
; SSE-LABEL: test_load_double:
; SSE: # BB#0:
; SSE-NEXT: movq (%rdi), %rax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: retq
;
; ALL_AVX-LABEL: test_load_double:
@@ -160,7 +160,7 @@ define double * @test_store_double(double %val, double * %p1) {
;
; SSE_FAST-LABEL: test_store_double:
; SSE_FAST: # BB#0:
-; SSE_FAST-NEXT: movd %xmm0, %rax
+; SSE_FAST-NEXT: movq %xmm0, %rax
; SSE_FAST-NEXT: movq %rax, (%rdi)
; SSE_FAST-NEXT: movq %rdi, %rax
; SSE_FAST-NEXT: retq
diff --git a/test/CodeGen/X86/asm-reg-type-mismatch.ll b/test/CodeGen/X86/asm-reg-type-mismatch.ll
index 47accdbc07b3..ced074015ace 100644
--- a/test/CodeGen/X86/asm-reg-type-mismatch.ll
+++ b/test/CodeGen/X86/asm-reg-type-mismatch.ll
@@ -27,5 +27,5 @@ entry:
ret i64 %0
; CHECK: test2
; CHECK: movq {{.*}}, %xmm7
- ; CHECK: movd %xmm7, %rax
+ ; CHECK: movq %xmm7, %rax
}
diff --git a/test/CodeGen/X86/atomic-non-integer.ll b/test/CodeGen/X86/atomic-non-integer.ll
index 17b73ecf4e1c..1f25c71a9f76 100644
--- a/test/CodeGen/X86/atomic-non-integer.ll
+++ b/test/CodeGen/X86/atomic-non-integer.ll
@@ -26,7 +26,7 @@ define void @store_float(float* %fptr, float %v) {
define void @store_double(double* %fptr, double %v) {
; CHECK-LABEL: @store_double
-; CHECK: movd %xmm0, %rax
+; CHECK: movq %xmm0, %rax
; CHECK: movq %rax, (%rdi)
store atomic double %v, double* %fptr unordered, align 8
ret void
@@ -59,7 +59,7 @@ define float @load_float(float* %fptr) {
define double @load_double(double* %fptr) {
; CHECK-LABEL: @load_double
; CHECK: movq (%rdi), %rax
-; CHECK: movd %rax, %xmm0
+; CHECK: movq %rax, %xmm0
%v = load atomic double, double* %fptr unordered, align 8
ret double %v
}
@@ -85,7 +85,7 @@ define void @store_float_seq_cst(float* %fptr, float %v) {
define void @store_double_seq_cst(double* %fptr, double %v) {
; CHECK-LABEL: @store_double_seq_cst
-; CHECK: movd %xmm0, %rax
+; CHECK: movq %xmm0, %rax
; CHECK: xchgq %rax, (%rdi)
store atomic double %v, double* %fptr seq_cst, align 8
ret void
@@ -102,7 +102,7 @@ define float @load_float_seq_cst(float* %fptr) {
define double @load_double_seq_cst(double* %fptr) {
; CHECK-LABEL: @load_double_seq_cst
; CHECK: movq (%rdi), %rax
-; CHECK: movd %rax, %xmm0
+; CHECK: movq %rax, %xmm0
%v = load atomic double, double* %fptr seq_cst, align 8
ret double %v
}
diff --git a/test/CodeGen/X86/avx-schedule.ll b/test/CodeGen/X86/avx-schedule.ll
new file mode 100644
index 000000000000..052cacfea4dc
--- /dev/null
+++ b/test/CodeGen/X86/avx-schedule.ll
@@ -0,0 +1,2840 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=sandybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=ivybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=haswell | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skylake | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=btver2 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=znver1 | FileCheck %s --check-prefix=CHECK --check-prefix=ZNVER1
+
+define <4 x double> @test_addpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_addpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vaddpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_addpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vaddpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_addpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_addpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vaddpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fadd <4 x double> %a0, %a1
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = fadd <4 x double> %1, %2
+ ret <4 x double> %3
+}
+
+define <8 x float> @test_addps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_addps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vaddps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_addps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vaddps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_addps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_addps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vaddps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fadd <8 x float> %a0, %a1
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = fadd <8 x float> %1, %2
+ ret <8 x float> %3
+}
+
+define <4 x double> @test_addsubpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_addsubpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vaddsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vaddsubpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_addsubpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vaddsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vaddsubpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_addsubpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vaddsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddsubpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_addsubpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vaddsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vaddsubpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x double> @llvm.x86.avx.addsub.pd.256(<4 x double> %a0, <4 x double> %a1)
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = call <4 x double> @llvm.x86.avx.addsub.pd.256(<4 x double> %1, <4 x double> %2)
+ ret <4 x double> %3
+}
+declare <4 x double> @llvm.x86.avx.addsub.pd.256(<4 x double>, <4 x double>) nounwind readnone
+
+define <8 x float> @test_addsubps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_addsubps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vaddsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vaddsubps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_addsubps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vaddsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vaddsubps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_addsubps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vaddsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddsubps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_addsubps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vaddsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vaddsubps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.addsub.ps.256(<8 x float> %a0, <8 x float> %a1)
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = call <8 x float> @llvm.x86.avx.addsub.ps.256(<8 x float> %1, <8 x float> %2)
+ ret <8 x float> %3
+}
+declare <8 x float> @llvm.x86.avx.addsub.ps.256(<8 x float>, <8 x float>) nounwind readnone
+
+define <4 x double> @test_andnotpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_andnotpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vandnpd %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: vandnpd (%rdi), %ymm0, %ymm0 # sched: [5:0.50]
+; SANDY-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_andnotpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vandnpd %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: vandnpd (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_andnotpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vandnpd %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: vandnpd (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_andnotpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vandnpd %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vandnpd (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = bitcast <4 x double> %a0 to <4 x i64>
+ %2 = bitcast <4 x double> %a1 to <4 x i64>
+ %3 = xor <4 x i64> %1, <i64 -1, i64 -1, i64 -1, i64 -1>
+ %4 = and <4 x i64> %3, %2
+ %5 = load <4 x double>, <4 x double> *%a2, align 32
+ %6 = bitcast <4 x double> %5 to <4 x i64>
+ %7 = xor <4 x i64> %4, <i64 -1, i64 -1, i64 -1, i64 -1>
+ %8 = and <4 x i64> %6, %7
+ %9 = bitcast <4 x i64> %8 to <4 x double>
+ %10 = fadd <4 x double> %a1, %9
+ ret <4 x double> %10
+}
+
+define <8 x float> @test_andnotps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_andnotps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vandnps %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: vandnps (%rdi), %ymm0, %ymm0 # sched: [5:0.50]
+; SANDY-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_andnotps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vandnps %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: vandnps (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_andnotps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vandnps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: vandnps (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_andnotps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vandnps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vandnps (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = bitcast <8 x float> %a0 to <4 x i64>
+ %2 = bitcast <8 x float> %a1 to <4 x i64>
+ %3 = xor <4 x i64> %1, <i64 -1, i64 -1, i64 -1, i64 -1>
+ %4 = and <4 x i64> %3, %2
+ %5 = load <8 x float>, <8 x float> *%a2, align 32
+ %6 = bitcast <8 x float> %5 to <4 x i64>
+ %7 = xor <4 x i64> %4, <i64 -1, i64 -1, i64 -1, i64 -1>
+ %8 = and <4 x i64> %6, %7
+ %9 = bitcast <4 x i64> %8 to <8 x float>
+ %10 = fadd <8 x float> %a1, %9
+ ret <8 x float> %10
+}
+
+define <4 x double> @test_andpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_andpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vandpd %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: vandpd (%rdi), %ymm0, %ymm0 # sched: [5:0.50]
+; SANDY-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_andpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vandpd %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: vandpd (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_andpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vandpd %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: vandpd (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_andpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vandpd %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vandpd (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = bitcast <4 x double> %a0 to <4 x i64>
+ %2 = bitcast <4 x double> %a1 to <4 x i64>
+ %3 = and <4 x i64> %1, %2
+ %4 = load <4 x double>, <4 x double> *%a2, align 32
+ %5 = bitcast <4 x double> %4 to <4 x i64>
+ %6 = and <4 x i64> %3, %5
+ %7 = bitcast <4 x i64> %6 to <4 x double>
+ %8 = fadd <4 x double> %a1, %7
+ ret <4 x double> %8
+}
+
+define <8 x float> @test_andps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_andps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vandps %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: vandps (%rdi), %ymm0, %ymm0 # sched: [5:0.50]
+; SANDY-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_andps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vandps %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: vandps (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_andps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vandps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: vandps (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_andps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vandps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vandps (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = bitcast <8 x float> %a0 to <4 x i64>
+ %2 = bitcast <8 x float> %a1 to <4 x i64>
+ %3 = and <4 x i64> %1, %2
+ %4 = load <8 x float>, <8 x float> *%a2, align 32
+ %5 = bitcast <8 x float> %4 to <4 x i64>
+ %6 = and <4 x i64> %3, %5
+ %7 = bitcast <4 x i64> %6 to <8 x float>
+ %8 = fadd <8 x float> %a1, %7
+ ret <8 x float> %8
+}
+
+define <4 x double> @test_blendpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_blendpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0],ymm1[1,2],ymm0[3] sched: [1:0.50]
+; SANDY-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0],mem[1,2],ymm0[3] sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_blendpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0],ymm1[1,2],ymm0[3] sched: [1:0.33]
+; HASWELL-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0],mem[1,2],ymm0[3] sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_blendpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0],ymm1[1,2],ymm0[3] sched: [1:0.50]
+; BTVER2-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0],mem[1,2],ymm0[3] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_blendpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0],ymm1[1,2],ymm0[3] sched: [1:0.50]
+; ZNVER1-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vblendpd {{.*#+}} ymm0 = ymm0[0],mem[1,2],ymm0[3] sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x double> %a0, <4 x double> %a1, <4 x i32> <i32 0, i32 5, i32 6, i32 3>
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = fadd <4 x double> %a1, %1
+ %4 = shufflevector <4 x double> %3, <4 x double> %2, <4 x i32> <i32 0, i32 5, i32 6, i32 3>
+ ret <4 x double> %4
+}
+
+define <8 x float> @test_blendps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_blendps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0],ymm1[1,2],ymm0[3,4,5,6,7] sched: [1:0.50]
+; SANDY-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3],mem[4,5,6],ymm0[7] sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_blendps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0],ymm1[1,2],ymm0[3,4,5,6,7] sched: [1:0.33]
+; HASWELL-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3],mem[4,5,6],ymm0[7] sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_blendps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0],ymm1[1,2],ymm0[3,4,5,6,7] sched: [1:0.50]
+; BTVER2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3],mem[4,5,6],ymm0[7] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_blendps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0],ymm1[1,2],ymm0[3,4,5,6,7] sched: [1:0.50]
+; ZNVER1-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],mem[2],ymm0[3],mem[4,5,6],ymm0[7] sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x float> %a0, <8 x float> %a1, <8 x i32> <i32 0, i32 9, i32 10, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = shufflevector <8 x float> %1, <8 x float> %2, <8 x i32> <i32 0, i32 1, i32 10, i32 3, i32 12, i32 13, i32 14, i32 7>
+ ret <8 x float> %3
+}
+
+define <4 x double> @test_blendvpd(<4 x double> %a0, <4 x double> %a1, <4 x double> %a2, <4 x double> *%a3) {
+; SANDY-LABEL: test_blendvpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vblendvpd %ymm2, %ymm1, %ymm0, %ymm0 # sched: [2:1.00]
+; SANDY-NEXT: vblendvpd %ymm2, (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_blendvpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vblendvpd %ymm2, %ymm1, %ymm0, %ymm0 # sched: [2:2.00]
+; HASWELL-NEXT: vblendvpd %ymm2, (%rdi), %ymm0, %ymm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_blendvpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vblendvpd %ymm2, %ymm1, %ymm0, %ymm0 # sched: [2:1.00]
+; BTVER2-NEXT: vblendvpd %ymm2, (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_blendvpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vblendvpd %ymm2, %ymm1, %ymm0, %ymm0 # sched: [2:1.00]
+; ZNVER1-NEXT: vblendvpd %ymm2, (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x double> @llvm.x86.avx.blendv.pd.256(<4 x double> %a0, <4 x double> %a1, <4 x double> %a2)
+ %2 = load <4 x double>, <4 x double> *%a3, align 32
+ %3 = call <4 x double> @llvm.x86.avx.blendv.pd.256(<4 x double> %1, <4 x double> %2, <4 x double> %a2)
+ ret <4 x double> %3
+}
+declare <4 x double> @llvm.x86.avx.blendv.pd.256(<4 x double>, <4 x double>, <4 x double>) nounwind readnone
+
+define <8 x float> @test_blendvps(<8 x float> %a0, <8 x float> %a1, <8 x float> %a2, <8 x float> *%a3) {
+; SANDY-LABEL: test_blendvps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vblendvps %ymm2, %ymm1, %ymm0, %ymm0 # sched: [2:1.00]
+; SANDY-NEXT: vblendvps %ymm2, (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_blendvps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vblendvps %ymm2, %ymm1, %ymm0, %ymm0 # sched: [2:2.00]
+; HASWELL-NEXT: vblendvps %ymm2, (%rdi), %ymm0, %ymm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_blendvps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vblendvps %ymm2, %ymm1, %ymm0, %ymm0 # sched: [2:1.00]
+; BTVER2-NEXT: vblendvps %ymm2, (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_blendvps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vblendvps %ymm2, %ymm1, %ymm0, %ymm0 # sched: [2:1.00]
+; ZNVER1-NEXT: vblendvps %ymm2, (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.blendv.ps.256(<8 x float> %a0, <8 x float> %a1, <8 x float> %a2)
+ %2 = load <8 x float>, <8 x float> *%a3, align 32
+ %3 = call <8 x float> @llvm.x86.avx.blendv.ps.256(<8 x float> %1, <8 x float> %2, <8 x float> %a2)
+ ret <8 x float> %3
+}
+declare <8 x float> @llvm.x86.avx.blendv.ps.256(<8 x float>, <8 x float>, <8 x float>) nounwind readnone
+
+define <8 x float> @test_broadcastf128(<4 x float> *%a0) {
+; SANDY-LABEL: test_broadcastf128:
+; SANDY: # BB#0:
+; SANDY-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1] sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_broadcastf128:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1] sched: [4:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_broadcastf128:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_broadcastf128:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vbroadcastf128 {{.*#+}} ymm0 = mem[0,1,0,1] sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = load <4 x float>, <4 x float> *%a0, align 32
+ %2 = shufflevector <4 x float> %1, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 0, i32 1, i32 2, i32 3>
+ ret <8 x float> %2
+}
+
+define <4 x double> @test_broadcastsd_ymm(double *%a0) {
+; SANDY-LABEL: test_broadcastsd_ymm:
+; SANDY: # BB#0:
+; SANDY-NEXT: vbroadcastsd (%rdi), %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_broadcastsd_ymm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vbroadcastsd (%rdi), %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_broadcastsd_ymm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vbroadcastsd (%rdi), %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_broadcastsd_ymm:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vbroadcastsd (%rdi), %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = load double, double *%a0, align 8
+ %2 = insertelement <4 x double> undef, double %1, i32 0
+ %3 = shufflevector <4 x double> %2, <4 x double> undef, <4 x i32> zeroinitializer
+ ret <4 x double> %3
+}
+
+define <4 x float> @test_broadcastss(float *%a0) {
+; SANDY-LABEL: test_broadcastss:
+; SANDY: # BB#0:
+; SANDY-NEXT: vbroadcastss (%rdi), %xmm0 # sched: [4:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_broadcastss:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vbroadcastss (%rdi), %xmm0 # sched: [4:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_broadcastss:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vbroadcastss (%rdi), %xmm0 # sched: [5:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_broadcastss:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vbroadcastss (%rdi), %xmm0 # sched: [5:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = load float, float *%a0, align 4
+ %2 = insertelement <4 x float> undef, float %1, i32 0
+ %3 = shufflevector <4 x float> %2, <4 x float> undef, <4 x i32> zeroinitializer
+ ret <4 x float> %3
+}
+
+define <8 x float> @test_broadcastss_ymm(float *%a0) {
+; SANDY-LABEL: test_broadcastss_ymm:
+; SANDY: # BB#0:
+; SANDY-NEXT: vbroadcastss (%rdi), %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_broadcastss_ymm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vbroadcastss (%rdi), %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_broadcastss_ymm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vbroadcastss (%rdi), %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_broadcastss_ymm:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vbroadcastss (%rdi), %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = load float, float *%a0, align 4
+ %2 = insertelement <8 x float> undef, float %1, i32 0
+ %3 = shufflevector <8 x float> %2, <8 x float> undef, <8 x i32> zeroinitializer
+ ret <8 x float> %3
+}
+
+define <4 x double> @test_cmppd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_cmppd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vcmpeqpd %ymm1, %ymm0, %ymm1 # sched: [3:1.00]
+; SANDY-NEXT: vcmpeqpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: vorpd %ymm0, %ymm1, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_cmppd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vcmpeqpd %ymm1, %ymm0, %ymm1 # sched: [3:1.00]
+; HASWELL-NEXT: vcmpeqpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: vorpd %ymm0, %ymm1, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_cmppd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vcmpeqpd %ymm1, %ymm0, %ymm1 # sched: [3:1.00]
+; BTVER2-NEXT: vcmpeqpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: vorpd %ymm0, %ymm1, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_cmppd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vcmpeqpd %ymm1, %ymm0, %ymm1 # sched: [3:1.00]
+; ZNVER1-NEXT: vcmpeqpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: vorpd %ymm0, %ymm1, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fcmp oeq <4 x double> %a0, %a1
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = fcmp oeq <4 x double> %a0, %2
+ %4 = sext <4 x i1> %1 to <4 x i64>
+ %5 = sext <4 x i1> %3 to <4 x i64>
+ %6 = or <4 x i64> %4, %5
+ %7 = bitcast <4 x i64> %6 to <4 x double>
+ ret <4 x double> %7
+}
+
+define <8 x float> @test_cmpps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_cmpps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vcmpeqps %ymm1, %ymm0, %ymm1 # sched: [3:1.00]
+; SANDY-NEXT: vcmpeqps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: vorps %ymm0, %ymm1, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_cmpps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vcmpeqps %ymm1, %ymm0, %ymm1 # sched: [3:1.00]
+; HASWELL-NEXT: vcmpeqps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: vorps %ymm0, %ymm1, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_cmpps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vcmpeqps %ymm1, %ymm0, %ymm1 # sched: [3:1.00]
+; BTVER2-NEXT: vcmpeqps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: vorps %ymm0, %ymm1, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_cmpps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vcmpeqps %ymm1, %ymm0, %ymm1 # sched: [3:1.00]
+; ZNVER1-NEXT: vcmpeqps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: vorps %ymm0, %ymm1, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fcmp oeq <8 x float> %a0, %a1
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = fcmp oeq <8 x float> %a0, %2
+ %4 = sext <8 x i1> %1 to <8 x i32>
+ %5 = sext <8 x i1> %3 to <8 x i32>
+ %6 = or <8 x i32> %4, %5
+ %7 = bitcast <8 x i32> %6 to <8 x float>
+ ret <8 x float> %7
+}
+
+define <4 x double> @test_cvtdq2pd(<4 x i32> %a0, <4 x i32> *%a1) {
+; SANDY-LABEL: test_cvtdq2pd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vcvtdq2pd %xmm0, %ymm0 # sched: [4:1.00]
+; SANDY-NEXT: vcvtdq2pd (%rdi), %ymm1 # sched: [8:1.00]
+; SANDY-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_cvtdq2pd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vcvtdq2pd %xmm0, %ymm0 # sched: [6:1.00]
+; HASWELL-NEXT: vcvtdq2pd (%rdi), %ymm1 # sched: [8:1.00]
+; HASWELL-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_cvtdq2pd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vcvtdq2pd (%rdi), %ymm1 # sched: [8:1.00]
+; BTVER2-NEXT: vcvtdq2pd %xmm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_cvtdq2pd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vcvtdq2pd (%rdi), %ymm1 # sched: [8:1.00]
+; ZNVER1-NEXT: vcvtdq2pd %xmm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = sitofp <4 x i32> %a0 to <4 x double>
+ %2 = load <4 x i32>, <4 x i32> *%a1, align 16
+ %3 = sitofp <4 x i32> %2 to <4 x double>
+ %4 = fadd <4 x double> %1, %3
+ ret <4 x double> %4
+}
+
+define <8 x float> @test_cvtdq2ps(<8 x i32> %a0, <8 x i32> *%a1) {
+; SANDY-LABEL: test_cvtdq2ps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vcvtdq2ps %ymm0, %ymm0 # sched: [4:1.00]
+; SANDY-NEXT: vmovaps (%rdi), %xmm1 # sched: [4:0.50]
+; SANDY-NEXT: vinsertf128 $1, 16(%rdi), %ymm1, %ymm1 # sched: [5:1.00]
+; SANDY-NEXT: vcvtdq2ps %ymm1, %ymm1 # sched: [4:1.00]
+; SANDY-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_cvtdq2ps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vcvtdq2ps %ymm0, %ymm0 # sched: [4:1.00]
+; HASWELL-NEXT: vcvtdq2ps (%rdi), %ymm1 # sched: [8:1.00]
+; HASWELL-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_cvtdq2ps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vcvtdq2ps (%rdi), %ymm1 # sched: [8:1.00]
+; BTVER2-NEXT: vcvtdq2ps %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_cvtdq2ps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vcvtdq2ps (%rdi), %ymm1 # sched: [8:1.00]
+; ZNVER1-NEXT: vcvtdq2ps %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = sitofp <8 x i32> %a0 to <8 x float>
+ %2 = load <8 x i32>, <8 x i32> *%a1, align 16
+ %3 = sitofp <8 x i32> %2 to <8 x float>
+ %4 = fadd <8 x float> %1, %3
+ ret <8 x float> %4
+}
+
+define <8 x i32> @test_cvtpd2dq(<4 x double> %a0, <4 x double> *%a1) {
+; SANDY-LABEL: test_cvtpd2dq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vcvttpd2dq %ymm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vcvttpd2dqy (%rdi), %xmm1 # sched: [7:1.00]
+; SANDY-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_cvtpd2dq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vcvttpd2dq %ymm0, %xmm0 # sched: [6:1.00]
+; HASWELL-NEXT: vcvttpd2dqy (%rdi), %xmm1 # sched: [10:1.00]
+; HASWELL-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_cvtpd2dq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vcvttpd2dqy (%rdi), %xmm1 # sched: [8:1.00]
+; BTVER2-NEXT: vcvttpd2dq %ymm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_cvtpd2dq:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vcvttpd2dqy (%rdi), %xmm1 # sched: [8:1.00]
+; ZNVER1-NEXT: vcvttpd2dq %ymm0, %xmm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fptosi <4 x double> %a0 to <4 x i32>
+ %2 = load <4 x double>, <4 x double> *%a1, align 32
+ %3 = fptosi <4 x double> %2 to <4 x i32>
+ %4 = shufflevector <4 x i32> %1, <4 x i32> %3, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ ret <8 x i32> %4
+}
+
+define <8 x float> @test_cvtpd2ps(<4 x double> %a0, <4 x double> *%a1) {
+; SANDY-LABEL: test_cvtpd2ps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vcvtpd2ps %ymm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vcvtpd2psy (%rdi), %xmm1 # sched: [7:1.00]
+; SANDY-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_cvtpd2ps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vcvtpd2ps %ymm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: vcvtpd2psy (%rdi), %xmm1 # sched: [9:1.00]
+; HASWELL-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_cvtpd2ps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vcvtpd2psy (%rdi), %xmm1 # sched: [8:1.00]
+; BTVER2-NEXT: vcvtpd2ps %ymm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_cvtpd2ps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vcvtpd2psy (%rdi), %xmm1 # sched: [8:1.00]
+; ZNVER1-NEXT: vcvtpd2ps %ymm0, %xmm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fptrunc <4 x double> %a0 to <4 x float>
+ %2 = load <4 x double>, <4 x double> *%a1, align 32
+ %3 = fptrunc <4 x double> %2 to <4 x float>
+ %4 = shufflevector <4 x float> %1, <4 x float> %3, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ ret <8 x float> %4
+}
+
+define <8 x i32> @test_cvtps2dq(<8 x float> %a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_cvtps2dq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vcvttps2dq %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vcvttps2dq (%rdi), %ymm1 # sched: [7:1.00]
+; SANDY-NEXT: vorps %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_cvtps2dq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vcvttps2dq %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vcvttps2dq (%rdi), %ymm1 # sched: [7:1.00]
+; HASWELL-NEXT: vorps %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_cvtps2dq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vcvttps2dq (%rdi), %ymm1 # sched: [8:1.00]
+; BTVER2-NEXT: vcvttps2dq %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vorps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_cvtps2dq:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vcvttps2dq (%rdi), %ymm1 # sched: [8:1.00]
+; ZNVER1-NEXT: vcvttps2dq %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vorps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fptosi <8 x float> %a0 to <8 x i32>
+ %2 = load <8 x float>, <8 x float> *%a1, align 32
+ %3 = fptosi <8 x float> %2 to <8 x i32>
+ %4 = or <8 x i32> %1, %3
+ ret <8 x i32> %4
+}
+
+define <4 x double> @test_divpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_divpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vdivpd %ymm1, %ymm0, %ymm0 # sched: [12:1.00]
+; SANDY-NEXT: vdivpd (%rdi), %ymm0, %ymm0 # sched: [16:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_divpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vdivpd %ymm1, %ymm0, %ymm0 # sched: [27:2.00]
+; HASWELL-NEXT: vdivpd (%rdi), %ymm0, %ymm0 # sched: [31:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_divpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vdivpd %ymm1, %ymm0, %ymm0 # sched: [19:19.00]
+; BTVER2-NEXT: vdivpd (%rdi), %ymm0, %ymm0 # sched: [24:19.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_divpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vdivpd %ymm1, %ymm0, %ymm0 # sched: [19:19.00]
+; ZNVER1-NEXT: vdivpd (%rdi), %ymm0, %ymm0 # sched: [24:19.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fdiv <4 x double> %a0, %a1
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = fdiv <4 x double> %1, %2
+ ret <4 x double> %3
+}
+
+define <8 x float> @test_divps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_divps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vdivps %ymm1, %ymm0, %ymm0 # sched: [12:1.00]
+; SANDY-NEXT: vdivps (%rdi), %ymm0, %ymm0 # sched: [16:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_divps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vdivps %ymm1, %ymm0, %ymm0 # sched: [19:2.00]
+; HASWELL-NEXT: vdivps (%rdi), %ymm0, %ymm0 # sched: [23:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_divps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vdivps %ymm1, %ymm0, %ymm0 # sched: [19:19.00]
+; BTVER2-NEXT: vdivps (%rdi), %ymm0, %ymm0 # sched: [24:19.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_divps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vdivps %ymm1, %ymm0, %ymm0 # sched: [19:19.00]
+; ZNVER1-NEXT: vdivps (%rdi), %ymm0, %ymm0 # sched: [24:19.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fdiv <8 x float> %a0, %a1
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = fdiv <8 x float> %1, %2
+ ret <8 x float> %3
+}
+
+define <8 x float> @test_dpps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_dpps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vdpps $7, %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vdpps $7, (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_dpps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vdpps $7, %ymm1, %ymm0, %ymm0 # sched: [14:2.00]
+; HASWELL-NEXT: vdpps $7, (%rdi), %ymm0, %ymm0 # sched: [18:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_dpps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vdpps $7, %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vdpps $7, (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_dpps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vdpps $7, %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vdpps $7, (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.dp.ps.256(<8 x float> %a0, <8 x float> %a1, i8 7)
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = call <8 x float> @llvm.x86.avx.dp.ps.256(<8 x float> %1, <8 x float> %2, i8 7)
+ ret <8 x float> %3
+}
+declare <8 x float> @llvm.x86.avx.dp.ps.256(<8 x float>, <8 x float>, i8) nounwind readnone
+
+define <4 x float> @test_extractf128(<8 x float> %a0, <8 x float> %a1, <4 x float> *%a2) {
+; SANDY-LABEL: test_extractf128:
+; SANDY: # BB#0:
+; SANDY-NEXT: vextractf128 $1, %ymm0, %xmm0 # sched: [1:1.00]
+; SANDY-NEXT: vextractf128 $1, %ymm1, (%rdi) # sched: [1:1.00]
+; SANDY-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_extractf128:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vextractf128 $1, %ymm0, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: vextractf128 $1, %ymm1, (%rdi) # sched: [4:1.00]
+; HASWELL-NEXT: vzeroupper # sched: [1:0.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_extractf128:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vextractf128 $1, %ymm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vextractf128 $1, %ymm1, (%rdi) # sched: [1:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_extractf128:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vextractf128 $1, %ymm0, %xmm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vextractf128 $1, %ymm1, (%rdi) # sched: [1:1.00]
+; ZNVER1-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x float> %a0, <8 x float> undef, <4 x i32> <i32 4, i32 5, i32 6, i32 7>
+ %2 = shufflevector <8 x float> %a1, <8 x float> undef, <4 x i32> <i32 4, i32 5, i32 6, i32 7>
+ store <4 x float> %2, <4 x float> *%a2
+ ret <4 x float> %1
+}
+
+define <4 x double> @test_haddpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_haddpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vhaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vhaddpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_haddpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vhaddpd %ymm1, %ymm0, %ymm0 # sched: [5:2.00]
+; HASWELL-NEXT: vhaddpd (%rdi), %ymm0, %ymm0 # sched: [9:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_haddpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vhaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vhaddpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_haddpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vhaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vhaddpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x double> @llvm.x86.avx.hadd.pd.256(<4 x double> %a0, <4 x double> %a1)
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = call <4 x double> @llvm.x86.avx.hadd.pd.256(<4 x double> %1, <4 x double> %2)
+ ret <4 x double> %3
+}
+declare <4 x double> @llvm.x86.avx.hadd.pd.256(<4 x double>, <4 x double>) nounwind readnone
+
+define <8 x float> @test_haddps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_haddps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vhaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vhaddps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_haddps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vhaddps %ymm1, %ymm0, %ymm0 # sched: [5:2.00]
+; HASWELL-NEXT: vhaddps (%rdi), %ymm0, %ymm0 # sched: [9:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_haddps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vhaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vhaddps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_haddps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vhaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vhaddps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.hadd.ps.256(<8 x float> %a0, <8 x float> %a1)
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = call <8 x float> @llvm.x86.avx.hadd.ps.256(<8 x float> %1, <8 x float> %2)
+ ret <8 x float> %3
+}
+declare <8 x float> @llvm.x86.avx.hadd.ps.256(<8 x float>, <8 x float>) nounwind readnone
+
+define <4 x double> @test_hsubpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_hsubpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vhsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vhsubpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_hsubpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vhsubpd %ymm1, %ymm0, %ymm0 # sched: [5:2.00]
+; HASWELL-NEXT: vhsubpd (%rdi), %ymm0, %ymm0 # sched: [9:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_hsubpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vhsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vhsubpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_hsubpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vhsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vhsubpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x double> @llvm.x86.avx.hsub.pd.256(<4 x double> %a0, <4 x double> %a1)
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = call <4 x double> @llvm.x86.avx.hsub.pd.256(<4 x double> %1, <4 x double> %2)
+ ret <4 x double> %3
+}
+declare <4 x double> @llvm.x86.avx.hsub.pd.256(<4 x double>, <4 x double>) nounwind readnone
+
+define <8 x float> @test_hsubps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_hsubps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vhsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vhsubps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_hsubps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vhsubps %ymm1, %ymm0, %ymm0 # sched: [5:2.00]
+; HASWELL-NEXT: vhsubps (%rdi), %ymm0, %ymm0 # sched: [9:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_hsubps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vhsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vhsubps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_hsubps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vhsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vhsubps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.hsub.ps.256(<8 x float> %a0, <8 x float> %a1)
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = call <8 x float> @llvm.x86.avx.hsub.ps.256(<8 x float> %1, <8 x float> %2)
+ ret <8 x float> %3
+}
+declare <8 x float> @llvm.x86.avx.hsub.ps.256(<8 x float>, <8 x float>) nounwind readnone
+
+define <8 x float> @test_insertf128(<8 x float> %a0, <4 x float> %a1, <4 x float> *%a2) {
+; SANDY-LABEL: test_insertf128:
+; SANDY: # BB#0:
+; SANDY-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm1 # sched: [1:1.00]
+; SANDY-NEXT: vinsertf128 $1, (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_insertf128:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm1 # sched: [3:1.00]
+; HASWELL-NEXT: vinsertf128 $1, (%rdi), %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_insertf128:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm1 # sched: [1:0.50]
+; BTVER2-NEXT: vinsertf128 $1, (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_insertf128:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vinsertf128 $1, %xmm1, %ymm0, %ymm1 # sched: [1:0.50]
+; ZNVER1-NEXT: vinsertf128 $1, (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x float> %a1, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
+ %2 = shufflevector <8 x float> %a0, <8 x float> %1, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11>
+ %3 = load <4 x float>, <4 x float> *%a2, align 16
+ %4 = shufflevector <4 x float> %3, <4 x float> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 undef, i32 undef, i32 undef, i32 undef>
+ %5 = shufflevector <8 x float> %a0, <8 x float> %4, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 8, i32 9, i32 10, i32 11>
+ %6 = fadd <8 x float> %2, %5
+ ret <8 x float> %6
+}
+
+define <32 x i8> @test_lddqu(i8* %a0) {
+; SANDY-LABEL: test_lddqu:
+; SANDY: # BB#0:
+; SANDY-NEXT: vlddqu (%rdi), %ymm0 # sched: [4:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_lddqu:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vlddqu (%rdi), %ymm0 # sched: [4:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_lddqu:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vlddqu (%rdi), %ymm0 # sched: [5:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_lddqu:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vlddqu (%rdi), %ymm0 # sched: [5:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <32 x i8> @llvm.x86.avx.ldu.dq.256(i8* %a0)
+ ret <32 x i8> %1
+}
+declare <32 x i8> @llvm.x86.avx.ldu.dq.256(i8*) nounwind readonly
+
+define <2 x double> @test_maskmovpd(i8* %a0, <2 x i64> %a1, <2 x double> %a2) {
+; SANDY-LABEL: test_maskmovpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmaskmovpd (%rdi), %xmm0, %xmm2 # sched: [?:0.000000e+00]
+; SANDY-NEXT: vmaskmovpd %xmm1, %xmm0, (%rdi) # sched: [?:0.000000e+00]
+; SANDY-NEXT: vmovapd %xmm2, %xmm0 # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_maskmovpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmaskmovpd (%rdi), %xmm0, %xmm2 # sched: [4:2.00]
+; HASWELL-NEXT: vmaskmovpd %xmm1, %xmm0, (%rdi) # sched: [13:1.00]
+; HASWELL-NEXT: vmovapd %xmm2, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_maskmovpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmaskmovpd (%rdi), %xmm0, %xmm2 # sched: [?:0.000000e+00]
+; BTVER2-NEXT: vmaskmovpd %xmm1, %xmm0, (%rdi) # sched: [?:0.000000e+00]
+; BTVER2-NEXT: vmovapd %xmm2, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_maskmovpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmaskmovpd (%rdi), %xmm0, %xmm2 # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: vmaskmovpd %xmm1, %xmm0, (%rdi) # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: vmovapd %xmm2, %xmm0 # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x double> @llvm.x86.avx.maskload.pd(i8* %a0, <2 x i64> %a1)
+ call void @llvm.x86.avx.maskstore.pd(i8* %a0, <2 x i64> %a1, <2 x double> %a2)
+ ret <2 x double> %1
+}
+declare <2 x double> @llvm.x86.avx.maskload.pd(i8*, <2 x i64>) nounwind readonly
+declare void @llvm.x86.avx.maskstore.pd(i8*, <2 x i64>, <2 x double>) nounwind
+
+define <4 x double> @test_maskmovpd_ymm(i8* %a0, <4 x i64> %a1, <4 x double> %a2) {
+; SANDY-LABEL: test_maskmovpd_ymm:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm2 # sched: [?:0.000000e+00]
+; SANDY-NEXT: vmaskmovpd %ymm1, %ymm0, (%rdi) # sched: [?:0.000000e+00]
+; SANDY-NEXT: vmovapd %ymm2, %ymm0 # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_maskmovpd_ymm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm2 # sched: [4:2.00]
+; HASWELL-NEXT: vmaskmovpd %ymm1, %ymm0, (%rdi) # sched: [14:1.00]
+; HASWELL-NEXT: vmovapd %ymm2, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_maskmovpd_ymm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm2 # sched: [?:0.000000e+00]
+; BTVER2-NEXT: vmaskmovpd %ymm1, %ymm0, (%rdi) # sched: [?:0.000000e+00]
+; BTVER2-NEXT: vmovapd %ymm2, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_maskmovpd_ymm:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmaskmovpd (%rdi), %ymm0, %ymm2 # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: vmaskmovpd %ymm1, %ymm0, (%rdi) # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: vmovapd %ymm2, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x double> @llvm.x86.avx.maskload.pd.256(i8* %a0, <4 x i64> %a1)
+ call void @llvm.x86.avx.maskstore.pd.256(i8* %a0, <4 x i64> %a1, <4 x double> %a2)
+ ret <4 x double> %1
+}
+declare <4 x double> @llvm.x86.avx.maskload.pd.256(i8*, <4 x i64>) nounwind readonly
+declare void @llvm.x86.avx.maskstore.pd.256(i8*, <4 x i64>, <4 x double>) nounwind
+
+define <4 x float> @test_maskmovps(i8* %a0, <4 x i32> %a1, <4 x float> %a2) {
+; SANDY-LABEL: test_maskmovps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 # sched: [?:0.000000e+00]
+; SANDY-NEXT: vmaskmovps %xmm1, %xmm0, (%rdi) # sched: [?:0.000000e+00]
+; SANDY-NEXT: vmovaps %xmm2, %xmm0 # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_maskmovps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 # sched: [4:2.00]
+; HASWELL-NEXT: vmaskmovps %xmm1, %xmm0, (%rdi) # sched: [13:1.00]
+; HASWELL-NEXT: vmovaps %xmm2, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_maskmovps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 # sched: [?:0.000000e+00]
+; BTVER2-NEXT: vmaskmovps %xmm1, %xmm0, (%rdi) # sched: [?:0.000000e+00]
+; BTVER2-NEXT: vmovaps %xmm2, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_maskmovps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmaskmovps (%rdi), %xmm0, %xmm2 # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: vmaskmovps %xmm1, %xmm0, (%rdi) # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: vmovaps %xmm2, %xmm0 # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x float> @llvm.x86.avx.maskload.ps(i8* %a0, <4 x i32> %a1)
+ call void @llvm.x86.avx.maskstore.ps(i8* %a0, <4 x i32> %a1, <4 x float> %a2)
+ ret <4 x float> %1
+}
+declare <4 x float> @llvm.x86.avx.maskload.ps(i8*, <4 x i32>) nounwind readonly
+declare void @llvm.x86.avx.maskstore.ps(i8*, <4 x i32>, <4 x float>) nounwind
+
+define <8 x float> @test_maskmovps_ymm(i8* %a0, <8 x i32> %a1, <8 x float> %a2) {
+; SANDY-LABEL: test_maskmovps_ymm:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmaskmovps (%rdi), %ymm0, %ymm2 # sched: [?:0.000000e+00]
+; SANDY-NEXT: vmaskmovps %ymm1, %ymm0, (%rdi) # sched: [?:0.000000e+00]
+; SANDY-NEXT: vmovaps %ymm2, %ymm0 # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_maskmovps_ymm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmaskmovps (%rdi), %ymm0, %ymm2 # sched: [4:2.00]
+; HASWELL-NEXT: vmaskmovps %ymm1, %ymm0, (%rdi) # sched: [14:1.00]
+; HASWELL-NEXT: vmovaps %ymm2, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_maskmovps_ymm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmaskmovps (%rdi), %ymm0, %ymm2 # sched: [?:0.000000e+00]
+; BTVER2-NEXT: vmaskmovps %ymm1, %ymm0, (%rdi) # sched: [?:0.000000e+00]
+; BTVER2-NEXT: vmovaps %ymm2, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_maskmovps_ymm:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmaskmovps (%rdi), %ymm0, %ymm2 # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: vmaskmovps %ymm1, %ymm0, (%rdi) # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: vmovaps %ymm2, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.maskload.ps.256(i8* %a0, <8 x i32> %a1)
+ call void @llvm.x86.avx.maskstore.ps.256(i8* %a0, <8 x i32> %a1, <8 x float> %a2)
+ ret <8 x float> %1
+}
+declare <8 x float> @llvm.x86.avx.maskload.ps.256(i8*, <8 x i32>) nounwind readonly
+declare void @llvm.x86.avx.maskstore.ps.256(i8*, <8 x i32>, <8 x float>) nounwind
+
+define <4 x double> @test_maxpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_maxpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmaxpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vmaxpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_maxpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmaxpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vmaxpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_maxpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmaxpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vmaxpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_maxpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmaxpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vmaxpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x double> @llvm.x86.avx.max.pd.256(<4 x double> %a0, <4 x double> %a1)
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = call <4 x double> @llvm.x86.avx.max.pd.256(<4 x double> %1, <4 x double> %2)
+ ret <4 x double> %3
+}
+declare <4 x double> @llvm.x86.avx.max.pd.256(<4 x double>, <4 x double>) nounwind readnone
+
+define <8 x float> @test_maxps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_maxps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmaxps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vmaxps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_maxps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmaxps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vmaxps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_maxps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmaxps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vmaxps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_maxps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmaxps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vmaxps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.max.ps.256(<8 x float> %a0, <8 x float> %a1)
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = call <8 x float> @llvm.x86.avx.max.ps.256(<8 x float> %1, <8 x float> %2)
+ ret <8 x float> %3
+}
+declare <8 x float> @llvm.x86.avx.max.ps.256(<8 x float>, <8 x float>) nounwind readnone
+
+define <4 x double> @test_minpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_minpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vminpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vminpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_minpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vminpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vminpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_minpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vminpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vminpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_minpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vminpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vminpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x double> @llvm.x86.avx.min.pd.256(<4 x double> %a0, <4 x double> %a1)
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = call <4 x double> @llvm.x86.avx.min.pd.256(<4 x double> %1, <4 x double> %2)
+ ret <4 x double> %3
+}
+declare <4 x double> @llvm.x86.avx.min.pd.256(<4 x double>, <4 x double>) nounwind readnone
+
+define <8 x float> @test_minps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_minps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vminps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vminps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_minps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vminps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vminps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_minps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vminps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vminps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_minps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vminps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vminps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.min.ps.256(<8 x float> %a0, <8 x float> %a1)
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = call <8 x float> @llvm.x86.avx.min.ps.256(<8 x float> %1, <8 x float> %2)
+ ret <8 x float> %3
+}
+declare <8 x float> @llvm.x86.avx.min.ps.256(<8 x float>, <8 x float>) nounwind readnone
+
+define <4 x double> @test_movapd(<4 x double> *%a0, <4 x double> *%a1) {
+; SANDY-LABEL: test_movapd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovapd (%rdi), %ymm0 # sched: [4:0.50]
+; SANDY-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vmovapd %ymm0, (%rsi) # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movapd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovapd (%rdi), %ymm0 # sched: [4:0.50]
+; HASWELL-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vmovapd %ymm0, (%rsi) # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movapd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovapd (%rdi), %ymm0 # sched: [5:1.00]
+; BTVER2-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vmovapd %ymm0, (%rsi) # sched: [1:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movapd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmovapd (%rdi), %ymm0 # sched: [5:1.00]
+; ZNVER1-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vmovapd %ymm0, (%rsi) # sched: [1:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = load <4 x double>, <4 x double> *%a0, align 32
+ %2 = fadd <4 x double> %1, %1
+ store <4 x double> %2, <4 x double> *%a1, align 32
+ ret <4 x double> %2
+}
+
+define <8 x float> @test_movaps(<8 x float> *%a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_movaps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovaps (%rdi), %ymm0 # sched: [4:0.50]
+; SANDY-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vmovaps %ymm0, (%rsi) # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movaps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovaps (%rdi), %ymm0 # sched: [4:0.50]
+; HASWELL-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vmovaps %ymm0, (%rsi) # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movaps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovaps (%rdi), %ymm0 # sched: [5:1.00]
+; BTVER2-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vmovaps %ymm0, (%rsi) # sched: [1:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movaps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmovaps (%rdi), %ymm0 # sched: [5:1.00]
+; ZNVER1-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vmovaps %ymm0, (%rsi) # sched: [1:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = load <8 x float>, <8 x float> *%a0, align 32
+ %2 = fadd <8 x float> %1, %1
+ store <8 x float> %2, <8 x float> *%a1, align 32
+ ret <8 x float> %2
+}
+
+define <4 x double> @test_movddup(<4 x double> %a0, <4 x double> *%a1) {
+; SANDY-LABEL: test_movddup:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovddup {{.*#+}} ymm0 = ymm0[0,0,2,2] sched: [1:1.00]
+; SANDY-NEXT: vmovddup {{.*#+}} ymm1 = mem[0,0,2,2] sched: [4:0.50]
+; SANDY-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movddup:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovddup {{.*#+}} ymm0 = ymm0[0,0,2,2] sched: [1:1.00]
+; HASWELL-NEXT: vmovddup {{.*#+}} ymm1 = mem[0,0,2,2] sched: [4:0.50]
+; HASWELL-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movddup:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovddup {{.*#+}} ymm1 = mem[0,0,2,2] sched: [5:1.00]
+; BTVER2-NEXT: vmovddup {{.*#+}} ymm0 = ymm0[0,0,2,2] sched: [1:0.50]
+; BTVER2-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movddup:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmovddup {{.*#+}} ymm1 = mem[0,0,2,2] sched: [5:1.00]
+; ZNVER1-NEXT: vmovddup {{.*#+}} ymm0 = ymm0[0,0,2,2] sched: [1:0.50]
+; ZNVER1-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x double> %a0, <4 x double> undef, <4 x i32> <i32 0, i32 0, i32 2, i32 2>
+ %2 = load <4 x double>, <4 x double> *%a1, align 32
+ %3 = shufflevector <4 x double> %2, <4 x double> undef, <4 x i32> <i32 0, i32 0, i32 2, i32 2>
+ %4 = fadd <4 x double> %1, %3
+ ret <4 x double> %4
+}
+
+define i32 @test_movmskpd(<4 x double> %a0) {
+; SANDY-LABEL: test_movmskpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovmskpd %ymm0, %eax # sched: [1:0.33]
+; SANDY-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movmskpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovmskpd %ymm0, %eax # sched: [2:1.00]
+; HASWELL-NEXT: vzeroupper # sched: [1:0.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movmskpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovmskpd %ymm0, %eax # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movmskpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmovmskpd %ymm0, %eax # sched: [1:0.50]
+; ZNVER1-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.avx.movmsk.pd.256(<4 x double> %a0)
+ ret i32 %1
+}
+declare i32 @llvm.x86.avx.movmsk.pd.256(<4 x double>) nounwind readnone
+
+define i32 @test_movmskps(<8 x float> %a0) {
+; SANDY-LABEL: test_movmskps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovmskps %ymm0, %eax # sched: [1:0.33]
+; SANDY-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movmskps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovmskps %ymm0, %eax # sched: [2:1.00]
+; HASWELL-NEXT: vzeroupper # sched: [1:0.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movmskps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovmskps %ymm0, %eax # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movmskps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmovmskps %ymm0, %eax # sched: [1:0.50]
+; ZNVER1-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.avx.movmsk.ps.256(<8 x float> %a0)
+ ret i32 %1
+}
+declare i32 @llvm.x86.avx.movmsk.ps.256(<8 x float>) nounwind readnone
+
+define <4 x double> @test_movntpd(<4 x double> %a0, <4 x double> *%a1) {
+; SANDY-LABEL: test_movntpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vmovntpd %ymm0, (%rdi) # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movntpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vmovntpd %ymm0, (%rdi) # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movntpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vmovntpd %ymm0, (%rdi) # sched: [1:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movntpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vmovntpd %ymm0, (%rdi) # sched: [1:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fadd <4 x double> %a0, %a0
+ store <4 x double> %1, <4 x double> *%a1, align 32, !nontemporal !0
+ ret <4 x double> %1
+}
+
+define <8 x float> @test_movntps(<8 x float> %a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_movntps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vmovntps %ymm0, (%rdi) # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movntps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vmovntps %ymm0, (%rdi) # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movntps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vmovntps %ymm0, (%rdi) # sched: [1:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movntps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vmovntps %ymm0, (%rdi) # sched: [1:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fadd <8 x float> %a0, %a0
+ store <8 x float> %1, <8 x float> *%a1, align 32, !nontemporal !0
+ ret <8 x float> %1
+}
+
+define <8 x float> @test_movshdup(<8 x float> %a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_movshdup:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovshdup {{.*#+}} ymm0 = ymm0[1,1,3,3,5,5,7,7] sched: [1:1.00]
+; SANDY-NEXT: vmovshdup {{.*#+}} ymm1 = mem[1,1,3,3,5,5,7,7] sched: [4:0.50]
+; SANDY-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movshdup:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovshdup {{.*#+}} ymm0 = ymm0[1,1,3,3,5,5,7,7] sched: [1:1.00]
+; HASWELL-NEXT: vmovshdup {{.*#+}} ymm1 = mem[1,1,3,3,5,5,7,7] sched: [4:0.50]
+; HASWELL-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movshdup:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovshdup {{.*#+}} ymm1 = mem[1,1,3,3,5,5,7,7] sched: [5:1.00]
+; BTVER2-NEXT: vmovshdup {{.*#+}} ymm0 = ymm0[1,1,3,3,5,5,7,7] sched: [1:0.50]
+; BTVER2-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movshdup:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmovshdup {{.*#+}} ymm1 = mem[1,1,3,3,5,5,7,7] sched: [5:1.00]
+; ZNVER1-NEXT: vmovshdup {{.*#+}} ymm0 = ymm0[1,1,3,3,5,5,7,7] sched: [1:0.50]
+; ZNVER1-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x float> %a0, <8 x float> undef, <8 x i32> <i32 1, i32 1, i32 3, i32 3, i32 5, i32 5, i32 7, i32 7>
+ %2 = load <8 x float>, <8 x float> *%a1, align 32
+ %3 = shufflevector <8 x float> %2, <8 x float> undef, <8 x i32> <i32 1, i32 1, i32 3, i32 3, i32 5, i32 5, i32 7, i32 7>
+ %4 = fadd <8 x float> %1, %3
+ ret <8 x float> %4
+}
+
+define <8 x float> @test_movsldup(<8 x float> %a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_movsldup:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovsldup {{.*#+}} ymm0 = ymm0[0,0,2,2,4,4,6,6] sched: [1:1.00]
+; SANDY-NEXT: vmovsldup {{.*#+}} ymm1 = mem[0,0,2,2,4,4,6,6] sched: [4:0.50]
+; SANDY-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movsldup:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovsldup {{.*#+}} ymm0 = ymm0[0,0,2,2,4,4,6,6] sched: [1:1.00]
+; HASWELL-NEXT: vmovsldup {{.*#+}} ymm1 = mem[0,0,2,2,4,4,6,6] sched: [4:0.50]
+; HASWELL-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movsldup:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovsldup {{.*#+}} ymm1 = mem[0,0,2,2,4,4,6,6] sched: [5:1.00]
+; BTVER2-NEXT: vmovsldup {{.*#+}} ymm0 = ymm0[0,0,2,2,4,4,6,6] sched: [1:0.50]
+; BTVER2-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movsldup:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmovsldup {{.*#+}} ymm1 = mem[0,0,2,2,4,4,6,6] sched: [5:1.00]
+; ZNVER1-NEXT: vmovsldup {{.*#+}} ymm0 = ymm0[0,0,2,2,4,4,6,6] sched: [1:0.50]
+; ZNVER1-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x float> %a0, <8 x float> undef, <8 x i32> <i32 0, i32 0, i32 2, i32 2, i32 4, i32 4, i32 6, i32 6>
+ %2 = load <8 x float>, <8 x float> *%a1, align 32
+ %3 = shufflevector <8 x float> %2, <8 x float> undef, <8 x i32> <i32 0, i32 0, i32 2, i32 2, i32 4, i32 4, i32 6, i32 6>
+ %4 = fadd <8 x float> %1, %3
+ ret <8 x float> %4
+}
+
+define <4 x double> @test_movupd(<4 x double> *%a0, <4 x double> *%a1) {
+; SANDY-LABEL: test_movupd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovups (%rdi), %xmm0 # sched: [4:0.50]
+; SANDY-NEXT: vinsertf128 $1, 16(%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vextractf128 $1, %ymm0, 16(%rsi) # sched: [1:1.00]
+; SANDY-NEXT: vmovupd %xmm0, (%rsi) # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movupd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovupd (%rdi), %ymm0 # sched: [4:0.50]
+; HASWELL-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vmovupd %ymm0, (%rsi) # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movupd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovupd (%rdi), %ymm0 # sched: [5:1.00]
+; BTVER2-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vmovupd %ymm0, (%rsi) # sched: [1:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movupd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmovupd (%rdi), %ymm0 # sched: [5:1.00]
+; ZNVER1-NEXT: vaddpd %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vmovupd %ymm0, (%rsi) # sched: [1:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = load <4 x double>, <4 x double> *%a0, align 1
+ %2 = fadd <4 x double> %1, %1
+ store <4 x double> %2, <4 x double> *%a1, align 1
+ ret <4 x double> %2
+}
+
+define <8 x float> @test_movups(<8 x float> *%a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_movups:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovups (%rdi), %xmm0 # sched: [4:0.50]
+; SANDY-NEXT: vinsertf128 $1, 16(%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vextractf128 $1, %ymm0, 16(%rsi) # sched: [1:1.00]
+; SANDY-NEXT: vmovups %xmm0, (%rsi) # sched: [1:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movups:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovups (%rdi), %ymm0 # sched: [4:0.50]
+; HASWELL-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vmovups %ymm0, (%rsi) # sched: [1:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movups:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovups (%rdi), %ymm0 # sched: [5:1.00]
+; BTVER2-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vmovups %ymm0, (%rsi) # sched: [1:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_movups:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmovups (%rdi), %ymm0 # sched: [5:1.00]
+; ZNVER1-NEXT: vaddps %ymm0, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vmovups %ymm0, (%rsi) # sched: [1:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = load <8 x float>, <8 x float> *%a0, align 1
+ %2 = fadd <8 x float> %1, %1
+ store <8 x float> %2, <8 x float> *%a1, align 1
+ ret <8 x float> %2
+}
+
+define <4 x double> @test_mulpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_mulpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmulpd %ymm1, %ymm0, %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: vmulpd (%rdi), %ymm0, %ymm0 # sched: [9:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_mulpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmulpd %ymm1, %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: vmulpd (%rdi), %ymm0, %ymm0 # sched: [9:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_mulpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmulpd %ymm1, %ymm0, %ymm0 # sched: [2:1.00]
+; BTVER2-NEXT: vmulpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_mulpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmulpd %ymm1, %ymm0, %ymm0 # sched: [2:1.00]
+; ZNVER1-NEXT: vmulpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fmul <4 x double> %a0, %a1
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = fmul <4 x double> %1, %2
+ ret <4 x double> %3
+}
+
+define <8 x float> @test_mulps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_mulps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmulps %ymm1, %ymm0, %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: vmulps (%rdi), %ymm0, %ymm0 # sched: [9:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_mulps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmulps %ymm1, %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: vmulps (%rdi), %ymm0, %ymm0 # sched: [9:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_mulps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmulps %ymm1, %ymm0, %ymm0 # sched: [2:1.00]
+; BTVER2-NEXT: vmulps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_mulps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vmulps %ymm1, %ymm0, %ymm0 # sched: [2:1.00]
+; ZNVER1-NEXT: vmulps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fmul <8 x float> %a0, %a1
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = fmul <8 x float> %1, %2
+ ret <8 x float> %3
+}
+
+define <4 x double> @orpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: orpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vorpd %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: vorpd (%rdi), %ymm0, %ymm0 # sched: [5:0.50]
+; SANDY-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: orpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vorpd %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: vorpd (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: orpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vorpd %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: vorpd (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: orpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vorpd %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vorpd (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = bitcast <4 x double> %a0 to <4 x i64>
+ %2 = bitcast <4 x double> %a1 to <4 x i64>
+ %3 = or <4 x i64> %1, %2
+ %4 = load <4 x double>, <4 x double> *%a2, align 32
+ %5 = bitcast <4 x double> %4 to <4 x i64>
+ %6 = or <4 x i64> %3, %5
+ %7 = bitcast <4 x i64> %6 to <4 x double>
+ %8 = fadd <4 x double> %a1, %7
+ ret <4 x double> %8
+}
+
+define <8 x float> @test_orps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_orps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vorps %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: vorps (%rdi), %ymm0, %ymm0 # sched: [5:0.50]
+; SANDY-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_orps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vorps %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: vorps (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_orps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vorps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: vorps (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_orps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vorps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vorps (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = bitcast <8 x float> %a0 to <4 x i64>
+ %2 = bitcast <8 x float> %a1 to <4 x i64>
+ %3 = or <4 x i64> %1, %2
+ %4 = load <8 x float>, <8 x float> *%a2, align 32
+ %5 = bitcast <8 x float> %4 to <4 x i64>
+ %6 = or <4 x i64> %3, %5
+ %7 = bitcast <4 x i64> %6 to <8 x float>
+ %8 = fadd <8 x float> %a1, %7
+ ret <8 x float> %8
+}
+
+define <2 x double> @test_permilpd(<2 x double> %a0, <2 x double> *%a1) {
+; SANDY-LABEL: test_permilpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpermilpd {{.*#+}} xmm0 = xmm0[1,0] sched: [1:1.00]
+; SANDY-NEXT: vpermilpd {{.*#+}} xmm1 = mem[1,0] sched: [5:1.00]
+; SANDY-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_permilpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpermilpd {{.*#+}} xmm0 = xmm0[1,0] sched: [1:1.00]
+; HASWELL-NEXT: vpermilpd {{.*#+}} xmm1 = mem[1,0] sched: [5:1.00]
+; HASWELL-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_permilpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpermilpd {{.*#+}} xmm1 = mem[1,0] sched: [6:1.00]
+; BTVER2-NEXT: vpermilpd {{.*#+}} xmm0 = xmm0[1,0] sched: [1:0.50]
+; BTVER2-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_permilpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vpermilpd {{.*#+}} xmm1 = mem[1,0] sched: [6:1.00]
+; ZNVER1-NEXT: vpermilpd {{.*#+}} xmm0 = xmm0[1,0] sched: [1:0.50]
+; ZNVER1-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <2 x double> %a0, <2 x double> undef, <2 x i32> <i32 1, i32 0>
+ %2 = load <2 x double>, <2 x double> *%a1, align 16
+ %3 = shufflevector <2 x double> %2, <2 x double> undef, <2 x i32> <i32 1, i32 0>
+ %4 = fadd <2 x double> %1, %3
+ ret <2 x double> %4
+}
+
+define <4 x double> @test_permilpd_ymm(<4 x double> %a0, <4 x double> *%a1) {
+; SANDY-LABEL: test_permilpd_ymm:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpermilpd {{.*#+}} ymm0 = ymm0[1,0,2,3] sched: [1:1.00]
+; SANDY-NEXT: vpermilpd {{.*#+}} ymm1 = mem[1,0,2,3] sched: [5:1.00]
+; SANDY-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_permilpd_ymm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpermilpd {{.*#+}} ymm0 = ymm0[1,0,2,3] sched: [1:1.00]
+; HASWELL-NEXT: vpermilpd {{.*#+}} ymm1 = mem[1,0,2,3] sched: [5:1.00]
+; HASWELL-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_permilpd_ymm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpermilpd {{.*#+}} ymm1 = mem[1,0,2,3] sched: [6:1.00]
+; BTVER2-NEXT: vpermilpd {{.*#+}} ymm0 = ymm0[1,0,2,3] sched: [1:0.50]
+; BTVER2-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_permilpd_ymm:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vpermilpd {{.*#+}} ymm1 = mem[1,0,2,3] sched: [6:1.00]
+; ZNVER1-NEXT: vpermilpd {{.*#+}} ymm0 = ymm0[1,0,2,3] sched: [1:0.50]
+; ZNVER1-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x double> %a0, <4 x double> undef, <4 x i32> <i32 1, i32 0, i32 2, i32 3>
+ %2 = load <4 x double>, <4 x double> *%a1, align 32
+ %3 = shufflevector <4 x double> %2, <4 x double> undef, <4 x i32> <i32 1, i32 0, i32 2, i32 3>
+ %4 = fadd <4 x double> %1, %3
+ ret <4 x double> %4
+}
+
+define <4 x float> @test_permilps(<4 x float> %a0, <4 x float> *%a1) {
+; SANDY-LABEL: test_permilps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[3,2,1,0] sched: [1:1.00]
+; SANDY-NEXT: vpermilps {{.*#+}} xmm1 = mem[3,2,1,0] sched: [5:1.00]
+; SANDY-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_permilps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[3,2,1,0] sched: [1:1.00]
+; HASWELL-NEXT: vpermilps {{.*#+}} xmm1 = mem[3,2,1,0] sched: [5:1.00]
+; HASWELL-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_permilps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpermilps {{.*#+}} xmm1 = mem[3,2,1,0] sched: [6:1.00]
+; BTVER2-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[3,2,1,0] sched: [1:0.50]
+; BTVER2-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_permilps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vpermilps {{.*#+}} xmm1 = mem[3,2,1,0] sched: [6:1.00]
+; ZNVER1-NEXT: vpermilps {{.*#+}} xmm0 = xmm0[3,2,1,0] sched: [1:0.50]
+; ZNVER1-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x float> %a0, <4 x float> undef, <4 x i32> <i32 3, i32 2, i32 1, i32 0>
+ %2 = load <4 x float>, <4 x float> *%a1, align 16
+ %3 = shufflevector <4 x float> %2, <4 x float> undef, <4 x i32> <i32 3, i32 2, i32 1, i32 0>
+ %4 = fadd <4 x float> %1, %3
+ ret <4 x float> %4
+}
+
+define <8 x float> @test_permilps_ymm(<8 x float> %a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_permilps_ymm:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpermilps {{.*#+}} ymm0 = ymm0[3,2,1,0,7,6,5,4] sched: [1:1.00]
+; SANDY-NEXT: vpermilps {{.*#+}} ymm1 = mem[3,2,1,0,7,6,5,4] sched: [5:1.00]
+; SANDY-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_permilps_ymm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpermilps {{.*#+}} ymm0 = ymm0[3,2,1,0,7,6,5,4] sched: [1:1.00]
+; HASWELL-NEXT: vpermilps {{.*#+}} ymm1 = mem[3,2,1,0,7,6,5,4] sched: [5:1.00]
+; HASWELL-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_permilps_ymm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpermilps {{.*#+}} ymm1 = mem[3,2,1,0,7,6,5,4] sched: [6:1.00]
+; BTVER2-NEXT: vpermilps {{.*#+}} ymm0 = ymm0[3,2,1,0,7,6,5,4] sched: [1:0.50]
+; BTVER2-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_permilps_ymm:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vpermilps {{.*#+}} ymm1 = mem[3,2,1,0,7,6,5,4] sched: [6:1.00]
+; ZNVER1-NEXT: vpermilps {{.*#+}} ymm0 = ymm0[3,2,1,0,7,6,5,4] sched: [1:0.50]
+; ZNVER1-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x float> %a0, <8 x float> undef, <8 x i32> <i32 3, i32 2, i32 1, i32 0, i32 7, i32 6, i32 5, i32 4>
+ %2 = load <8 x float>, <8 x float> *%a1, align 32
+ %3 = shufflevector <8 x float> %2, <8 x float> undef, <8 x i32> <i32 3, i32 2, i32 1, i32 0, i32 7, i32 6, i32 5, i32 4>
+ %4 = fadd <8 x float> %1, %3
+ ret <8 x float> %4
+}
+
+define <2 x double> @test_permilvarpd(<2 x double> %a0, <2 x i64> %a1, <2 x i64> *%a2) {
+; SANDY-LABEL: test_permilvarpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpermilpd %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
+; SANDY-NEXT: vpermilpd (%rdi), %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_permilvarpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpermilpd %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpermilpd (%rdi), %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_permilvarpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpermilpd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpermilpd (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_permilvarpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vpermilpd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vpermilpd (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x double> @llvm.x86.avx.vpermilvar.pd(<2 x double> %a0, <2 x i64> %a1)
+ %2 = load <2 x i64>, <2 x i64> *%a2, align 16
+ %3 = call <2 x double> @llvm.x86.avx.vpermilvar.pd(<2 x double> %1, <2 x i64> %2)
+ ret <2 x double> %3
+}
+declare <2 x double> @llvm.x86.avx.vpermilvar.pd(<2 x double>, <2 x i64>) nounwind readnone
+
+define <4 x double> @test_permilvarpd_ymm(<4 x double> %a0, <4 x i64> %a1, <4 x i64> *%a2) {
+; SANDY-LABEL: test_permilvarpd_ymm:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpermilpd %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; SANDY-NEXT: vpermilpd (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_permilvarpd_ymm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpermilpd %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpermilpd (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_permilvarpd_ymm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpermilpd %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpermilpd (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_permilvarpd_ymm:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vpermilpd %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vpermilpd (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x double> @llvm.x86.avx.vpermilvar.pd.256(<4 x double> %a0, <4 x i64> %a1)
+ %2 = load <4 x i64>, <4 x i64> *%a2, align 32
+ %3 = call <4 x double> @llvm.x86.avx.vpermilvar.pd.256(<4 x double> %1, <4 x i64> %2)
+ ret <4 x double> %3
+}
+declare <4 x double> @llvm.x86.avx.vpermilvar.pd.256(<4 x double>, <4 x i64>) nounwind readnone
+
+define <4 x float> @test_permilvarps(<4 x float> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; SANDY-LABEL: test_permilvarps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpermilps %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
+; SANDY-NEXT: vpermilps (%rdi), %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_permilvarps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpermilps %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpermilps (%rdi), %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_permilvarps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpermilps %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpermilps (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_permilvarps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vpermilps %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vpermilps (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x float> @llvm.x86.avx.vpermilvar.ps(<4 x float> %a0, <4 x i32> %a1)
+ %2 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %3 = call <4 x float> @llvm.x86.avx.vpermilvar.ps(<4 x float> %1, <4 x i32> %2)
+ ret <4 x float> %3
+}
+declare <4 x float> @llvm.x86.avx.vpermilvar.ps(<4 x float>, <4 x i32>) nounwind readnone
+
+define <8 x float> @test_permilvarps_ymm(<8 x float> %a0, <8 x i32> %a1, <8 x i32> *%a2) {
+; SANDY-LABEL: test_permilvarps_ymm:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpermilps %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; SANDY-NEXT: vpermilps (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_permilvarps_ymm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpermilps %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpermilps (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_permilvarps_ymm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpermilps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpermilps (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_permilvarps_ymm:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vpermilps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vpermilps (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.vpermilvar.ps.256(<8 x float> %a0, <8 x i32> %a1)
+ %2 = load <8 x i32>, <8 x i32> *%a2, align 32
+ %3 = call <8 x float> @llvm.x86.avx.vpermilvar.ps.256(<8 x float> %1, <8 x i32> %2)
+ ret <8 x float> %3
+}
+declare <8 x float> @llvm.x86.avx.vpermilvar.ps.256(<8 x float>, <8 x i32>) nounwind readnone
+
+define <8 x float> @test_rcpps(<8 x float> %a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_rcpps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vrcpps %ymm0, %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: vrcpps (%rdi), %ymm1 # sched: [9:1.00]
+; SANDY-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_rcpps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vrcpps (%rdi), %ymm1 # sched: [11:2.00]
+; HASWELL-NEXT: vrcpps %ymm0, %ymm0 # sched: [7:2.00]
+; HASWELL-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_rcpps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vrcpps (%rdi), %ymm1 # sched: [7:1.00]
+; BTVER2-NEXT: vrcpps %ymm0, %ymm0 # sched: [2:1.00]
+; BTVER2-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_rcpps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vrcpps (%rdi), %ymm1 # sched: [7:1.00]
+; ZNVER1-NEXT: vrcpps %ymm0, %ymm0 # sched: [2:1.00]
+; ZNVER1-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.rcp.ps.256(<8 x float> %a0)
+ %2 = load <8 x float>, <8 x float> *%a1, align 32
+ %3 = call <8 x float> @llvm.x86.avx.rcp.ps.256(<8 x float> %2)
+ %4 = fadd <8 x float> %1, %3
+ ret <8 x float> %4
+}
+declare <8 x float> @llvm.x86.avx.rcp.ps.256(<8 x float>) nounwind readnone
+
+define <4 x double> @test_roundpd(<4 x double> %a0, <4 x double> *%a1) {
+; SANDY-LABEL: test_roundpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vroundpd $7, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vroundpd $7, (%rdi), %ymm1 # sched: [7:1.00]
+; SANDY-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_roundpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vroundpd $7, %ymm0, %ymm0 # sched: [6:2.00]
+; HASWELL-NEXT: vroundpd $7, (%rdi), %ymm1 # sched: [10:2.00]
+; HASWELL-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_roundpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vroundpd $7, (%rdi), %ymm1 # sched: [8:1.00]
+; BTVER2-NEXT: vroundpd $7, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_roundpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vroundpd $7, (%rdi), %ymm1 # sched: [8:1.00]
+; ZNVER1-NEXT: vroundpd $7, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x double> @llvm.x86.avx.round.pd.256(<4 x double> %a0, i32 7)
+ %2 = load <4 x double>, <4 x double> *%a1, align 32
+ %3 = call <4 x double> @llvm.x86.avx.round.pd.256(<4 x double> %2, i32 7)
+ %4 = fadd <4 x double> %1, %3
+ ret <4 x double> %4
+}
+declare <4 x double> @llvm.x86.avx.round.pd.256(<4 x double>, i32) nounwind readnone
+
+define <8 x float> @test_roundps(<8 x float> %a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_roundps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vroundps $7, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vroundps $7, (%rdi), %ymm1 # sched: [7:1.00]
+; SANDY-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_roundps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vroundps $7, %ymm0, %ymm0 # sched: [6:2.00]
+; HASWELL-NEXT: vroundps $7, (%rdi), %ymm1 # sched: [10:2.00]
+; HASWELL-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_roundps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vroundps $7, (%rdi), %ymm1 # sched: [8:1.00]
+; BTVER2-NEXT: vroundps $7, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_roundps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vroundps $7, (%rdi), %ymm1 # sched: [8:1.00]
+; ZNVER1-NEXT: vroundps $7, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.round.ps.256(<8 x float> %a0, i32 7)
+ %2 = load <8 x float>, <8 x float> *%a1, align 32
+ %3 = call <8 x float> @llvm.x86.avx.round.ps.256(<8 x float> %2, i32 7)
+ %4 = fadd <8 x float> %1, %3
+ ret <8 x float> %4
+}
+declare <8 x float> @llvm.x86.avx.round.ps.256(<8 x float>, i32) nounwind readnone
+
+define <8 x float> @test_rsqrtps(<8 x float> %a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_rsqrtps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vrsqrtps %ymm0, %ymm0 # sched: [5:1.00]
+; SANDY-NEXT: vrsqrtps (%rdi), %ymm1 # sched: [9:1.00]
+; SANDY-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_rsqrtps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vrsqrtps (%rdi), %ymm1 # sched: [11:2.00]
+; HASWELL-NEXT: vrsqrtps %ymm0, %ymm0 # sched: [7:2.00]
+; HASWELL-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_rsqrtps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vrsqrtps (%rdi), %ymm1 # sched: [7:1.00]
+; BTVER2-NEXT: vrsqrtps %ymm0, %ymm0 # sched: [2:1.00]
+; BTVER2-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_rsqrtps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vrsqrtps (%rdi), %ymm1 # sched: [7:1.00]
+; ZNVER1-NEXT: vrsqrtps %ymm0, %ymm0 # sched: [2:1.00]
+; ZNVER1-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.rsqrt.ps.256(<8 x float> %a0)
+ %2 = load <8 x float>, <8 x float> *%a1, align 32
+ %3 = call <8 x float> @llvm.x86.avx.rsqrt.ps.256(<8 x float> %2)
+ %4 = fadd <8 x float> %1, %3
+ ret <8 x float> %4
+}
+declare <8 x float> @llvm.x86.avx.rsqrt.ps.256(<8 x float>) nounwind readnone
+
+define <4 x double> @test_shufpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_shufpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[1],ymm1[0],ymm0[2],ymm1[3] sched: [1:1.00]
+; SANDY-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[1],mem[0],ymm1[2],mem[3] sched: [5:1.00]
+; SANDY-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_shufpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[1],ymm1[0],ymm0[2],ymm1[3] sched: [1:1.00]
+; HASWELL-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[1],mem[0],ymm1[2],mem[3] sched: [5:1.00]
+; HASWELL-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_shufpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[1],ymm1[0],ymm0[2],ymm1[3] sched: [1:0.50]
+; BTVER2-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[1],mem[0],ymm1[2],mem[3] sched: [6:1.00]
+; BTVER2-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_shufpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vshufpd {{.*#+}} ymm0 = ymm0[1],ymm1[0],ymm0[2],ymm1[3] sched: [1:0.50]
+; ZNVER1-NEXT: vshufpd {{.*#+}} ymm1 = ymm1[1],mem[0],ymm1[2],mem[3] sched: [6:1.00]
+; ZNVER1-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x double> %a0, <4 x double> %a1, <4 x i32> <i32 1, i32 4, i32 2, i32 7>
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = shufflevector <4 x double> %a1, <4 x double> %2, <4 x i32> <i32 1, i32 4, i32 2, i32 7>
+ %4 = fadd <4 x double> %1, %3
+ ret <4 x double> %4
+}
+
+define <8 x float> @test_shufps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) nounwind {
+; SANDY-LABEL: test_shufps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,0],ymm1[0,0],ymm0[4,4],ymm1[4,4] sched: [1:1.00]
+; SANDY-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,3],mem[0,0],ymm0[4,7],mem[4,4] sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_shufps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,0],ymm1[0,0],ymm0[4,4],ymm1[4,4] sched: [1:1.00]
+; HASWELL-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,3],mem[0,0],ymm0[4,7],mem[4,4] sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_shufps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,0],ymm1[0,0],ymm0[4,4],ymm1[4,4] sched: [1:0.50]
+; BTVER2-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,3],mem[0,0],ymm0[4,7],mem[4,4] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_shufps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,0],ymm1[0,0],ymm0[4,4],ymm1[4,4] sched: [1:0.50]
+; ZNVER1-NEXT: vshufps {{.*#+}} ymm0 = ymm0[0,3],mem[0,0],ymm0[4,7],mem[4,4] sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x float> %a0, <8 x float> %a1, <8 x i32> <i32 0, i32 0, i32 8, i32 8, i32 4, i32 4, i32 12, i32 12>
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = shufflevector <8 x float> %1, <8 x float> %2, <8 x i32> <i32 0, i32 3, i32 8, i32 8, i32 4, i32 7, i32 12, i32 12>
+ ret <8 x float> %3
+}
+
+define <4 x double> @test_sqrtpd(<4 x double> %a0, <4 x double> *%a1) {
+; SANDY-LABEL: test_sqrtpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vsqrtpd %ymm0, %ymm0 # sched: [15:1.00]
+; SANDY-NEXT: vsqrtpd (%rdi), %ymm1 # sched: [19:1.00]
+; SANDY-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_sqrtpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vsqrtpd (%rdi), %ymm1 # sched: [32:2.00]
+; HASWELL-NEXT: vsqrtpd %ymm0, %ymm0 # sched: [28:2.00]
+; HASWELL-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_sqrtpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vsqrtpd (%rdi), %ymm1 # sched: [26:21.00]
+; BTVER2-NEXT: vsqrtpd %ymm0, %ymm0 # sched: [21:21.00]
+; BTVER2-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_sqrtpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vsqrtpd (%rdi), %ymm1 # sched: [26:21.00]
+; ZNVER1-NEXT: vsqrtpd %ymm0, %ymm0 # sched: [21:21.00]
+; ZNVER1-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x double> @llvm.x86.avx.sqrt.pd.256(<4 x double> %a0)
+ %2 = load <4 x double>, <4 x double> *%a1, align 32
+ %3 = call <4 x double> @llvm.x86.avx.sqrt.pd.256(<4 x double> %2)
+ %4 = fadd <4 x double> %1, %3
+ ret <4 x double> %4
+}
+declare <4 x double> @llvm.x86.avx.sqrt.pd.256(<4 x double>) nounwind readnone
+
+define <8 x float> @test_sqrtps(<8 x float> %a0, <8 x float> *%a1) {
+; SANDY-LABEL: test_sqrtps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vsqrtps %ymm0, %ymm0 # sched: [15:1.00]
+; SANDY-NEXT: vsqrtps (%rdi), %ymm1 # sched: [19:1.00]
+; SANDY-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_sqrtps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vsqrtps (%rdi), %ymm1 # sched: [23:2.00]
+; HASWELL-NEXT: vsqrtps %ymm0, %ymm0 # sched: [19:2.00]
+; HASWELL-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_sqrtps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vsqrtps (%rdi), %ymm1 # sched: [26:21.00]
+; BTVER2-NEXT: vsqrtps %ymm0, %ymm0 # sched: [21:21.00]
+; BTVER2-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_sqrtps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vsqrtps (%rdi), %ymm1 # sched: [26:21.00]
+; ZNVER1-NEXT: vsqrtps %ymm0, %ymm0 # sched: [21:21.00]
+; ZNVER1-NEXT: vaddps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x float> @llvm.x86.avx.sqrt.ps.256(<8 x float> %a0)
+ %2 = load <8 x float>, <8 x float> *%a1, align 32
+ %3 = call <8 x float> @llvm.x86.avx.sqrt.ps.256(<8 x float> %2)
+ %4 = fadd <8 x float> %1, %3
+ ret <8 x float> %4
+}
+declare <8 x float> @llvm.x86.avx.sqrt.ps.256(<8 x float>) nounwind readnone
+
+define <4 x double> @test_subpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_subpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vsubpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_subpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vsubpd (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_subpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vsubpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_subpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vsubpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vsubpd (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fsub <4 x double> %a0, %a1
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = fsub <4 x double> %1, %2
+ ret <4 x double> %3
+}
+
+define <8 x float> @test_subps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_subps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: vsubps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_subps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: vsubps (%rdi), %ymm0, %ymm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_subps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: vsubps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_subps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vsubps %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: vsubps (%rdi), %ymm0, %ymm0 # sched: [8:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = fsub <8 x float> %a0, %a1
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = fsub <8 x float> %1, %2
+ ret <8 x float> %3
+}
+
+define i32 @test_testpd(<2 x double> %a0, <2 x double> %a1, <2 x double> *%a2) {
+; SANDY-LABEL: test_testpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: xorl %eax, %eax # sched: [1:0.33]
+; SANDY-NEXT: vtestpd %xmm1, %xmm0 # sched: [1:0.33]
+; SANDY-NEXT: setb %al # sched: [1:0.33]
+; SANDY-NEXT: vtestpd (%rdi), %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: adcl $0, %eax # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_testpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: xorl %eax, %eax # sched: [1:0.25]
+; HASWELL-NEXT: vtestpd %xmm1, %xmm0 # sched: [1:0.33]
+; HASWELL-NEXT: setb %al # sched: [1:0.50]
+; HASWELL-NEXT: vtestpd (%rdi), %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: adcl $0, %eax # sched: [2:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_testpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: xorl %eax, %eax # sched: [1:0.50]
+; BTVER2-NEXT: vtestpd %xmm1, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: setb %al # sched: [1:0.50]
+; BTVER2-NEXT: vtestpd (%rdi), %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: adcl $0, %eax # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_testpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: xorl %eax, %eax # sched: [1:0.50]
+; ZNVER1-NEXT: vtestpd %xmm1, %xmm0 # sched: [1:0.50]
+; ZNVER1-NEXT: setb %al # sched: [1:0.50]
+; ZNVER1-NEXT: vtestpd (%rdi), %xmm0 # sched: [6:1.00]
+; ZNVER1-NEXT: adcl $0, %eax # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.avx.vtestc.pd(<2 x double> %a0, <2 x double> %a1)
+ %2 = load <2 x double>, <2 x double> *%a2, align 16
+ %3 = call i32 @llvm.x86.avx.vtestc.pd(<2 x double> %a0, <2 x double> %2)
+ %4 = add i32 %1, %3
+ ret i32 %4
+}
+declare i32 @llvm.x86.avx.vtestc.pd(<2 x double>, <2 x double>) nounwind readnone
+
+define i32 @test_testpd_ymm(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_testpd_ymm:
+; SANDY: # BB#0:
+; SANDY-NEXT: xorl %eax, %eax # sched: [1:0.33]
+; SANDY-NEXT: vtestpd %ymm1, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: setb %al # sched: [1:0.33]
+; SANDY-NEXT: vtestpd (%rdi), %ymm0 # sched: [5:0.50]
+; SANDY-NEXT: adcl $0, %eax # sched: [1:0.33]
+; SANDY-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_testpd_ymm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: xorl %eax, %eax # sched: [1:0.25]
+; HASWELL-NEXT: vtestpd %ymm1, %ymm0 # sched: [1:0.33]
+; HASWELL-NEXT: setb %al # sched: [1:0.50]
+; HASWELL-NEXT: vtestpd (%rdi), %ymm0 # sched: [5:0.50]
+; HASWELL-NEXT: adcl $0, %eax # sched: [2:0.50]
+; HASWELL-NEXT: vzeroupper # sched: [1:0.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_testpd_ymm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: xorl %eax, %eax # sched: [1:0.50]
+; BTVER2-NEXT: vtestpd %ymm1, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: setb %al # sched: [1:0.50]
+; BTVER2-NEXT: vtestpd (%rdi), %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: adcl $0, %eax # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_testpd_ymm:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: xorl %eax, %eax # sched: [1:0.50]
+; ZNVER1-NEXT: vtestpd %ymm1, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: setb %al # sched: [1:0.50]
+; ZNVER1-NEXT: vtestpd (%rdi), %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: adcl $0, %eax # sched: [1:0.50]
+; ZNVER1-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.avx.vtestc.pd.256(<4 x double> %a0, <4 x double> %a1)
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = call i32 @llvm.x86.avx.vtestc.pd.256(<4 x double> %a0, <4 x double> %2)
+ %4 = add i32 %1, %3
+ ret i32 %4
+}
+declare i32 @llvm.x86.avx.vtestc.pd.256(<4 x double>, <4 x double>) nounwind readnone
+
+define i32 @test_testps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a2) {
+; SANDY-LABEL: test_testps:
+; SANDY: # BB#0:
+; SANDY-NEXT: xorl %eax, %eax # sched: [1:0.33]
+; SANDY-NEXT: vtestps %xmm1, %xmm0 # sched: [1:0.33]
+; SANDY-NEXT: setb %al # sched: [1:0.33]
+; SANDY-NEXT: vtestps (%rdi), %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: adcl $0, %eax # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_testps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: xorl %eax, %eax # sched: [1:0.25]
+; HASWELL-NEXT: vtestps %xmm1, %xmm0 # sched: [1:0.33]
+; HASWELL-NEXT: setb %al # sched: [1:0.50]
+; HASWELL-NEXT: vtestps (%rdi), %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: adcl $0, %eax # sched: [2:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_testps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: xorl %eax, %eax # sched: [1:0.50]
+; BTVER2-NEXT: vtestps %xmm1, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: setb %al # sched: [1:0.50]
+; BTVER2-NEXT: vtestps (%rdi), %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: adcl $0, %eax # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_testps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: xorl %eax, %eax # sched: [1:0.50]
+; ZNVER1-NEXT: vtestps %xmm1, %xmm0 # sched: [1:0.50]
+; ZNVER1-NEXT: setb %al # sched: [1:0.50]
+; ZNVER1-NEXT: vtestps (%rdi), %xmm0 # sched: [6:1.00]
+; ZNVER1-NEXT: adcl $0, %eax # sched: [1:0.50]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.avx.vtestc.ps(<4 x float> %a0, <4 x float> %a1)
+ %2 = load <4 x float>, <4 x float> *%a2, align 16
+ %3 = call i32 @llvm.x86.avx.vtestc.ps(<4 x float> %a0, <4 x float> %2)
+ %4 = add i32 %1, %3
+ ret i32 %4
+}
+declare i32 @llvm.x86.avx.vtestc.ps(<4 x float>, <4 x float>) nounwind readnone
+
+define i32 @test_testps_ymm(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_testps_ymm:
+; SANDY: # BB#0:
+; SANDY-NEXT: xorl %eax, %eax # sched: [1:0.33]
+; SANDY-NEXT: vtestps %ymm1, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: setb %al # sched: [1:0.33]
+; SANDY-NEXT: vtestps (%rdi), %ymm0 # sched: [5:0.50]
+; SANDY-NEXT: adcl $0, %eax # sched: [1:0.33]
+; SANDY-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_testps_ymm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: xorl %eax, %eax # sched: [1:0.25]
+; HASWELL-NEXT: vtestps %ymm1, %ymm0 # sched: [1:0.33]
+; HASWELL-NEXT: setb %al # sched: [1:0.50]
+; HASWELL-NEXT: vtestps (%rdi), %ymm0 # sched: [5:0.50]
+; HASWELL-NEXT: adcl $0, %eax # sched: [2:0.50]
+; HASWELL-NEXT: vzeroupper # sched: [1:0.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_testps_ymm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: xorl %eax, %eax # sched: [1:0.50]
+; BTVER2-NEXT: vtestps %ymm1, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: setb %al # sched: [1:0.50]
+; BTVER2-NEXT: vtestps (%rdi), %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: adcl $0, %eax # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_testps_ymm:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: xorl %eax, %eax # sched: [1:0.50]
+; ZNVER1-NEXT: vtestps %ymm1, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: setb %al # sched: [1:0.50]
+; ZNVER1-NEXT: vtestps (%rdi), %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: adcl $0, %eax # sched: [1:0.50]
+; ZNVER1-NEXT: vzeroupper # sched: [?:0.000000e+00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.avx.vtestc.ps.256(<8 x float> %a0, <8 x float> %a1)
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = call i32 @llvm.x86.avx.vtestc.ps.256(<8 x float> %a0, <8 x float> %2)
+ %4 = add i32 %1, %3
+ ret i32 %4
+}
+declare i32 @llvm.x86.avx.vtestc.ps.256(<8 x float>, <8 x float>) nounwind readnone
+
+define <4 x double> @test_unpckhpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_unpckhpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3] sched: [1:1.00]
+; SANDY-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3] sched: [5:1.00]
+; SANDY-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_unpckhpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3] sched: [1:1.00]
+; HASWELL-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3] sched: [5:1.00]
+; HASWELL-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_unpckhpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3] sched: [1:0.50]
+; BTVER2-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3] sched: [6:1.00]
+; BTVER2-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_unpckhpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vunpckhpd {{.*#+}} ymm0 = ymm0[1],ymm1[1],ymm0[3],ymm1[3] sched: [1:0.50]
+; ZNVER1-NEXT: vunpckhpd {{.*#+}} ymm1 = ymm1[1],mem[1],ymm1[3],mem[3] sched: [6:1.00]
+; ZNVER1-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x double> %a0, <4 x double> %a1, <4 x i32> <i32 1, i32 5, i32 3, i32 7>
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = shufflevector <4 x double> %a1, <4 x double> %2, <4 x i32> <i32 1, i32 5, i32 3, i32 7>
+ %4 = fadd <4 x double> %1, %3
+ ret <4 x double> %4
+}
+
+define <8 x float> @test_unpckhps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) nounwind {
+; SANDY-LABEL: test_unpckhps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vunpckhps {{.*#+}} ymm0 = ymm0[2],ymm1[2],ymm0[3],ymm1[3],ymm0[6],ymm1[6],ymm0[7],ymm1[7] sched: [1:1.00]
+; SANDY-NEXT: vunpckhps {{.*#+}} ymm0 = ymm0[2],mem[2],ymm0[3],mem[3],ymm0[6],mem[6],ymm0[7],mem[7] sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_unpckhps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vunpckhps {{.*#+}} ymm0 = ymm0[2],ymm1[2],ymm0[3],ymm1[3],ymm0[6],ymm1[6],ymm0[7],ymm1[7] sched: [1:1.00]
+; HASWELL-NEXT: vunpckhps {{.*#+}} ymm0 = ymm0[2],mem[2],ymm0[3],mem[3],ymm0[6],mem[6],ymm0[7],mem[7] sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_unpckhps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vunpckhps {{.*#+}} ymm0 = ymm0[2],ymm1[2],ymm0[3],ymm1[3],ymm0[6],ymm1[6],ymm0[7],ymm1[7] sched: [1:0.50]
+; BTVER2-NEXT: vunpckhps {{.*#+}} ymm0 = ymm0[2],mem[2],ymm0[3],mem[3],ymm0[6],mem[6],ymm0[7],mem[7] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_unpckhps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vunpckhps {{.*#+}} ymm0 = ymm0[2],ymm1[2],ymm0[3],ymm1[3],ymm0[6],ymm1[6],ymm0[7],ymm1[7] sched: [1:0.50]
+; ZNVER1-NEXT: vunpckhps {{.*#+}} ymm0 = ymm0[2],mem[2],ymm0[3],mem[3],ymm0[6],mem[6],ymm0[7],mem[7] sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x float> %a0, <8 x float> %a1, <8 x i32> <i32 2, i32 10, i32 3, i32 11, i32 6, i32 14, i32 7, i32 15>
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = shufflevector <8 x float> %1, <8 x float> %2, <8 x i32> <i32 2, i32 10, i32 3, i32 11, i32 6, i32 14, i32 7, i32 15>
+ ret <8 x float> %3
+}
+
+define <4 x double> @test_unpcklpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_unpcklpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2] sched: [1:1.00]
+; SANDY-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2] sched: [5:1.00]
+; SANDY-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_unpcklpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2] sched: [1:1.00]
+; HASWELL-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2] sched: [5:1.00]
+; HASWELL-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_unpcklpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2] sched: [1:0.50]
+; BTVER2-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2] sched: [6:1.00]
+; BTVER2-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_unpcklpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vunpcklpd {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[2],ymm1[2] sched: [1:0.50]
+; ZNVER1-NEXT: vunpcklpd {{.*#+}} ymm1 = ymm1[0],mem[0],ymm1[2],mem[2] sched: [6:1.00]
+; ZNVER1-NEXT: vaddpd %ymm1, %ymm0, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x double> %a0, <4 x double> %a1, <4 x i32> <i32 0, i32 4, i32 2, i32 6>
+ %2 = load <4 x double>, <4 x double> *%a2, align 32
+ %3 = shufflevector <4 x double> %a1, <4 x double> %2, <4 x i32> <i32 0, i32 4, i32 2, i32 6>
+ %4 = fadd <4 x double> %1, %3
+ ret <4 x double> %4
+}
+
+define <8 x float> @test_unpcklps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) nounwind {
+; SANDY-LABEL: test_unpcklps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[1],ymm1[1],ymm0[4],ymm1[4],ymm0[5],ymm1[5] sched: [1:1.00]
+; SANDY-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[1],mem[1],ymm0[4],mem[4],ymm0[5],mem[5] sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_unpcklps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[1],ymm1[1],ymm0[4],ymm1[4],ymm0[5],ymm1[5] sched: [1:1.00]
+; HASWELL-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[1],mem[1],ymm0[4],mem[4],ymm0[5],mem[5] sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_unpcklps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[1],ymm1[1],ymm0[4],ymm1[4],ymm0[5],ymm1[5] sched: [1:0.50]
+; BTVER2-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[1],mem[1],ymm0[4],mem[4],ymm0[5],mem[5] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_unpcklps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],ymm1[0],ymm0[1],ymm1[1],ymm0[4],ymm1[4],ymm0[5],ymm1[5] sched: [1:0.50]
+; ZNVER1-NEXT: vunpcklps {{.*#+}} ymm0 = ymm0[0],mem[0],ymm0[1],mem[1],ymm0[4],mem[4],ymm0[5],mem[5] sched: [6:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x float> %a0, <8 x float> %a1, <8 x i32> <i32 0, i32 8, i32 1, i32 9, i32 4, i32 12, i32 5, i32 13>
+ %2 = load <8 x float>, <8 x float> *%a2, align 32
+ %3 = shufflevector <8 x float> %1, <8 x float> %2, <8 x i32> <i32 0, i32 8, i32 1, i32 9, i32 4, i32 12, i32 5, i32 13>
+ ret <8 x float> %3
+}
+
+define <4 x double> @test_xorpd(<4 x double> %a0, <4 x double> %a1, <4 x double> *%a2) {
+; SANDY-LABEL: test_xorpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vxorpd %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: vxorpd (%rdi), %ymm0, %ymm0 # sched: [5:0.50]
+; SANDY-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_xorpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vxorpd %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: vxorpd (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_xorpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vxorpd %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: vxorpd (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_xorpd:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vxorpd %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vxorpd (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: vaddpd %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = bitcast <4 x double> %a0 to <4 x i64>
+ %2 = bitcast <4 x double> %a1 to <4 x i64>
+ %3 = xor <4 x i64> %1, %2
+ %4 = load <4 x double>, <4 x double> *%a2, align 32
+ %5 = bitcast <4 x double> %4 to <4 x i64>
+ %6 = xor <4 x i64> %3, %5
+ %7 = bitcast <4 x i64> %6 to <4 x double>
+ %8 = fadd <4 x double> %a1, %7
+ ret <4 x double> %8
+}
+
+define <8 x float> @test_xorps(<8 x float> %a0, <8 x float> %a1, <8 x float> *%a2) {
+; SANDY-LABEL: test_xorps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vxorps %ymm1, %ymm0, %ymm0 # sched: [1:0.33]
+; SANDY-NEXT: vxorps (%rdi), %ymm0, %ymm0 # sched: [5:0.50]
+; SANDY-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_xorps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vxorps %ymm1, %ymm0, %ymm0 # sched: [1:1.00]
+; HASWELL-NEXT: vxorps (%rdi), %ymm0, %ymm0 # sched: [5:1.00]
+; HASWELL-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_xorps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vxorps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; BTVER2-NEXT: vxorps (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; BTVER2-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+;
+; ZNVER1-LABEL: test_xorps:
+; ZNVER1: # BB#0:
+; ZNVER1-NEXT: vxorps %ymm1, %ymm0, %ymm0 # sched: [1:0.50]
+; ZNVER1-NEXT: vxorps (%rdi), %ymm0, %ymm0 # sched: [6:1.00]
+; ZNVER1-NEXT: vaddps %ymm0, %ymm1, %ymm0 # sched: [3:1.00]
+; ZNVER1-NEXT: retq # sched: [4:1.00]
+ %1 = bitcast <8 x float> %a0 to <4 x i64>
+ %2 = bitcast <8 x float> %a1 to <4 x i64>
+ %3 = xor <4 x i64> %1, %2
+ %4 = load <8 x float>, <8 x float> *%a2, align 32
+ %5 = bitcast <8 x float> %4 to <4 x i64>
+ %6 = xor <4 x i64> %3, %5
+ %7 = bitcast <4 x i64> %6 to <8 x float>
+ %8 = fadd <8 x float> %a1, %7
+ ret <8 x float> %8
+}
+
+!0 = !{i32 1}
diff --git a/test/CodeGen/X86/bitcast2.ll b/test/CodeGen/X86/bitcast2.ll
index 12aa863a37a1..b75db95869c2 100644
--- a/test/CodeGen/X86/bitcast2.ll
+++ b/test/CodeGen/X86/bitcast2.ll
@@ -1,4 +1,4 @@
-; RUN: llc < %s -march=x86-64 -mattr=-avx | grep movd | count 2
+; RUN: llc < %s -march=x86-64 -mattr=-avx | grep movq | count 2
; RUN: llc < %s -march=x86-64 -mattr=-avx | not grep rsp
define i64 @test1(double %A) {
diff --git a/test/CodeGen/X86/bool-ext-inc.ll b/test/CodeGen/X86/bool-ext-inc.ll
index d0967c102149..1b69b5542556 100644
--- a/test/CodeGen/X86/bool-ext-inc.ll
+++ b/test/CodeGen/X86/bool-ext-inc.ll
@@ -1,5 +1,5 @@
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
-; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=avx2 | FileCheck %s
; FIXME: add (sext i1 X), 1 -> zext (not i1 X)
@@ -20,13 +20,93 @@ define i32 @sext_inc(i1 zeroext %x) nounwind {
define <4 x i32> @sext_inc_vec(<4 x i1> %x) nounwind {
; CHECK-LABEL: sext_inc_vec:
; CHECK: # BB#0:
-; CHECK-NEXT: pslld $31, %xmm0
-; CHECK-NEXT: psrad $31, %xmm0
-; CHECK-NEXT: paddd {{.*}}(%rip), %xmm0
+; CHECK-NEXT: vpslld $31, %xmm0, %xmm0
+; CHECK-NEXT: vpsrad $31, %xmm0, %xmm0
+; CHECK-NEXT: vpbroadcastd {{.*}}(%rip), %xmm1
+; CHECK-NEXT: vpaddd %xmm1, %xmm0, %xmm0
; CHECK-NEXT: retq
%ext = sext <4 x i1> %x to <4 x i32>
%add = add <4 x i32> %ext, <i32 1, i32 1, i32 1, i32 1>
ret <4 x i32> %add
}
+define <4 x i32> @cmpgt_sext_inc_vec(<4 x i32> %x, <4 x i32> %y) nounwind {
+; CHECK-LABEL: cmpgt_sext_inc_vec:
+; CHECK: # BB#0:
+; CHECK-NEXT: vpcmpgtd %xmm1, %xmm0, %xmm0
+; CHECK-NEXT: vpbroadcastd {{.*}}(%rip), %xmm1
+; CHECK-NEXT: vpaddd %xmm1, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %cmp = icmp sgt <4 x i32> %x, %y
+ %ext = sext <4 x i1> %cmp to <4 x i32>
+ %add = add <4 x i32> %ext, <i32 1, i32 1, i32 1, i32 1>
+ ret <4 x i32> %add
+}
+
+define <4 x i32> @cmpne_sext_inc_vec(<4 x i32> %x, <4 x i32> %y) nounwind {
+; CHECK-LABEL: cmpne_sext_inc_vec:
+; CHECK: # BB#0:
+; CHECK-NEXT: vpcmpeqd %xmm1, %xmm0, %xmm0
+; CHECK-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; CHECK-NEXT: vpxor %xmm1, %xmm0, %xmm0
+; CHECK-NEXT: vpbroadcastd {{.*}}(%rip), %xmm1
+; CHECK-NEXT: vpaddd %xmm1, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %cmp = icmp ne <4 x i32> %x, %y
+ %ext = sext <4 x i1> %cmp to <4 x i32>
+ %add = add <4 x i32> %ext, <i32 1, i32 1, i32 1, i32 1>
+ ret <4 x i32> %add
+}
+
+define <4 x i64> @cmpgt_sext_inc_vec256(<4 x i64> %x, <4 x i64> %y) nounwind {
+; CHECK-LABEL: cmpgt_sext_inc_vec256:
+; CHECK: # BB#0:
+; CHECK-NEXT: vpcmpgtq %ymm1, %ymm0, %ymm0
+; CHECK-NEXT: vpbroadcastq {{.*}}(%rip), %ymm1
+; CHECK-NEXT: vpaddq %ymm1, %ymm0, %ymm0
+; CHECK-NEXT: retq
+ %cmp = icmp sgt <4 x i64> %x, %y
+ %ext = sext <4 x i1> %cmp to <4 x i64>
+ %add = add <4 x i64> %ext, <i64 1, i64 1, i64 1, i64 1>
+ ret <4 x i64> %add
+}
+
+define i32 @bool_logic_and_math(i32 %a, i32 %b, i32 %c, i32 %d) nounwind {
+; CHECK-LABEL: bool_logic_and_math:
+; CHECK: # BB#0:
+; CHECK-NEXT: cmpl %esi, %edi
+; CHECK-NEXT: setne %al
+; CHECK-NEXT: cmpl %ecx, %edx
+; CHECK-NEXT: setne %cl
+; CHECK-NEXT: andb %al, %cl
+; CHECK-NEXT: movzbl %cl, %ecx
+; CHECK-NEXT: movl $1, %eax
+; CHECK-NEXT: subl %ecx, %eax
+; CHECK-NEXT: retq
+ %cmp1 = icmp ne i32 %a, %b
+ %cmp2 = icmp ne i32 %c, %d
+ %and = and i1 %cmp1, %cmp2
+ %ext = sext i1 %and to i32
+ %add = add i32 %ext, 1
+ ret i32 %add
+}
+
+define <4 x i32> @bool_logic_and_math_vec(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c, <4 x i32> %d) nounwind {
+; CHECK-LABEL: bool_logic_and_math_vec:
+; CHECK: # BB#0:
+; CHECK-NEXT: vpcmpeqd %xmm1, %xmm0, %xmm0
+; CHECK-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
+; CHECK-NEXT: vpcmpeqd %xmm3, %xmm2, %xmm2
+; CHECK-NEXT: vpxor %xmm1, %xmm2, %xmm1
+; CHECK-NEXT: vpandn %xmm1, %xmm0, %xmm0
+; CHECK-NEXT: vpbroadcastd {{.*}}(%rip), %xmm1
+; CHECK-NEXT: vpaddd %xmm1, %xmm0, %xmm0
+; CHECK-NEXT: retq
+ %cmp1 = icmp ne <4 x i32> %a, %b
+ %cmp2 = icmp ne <4 x i32> %c, %d
+ %and = and <4 x i1> %cmp1, %cmp2
+ %ext = sext <4 x i1> %and to <4 x i32>
+ %add = add <4 x i32> %ext, <i32 1, i32 1, i32 1, i32 1>
+ ret <4 x i32> %add
+}
diff --git a/test/CodeGen/X86/clear_upper_vector_element_bits.ll b/test/CodeGen/X86/clear_upper_vector_element_bits.ll
index c425e3a92d17..ae0f4406ba0d 100644
--- a/test/CodeGen/X86/clear_upper_vector_element_bits.ll
+++ b/test/CodeGen/X86/clear_upper_vector_element_bits.ll
@@ -928,7 +928,7 @@ define <16 x i8> @_clearupper16xi8b(<16 x i8>) nounwind {
; SSE-NEXT: pushq %r14
; SSE-NEXT: pushq %rbx
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
-; SSE-NEXT: movd %xmm0, %rcx
+; SSE-NEXT: movq %xmm0, %rcx
; SSE-NEXT: movq %rcx, %r8
; SSE-NEXT: movq %rcx, %r9
; SSE-NEXT: movq %rcx, %r10
@@ -938,7 +938,7 @@ define <16 x i8> @_clearupper16xi8b(<16 x i8>) nounwind {
; SSE-NEXT: movq %rcx, %rdi
; SSE-NEXT: andb $15, %cl
; SSE-NEXT: movb %cl, -{{[0-9]+}}(%rsp)
-; SSE-NEXT: movd %xmm1, %rcx
+; SSE-NEXT: movq %xmm1, %rcx
; SSE-NEXT: shrq $56, %rdi
; SSE-NEXT: andb $15, %dil
; SSE-NEXT: movb %dil, -{{[0-9]+}}(%rsp)
@@ -1106,7 +1106,7 @@ define <32 x i8> @_clearupper32xi8b(<32 x i8>) nounwind {
; SSE-NEXT: pushq %r14
; SSE-NEXT: pushq %rbx
; SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm0[2,3,0,1]
-; SSE-NEXT: movd %xmm0, %rcx
+; SSE-NEXT: movq %xmm0, %rcx
; SSE-NEXT: movq %rcx, %r8
; SSE-NEXT: movq %rcx, %r9
; SSE-NEXT: movq %rcx, %r10
@@ -1116,7 +1116,7 @@ define <32 x i8> @_clearupper32xi8b(<32 x i8>) nounwind {
; SSE-NEXT: movq %rcx, %rdi
; SSE-NEXT: andb $15, %cl
; SSE-NEXT: movb %cl, -{{[0-9]+}}(%rsp)
-; SSE-NEXT: movd %xmm2, %rcx
+; SSE-NEXT: movq %xmm2, %rcx
; SSE-NEXT: shrq $56, %rdi
; SSE-NEXT: andb $15, %dil
; SSE-NEXT: movb %dil, -{{[0-9]+}}(%rsp)
diff --git a/test/CodeGen/X86/combine-srl.ll b/test/CodeGen/X86/combine-srl.ll
index 44c4510c89e1..706e89051a3d 100644
--- a/test/CodeGen/X86/combine-srl.ll
+++ b/test/CodeGen/X86/combine-srl.ll
@@ -223,18 +223,17 @@ define <4 x i32> @combine_vec_lshr_lshr_zero1(<4 x i32> %x) {
define <4 x i32> @combine_vec_lshr_trunc_lshr0(<4 x i64> %x) {
; SSE-LABEL: combine_vec_lshr_trunc_lshr0:
; SSE: # BB#0:
-; SSE-NEXT: psrlq $32, %xmm1
-; SSE-NEXT: psrlq $32, %xmm0
+; SSE-NEXT: psrlq $48, %xmm1
+; SSE-NEXT: psrlq $48, %xmm0
; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[0,2]
-; SSE-NEXT: psrld $16, %xmm0
; SSE-NEXT: retq
;
; AVX-LABEL: combine_vec_lshr_trunc_lshr0:
; AVX: # BB#0:
-; AVX-NEXT: vpsrlq $32, %ymm0, %ymm0
+; AVX-NEXT: vpsrlq $48, %ymm0, %ymm0
; AVX-NEXT: vpshufd {{.*#+}} ymm0 = ymm0[0,2,2,3,4,6,6,7]
; AVX-NEXT: vpermq {{.*#+}} ymm0 = ymm0[0,2,2,3]
-; AVX-NEXT: vpsrld $16, %xmm0, %xmm0
+; AVX-NEXT: # kill: %XMM0<def> %XMM0<kill> %YMM0<kill>
; AVX-NEXT: vzeroupper
; AVX-NEXT: retq
%1 = lshr <4 x i64> %x, <i64 32, i64 32, i64 32, i64 32>
diff --git a/test/CodeGen/X86/combine-udiv.ll b/test/CodeGen/X86/combine-udiv.ll
index 71f6c3e63334..e1e849929405 100644
--- a/test/CodeGen/X86/combine-udiv.ll
+++ b/test/CodeGen/X86/combine-udiv.ll
@@ -76,6 +76,53 @@ define <4 x i32> @combine_vec_udiv_by_pow2b(<4 x i32> %x) {
ret <4 x i32> %1
}
+define <4 x i32> @combine_vec_udiv_by_pow2c(<4 x i32> %x, <4 x i32> %y) {
+; SSE-LABEL: combine_vec_udiv_by_pow2c:
+; SSE: # BB#0:
+; SSE-NEXT: movdqa %xmm1, %xmm2
+; SSE-NEXT: psrldq {{.*#+}} xmm2 = xmm2[12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
+; SSE-NEXT: movdqa %xmm0, %xmm3
+; SSE-NEXT: psrld %xmm2, %xmm3
+; SSE-NEXT: movdqa %xmm1, %xmm2
+; SSE-NEXT: psrlq $32, %xmm2
+; SSE-NEXT: movdqa %xmm0, %xmm4
+; SSE-NEXT: psrld %xmm2, %xmm4
+; SSE-NEXT: pblendw {{.*#+}} xmm4 = xmm4[0,1,2,3],xmm3[4,5,6,7]
+; SSE-NEXT: pxor %xmm2, %xmm2
+; SSE-NEXT: pmovzxdq {{.*#+}} xmm3 = xmm1[0],zero,xmm1[1],zero
+; SSE-NEXT: punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm2[2],xmm1[3],xmm2[3]
+; SSE-NEXT: movdqa %xmm0, %xmm2
+; SSE-NEXT: psrld %xmm1, %xmm2
+; SSE-NEXT: psrld %xmm3, %xmm0
+; SSE-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm2[4,5,6,7]
+; SSE-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],xmm4[2,3],xmm0[4,5],xmm4[6,7]
+; SSE-NEXT: retq
+;
+; AVX1-LABEL: combine_vec_udiv_by_pow2c:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpsrldq {{.*#+}} xmm2 = xmm1[12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
+; AVX1-NEXT: vpsrld %xmm2, %xmm0, %xmm2
+; AVX1-NEXT: vpsrlq $32, %xmm1, %xmm3
+; AVX1-NEXT: vpsrld %xmm3, %xmm0, %xmm3
+; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm3[0,1,2,3],xmm2[4,5,6,7]
+; AVX1-NEXT: vpxor %xmm3, %xmm3, %xmm3
+; AVX1-NEXT: vpunpckhdq {{.*#+}} xmm3 = xmm1[2],xmm3[2],xmm1[3],xmm3[3]
+; AVX1-NEXT: vpsrld %xmm3, %xmm0, %xmm3
+; AVX1-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero
+; AVX1-NEXT: vpsrld %xmm1, %xmm0, %xmm0
+; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1,2,3],xmm3[4,5,6,7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],xmm2[2,3],xmm0[4,5],xmm2[6,7]
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: combine_vec_udiv_by_pow2c:
+; AVX2: # BB#0:
+; AVX2-NEXT: vpsrlvd %xmm1, %xmm0, %xmm0
+; AVX2-NEXT: retq
+ %1 = shl <4 x i32> <i32 1, i32 1, i32 1, i32 1>, %y
+ %2 = udiv <4 x i32> %x, %1
+ ret <4 x i32> %2
+}
+
; fold (udiv x, (shl c, y)) -> x >>u (log2(c)+y) iff c is power of 2
define <4 x i32> @combine_vec_udiv_by_shl_pow2a(<4 x i32> %x, <4 x i32> %y) {
; SSE-LABEL: combine_vec_udiv_by_shl_pow2a:
diff --git a/test/CodeGen/X86/combine-urem.ll b/test/CodeGen/X86/combine-urem.ll
index f412e9ca6312..91da268a8d75 100644
--- a/test/CodeGen/X86/combine-urem.ll
+++ b/test/CodeGen/X86/combine-urem.ll
@@ -64,6 +64,99 @@ define <4 x i32> @combine_vec_urem_by_pow2b(<4 x i32> %x) {
ret <4 x i32> %1
}
+define <4 x i32> @combine_vec_urem_by_pow2c(<4 x i32> %x, <4 x i32> %y) {
+; SSE-LABEL: combine_vec_urem_by_pow2c:
+; SSE: # BB#0:
+; SSE-NEXT: pslld $23, %xmm1
+; SSE-NEXT: paddd {{.*}}(%rip), %xmm1
+; SSE-NEXT: cvttps2dq %xmm1, %xmm1
+; SSE-NEXT: pcmpeqd %xmm2, %xmm2
+; SSE-NEXT: paddd %xmm1, %xmm2
+; SSE-NEXT: pand %xmm2, %xmm0
+; SSE-NEXT: retq
+;
+; AVX1-LABEL: combine_vec_urem_by_pow2c:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpslld $23, %xmm1, %xmm1
+; AVX1-NEXT: vpaddd {{.*}}(%rip), %xmm1, %xmm1
+; AVX1-NEXT: vcvttps2dq %xmm1, %xmm1
+; AVX1-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX1-NEXT: vpaddd %xmm2, %xmm1, %xmm1
+; AVX1-NEXT: vpand %xmm1, %xmm0, %xmm0
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: combine_vec_urem_by_pow2c:
+; AVX2: # BB#0:
+; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %xmm2
+; AVX2-NEXT: vpsllvd %xmm1, %xmm2, %xmm1
+; AVX2-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX2-NEXT: vpaddd %xmm2, %xmm1, %xmm1
+; AVX2-NEXT: vpand %xmm1, %xmm0, %xmm0
+; AVX2-NEXT: retq
+ %1 = shl <4 x i32> <i32 1, i32 1, i32 1, i32 1>, %y
+ %2 = urem <4 x i32> %x, %1
+ ret <4 x i32> %2
+}
+
+define <4 x i32> @combine_vec_urem_by_pow2d(<4 x i32> %x, <4 x i32> %y) {
+; SSE-LABEL: combine_vec_urem_by_pow2d:
+; SSE: # BB#0:
+; SSE-NEXT: movdqa %xmm1, %xmm2
+; SSE-NEXT: psrldq {{.*#+}} xmm2 = xmm2[12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
+; SSE-NEXT: movdqa {{.*#+}} xmm3 = [2147483648,2147483648,2147483648,2147483648]
+; SSE-NEXT: movdqa %xmm3, %xmm4
+; SSE-NEXT: psrld %xmm2, %xmm4
+; SSE-NEXT: movdqa %xmm1, %xmm2
+; SSE-NEXT: psrlq $32, %xmm2
+; SSE-NEXT: movdqa %xmm3, %xmm5
+; SSE-NEXT: psrld %xmm2, %xmm5
+; SSE-NEXT: pblendw {{.*#+}} xmm5 = xmm5[0,1,2,3],xmm4[4,5,6,7]
+; SSE-NEXT: pxor %xmm2, %xmm2
+; SSE-NEXT: pmovzxdq {{.*#+}} xmm4 = xmm1[0],zero,xmm1[1],zero
+; SSE-NEXT: punpckhdq {{.*#+}} xmm1 = xmm1[2],xmm2[2],xmm1[3],xmm2[3]
+; SSE-NEXT: movdqa %xmm3, %xmm2
+; SSE-NEXT: psrld %xmm1, %xmm2
+; SSE-NEXT: psrld %xmm4, %xmm3
+; SSE-NEXT: pblendw {{.*#+}} xmm3 = xmm3[0,1,2,3],xmm2[4,5,6,7]
+; SSE-NEXT: pblendw {{.*#+}} xmm3 = xmm3[0,1],xmm5[2,3],xmm3[4,5],xmm5[6,7]
+; SSE-NEXT: pcmpeqd %xmm1, %xmm1
+; SSE-NEXT: paddd %xmm3, %xmm1
+; SSE-NEXT: pand %xmm1, %xmm0
+; SSE-NEXT: retq
+;
+; AVX1-LABEL: combine_vec_urem_by_pow2d:
+; AVX1: # BB#0:
+; AVX1-NEXT: vpsrldq {{.*#+}} xmm2 = xmm1[12,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
+; AVX1-NEXT: vmovdqa {{.*#+}} xmm3 = [2147483648,2147483648,2147483648,2147483648]
+; AVX1-NEXT: vpsrld %xmm2, %xmm3, %xmm2
+; AVX1-NEXT: vpsrlq $32, %xmm1, %xmm4
+; AVX1-NEXT: vpsrld %xmm4, %xmm3, %xmm4
+; AVX1-NEXT: vpblendw {{.*#+}} xmm2 = xmm4[0,1,2,3],xmm2[4,5,6,7]
+; AVX1-NEXT: vpxor %xmm4, %xmm4, %xmm4
+; AVX1-NEXT: vpunpckhdq {{.*#+}} xmm4 = xmm1[2],xmm4[2],xmm1[3],xmm4[3]
+; AVX1-NEXT: vpsrld %xmm4, %xmm3, %xmm4
+; AVX1-NEXT: vpmovzxdq {{.*#+}} xmm1 = xmm1[0],zero,xmm1[1],zero
+; AVX1-NEXT: vpsrld %xmm1, %xmm3, %xmm1
+; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm1[0,1,2,3],xmm4[4,5,6,7]
+; AVX1-NEXT: vpblendw {{.*#+}} xmm1 = xmm1[0,1],xmm2[2,3],xmm1[4,5],xmm2[6,7]
+; AVX1-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX1-NEXT: vpaddd %xmm2, %xmm1, %xmm1
+; AVX1-NEXT: vpand %xmm1, %xmm0, %xmm0
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: combine_vec_urem_by_pow2d:
+; AVX2: # BB#0:
+; AVX2-NEXT: vpbroadcastd {{.*}}(%rip), %xmm2
+; AVX2-NEXT: vpsrlvd %xmm1, %xmm2, %xmm1
+; AVX2-NEXT: vpcmpeqd %xmm2, %xmm2, %xmm2
+; AVX2-NEXT: vpaddd %xmm2, %xmm1, %xmm1
+; AVX2-NEXT: vpand %xmm1, %xmm0, %xmm0
+; AVX2-NEXT: retq
+ %1 = lshr <4 x i32> <i32 -2147483648, i32 -2147483648, i32 -2147483648, i32 -2147483648>, %y
+ %2 = urem <4 x i32> %x, %1
+ ret <4 x i32> %2
+}
+
; fold (urem x, (shl pow2, y)) -> (and x, (add (shl pow2, y), -1))
define <4 x i32> @combine_vec_urem_by_shl_pow2a(<4 x i32> %x, <4 x i32> %y) {
; SSE-LABEL: combine_vec_urem_by_shl_pow2a:
diff --git a/test/CodeGen/X86/constant-hoisting-bfi.ll b/test/CodeGen/X86/constant-hoisting-bfi.ll
new file mode 100644
index 000000000000..83589b7706f7
--- /dev/null
+++ b/test/CodeGen/X86/constant-hoisting-bfi.ll
@@ -0,0 +1,115 @@
+; RUN: opt -consthoist -mtriple=x86_64-unknown-linux-gnu -consthoist-with-block-frequency=true -S < %s | FileCheck %s
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+
+; Check when BFI is enabled for constant hoisting, constant 214748364701
+; will not be hoisted to the func entry.
+; CHECK-LABEL: @foo(
+; CHECK: entry:
+; CHECK-NOT: bitcast i64 214748364701 to i64
+; CHECK: if.then:
+
+; Function Attrs: norecurse nounwind uwtable
+define i64 @foo(i64* nocapture %a) {
+entry:
+ %arrayidx = getelementptr inbounds i64, i64* %a, i64 9
+ %t0 = load i64, i64* %arrayidx, align 8
+ %cmp = icmp slt i64 %t0, 564
+ br i1 %cmp, label %if.then, label %if.else5
+
+if.then: ; preds = %entry
+ %arrayidx1 = getelementptr inbounds i64, i64* %a, i64 5
+ %t1 = load i64, i64* %arrayidx1, align 8
+ %cmp2 = icmp slt i64 %t1, 1009
+ br i1 %cmp2, label %if.then3, label %return
+
+if.then3: ; preds = %if.then
+ %arrayidx4 = getelementptr inbounds i64, i64* %a, i64 6
+ %t2 = load i64, i64* %arrayidx4, align 8
+ %inc = add nsw i64 %t2, 1
+ store i64 %inc, i64* %arrayidx4, align 8
+ br label %return
+
+if.else5: ; preds = %entry
+ %arrayidx6 = getelementptr inbounds i64, i64* %a, i64 6
+ %t3 = load i64, i64* %arrayidx6, align 8
+ %cmp7 = icmp slt i64 %t3, 3512
+ br i1 %cmp7, label %if.then8, label %return
+
+if.then8: ; preds = %if.else5
+ %arrayidx9 = getelementptr inbounds i64, i64* %a, i64 7
+ %t4 = load i64, i64* %arrayidx9, align 8
+ %inc10 = add nsw i64 %t4, 1
+ store i64 %inc10, i64* %arrayidx9, align 8
+ br label %return
+
+return: ; preds = %if.else5, %if.then, %if.then8, %if.then3
+ %retval.0 = phi i64 [ 214748364701, %if.then3 ], [ 214748364701, %if.then8 ], [ 250148364702, %if.then ], [ 256148364704, %if.else5 ]
+ ret i64 %retval.0
+}
+
+; Check when BFI is enabled for constant hoisting, constant 214748364701
+; in while.body will be hoisted to while.body.preheader. 214748364701 in
+; if.then16 and if.else10 will be merged and hoisted to the beginning of
+; if.else10 because if.else10 dominates if.then16.
+; CHECK-LABEL: @goo(
+; CHECK: entry:
+; CHECK-NOT: bitcast i64 214748364701 to i64
+; CHECK: while.body.preheader:
+; CHECK-NEXT: bitcast i64 214748364701 to i64
+; CHECK-NOT: bitcast i64 214748364701 to i64
+; CHECK: if.else10:
+; CHECK-NEXT: bitcast i64 214748364701 to i64
+; CHECK-NOT: bitcast i64 214748364701 to i64
+define i64 @goo(i64* nocapture %a) {
+entry:
+ %arrayidx = getelementptr inbounds i64, i64* %a, i64 9
+ %t0 = load i64, i64* %arrayidx, align 8
+ %cmp = icmp ult i64 %t0, 56
+ br i1 %cmp, label %if.then, label %if.else10, !prof !0
+
+if.then: ; preds = %entry
+ %arrayidx1 = getelementptr inbounds i64, i64* %a, i64 5
+ %t1 = load i64, i64* %arrayidx1, align 8
+ %cmp2 = icmp ult i64 %t1, 10
+ br i1 %cmp2, label %while.cond.preheader, label %return, !prof !0
+
+while.cond.preheader: ; preds = %if.then
+ %arrayidx7 = getelementptr inbounds i64, i64* %a, i64 6
+ %t2 = load i64, i64* %arrayidx7, align 8
+ %cmp823 = icmp ugt i64 %t2, 10000
+ br i1 %cmp823, label %while.body.preheader, label %return
+
+while.body.preheader: ; preds = %while.cond.preheader
+ br label %while.body
+
+while.body: ; preds = %while.body.preheader, %while.body
+ %t3 = phi i64 [ %add, %while.body ], [ %t2, %while.body.preheader ]
+ %add = add i64 %t3, 214748364701
+ %cmp8 = icmp ugt i64 %add, 10000
+ br i1 %cmp8, label %while.body, label %while.cond.return.loopexit_crit_edge
+
+if.else10: ; preds = %entry
+ %arrayidx11 = getelementptr inbounds i64, i64* %a, i64 6
+ %t4 = load i64, i64* %arrayidx11, align 8
+ %add2 = add i64 %t4, 214748364701
+ %cmp12 = icmp ult i64 %add2, 35
+ br i1 %cmp12, label %if.then16, label %return, !prof !0
+
+if.then16: ; preds = %if.else10
+ %arrayidx17 = getelementptr inbounds i64, i64* %a, i64 7
+ %t5 = load i64, i64* %arrayidx17, align 8
+ %inc = add i64 %t5, 1
+ store i64 %inc, i64* %arrayidx17, align 8
+ br label %return
+
+while.cond.return.loopexit_crit_edge: ; preds = %while.body
+ store i64 %add, i64* %arrayidx7, align 8
+ br label %return
+
+return: ; preds = %while.cond.preheader, %while.cond.return.loopexit_crit_edge, %if.else10, %if.then, %if.then16
+ %retval.0 = phi i64 [ 214748364701, %if.then16 ], [ 0, %if.then ], [ 0, %if.else10 ], [ 0, %while.cond.return.loopexit_crit_edge ], [ 0, %while.cond.preheader ]
+ ret i64 %retval.0
+}
+
+!0 = !{!"branch_weights", i32 1, i32 2000}
diff --git a/test/CodeGen/X86/dagcombine-cse.ll b/test/CodeGen/X86/dagcombine-cse.ll
index a283bcc6d460..726e30fce63b 100644
--- a/test/CodeGen/X86/dagcombine-cse.ll
+++ b/test/CodeGen/X86/dagcombine-cse.ll
@@ -30,7 +30,7 @@ define i32 @t(i8* %ref_frame_ptr, i32 %ref_frame_stride, i32 %idxX, i32 %idxY) n
; X64-NEXT: shlq $32, %rcx
; X64-NEXT: movl (%rdi,%rax), %eax
; X64-NEXT: orq %rcx, %rax
-; X64-NEXT: movd %rax, %xmm0
+; X64-NEXT: movq %rax, %xmm0
; X64-NEXT: movq {{.*#+}} xmm0 = xmm0[0],zero
; X64-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,1,1,2,4,5,6,7]
; X64-NEXT: movd %xmm0, %eax
diff --git a/test/CodeGen/X86/dwarf-headers.ll b/test/CodeGen/X86/dwarf-headers.ll
index 612807dd8123..c2111f672a2e 100644
--- a/test/CodeGen/X86/dwarf-headers.ll
+++ b/test/CodeGen/X86/dwarf-headers.ll
@@ -1,16 +1,16 @@
-; RUN: llc -split-dwarf=Disable -dwarf-version=4 -generate-type-units \
+; RUN: llc -dwarf-version=4 -generate-type-units \
; RUN: -filetype=obj -O0 -mtriple=x86_64-unknown-linux-gnu < %s \
; RUN: | llvm-dwarfdump - | FileCheck %s --check-prefix=SINGLE-4
-; RUN: llc -split-dwarf=Enable -dwarf-version=4 -generate-type-units \
+; RUN: llc -split-dwarf-file=foo.dwo -dwarf-version=4 -generate-type-units \
; RUN: -filetype=obj -O0 -mtriple=x86_64-unknown-linux-gnu < %s \
; RUN: | llvm-dwarfdump - | FileCheck %s --check-prefix=SPLIT-4
-; RUN: llc -split-dwarf=Disable -dwarf-version=5 -generate-type-units \
+; RUN: llc -dwarf-version=5 -generate-type-units \
; RUN: -filetype=obj -O0 -mtriple=x86_64-unknown-linux-gnu < %s \
; RUN: | llvm-dwarfdump - | FileCheck %s --check-prefix=SINGLE-5
-; RUN: llc -split-dwarf=Enable -dwarf-version=5 -generate-type-units \
+; RUN: llc -split-dwarf-file=foo.dwo -dwarf-version=5 -generate-type-units \
; RUN: -filetype=obj -O0 -mtriple=x86_64-unknown-linux-gnu < %s \
; RUN: | llvm-dwarfdump - | FileCheck %s --check-prefix=SPLIT-5
diff --git a/test/CodeGen/X86/eh-frame-unreachable.ll b/test/CodeGen/X86/eh-frame-unreachable.ll
new file mode 100644
index 000000000000..a7abc8a057fb
--- /dev/null
+++ b/test/CodeGen/X86/eh-frame-unreachable.ll
@@ -0,0 +1,11 @@
+; RUN: llc < %s -mtriple=x86_64-apple-darwin | FileCheck %s
+; Test that we don't emit a row that extends beyond the FDE's range_size.
+;
+; CHECK: movq %rsp, %rbp
+; CHECK-NEXT: .cfi_endproc
+; CHECK-NOT: .cfi
+
+define void @f() #0 {
+ unreachable
+}
+attributes #0 = { "no-frame-pointer-elim"="true" }
diff --git a/test/CodeGen/X86/empty-function.ll b/test/CodeGen/X86/empty-function.ll
new file mode 100644
index 000000000000..92bebd0ab1a7
--- /dev/null
+++ b/test/CodeGen/X86/empty-function.ll
@@ -0,0 +1,22 @@
+; RUN: llc < %s -mtriple=i686-pc-win32 | FileCheck -check-prefix=CHECK -check-prefix=WIN32 %s
+; RUN: llc < %s -mtriple=x86_64-pc-win32 | FileCheck -check-prefix=CHECK -check-prefix=WIN64 %s
+; RUN: llc < %s -mtriple=i386-linux-gnu | FileCheck -check-prefix=LINUX %s
+
+target datalayout = "e-m:x-p:32:32-i64:64-f80:32-n8:16:32-a:0:32-S32"
+target triple = "i686-pc-windows-msvc18.0.0"
+
+; Don't emit empty functions on Windows; it can lead to duplicate entries
+; (multiple functions sharing the same RVA) in the Guard CF Function Table which
+; the kernel refuses to load.
+
+define void @f() {
+entry:
+ unreachable
+
+; CHECK-LABEL: f:
+; WIN32: nop
+; WIN64: ud2
+; LINUX-NOT: nop
+; LINUX-NOT: ud2
+
+}
diff --git a/test/CodeGen/X86/empty-functions.ll b/test/CodeGen/X86/empty-functions.ll
index 735df2a4196d..0c139534e567 100644
--- a/test/CodeGen/X86/empty-functions.ll
+++ b/test/CodeGen/X86/empty-functions.ll
@@ -23,8 +23,6 @@ entry:
; CHECK-FP-NEXT: :
; CHECK-FP-NEXT: .cfi_offset %rbp, -16
; CHECK-FP-NEXT: movq %rsp, %rbp
-; CHECK-FP-NEXT: :
-; CHECK-FP-NEXT: .cfi_def_cfa_register %rbp
; CHECK-FP-NEXT: .cfi_endproc
; An empty function is perfectly fine on ELF.
@@ -35,9 +33,7 @@ entry:
; LINUX-NO-FP-NEXT: .size func, .L{{.*}}-func
; LINUX-NO-FP-NEXT: .cfi_endproc
-; A cfi directive can point to the end of a function. It (and in fact the
-; entire body) could be optimized out because of the unreachable, but we
-; don't do it right now.
+; A cfi directive cannot point to the end of a function.
; LINUX-FP: func:
; LINUX-FP-NEXT: .cfi_startproc
; LINUX-FP-NEXT: {{^}}#
@@ -48,7 +44,5 @@ entry:
; LINUX-FP-NEXT: .cfi_offset %rbp, -16
; LINUX-FP-NEXT: movq %rsp, %rbp
; LINUX-FP-NEXT:{{^}}.L{{.*}}:{{$}}
-; LINUX-FP-NEXT: .cfi_def_cfa_register %rbp
-; LINUX-FP-NEXT:{{^}}.L{{.*}}:{{$}}
; LINUX-FP-NEXT: .size func, .Lfunc_end0-func
; LINUX-FP-NEXT: .cfi_endproc
diff --git a/test/CodeGen/X86/extractelement-index.ll b/test/CodeGen/X86/extractelement-index.ll
index e36e33ffe66b..228ce70b4009 100644
--- a/test/CodeGen/X86/extractelement-index.ll
+++ b/test/CodeGen/X86/extractelement-index.ll
@@ -320,7 +320,7 @@ define i32 @extractelement_v8i32_7(<8 x i32> %a) nounwind {
define i64 @extractelement_v2i64_0(<2 x i64> %a, i256 %i) nounwind {
; SSE-LABEL: extractelement_v2i64_0:
; SSE: # BB#0:
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: retq
;
; AVX-LABEL: extractelement_v2i64_0:
@@ -335,7 +335,7 @@ define i64 @extractelement_v2i64_1(<2 x i64> %a, i256 %i) nounwind {
; SSE2-LABEL: extractelement_v2i64_1:
; SSE2: # BB#0:
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rax
+; SSE2-NEXT: movq %xmm0, %rax
; SSE2-NEXT: retq
;
; SSE41-LABEL: extractelement_v2i64_1:
@@ -355,7 +355,7 @@ define i64 @extractelement_v4i64_1(<4 x i64> %a, i256 %i) nounwind {
; SSE2-LABEL: extractelement_v4i64_1:
; SSE2: # BB#0:
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rax
+; SSE2-NEXT: movq %xmm0, %rax
; SSE2-NEXT: retq
;
; SSE41-LABEL: extractelement_v4i64_1:
@@ -376,7 +376,7 @@ define i64 @extractelement_v4i64_3(<4 x i64> %a, i256 %i) nounwind {
; SSE2-LABEL: extractelement_v4i64_3:
; SSE2: # BB#0:
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rax
+; SSE2-NEXT: movq %xmm0, %rax
; SSE2-NEXT: retq
;
; SSE41-LABEL: extractelement_v4i64_3:
diff --git a/test/CodeGen/X86/fold-tied-op.ll b/test/CodeGen/X86/fold-tied-op.ll
index 5c481197c3b4..d68236e9d250 100644
--- a/test/CodeGen/X86/fold-tied-op.ll
+++ b/test/CodeGen/X86/fold-tied-op.ll
@@ -7,7 +7,6 @@ target triple = "i386--netbsd"
; CHECK-LABEL: fn1
; CHECK: addl {{.*#+}} 4-byte Folded Reload
-; CHECK: addl {{.*#+}} 4-byte Folded Reload
; CHECK: imull {{.*#+}} 4-byte Folded Reload
; CHECK: orl {{.*#+}} 4-byte Folded Reload
; CHECK: retl
diff --git a/test/CodeGen/X86/gather-addresses.ll b/test/CodeGen/X86/gather-addresses.ll
index f7d4eb380d57..c3109673468e 100644
--- a/test/CodeGen/X86/gather-addresses.ll
+++ b/test/CodeGen/X86/gather-addresses.ll
@@ -11,7 +11,7 @@
; LIN: movdqa (%rsi), %xmm0
; LIN: pand (%rdx), %xmm0
; LIN: pextrq $1, %xmm0, %r[[REG4:.+]]
-; LIN: movd %xmm0, %r[[REG2:.+]]
+; LIN: movq %xmm0, %r[[REG2:.+]]
; LIN: movslq %e[[REG2]], %r[[REG1:.+]]
; LIN: sarq $32, %r[[REG2]]
; LIN: movslq %e[[REG4]], %r[[REG3:.+]]
@@ -24,7 +24,7 @@
; WIN: movdqa (%rdx), %xmm0
; WIN: pand (%r8), %xmm0
; WIN: pextrq $1, %xmm0, %r[[REG4:.+]]
-; WIN: movd %xmm0, %r[[REG2:.+]]
+; WIN: movq %xmm0, %r[[REG2:.+]]
; WIN: movslq %e[[REG2]], %r[[REG1:.+]]
; WIN: sarq $32, %r[[REG2]]
; WIN: movslq %e[[REG4]], %r[[REG3:.+]]
diff --git a/test/CodeGen/X86/i256-add.ll b/test/CodeGen/X86/i256-add.ll
index a745f652d065..7b2656897e0e 100644
--- a/test/CodeGen/X86/i256-add.ll
+++ b/test/CodeGen/X86/i256-add.ll
@@ -12,34 +12,35 @@ define void @add(i256* %p, i256* %q) nounwind {
; X32-NEXT: subl $12, %esp
; X32-NEXT: movl {{[0-9]+}}(%esp), %eax
; X32-NEXT: movl {{[0-9]+}}(%esp), %ecx
-; X32-NEXT: movl 8(%ecx), %edx
-; X32-NEXT: movl (%ecx), %ebx
-; X32-NEXT: movl 4(%ecx), %edi
+; X32-NEXT: movl 8(%ecx), %edi
+; X32-NEXT: movl (%ecx), %edx
+; X32-NEXT: movl 4(%ecx), %ebx
; X32-NEXT: movl 28(%eax), %esi
; X32-NEXT: movl %esi, {{[0-9]+}}(%esp) # 4-byte Spill
; X32-NEXT: movl 24(%eax), %ebp
-; X32-NEXT: addl (%eax), %ebx
-; X32-NEXT: adcl 4(%eax), %edi
-; X32-NEXT: adcl 8(%eax), %edx
+; X32-NEXT: addl (%eax), %edx
; X32-NEXT: movl %edx, {{[0-9]+}}(%esp) # 4-byte Spill
-; X32-NEXT: movl 20(%eax), %esi
+; X32-NEXT: adcl 4(%eax), %ebx
+; X32-NEXT: adcl 8(%eax), %edi
+; X32-NEXT: movl %edi, (%esp) # 4-byte Spill
+; X32-NEXT: movl 20(%eax), %edi
; X32-NEXT: movl 12(%eax), %edx
-; X32-NEXT: movl 16(%eax), %eax
+; X32-NEXT: movl 16(%eax), %esi
; X32-NEXT: adcl 12(%ecx), %edx
-; X32-NEXT: adcl 16(%ecx), %eax
-; X32-NEXT: adcl 20(%ecx), %esi
-; X32-NEXT: adcl 24(%ecx), %ebp
-; X32-NEXT: movl %ebp, (%esp) # 4-byte Spill
+; X32-NEXT: adcl 16(%ecx), %esi
+; X32-NEXT: adcl 20(%ecx), %edi
+; X32-NEXT: movl %ebp, %eax
+; X32-NEXT: adcl 24(%ecx), %eax
; X32-NEXT: movl {{[0-9]+}}(%esp), %ebp # 4-byte Reload
; X32-NEXT: adcl %ebp, 28(%ecx)
+; X32-NEXT: movl (%esp), %ebp # 4-byte Reload
+; X32-NEXT: movl %ebp, 8(%ecx)
+; X32-NEXT: movl %ebx, 4(%ecx)
+; X32-NEXT: movl {{[0-9]+}}(%esp), %ebx # 4-byte Reload
; X32-NEXT: movl %ebx, (%ecx)
-; X32-NEXT: movl %edi, 4(%ecx)
-; X32-NEXT: movl {{[0-9]+}}(%esp), %edi # 4-byte Reload
-; X32-NEXT: movl %edi, 8(%ecx)
; X32-NEXT: movl %edx, 12(%ecx)
-; X32-NEXT: movl %eax, 16(%ecx)
-; X32-NEXT: movl %esi, 20(%ecx)
-; X32-NEXT: movl (%esp), %eax # 4-byte Reload
+; X32-NEXT: movl %esi, 16(%ecx)
+; X32-NEXT: movl %edi, 20(%ecx)
; X32-NEXT: movl %eax, 24(%ecx)
; X32-NEXT: addl $12, %esp
; X32-NEXT: popl %esi
@@ -58,9 +59,9 @@ define void @add(i256* %p, i256* %q) nounwind {
; X64-NEXT: adcq 8(%rsi), %rdx
; X64-NEXT: adcq 16(%rsi), %rax
; X64-NEXT: adcq %r8, 24(%rdi)
-; X64-NEXT: movq %rcx, (%rdi)
-; X64-NEXT: movq %rdx, 8(%rdi)
; X64-NEXT: movq %rax, 16(%rdi)
+; X64-NEXT: movq %rdx, 8(%rdi)
+; X64-NEXT: movq %rcx, (%rdi)
; X64-NEXT: retq
%a = load i256, i256* %p
%b = load i256, i256* %q
@@ -96,9 +97,9 @@ define void @sub(i256* %p, i256* %q) nounwind {
; X32-NEXT: sbbl 24(%esi), %eax
; X32-NEXT: movl 28(%esi), %esi
; X32-NEXT: sbbl %esi, 28(%ecx)
-; X32-NEXT: movl %ebx, (%ecx)
-; X32-NEXT: movl %ebp, 4(%ecx)
; X32-NEXT: movl %edi, 8(%ecx)
+; X32-NEXT: movl %ebp, 4(%ecx)
+; X32-NEXT: movl %ebx, (%ecx)
; X32-NEXT: movl {{[0-9]+}}(%esp), %esi # 4-byte Reload
; X32-NEXT: movl %esi, 12(%ecx)
; X32-NEXT: movl (%esp), %esi # 4-byte Reload
@@ -122,9 +123,9 @@ define void @sub(i256* %p, i256* %q) nounwind {
; X64-NEXT: sbbq 8(%rsi), %rdx
; X64-NEXT: sbbq 16(%rsi), %rax
; X64-NEXT: sbbq %r8, 24(%rdi)
-; X64-NEXT: movq %rcx, (%rdi)
-; X64-NEXT: movq %rdx, 8(%rdi)
; X64-NEXT: movq %rax, 16(%rdi)
+; X64-NEXT: movq %rdx, 8(%rdi)
+; X64-NEXT: movq %rcx, (%rdi)
; X64-NEXT: retq
%a = load i256, i256* %p
%b = load i256, i256* %q
diff --git a/test/CodeGen/X86/i64-to-float.ll b/test/CodeGen/X86/i64-to-float.ll
index 3da1a360e290..f2fbff143121 100644
--- a/test/CodeGen/X86/i64-to-float.ll
+++ b/test/CodeGen/X86/i64-to-float.ll
@@ -251,11 +251,11 @@ define <2 x double> @clamp_sitofp_2i64_2f64(<2 x i64> %a) nounwind {
; X64-SSE-NEXT: pandn %xmm3, %xmm0
; X64-SSE-NEXT: pand {{.*}}(%rip), %xmm1
; X64-SSE-NEXT: por %xmm0, %xmm1
-; X64-SSE-NEXT: movd %xmm1, %rax
+; X64-SSE-NEXT: movq %xmm1, %rax
; X64-SSE-NEXT: xorps %xmm0, %xmm0
; X64-SSE-NEXT: cvtsi2sdq %rax, %xmm0
; X64-SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; X64-SSE-NEXT: movd %xmm1, %rax
+; X64-SSE-NEXT: movq %xmm1, %rax
; X64-SSE-NEXT: xorps %xmm1, %xmm1
; X64-SSE-NEXT: cvtsi2sdq %rax, %xmm1
; X64-SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
diff --git a/test/CodeGen/X86/insertelement-duplicates.ll b/test/CodeGen/X86/insertelement-duplicates.ll
new file mode 100644
index 000000000000..b07343362144
--- /dev/null
+++ b/test/CodeGen/X86/insertelement-duplicates.ll
@@ -0,0 +1,58 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE-32
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE-64
+; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX-32
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX-64
+
+define void @PR15298(<4 x float>* nocapture %source, <8 x float>* nocapture %dest) nounwind noinline {
+; SSE-32-LABEL: PR15298:
+; SSE-32: # BB#0: # %L.entry
+; SSE-32-NEXT: movl {{[0-9]+}}(%esp), %eax
+; SSE-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; SSE-32-NEXT: movaps 304(%ecx), %xmm0
+; SSE-32-NEXT: xorps %xmm1, %xmm1
+; SSE-32-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[0,1]
+; SSE-32-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0,1,3]
+; SSE-32-NEXT: movups %xmm1, 624(%eax)
+; SSE-32-NEXT: movups %xmm0, 608(%eax)
+; SSE-32-NEXT: retl
+;
+; SSE-64-LABEL: PR15298:
+; SSE-64: # BB#0: # %L.entry
+; SSE-64-NEXT: movaps 304(%rdi), %xmm0
+; SSE-64-NEXT: xorps %xmm1, %xmm1
+; SSE-64-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,0],xmm1[0,1]
+; SSE-64-NEXT: shufps {{.*#+}} xmm0 = xmm0[2,0,1,3]
+; SSE-64-NEXT: movups %xmm1, 624(%rsi)
+; SSE-64-NEXT: movups %xmm0, 608(%rsi)
+; SSE-64-NEXT: retq
+;
+; AVX-32-LABEL: PR15298:
+; AVX-32: # BB#0: # %L.entry
+; AVX-32-NEXT: movl {{[0-9]+}}(%esp), %eax
+; AVX-32-NEXT: movl {{[0-9]+}}(%esp), %ecx
+; AVX-32-NEXT: vbroadcastss 304(%ecx), %xmm0
+; AVX-32-NEXT: vxorps %ymm1, %ymm1, %ymm1
+; AVX-32-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0],ymm0[1,2],ymm1[3,4,5,6,7]
+; AVX-32-NEXT: vmovups %ymm0, 608(%eax)
+; AVX-32-NEXT: vzeroupper
+; AVX-32-NEXT: retl
+;
+; AVX-64-LABEL: PR15298:
+; AVX-64: # BB#0: # %L.entry
+; AVX-64-NEXT: vbroadcastss 304(%rdi), %xmm0
+; AVX-64-NEXT: vxorps %ymm1, %ymm1, %ymm1
+; AVX-64-NEXT: vblendps {{.*#+}} ymm0 = ymm1[0],ymm0[1,2],ymm1[3,4,5,6,7]
+; AVX-64-NEXT: vmovups %ymm0, 608(%rsi)
+; AVX-64-NEXT: vzeroupper
+; AVX-64-NEXT: retq
+L.entry:
+ %0 = getelementptr inbounds <4 x float>, <4 x float>* %source, i32 19
+ %1 = load <4 x float>, <4 x float>* %0, align 16
+ %2 = extractelement <4 x float> %1, i32 0
+ %3 = insertelement <8 x float> <float 0.000000e+00, float undef, float undef, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, float %2, i32 2
+ %4 = insertelement <8 x float> %3, float %2, i32 1
+ %5 = getelementptr <8 x float>, <8 x float>* %dest, i32 19
+ store <8 x float> %4, <8 x float>* %5, align 4
+ ret void
+}
diff --git a/test/CodeGen/X86/isint.ll b/test/CodeGen/X86/isint.ll
index ea38d9e4ec29..89e5f9481188 100644
--- a/test/CodeGen/X86/isint.ll
+++ b/test/CodeGen/X86/isint.ll
@@ -1,8 +1,7 @@
-; RUN: llc < %s -mtriple=x86_64-pc-unknown -mattr=+sse2 | FileCheck %s
-; RUN: llc < %s -mtriple=i686-pc-unknown -mattr=+sse2 | FileCheck %s
+; RUN: llc < %s -mtriple=x86_64-pc-unknown -mattr=+sse2 | FileCheck -check-prefix=CHECK -check-prefix=CHECK64 %s
; PR19059
-; RUN: llc < %s -mtriple=i686-pc-unknown -mattr=+sse2 | FileCheck -check-prefix=CHECK32 %s
+; RUN: llc < %s -mtriple=i686-pc-unknown -mattr=+sse2 | FileCheck -check-prefix=CHECK -check-prefix=CHECK32 %s
define i32 @isint_return(double %d) nounwind {
; CHECK-LABEL: isint_return:
@@ -15,7 +14,8 @@ define i32 @isint_return(double %d) nounwind {
%c = fcmp oeq double %d, %e
; CHECK32-NOT: movd {{.*}}, %r{{.*}}
; CHECK32-NOT: andq
-; CHECK-NEXT: movd
+; CHECK32-NEXT: movd
+; CHECK64-NEXT: movq
; CHECK-NEXT: andl
%z = zext i1 %c to i32
ret i32 %z
diff --git a/test/CodeGen/X86/lower-bitcast.ll b/test/CodeGen/X86/lower-bitcast.ll
index 62020c2d1914..79f90f49c7c6 100644
--- a/test/CodeGen/X86/lower-bitcast.ll
+++ b/test/CodeGen/X86/lower-bitcast.ll
@@ -44,16 +44,16 @@ define double @test2(double %A, double %B) {
define i64 @test3(i64 %A) {
; CHECK-LABEL: test3:
; CHECK: # BB#0:
-; CHECK-NEXT: movd %rdi, %xmm0
+; CHECK-NEXT: movq %rdi, %xmm0
; CHECK-NEXT: addps {{.*}}(%rip), %xmm0
-; CHECK-NEXT: movd %xmm0, %rax
+; CHECK-NEXT: movq %xmm0, %rax
; CHECK-NEXT: retq
;
; CHECK-WIDE-LABEL: test3:
; CHECK-WIDE: # BB#0:
-; CHECK-WIDE-NEXT: movd %rdi, %xmm0
+; CHECK-WIDE-NEXT: movq %rdi, %xmm0
; CHECK-WIDE-NEXT: addps {{.*}}(%rip), %xmm0
-; CHECK-WIDE-NEXT: movd %xmm0, %rax
+; CHECK-WIDE-NEXT: movq %xmm0, %rax
; CHECK-WIDE-NEXT: retq
%1 = bitcast i64 %A to <2 x float>
%add = fadd <2 x float> %1, <float 3.0, float 5.0>
@@ -67,18 +67,18 @@ define i64 @test3(i64 %A) {
define i64 @test4(i64 %A) {
; CHECK-LABEL: test4:
; CHECK: # BB#0:
-; CHECK-NEXT: movd %rdi, %xmm0
+; CHECK-NEXT: movq %rdi, %xmm0
; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,3]
; CHECK-NEXT: paddd {{.*}}(%rip), %xmm0
; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
-; CHECK-NEXT: movd %xmm0, %rax
+; CHECK-NEXT: movq %xmm0, %rax
; CHECK-NEXT: retq
;
; CHECK-WIDE-LABEL: test4:
; CHECK-WIDE: # BB#0:
-; CHECK-WIDE-NEXT: movd %rdi, %xmm0
+; CHECK-WIDE-NEXT: movq %rdi, %xmm0
; CHECK-WIDE-NEXT: paddd {{.*}}(%rip), %xmm0
-; CHECK-WIDE-NEXT: movd %xmm0, %rax
+; CHECK-WIDE-NEXT: movq %xmm0, %rax
; CHECK-WIDE-NEXT: retq
%1 = bitcast i64 %A to <2 x i32>
%add = add <2 x i32> %1, <i32 3, i32 5>
diff --git a/test/CodeGen/X86/memcpy-struct-by-value.ll b/test/CodeGen/X86/memcpy-struct-by-value.ll
new file mode 100644
index 000000000000..2e7a64d84000
--- /dev/null
+++ b/test/CodeGen/X86/memcpy-struct-by-value.ll
@@ -0,0 +1,48 @@
+; RUN: llc -mtriple=x86_64-linux-gnu -mattr=-ermsb < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NOFAST
+; RUN: llc -mtriple=x86_64-linux-gnu -mattr=+ermsb < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=FAST
+; RUN: llc -mtriple=i686-linux-gnu -mattr=-ermsb < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NOFAST32
+; RUN: llc -mtriple=i686-linux-gnu -mattr=+ermsb < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=FAST
+; RUN: llc -mtriple=x86_64-linux-gnu -mcpu=generic < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NOFAST
+; RUN: llc -mtriple=x86_64-linux-gnu -mcpu=haswell < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=FAST
+; RUN: llc -mtriple=x86_64-linux-gnu -mcpu=skylake < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=FAST
+; FIXME: The documentation states that ivybridge has ermsb, but this is not
+; enabled right now since I could not confirm by testing.
+; RUN: llc -mtriple=x86_64-linux-gnu -mcpu=ivybridge < %s -o - | FileCheck %s --check-prefix=ALL --check-prefix=NOFAST
+
+%struct.large = type { [4096 x i8] }
+
+declare void @foo(%struct.large* align 8 byval) nounwind
+
+define void @test1(%struct.large* nocapture %x) nounwind {
+ call void @foo(%struct.large* align 8 byval %x)
+ ret void
+
+; ALL-LABEL: test1:
+; NOFAST: rep;movsq
+; NOFAST32: rep;movsl
+; FAST: rep;movsb
+}
+
+define void @test2(%struct.large* nocapture %x) nounwind minsize {
+ call void @foo(%struct.large* align 8 byval %x)
+ ret void
+
+; ALL-LABEL: test2:
+; NOFAST: rep;movsq
+; NOFAST32: rep;movsl
+; FAST: rep;movsb
+}
+
+%struct.large_oddsize = type { [4095 x i8] }
+
+declare void @foo_oddsize(%struct.large_oddsize* align 8 byval) nounwind
+
+define void @test3(%struct.large_oddsize* nocapture %x) nounwind minsize {
+ call void @foo_oddsize(%struct.large_oddsize* align 8 byval %x)
+ ret void
+
+; ALL-LABEL: test3:
+; NOFAST: rep;movsb
+; NOFAST32: rep;movsb
+; FAST: rep;movsb
+}
diff --git a/test/CodeGen/X86/merge_store.ll b/test/CodeGen/X86/merge_store.ll
index dcb7bd010e56..f4c4c6d36067 100644
--- a/test/CodeGen/X86/merge_store.ll
+++ b/test/CodeGen/X86/merge_store.ll
@@ -29,17 +29,8 @@ entry:
ret void
}
-
-
;; CHECK-LABEL: indexed-store-merge
-
-;; We should be able to merge the 4 consecutive stores.
-;; FIXMECHECK: movl $0, 2(%rsi,%rdi)
-
-;; CHECK: movb $0, 2(%rsi,%rdi)
-;; CHECK: movb $0, 3(%rsi,%rdi)
-;; CHECK: movb $0, 4(%rsi,%rdi)
-;; CHECK: movb $0, 5(%rsi,%rdi)
+;; CHECK: movl $0, 2(%rsi,%rdi)
;; CHECK: movb $0, (%rsi)
define void @indexed-store-merge(i64 %p, i8* %v) {
entry:
diff --git a/test/CodeGen/X86/mmx-bitcast.ll b/test/CodeGen/X86/mmx-bitcast.ll
index 9128e5cb4c9d..30cf474dc38b 100644
--- a/test/CodeGen/X86/mmx-bitcast.ll
+++ b/test/CodeGen/X86/mmx-bitcast.ll
@@ -80,7 +80,7 @@ define i64 @t5(i32 %a, i32 %b) nounwind readnone {
; CHECK-NEXT: movd %esi, %xmm0
; CHECK-NEXT: movd %edi, %xmm1
; CHECK-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
-; CHECK-NEXT: movd %xmm1, %rax
+; CHECK-NEXT: movq %xmm1, %rax
; CHECK-NEXT: retq
%v0 = insertelement <2 x i32> undef, i32 %a, i32 0
%v1 = insertelement <2 x i32> %v0, i32 %b, i32 1
diff --git a/test/CodeGen/X86/mmx-cvt.ll b/test/CodeGen/X86/mmx-cvt.ll
index 8f2da9535399..fd6c5081b5a3 100644
--- a/test/CodeGen/X86/mmx-cvt.ll
+++ b/test/CodeGen/X86/mmx-cvt.ll
@@ -347,7 +347,7 @@ define <4 x float> @cvt_v2i32_v2f32(<1 x i64>*) nounwind {
; X64-NEXT: movq (%rdi), %mm0
; X64-NEXT: paddd %mm0, %mm0
; X64-NEXT: movd %mm0, %rax
-; X64-NEXT: movd %rax, %xmm0
+; X64-NEXT: movq %rax, %xmm0
; X64-NEXT: cvtdq2ps %xmm0, %xmm0
; X64-NEXT: retq
%2 = bitcast <1 x i64>* %0 to x86_mmx*
diff --git a/test/CodeGen/X86/mod128.ll b/test/CodeGen/X86/mod128.ll
index 4fdee11ec83a..ae28fab9bb62 100644
--- a/test/CodeGen/X86/mod128.ll
+++ b/test/CodeGen/X86/mod128.ll
@@ -18,7 +18,7 @@ define i64 @mod128(i128 %x) {
; WIN64-DAG: movq $0, 40(%rsp)
; WIN64-DAG: movq $3, 32(%rsp)
; WIN64: callq __modti3
- ; WIN64: movd %xmm0, %rax
+ ; WIN64: movq %xmm0, %rax
%1 = srem i128 %x, 3
%2 = trunc i128 %1 to i64
diff --git a/test/CodeGen/X86/movmsk.ll b/test/CodeGen/X86/movmsk.ll
index 1caa22a15947..e40f64eb39b2 100644
--- a/test/CodeGen/X86/movmsk.ll
+++ b/test/CodeGen/X86/movmsk.ll
@@ -100,7 +100,7 @@ entry:
define void @float_call_signbit(double %n) {
; CHECK-LABEL: float_call_signbit:
; CHECK: ## BB#0: ## %entry
-; CHECK-NEXT: movd %xmm0, %rdi
+; CHECK-NEXT: movq %xmm0, %rdi
; CHECK-NEXT: shrq $63, %rdi
; CHECK-NEXT: ## kill: %EDI<def> %EDI<kill> %RDI<kill>
; CHECK-NEXT: jmp _float_call_signbit_callee ## TAILCALL
diff --git a/test/CodeGen/X86/nontemporal-2.ll b/test/CodeGen/X86/nontemporal-2.ll
index d1bb8d3e923b..337e625df168 100644
--- a/test/CodeGen/X86/nontemporal-2.ll
+++ b/test/CodeGen/X86/nontemporal-2.ll
@@ -596,14 +596,14 @@ define void @test_extract_i64(<2 x i64> %arg, i64* %dst) {
; SSE2-LABEL: test_extract_i64:
; SSE2: # BB#0:
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rax
+; SSE2-NEXT: movq %xmm0, %rax
; SSE2-NEXT: movntiq %rax, (%rdi)
; SSE2-NEXT: retq
;
; SSE4A-LABEL: test_extract_i64:
; SSE4A: # BB#0:
; SSE4A-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE4A-NEXT: movd %xmm0, %rax
+; SSE4A-NEXT: movq %xmm0, %rax
; SSE4A-NEXT: movntiq %rax, (%rdi)
; SSE4A-NEXT: retq
;
diff --git a/test/CodeGen/X86/post-ra-sched-with-debug.mir b/test/CodeGen/X86/post-ra-sched-with-debug.mir
new file mode 100644
index 000000000000..ba5c85922c7a
--- /dev/null
+++ b/test/CodeGen/X86/post-ra-sched-with-debug.mir
@@ -0,0 +1,322 @@
+# RUN: llc -mtriple=x86_64-unknown-unknown -mcpu=btver2 -run-pass=post-RA-sched -o - %s | FileCheck %s
+
+# Test that multiple DBG_VALUE's following an instruction whose register needs
+# to be changed during the post-RA scheduler pass are updated correctly.
+
+# Test case was derived from the output from the following command and
+# the source code below:
+#
+# clang -S -emit-llvm -target x86_64 -march=btver2 -O2 -g -o - <srcfile> |
+# llc -stop-before=post-RA-sched -o -
+#
+# Source code reduced from the original 8MB source file:
+#
+# struct a;
+# class b {
+# public:
+# a *c = ap;
+# unsigned *d() { return (unsigned *)c; }
+# a *ap;
+# };
+# enum { e = 2 };
+# template <typename f> f *g(f *h, f *i) {
+# long j = long(i), k = -!h;
+# return reinterpret_cast<f *>(long(h) | k & j);
+# }
+# class l {
+# public:
+# l(int);
+# int m;
+# };
+# unsigned *n;
+# unsigned o;
+# class p {
+# public:
+# int aa();
+# unsigned *q() {
+# n = r.d();
+# return g(n, &o);
+# }
+# b r;
+# };
+# class s : l {
+# public:
+# p t;
+# s(int h) : l(h), ab(t), ac(~0 << h) { ae(); }
+# p &ab;
+# int ac;
+# void ae() {
+# const unsigned *v;
+# const unsigned u = 0;
+# v = ab.q();
+# const unsigned *x = g(v, &u);
+# int w = x[m] & ac;
+# while (w) {
+# int z = (ab.aa() - 1) / e;
+# if (m <= z)
+# return;
+# }
+# }
+# };
+# class ad {
+# public:
+# ~ad() {
+# for (y();;)
+# ;
+# }
+# class y {
+# public:
+# y() : af(0) {}
+# s af;
+# };
+# };
+# class ag {
+# ad ah;
+# };
+# enum ai {};
+# class aj {
+# public:
+# aj(unsigned(ai));
+# ag ak;
+# };
+# struct al {
+# static unsigned am(ai);
+# };
+# template <int> struct an : al { static aj ao; };
+# template <> aj an<0>::ao(am);
+
+--- |
+
+ %class.s = type <{ %class.l, [4 x i8], %class.p, %class.p*, i32, [4 x i8] }>
+ %class.l = type { i32 }
+ %class.p = type { %class.b }
+ %class.b = type { %struct.a*, %struct.a* }
+ %struct.a = type opaque
+
+ @n = local_unnamed_addr global i32* null, align 8
+ @o = global i32 0, align 4
+
+ define linkonce_odr void @_ZN1sC2Ei(%class.s*, i32) unnamed_addr #0 align 2 !dbg !4 {
+ %3 = alloca i32, align 4
+ %4 = bitcast %class.s* %0 to %class.l*
+ tail call void @_ZN1lC2Ei(%class.l* %4, i32 %1)
+ %5 = getelementptr inbounds %class.s, %class.s* %0, i64 0, i32 2
+ tail call void @llvm.dbg.value(metadata %class.p* %5, i64 0, metadata !10, metadata !17), !dbg !18
+ tail call void @llvm.dbg.value(metadata %class.p* %5, i64 0, metadata !20, metadata !17), !dbg !27
+ %6 = getelementptr inbounds %class.s, %class.s* %0, i64 0, i32 2, i32 0, i32 1
+ %7 = bitcast %struct.a** %6 to i64*
+ %8 = load i64, i64* %7, align 8
+ %9 = bitcast %class.p* %5 to i64*
+ store i64 %8, i64* %9, align 8
+ %10 = getelementptr inbounds %class.s, %class.s* %0, i64 0, i32 3
+ store %class.p* %5, %class.p** %10, align 8
+ %11 = getelementptr inbounds %class.s, %class.s* %0, i64 0, i32 4
+ %12 = shl i32 -1, %1
+ store i32 %12, i32* %11, align 8
+ store i32 0, i32* %3, align 4
+ %13 = bitcast %class.p* %5 to i32**
+ %14 = load i32*, i32** %13, align 8
+ store i32* %14, i32** @n, align 8
+ %15 = icmp eq i32* %14, null
+ %16 = ptrtoint i32* %14 to i64
+ %17 = select i1 %15, i64 ptrtoint (i32* @o to i64), i64 0
+ %18 = or i64 %17, %16
+ tail call void @llvm.dbg.value(metadata i32* %3, i64 0, metadata !29, metadata !35), !dbg !36
+ tail call void @llvm.dbg.value(metadata i32* %3, i64 0, metadata !39, metadata !17), !dbg !44
+ %19 = ptrtoint i32* %3 to i64
+ call void @llvm.dbg.value(metadata i64 %19, i64 0, metadata !46, metadata !17), !dbg !48
+ %20 = icmp eq i64 %18, 0
+ %21 = select i1 %20, i64 %19, i64 0
+ %22 = or i64 %21, %18
+ %23 = inttoptr i64 %22 to i32*
+ %24 = bitcast %class.s* %0 to i32*
+ %25 = load i32, i32* %24, align 8
+ %26 = sext i32 %25 to i64
+ %27 = getelementptr inbounds i32, i32* %23, i64 %26
+ %28 = load i32, i32* %27, align 4
+ %29 = and i32 %12, %28
+ %30 = icmp eq i32 %29, 0
+ br i1 %30, label %47, label %31
+
+ ; <label>:31: ; preds = %2
+ %32 = bitcast %class.s* %0 to i32*
+ %33 = call i32 @_ZN1p2aaEv(%class.p* %5)
+ %34 = add nsw i32 %33, -1
+ %35 = sdiv i32 %34, 2
+ %36 = load i32, i32* %32, align 8
+ %37 = icmp sgt i32 %36, %35
+ br i1 %37, label %38, label %47
+
+ ; <label>:38: ; preds = %31
+ br label %39
+
+ ; <label>:39: ; preds = %39, %38
+ %40 = bitcast %class.s* %0 to i32*
+ %sunkaddr = ptrtoint %class.s* %0 to i64
+ %sunkaddr1 = add i64 %sunkaddr, 24
+ %sunkaddr2 = inttoptr i64 %sunkaddr1 to %class.p**
+ %41 = load %class.p*, %class.p** %sunkaddr2, align 8
+ %42 = call i32 @_ZN1p2aaEv(%class.p* %41)
+ %43 = add nsw i32 %42, -1
+ %44 = sdiv i32 %43, 2
+ %45 = load i32, i32* %40, align 8
+ %46 = icmp sgt i32 %45, %44
+ br i1 %46, label %39, label %47
+
+ ; <label>:47: ; preds = %39, %31, %2
+ ret void
+ }
+
+ declare void @_ZN1lC2Ei(%class.l*, i32) unnamed_addr #1
+
+ declare i32 @_ZN1p2aaEv(%class.p*) local_unnamed_addr #1
+
+ ; Function Attrs: nounwind readnone
+ declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
+
+ !llvm.dbg.cu = !{!0}
+ !llvm.module.flags = !{!2, !3}
+
+ !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug)
+ !1 = !DIFile(filename: "test.cpp", directory: "")
+ !2 = !{i32 2, !"Dwarf Version", i32 4}
+ !3 = !{i32 2, !"Debug Info Version", i32 3}
+ !4 = distinct !DISubprogram(name: "s", linkageName: "_ZN1sC2Ei", scope: !5, file: !1, line: 32, type: !6, isLocal: false, isDefinition: true, scopeLine: 32, flags: DIFlagPrototyped, isOptimized: true, unit: !0)
+ !5 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "s", file: !1, line: 29, size: 320, identifier: "_ZTS1s")
+ !6 = !DISubroutineType(types: !7)
+ !7 = !{null, !8, !9}
+ !8 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !5, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
+ !9 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
+ !10 = !DILocalVariable(name: "this", arg: 1, scope: !11, type: !16, flags: DIFlagArtificial | DIFlagObjectPointer)
+ !11 = distinct !DISubprogram(name: "p", linkageName: "_ZN1pC2Ev", scope: !12, file: !1, line: 20, type: !13, isLocal: false, isDefinition: true, scopeLine: 20, flags: DIFlagArtificial | DIFlagPrototyped, isOptimized: true, unit: !0)
+ !12 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "p", file: !1, line: 20, size: 128, identifier: "_ZTS1p")
+ !13 = !DISubroutineType(types: !14)
+ !14 = !{null, !15}
+ !15 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !12, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
+ !16 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !12, size: 64)
+ !17 = !DIExpression()
+ !18 = !DILocation(line: 0, scope: !11, inlinedAt: !19)
+ !19 = distinct !DILocation(line: 32, column: 3, scope: !4)
+ !20 = !DILocalVariable(name: "this", arg: 1, scope: !21, type: !26, flags: DIFlagArtificial | DIFlagObjectPointer)
+ !21 = distinct !DISubprogram(name: "b", linkageName: "_ZN1bC2Ev", scope: !22, file: !1, line: 2, type: !23, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagArtificial | DIFlagPrototyped, isOptimized: true, unit: !0)
+ !22 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "b", file: !1, line: 2, size: 128, identifier: "_ZTS1b")
+ !23 = !DISubroutineType(types: !24)
+ !24 = !{null, !25}
+ !25 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !22, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
+ !26 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !22, size: 64)
+ !27 = !DILocation(line: 0, scope: !21, inlinedAt: !28)
+ !28 = distinct !DILocation(line: 20, column: 7, scope: !11, inlinedAt: !19)
+ !29 = !DILocalVariable(name: "u", scope: !30, file: !1, line: 37, type: !33)
+ !30 = distinct !DISubprogram(name: "ae", linkageName: "_ZN1s2aeEv", scope: !5, file: !1, line: 35, type: !31, isLocal: false, isDefinition: true, scopeLine: 35, flags: DIFlagPrototyped, isOptimized: true, unit: !0)
+ !31 = !DISubroutineType(types: !32)
+ !32 = !{null, !8}
+ !33 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !34)
+ !34 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
+ !35 = !DIExpression(DW_OP_deref)
+ !36 = !DILocation(line: 37, column: 20, scope: !30, inlinedAt: !37)
+ !37 = distinct !DILocation(line: 32, column: 41, scope: !38)
+ !38 = distinct !DILexicalBlock(scope: !4, file: !1, line: 32, column: 39)
+ !39 = !DILocalVariable(name: "i", arg: 2, scope: !40, file: !1, line: 9, type: !43)
+ !40 = distinct !DISubprogram(name: "g<const unsigned int>", linkageName: "_Z1gIKjEPT_S2_S2_", scope: !1, file: !1, line: 9, type: !41, isLocal: false, isDefinition: true, scopeLine: 9, flags: DIFlagPrototyped, isOptimized: true, unit: !0)
+ !41 = !DISubroutineType(types: !42)
+ !42 = !{!43, !43, !43}
+ !43 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !33, size: 64)
+ !44 = !DILocation(line: 9, column: 37, scope: !40, inlinedAt: !45)
+ !45 = distinct !DILocation(line: 39, column: 25, scope: !30, inlinedAt: !37)
+ !46 = !DILocalVariable(name: "j", scope: !40, file: !1, line: 10, type: !47)
+ !47 = !DIBasicType(name: "long int", size: 64, encoding: DW_ATE_signed)
+ !48 = !DILocation(line: 10, column: 8, scope: !40, inlinedAt: !45)
+
+...
+---
+name: _ZN1sC2Ei
+tracksRegLiveness: true
+liveins:
+ - { reg: '%rdi' }
+ - { reg: '%esi' }
+fixedStack:
+ - { id: 0, type: spill-slot, offset: -32, size: 8, alignment: 16, callee-saved-register: '%rbx' }
+ - { id: 1, type: spill-slot, offset: -24, size: 8, alignment: 8, callee-saved-register: '%r14' }
+ - { id: 2, type: spill-slot, offset: -16, size: 8, alignment: 16 }
+stack:
+ - { id: 0, offset: -36, size: 4, alignment: 4 }
+body: |
+ bb.0:
+ successors: %bb.3, %bb.2
+ liveins: %esi, %rdi, %r14, %rbx, %rbp
+
+ ; CHECK: [[REGISTER:%r[a-z0-9]+]] = LEA64r {{%r[a-z0-9]+}}, 1, _, -20, _
+ ; CHECK-NEXT: DBG_VALUE debug-use [[REGISTER]], debug-use _, !46, !17, debug-location !48
+ ; CHECK-NEXT: DBG_VALUE debug-use [[REGISTER]], debug-use _, !39, !17, debug-location !44
+
+ frame-setup PUSH64r killed %rbp, implicit-def %rsp, implicit %rsp
+ CFI_INSTRUCTION def_cfa_offset 16
+ CFI_INSTRUCTION offset %rbp, -16
+ %rbp = frame-setup MOV64rr %rsp
+ CFI_INSTRUCTION def_cfa_register %rbp
+ frame-setup PUSH64r killed %r14, implicit-def %rsp, implicit %rsp
+ frame-setup PUSH64r killed %rbx, implicit-def %rsp, implicit %rsp
+ %rsp = frame-setup SUB64ri8 %rsp, 16, implicit-def dead %eflags
+ CFI_INSTRUCTION offset %rbx, -32
+ CFI_INSTRUCTION offset %r14, -24
+ %r14d = MOV32rr %esi
+ %rbx = MOV64rr %rdi
+ CALL64pcrel32 @_ZN1lC2Ei, csr_64, implicit %rsp, implicit %rdi, implicit %esi, implicit-def %rsp
+ %rdi = LEA64r %rbx, 1, _, 8, _
+ DBG_VALUE debug-use %rdi, debug-use _, !20, !17, debug-location !27
+ DBG_VALUE debug-use %rdi, debug-use _, !10, !17, debug-location !18
+ %rax = MOV64rm %rbx, 1, _, 16, _ :: (load 8)
+ MOV64mr %rbx, 1, _, 8, _, killed %rax :: (store 8)
+ MOV64mr %rbx, 1, _, 24, _, %rdi :: (store 8)
+ %eax = MOV32ri -1
+ %cl = MOV8rr %r14b, implicit killed %r14d
+ %eax = SHL32rCL killed %eax, implicit-def dead %eflags, implicit %cl
+ MOV32mr %rbx, 1, _, 32, _, %eax :: (store 4, align 8)
+ MOV32mi %rbp, 1, _, -20, _, 0 :: (store 4)
+ %rcx = MOV64rm %rbx, 1, _, 8, _ :: (load 8)
+ MOV64mr %rip, 1, _, @n, _, %rcx :: (store 8)
+ %edx = XOR32rr undef %edx, undef %edx, implicit-def dead %eflags, implicit-def %rdx
+ TEST64rr %rcx, %rcx, implicit-def %eflags
+ %esi = MOV32ri @o, implicit-def %rsi
+ %rsi = CMOVNE64rr killed %rsi, %rdx, implicit killed %eflags
+ %rsi = OR64rr killed %rsi, killed %rcx, implicit-def %eflags
+ %rcx = LEA64r %rbp, 1, _, -20, _
+ DBG_VALUE debug-use %rcx, debug-use _, !46, !17, debug-location !48
+ DBG_VALUE debug-use %rcx, debug-use _, !39, !17, debug-location !44
+ DBG_VALUE %rbp, -20, !29, !17, debug-location !36
+ %rcx = CMOVNE64rr killed %rcx, killed %rdx, implicit killed %eflags
+ %rcx = OR64rr killed %rcx, killed %rsi, implicit-def dead %eflags
+ %rdx = MOVSX64rm32 %rbx, 1, _, 0, _ :: (load 4, align 8)
+ TEST32rm killed %eax, killed %rcx, 4, killed %rdx, 0, _, implicit-def %eflags :: (load 4)
+ JNE_1 %bb.2, implicit %eflags
+ JMP_1 %bb.3
+
+ bb.1:
+ successors: %bb.2
+ liveins: %rbx, %rbp
+
+ %rdi = MOV64rm %rbx, 1, _, 24, _ :: (load 8)
+
+ bb.2:
+ successors: %bb.1, %bb.3
+ liveins: %rbx, %rbp, %rsp, %rdi
+
+ CALL64pcrel32 @_ZN1p2aaEv, csr_64, implicit %rsp, implicit %rdi, implicit-def %rsp, implicit-def %eax
+ %eax = KILL %eax, implicit-def %rax
+ %ecx = LEA64_32r %rax, 1, _, -1, _, implicit-def %rcx
+ %ecx = SHR32ri %ecx, 31, implicit-def dead %eflags, implicit killed %rcx, implicit-def %rcx
+ %eax = LEA64_32r killed %rax, 1, killed %rcx, -1, _
+ %eax = SAR32r1 killed %eax, implicit-def dead %eflags
+ CMP32mr %rbx, 1, _, 0, _, killed %eax, implicit-def %eflags :: (load 4, align 8), (load 4, align 8)
+ JG_1 %bb.1, implicit killed %eflags
+
+ bb.3:
+ liveins: %rbp
+
+ %rsp = ADD64ri8 %rsp, 16, implicit-def dead %eflags
+ %rbx = POP64r implicit-def %rsp, implicit %rsp
+ %r14 = POP64r implicit-def %rsp, implicit %rsp
+ %rbp = POP64r implicit-def %rsp, implicit %rsp
+ RETQ
+
+...
diff --git a/test/CodeGen/X86/pr14657.ll b/test/CodeGen/X86/pr14657.ll
new file mode 100644
index 000000000000..cc7d3e068d4a
--- /dev/null
+++ b/test/CodeGen/X86/pr14657.ll
@@ -0,0 +1,325 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE --check-prefix=SSE2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --check-prefix=SSE41
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX --check-prefix=AVX1
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
+
+; PR14657 - avoid truncation/extension of comparison results
+
+@da = common global [1024 x float] zeroinitializer, align 32
+@db = common global [1024 x float] zeroinitializer, align 32
+@dc = common global [1024 x float] zeroinitializer, align 32
+@dd = common global [1024 x float] zeroinitializer, align 32
+@dj = common global [1024 x i32] zeroinitializer, align 32
+
+define void @_Z9example25v() nounwind uwtable noinline ssp {
+; SSE2-LABEL: _Z9example25v:
+; SSE2: # BB#0: # %vector.ph
+; SSE2-NEXT: movq $-4096, %rax # imm = 0xF000
+; SSE2-NEXT: movdqa {{.*#+}} xmm0 = [1,1,1,1]
+; SSE2-NEXT: .p2align 4, 0x90
+; SSE2-NEXT: .LBB0_1: # %vector.body
+; SSE2-NEXT: # =>This Inner Loop Header: Depth=1
+; SSE2-NEXT: movaps da+4096(%rax), %xmm1
+; SSE2-NEXT: movaps da+4112(%rax), %xmm2
+; SSE2-NEXT: cmpltps db+4112(%rax), %xmm2
+; SSE2-NEXT: pshuflw {{.*#+}} xmm2 = xmm2[0,2,2,3,4,5,6,7]
+; SSE2-NEXT: pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,6,7]
+; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm2[0,2,2,3]
+; SSE2-NEXT: cmpltps db+4096(%rax), %xmm1
+; SSE2-NEXT: pshuflw {{.*#+}} xmm1 = xmm1[0,2,2,3,4,5,6,7]
+; SSE2-NEXT: pshufhw {{.*#+}} xmm1 = xmm1[0,1,2,3,4,6,6,7]
+; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,2,2,3]
+; SSE2-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
+; SSE2-NEXT: psllw $15, %xmm1
+; SSE2-NEXT: psraw $15, %xmm1
+; SSE2-NEXT: movaps dc+4096(%rax), %xmm2
+; SSE2-NEXT: movaps dc+4112(%rax), %xmm3
+; SSE2-NEXT: cmpltps dd+4112(%rax), %xmm3
+; SSE2-NEXT: pshuflw {{.*#+}} xmm3 = xmm3[0,2,2,3,4,5,6,7]
+; SSE2-NEXT: pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,6,6,7]
+; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm3[0,2,2,3]
+; SSE2-NEXT: cmpltps dd+4096(%rax), %xmm2
+; SSE2-NEXT: pshuflw {{.*#+}} xmm2 = xmm2[0,2,2,3,4,5,6,7]
+; SSE2-NEXT: pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,6,7]
+; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm2[0,2,2,3]
+; SSE2-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
+; SSE2-NEXT: psllw $15, %xmm2
+; SSE2-NEXT: psraw $15, %xmm2
+; SSE2-NEXT: pand %xmm1, %xmm2
+; SSE2-NEXT: movdqa %xmm2, %xmm1
+; SSE2-NEXT: punpcklwd {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1],xmm1[2],xmm0[2],xmm1[3],xmm0[3]
+; SSE2-NEXT: pand %xmm0, %xmm1
+; SSE2-NEXT: punpckhwd {{.*#+}} xmm2 = xmm2[4],xmm0[4],xmm2[5],xmm0[5],xmm2[6],xmm0[6],xmm2[7],xmm0[7]
+; SSE2-NEXT: pand %xmm0, %xmm2
+; SSE2-NEXT: movdqa %xmm2, dj+4112(%rax)
+; SSE2-NEXT: movdqa %xmm1, dj+4096(%rax)
+; SSE2-NEXT: addq $32, %rax
+; SSE2-NEXT: jne .LBB0_1
+; SSE2-NEXT: # BB#2: # %for.end
+; SSE2-NEXT: retq
+;
+; SSE41-LABEL: _Z9example25v:
+; SSE41: # BB#0: # %vector.ph
+; SSE41-NEXT: movq $-4096, %rax # imm = 0xF000
+; SSE41-NEXT: movdqa {{.*#+}} xmm0 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; SSE41-NEXT: movdqa {{.*#+}} xmm1 = [1,1,1,1]
+; SSE41-NEXT: .p2align 4, 0x90
+; SSE41-NEXT: .LBB0_1: # %vector.body
+; SSE41-NEXT: # =>This Inner Loop Header: Depth=1
+; SSE41-NEXT: movaps da+4096(%rax), %xmm2
+; SSE41-NEXT: movaps da+4112(%rax), %xmm3
+; SSE41-NEXT: cmpltps db+4112(%rax), %xmm3
+; SSE41-NEXT: pshufb %xmm0, %xmm3
+; SSE41-NEXT: cmpltps db+4096(%rax), %xmm2
+; SSE41-NEXT: pshufb %xmm0, %xmm2
+; SSE41-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
+; SSE41-NEXT: psllw $15, %xmm2
+; SSE41-NEXT: psraw $15, %xmm2
+; SSE41-NEXT: movaps dc+4096(%rax), %xmm3
+; SSE41-NEXT: movaps dc+4112(%rax), %xmm4
+; SSE41-NEXT: cmpltps dd+4112(%rax), %xmm4
+; SSE41-NEXT: pshufb %xmm0, %xmm4
+; SSE41-NEXT: cmpltps dd+4096(%rax), %xmm3
+; SSE41-NEXT: pshufb %xmm0, %xmm3
+; SSE41-NEXT: punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm4[0]
+; SSE41-NEXT: psllw $15, %xmm3
+; SSE41-NEXT: psraw $15, %xmm3
+; SSE41-NEXT: pand %xmm2, %xmm3
+; SSE41-NEXT: pmovzxwd {{.*#+}} xmm2 = xmm3[0],zero,xmm3[1],zero,xmm3[2],zero,xmm3[3],zero
+; SSE41-NEXT: pand %xmm1, %xmm2
+; SSE41-NEXT: punpckhwd {{.*#+}} xmm3 = xmm3[4],xmm0[4],xmm3[5],xmm0[5],xmm3[6],xmm0[6],xmm3[7],xmm0[7]
+; SSE41-NEXT: pand %xmm1, %xmm3
+; SSE41-NEXT: movdqa %xmm3, dj+4112(%rax)
+; SSE41-NEXT: movdqa %xmm2, dj+4096(%rax)
+; SSE41-NEXT: addq $32, %rax
+; SSE41-NEXT: jne .LBB0_1
+; SSE41-NEXT: # BB#2: # %for.end
+; SSE41-NEXT: retq
+;
+; AVX1-LABEL: _Z9example25v:
+; AVX1: # BB#0: # %vector.ph
+; AVX1-NEXT: movq $-4096, %rax # imm = 0xF000
+; AVX1-NEXT: vmovaps {{.*#+}} ymm0 = [1,1,1,1,1,1,1,1]
+; AVX1-NEXT: .p2align 4, 0x90
+; AVX1-NEXT: .LBB0_1: # %vector.body
+; AVX1-NEXT: # =>This Inner Loop Header: Depth=1
+; AVX1-NEXT: vmovups da+4096(%rax), %ymm1
+; AVX1-NEXT: vcmpltps db+4096(%rax), %ymm1, %ymm1
+; AVX1-NEXT: vmovups dc+4096(%rax), %ymm2
+; AVX1-NEXT: vcmpltps dd+4096(%rax), %ymm2, %ymm2
+; AVX1-NEXT: vandps %ymm2, %ymm1, %ymm1
+; AVX1-NEXT: vandps %ymm0, %ymm1, %ymm1
+; AVX1-NEXT: vmovups %ymm1, dj+4096(%rax)
+; AVX1-NEXT: addq $32, %rax
+; AVX1-NEXT: jne .LBB0_1
+; AVX1-NEXT: # BB#2: # %for.end
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: _Z9example25v:
+; AVX2: # BB#0: # %vector.ph
+; AVX2-NEXT: movq $-4096, %rax # imm = 0xF000
+; AVX2-NEXT: vbroadcastss {{.*}}(%rip), %ymm0
+; AVX2-NEXT: .p2align 4, 0x90
+; AVX2-NEXT: .LBB0_1: # %vector.body
+; AVX2-NEXT: # =>This Inner Loop Header: Depth=1
+; AVX2-NEXT: vmovups da+4096(%rax), %ymm1
+; AVX2-NEXT: vcmpltps db+4096(%rax), %ymm1, %ymm1
+; AVX2-NEXT: vmovups dc+4096(%rax), %ymm2
+; AVX2-NEXT: vcmpltps dd+4096(%rax), %ymm2, %ymm2
+; AVX2-NEXT: vandps %ymm2, %ymm1, %ymm1
+; AVX2-NEXT: vandps %ymm0, %ymm1, %ymm1
+; AVX2-NEXT: vmovups %ymm1, dj+4096(%rax)
+; AVX2-NEXT: addq $32, %rax
+; AVX2-NEXT: jne .LBB0_1
+; AVX2-NEXT: # BB#2: # %for.end
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
+vector.ph:
+ br label %vector.body
+
+vector.body: ; preds = %vector.body, %vector.ph
+ %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
+ %0 = getelementptr inbounds [1024 x float], [1024 x float]* @da, i64 0, i64 %index
+ %1 = bitcast float* %0 to <8 x float>*
+ %2 = load <8 x float>, <8 x float>* %1, align 16
+ %3 = getelementptr inbounds [1024 x float], [1024 x float]* @db, i64 0, i64 %index
+ %4 = bitcast float* %3 to <8 x float>*
+ %5 = load <8 x float>, <8 x float>* %4, align 16
+ %6 = fcmp olt <8 x float> %2, %5
+ %7 = getelementptr inbounds [1024 x float], [1024 x float]* @dc, i64 0, i64 %index
+ %8 = bitcast float* %7 to <8 x float>*
+ %9 = load <8 x float>, <8 x float>* %8, align 16
+ %10 = getelementptr inbounds [1024 x float], [1024 x float]* @dd, i64 0, i64 %index
+ %11 = bitcast float* %10 to <8 x float>*
+ %12 = load <8 x float>, <8 x float>* %11, align 16
+ %13 = fcmp olt <8 x float> %9, %12
+ %14 = and <8 x i1> %6, %13
+ %15 = zext <8 x i1> %14 to <8 x i32>
+ %16 = getelementptr inbounds [1024 x i32], [1024 x i32]* @dj, i64 0, i64 %index
+ %17 = bitcast i32* %16 to <8 x i32>*
+ store <8 x i32> %15, <8 x i32>* %17, align 16
+ %index.next = add i64 %index, 8
+ %18 = icmp eq i64 %index.next, 1024
+ br i1 %18, label %for.end, label %vector.body
+
+for.end: ; preds = %vector.body
+ ret void
+}
+
+define void @_Z9example24ss(i16 signext %x, i16 signext %y) nounwind uwtable noinline ssp {
+; SSE2-LABEL: _Z9example24ss:
+; SSE2: # BB#0: # %vector.ph
+; SSE2-NEXT: movd %edi, %xmm0
+; SSE2-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7]
+; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
+; SSE2-NEXT: movd %esi, %xmm1
+; SSE2-NEXT: pshuflw {{.*#+}} xmm1 = xmm1[0,0,0,0,4,5,6,7]
+; SSE2-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
+; SSE2-NEXT: movq $-4096, %rax # imm = 0xF000
+; SSE2-NEXT: .p2align 4, 0x90
+; SSE2-NEXT: .LBB1_1: # %vector.body
+; SSE2-NEXT: # =>This Inner Loop Header: Depth=1
+; SSE2-NEXT: movaps da+4096(%rax), %xmm2
+; SSE2-NEXT: movaps da+4112(%rax), %xmm3
+; SSE2-NEXT: cmpltps db+4112(%rax), %xmm3
+; SSE2-NEXT: pshuflw {{.*#+}} xmm3 = xmm3[0,2,2,3,4,5,6,7]
+; SSE2-NEXT: pshufhw {{.*#+}} xmm3 = xmm3[0,1,2,3,4,6,6,7]
+; SSE2-NEXT: pshufd {{.*#+}} xmm3 = xmm3[0,2,2,3]
+; SSE2-NEXT: cmpltps db+4096(%rax), %xmm2
+; SSE2-NEXT: pshuflw {{.*#+}} xmm2 = xmm2[0,2,2,3,4,5,6,7]
+; SSE2-NEXT: pshufhw {{.*#+}} xmm2 = xmm2[0,1,2,3,4,6,6,7]
+; SSE2-NEXT: pshufd {{.*#+}} xmm2 = xmm2[0,2,2,3]
+; SSE2-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
+; SSE2-NEXT: movdqa %xmm0, %xmm3
+; SSE2-NEXT: pand %xmm2, %xmm3
+; SSE2-NEXT: pandn %xmm1, %xmm2
+; SSE2-NEXT: por %xmm3, %xmm2
+; SSE2-NEXT: punpcklwd {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1],xmm3[2],xmm2[2],xmm3[3],xmm2[3]
+; SSE2-NEXT: psrad $16, %xmm3
+; SSE2-NEXT: punpckhwd {{.*#+}} xmm2 = xmm2[4,4,5,5,6,6,7,7]
+; SSE2-NEXT: psrad $16, %xmm2
+; SSE2-NEXT: movdqa %xmm2, dj+4112(%rax)
+; SSE2-NEXT: movdqa %xmm3, dj+4096(%rax)
+; SSE2-NEXT: addq $32, %rax
+; SSE2-NEXT: jne .LBB1_1
+; SSE2-NEXT: # BB#2: # %for.end
+; SSE2-NEXT: retq
+;
+; SSE41-LABEL: _Z9example24ss:
+; SSE41: # BB#0: # %vector.ph
+; SSE41-NEXT: movd %edi, %xmm0
+; SSE41-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7]
+; SSE41-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
+; SSE41-NEXT: movd %esi, %xmm1
+; SSE41-NEXT: pshuflw {{.*#+}} xmm1 = xmm1[0,0,0,0,4,5,6,7]
+; SSE41-NEXT: pshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
+; SSE41-NEXT: movq $-4096, %rax # imm = 0xF000
+; SSE41-NEXT: movdqa {{.*#+}} xmm2 = [0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
+; SSE41-NEXT: .p2align 4, 0x90
+; SSE41-NEXT: .LBB1_1: # %vector.body
+; SSE41-NEXT: # =>This Inner Loop Header: Depth=1
+; SSE41-NEXT: movaps da+4096(%rax), %xmm3
+; SSE41-NEXT: movaps da+4112(%rax), %xmm4
+; SSE41-NEXT: cmpltps db+4112(%rax), %xmm4
+; SSE41-NEXT: pshufb %xmm2, %xmm4
+; SSE41-NEXT: cmpltps db+4096(%rax), %xmm3
+; SSE41-NEXT: pshufb %xmm2, %xmm3
+; SSE41-NEXT: punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm4[0]
+; SSE41-NEXT: movdqa %xmm0, %xmm4
+; SSE41-NEXT: pand %xmm3, %xmm4
+; SSE41-NEXT: pandn %xmm1, %xmm3
+; SSE41-NEXT: por %xmm4, %xmm3
+; SSE41-NEXT: pshufd {{.*#+}} xmm4 = xmm3[2,3,0,1]
+; SSE41-NEXT: pmovsxwd %xmm4, %xmm4
+; SSE41-NEXT: pmovsxwd %xmm3, %xmm3
+; SSE41-NEXT: movdqa %xmm3, dj+4096(%rax)
+; SSE41-NEXT: movdqa %xmm4, dj+4112(%rax)
+; SSE41-NEXT: addq $32, %rax
+; SSE41-NEXT: jne .LBB1_1
+; SSE41-NEXT: # BB#2: # %for.end
+; SSE41-NEXT: retq
+;
+; AVX1-LABEL: _Z9example24ss:
+; AVX1: # BB#0: # %vector.ph
+; AVX1-NEXT: vmovd %edi, %xmm0
+; AVX1-NEXT: vpshuflw {{.*#+}} xmm0 = xmm0[0,0,0,0,4,5,6,7]
+; AVX1-NEXT: vpshufd {{.*#+}} xmm0 = xmm0[0,0,1,1]
+; AVX1-NEXT: vmovd %esi, %xmm1
+; AVX1-NEXT: vpshuflw {{.*#+}} xmm1 = xmm1[0,0,0,0,4,5,6,7]
+; AVX1-NEXT: vpshufd {{.*#+}} xmm1 = xmm1[0,0,1,1]
+; AVX1-NEXT: movq $-4096, %rax # imm = 0xF000
+; AVX1-NEXT: .p2align 4, 0x90
+; AVX1-NEXT: .LBB1_1: # %vector.body
+; AVX1-NEXT: # =>This Inner Loop Header: Depth=1
+; AVX1-NEXT: vmovups da+4096(%rax), %ymm2
+; AVX1-NEXT: vcmpltps db+4096(%rax), %ymm2, %ymm2
+; AVX1-NEXT: vextractf128 $1, %ymm2, %xmm3
+; AVX1-NEXT: vpacksswb %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vpandn %xmm1, %xmm2, %xmm3
+; AVX1-NEXT: vpand %xmm2, %xmm0, %xmm2
+; AVX1-NEXT: vpor %xmm3, %xmm2, %xmm2
+; AVX1-NEXT: vpmovsxwd %xmm2, %xmm3
+; AVX1-NEXT: vpshufd {{.*#+}} xmm2 = xmm2[2,3,0,1]
+; AVX1-NEXT: vpmovsxwd %xmm2, %xmm2
+; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm3, %ymm2
+; AVX1-NEXT: vmovups %ymm2, dj+4096(%rax)
+; AVX1-NEXT: addq $32, %rax
+; AVX1-NEXT: jne .LBB1_1
+; AVX1-NEXT: # BB#2: # %for.end
+; AVX1-NEXT: vzeroupper
+; AVX1-NEXT: retq
+;
+; AVX2-LABEL: _Z9example24ss:
+; AVX2: # BB#0: # %vector.ph
+; AVX2-NEXT: vmovd %edi, %xmm0
+; AVX2-NEXT: vpbroadcastw %xmm0, %xmm0
+; AVX2-NEXT: vmovd %esi, %xmm1
+; AVX2-NEXT: vpbroadcastw %xmm1, %xmm1
+; AVX2-NEXT: movq $-4096, %rax # imm = 0xF000
+; AVX2-NEXT: .p2align 4, 0x90
+; AVX2-NEXT: .LBB1_1: # %vector.body
+; AVX2-NEXT: # =>This Inner Loop Header: Depth=1
+; AVX2-NEXT: vmovups da+4096(%rax), %ymm2
+; AVX2-NEXT: vcmpltps db+4096(%rax), %ymm2, %ymm2
+; AVX2-NEXT: vextractf128 $1, %ymm2, %xmm3
+; AVX2-NEXT: vpacksswb %xmm3, %xmm2, %xmm2
+; AVX2-NEXT: vpandn %xmm1, %xmm2, %xmm3
+; AVX2-NEXT: vpand %xmm2, %xmm0, %xmm2
+; AVX2-NEXT: vpor %xmm3, %xmm2, %xmm2
+; AVX2-NEXT: vpmovsxwd %xmm2, %ymm2
+; AVX2-NEXT: vmovdqu %ymm2, dj+4096(%rax)
+; AVX2-NEXT: addq $32, %rax
+; AVX2-NEXT: jne .LBB1_1
+; AVX2-NEXT: # BB#2: # %for.end
+; AVX2-NEXT: vzeroupper
+; AVX2-NEXT: retq
+vector.ph:
+ %0 = insertelement <8 x i16> undef, i16 %x, i32 0
+ %broadcast11 = shufflevector <8 x i16> %0, <8 x i16> undef, <8 x i32> zeroinitializer
+ %1 = insertelement <8 x i16> undef, i16 %y, i32 0
+ %broadcast12 = shufflevector <8 x i16> %1, <8 x i16> undef, <8 x i32> zeroinitializer
+ br label %vector.body
+
+vector.body: ; preds = %vector.body, %vector.ph
+ %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
+ %2 = getelementptr inbounds [1024 x float], [1024 x float]* @da, i64 0, i64 %index
+ %3 = bitcast float* %2 to <8 x float>*
+ %4 = load <8 x float>, <8 x float>* %3, align 16
+ %5 = getelementptr inbounds [1024 x float], [1024 x float]* @db, i64 0, i64 %index
+ %6 = bitcast float* %5 to <8 x float>*
+ %7 = load <8 x float>, <8 x float>* %6, align 16
+ %8 = fcmp olt <8 x float> %4, %7
+ %9 = select <8 x i1> %8, <8 x i16> %broadcast11, <8 x i16> %broadcast12
+ %10 = sext <8 x i16> %9 to <8 x i32>
+ %11 = getelementptr inbounds [1024 x i32], [1024 x i32]* @dj, i64 0, i64 %index
+ %12 = bitcast i32* %11 to <8 x i32>*
+ store <8 x i32> %10, <8 x i32>* %12, align 16
+ %index.next = add i64 %index, 8
+ %13 = icmp eq i64 %index.next, 1024
+ br i1 %13, label %for.end, label %vector.body
+
+for.end: ; preds = %vector.body
+ ret void
+}
diff --git a/test/CodeGen/X86/pr18344.ll b/test/CodeGen/X86/pr18344.ll
index 15bf91031ee8..fcf4174ec3d3 100644
--- a/test/CodeGen/X86/pr18344.ll
+++ b/test/CodeGen/X86/pr18344.ll
@@ -36,7 +36,7 @@ define void @FFT(%v4_varying_complex* noalias nocapture %destination, float* noa
; X64: # BB#0: # %begin
; X64-NEXT: movdqu (%rdx), %xmm0
; X64-NEXT: pslld $4, %xmm0
-; X64-NEXT: movd %xmm0, %rax
+; X64-NEXT: movq %xmm0, %rax
; X64-NEXT: movslq %eax, %r8
; X64-NEXT: sarq $32, %rax
; X64-NEXT: pextrq $1, %xmm0, %rdx
diff --git a/test/CodeGen/X86/pr21792.ll b/test/CodeGen/X86/pr21792.ll
index 54f9cb310dd3..84b7467e6a17 100644
--- a/test/CodeGen/X86/pr21792.ll
+++ b/test/CodeGen/X86/pr21792.ll
@@ -16,7 +16,7 @@ define void @func(<4 x float> %vx) {
; CHECK-NEXT: pextrq $1, %xmm0, %rdx
; CHECK-NEXT: movq %rdx, %rcx
; CHECK-NEXT: shrq $32, %rcx
-; CHECK-NEXT: movd %xmm0, %rax
+; CHECK-NEXT: movq %xmm0, %rax
; CHECK-NEXT: movq %rax, %r9
; CHECK-NEXT: shrq $32, %r9
; CHECK-NEXT: andl $2032, %eax # imm = 0x7F0
diff --git a/test/CodeGen/X86/pr22970.ll b/test/CodeGen/X86/pr22970.ll
new file mode 100644
index 000000000000..38c063355f64
--- /dev/null
+++ b/test/CodeGen/X86/pr22970.ll
@@ -0,0 +1,47 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=i686-unknown-unknown | FileCheck %s --check-prefix=X86
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=X64
+
+define i32 @PR22970_i32(i32* nocapture readonly, i32) {
+; X86-LABEL: PR22970_i32:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl $4095, %ecx # imm = 0xFFF
+; X86-NEXT: andl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movl 32(%eax,%ecx,4), %eax
+; X86-NEXT: retl
+;
+; X64-LABEL: PR22970_i32:
+; X64: # BB#0:
+; X64-NEXT: # kill: %ESI<def> %ESI<kill> %RSI<def>
+; X64-NEXT: andl $4095, %esi # imm = 0xFFF
+; X64-NEXT: movl 32(%rdi,%rsi,4), %eax
+; X64-NEXT: retq
+ %3 = and i32 %1, 4095
+ %4 = add nuw nsw i32 %3, 8
+ %5 = zext i32 %4 to i64
+ %6 = getelementptr inbounds i32, i32* %0, i64 %5
+ %7 = load i32, i32* %6, align 4
+ ret i32 %7
+}
+
+define i32 @PR22970_i64(i32* nocapture readonly, i64) {
+; X86-LABEL: PR22970_i64:
+; X86: # BB#0:
+; X86-NEXT: movl {{[0-9]+}}(%esp), %eax
+; X86-NEXT: movl $4095, %ecx # imm = 0xFFF
+; X86-NEXT: andl {{[0-9]+}}(%esp), %ecx
+; X86-NEXT: movl 32(%eax,%ecx,4), %eax
+; X86-NEXT: retl
+;
+; X64-LABEL: PR22970_i64:
+; X64: # BB#0:
+; X64-NEXT: andl $4095, %esi # imm = 0xFFF
+; X64-NEXT: movl 32(%rdi,%rsi,4), %eax
+; X64-NEXT: retq
+ %3 = and i64 %1, 4095
+ %4 = add nuw nsw i64 %3, 8
+ %5 = getelementptr inbounds i32, i32* %0, i64 %4
+ %6 = load i32, i32* %5, align 4
+ ret i32 %6
+}
diff --git a/test/CodeGen/X86/pr30511.ll b/test/CodeGen/X86/pr30511.ll
index 053ae013b451..3c512ba27009 100644
--- a/test/CodeGen/X86/pr30511.ll
+++ b/test/CodeGen/X86/pr30511.ll
@@ -11,7 +11,7 @@ define i64 @PR30511(<2 x double> %a) {
; CHECK-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2,2,3]
; CHECK-NEXT: cvtdq2pd %xmm0, %xmm0
; CHECK-NEXT: mulpd {{.*}}(%rip), %xmm0
-; CHECK-NEXT: movd %xmm0, %rax
+; CHECK-NEXT: movq %xmm0, %rax
; CHECK-NEXT: retq
%1 = fadd <2 x double> %a, <double 0x4338000000000000, double 0x4338000000000000>
%2 = bitcast <2 x double> %1 to <2 x i64>
diff --git a/test/CodeGen/X86/pshufb-mask-comments.ll b/test/CodeGen/X86/pshufb-mask-comments.ll
index d447bf9b9b8c..178fe3357d43 100644
--- a/test/CodeGen/X86/pshufb-mask-comments.ll
+++ b/test/CodeGen/X86/pshufb-mask-comments.ll
@@ -55,7 +55,7 @@ define <16 x i8> @test5(<16 x i8> %V) {
; CHECK-LABEL: test5:
; CHECK: # BB#0:
; CHECK-NEXT: movl $1, %eax
-; CHECK-NEXT: movd %rax, %xmm1
+; CHECK-NEXT: movq %rax, %xmm1
; CHECK-NEXT: movdqa %xmm1, (%rax)
; CHECK-NEXT: movdqa {{.*#+}} xmm1 = [1,1]
; CHECK-NEXT: movdqa %xmm1, (%rax)
diff --git a/test/CodeGen/X86/ret-mmx.ll b/test/CodeGen/X86/ret-mmx.ll
index 758aa462f513..65c3ac0cc447 100644
--- a/test/CodeGen/X86/ret-mmx.ll
+++ b/test/CodeGen/X86/ret-mmx.ll
@@ -33,7 +33,7 @@ define <2 x i32> @t3() nounwind {
; CHECK-LABEL: t3:
; CHECK: ## BB#0:
; CHECK-NEXT: movl $1, %eax
-; CHECK-NEXT: movd %rax, %xmm0
+; CHECK-NEXT: movq %rax, %xmm0
; CHECK-NEXT: retq
ret <2 x i32> <i32 1, i32 0>
}
diff --git a/test/CodeGen/X86/sad_variations.ll b/test/CodeGen/X86/sad_variations.ll
index 1d826cf41a4d..04fda5ed8774 100644
--- a/test/CodeGen/X86/sad_variations.ll
+++ b/test/CodeGen/X86/sad_variations.ll
@@ -206,7 +206,7 @@ define i64 @sad8_64bit_icmp_sext_slt(i8* nocapture readonly %cur, i8* nocapture
; SSE2-NEXT: movq {{.*#+}} xmm0 = mem[0],zero
; SSE2-NEXT: movq {{.*#+}} xmm1 = mem[0],zero
; SSE2-NEXT: psadbw %xmm0, %xmm1
-; SSE2-NEXT: movd %xmm1, %rax
+; SSE2-NEXT: movq %xmm1, %rax
; SSE2-NEXT: retq
;
; AVX2-LABEL: sad8_64bit_icmp_sext_slt:
@@ -255,7 +255,7 @@ define i64 @sad8_64bit_icmp_zext_slt(i8* nocapture readonly %cur, i8* nocapture
; SSE2-NEXT: movq {{.*#+}} xmm0 = mem[0],zero
; SSE2-NEXT: movq {{.*#+}} xmm1 = mem[0],zero
; SSE2-NEXT: psadbw %xmm0, %xmm1
-; SSE2-NEXT: movd %xmm1, %rax
+; SSE2-NEXT: movq %xmm1, %rax
; SSE2-NEXT: retq
;
; AVX2-LABEL: sad8_64bit_icmp_zext_slt:
@@ -304,7 +304,7 @@ define i64 @sad8_early_64bit_icmp_zext_slt(i8* nocapture readonly %cur, i8* noca
; SSE2-NEXT: movq {{.*#+}} xmm0 = mem[0],zero
; SSE2-NEXT: movq {{.*#+}} xmm1 = mem[0],zero
; SSE2-NEXT: psadbw %xmm0, %xmm1
-; SSE2-NEXT: movd %xmm1, %rax
+; SSE2-NEXT: movq %xmm1, %rax
; SSE2-NEXT: retq
;
; AVX2-LABEL: sad8_early_64bit_icmp_zext_slt:
diff --git a/test/CodeGen/X86/scalar-int-to-fp.ll b/test/CodeGen/X86/scalar-int-to-fp.ll
index 2b19d02ba8b5..c99d3494b8ee 100644
--- a/test/CodeGen/X86/scalar-int-to-fp.ll
+++ b/test/CodeGen/X86/scalar-int-to-fp.ll
@@ -536,7 +536,7 @@ define double @u64_to_d(i64 %a) nounwind {
;
; SSE2_64-LABEL: u64_to_d:
; SSE2_64: # BB#0:
-; SSE2_64-NEXT: movd %rdi, %xmm1
+; SSE2_64-NEXT: movq %rdi, %xmm1
; SSE2_64-NEXT: punpckldq {{.*#+}} xmm1 = xmm1[0],mem[0],xmm1[1],mem[1]
; SSE2_64-NEXT: subpd {{.*}}(%rip), %xmm1
; SSE2_64-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,0,1]
diff --git a/test/CodeGen/X86/setcc-combine.ll b/test/CodeGen/X86/setcc-combine.ll
index c6ad5e0031ed..38205c660731 100644
--- a/test/CodeGen/X86/setcc-combine.ll
+++ b/test/CodeGen/X86/setcc-combine.ll
@@ -1,166 +1,185 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc -mtriple=x86_64-unknown-unknown -mcpu=generic < %s | FileCheck %s
define i32 @test_eq_1(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_eq_1:
-; CHECK: pcmpgtd %xmm0, %xmm1
-; CHECK-NEXT: pxor {{.*}}(%rip), %xmm1
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: pcmpgtd %xmm0, %xmm1
+; CHECK-NEXT: pcmpeqd %xmm0, %xmm0
+; CHECK-NEXT: pxor %xmm1, %xmm0
+; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
+; CHECK-NEXT: movd %xmm0, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %A, %B
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp eq <4 x i32> %sext, zeroinitializer
- %0 = extractelement <4 x i1> %cmp1, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp1, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_ne_1(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_ne_1:
-; CHECK: pcmpgtd %xmm0, %xmm1
-; CHECK-NOT: pxor
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: pcmpgtd %xmm0, %xmm1
+; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,2,3]
+; CHECK-NEXT: movd %xmm0, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %A, %B
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp ne <4 x i32> %sext, zeroinitializer
- %0 = extractelement <4 x i1> %cmp1, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp1, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_le_1(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_le_1:
-; CHECK: movl $-1, %eax
-; CHECK-NEXT: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: movl $-1, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %A, %B
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp sle <4 x i32> %sext, zeroinitializer
- %0 = extractelement <4 x i1> %cmp1, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp1, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_ge_1(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_ge_1:
-; CHECK: pcmpgtd %xmm0, %xmm1
-; CHECK: pxor {{.*}}(%rip), %xmm1
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: pcmpgtd %xmm0, %xmm1
+; CHECK-NEXT: pcmpeqd %xmm0, %xmm0
+; CHECK-NEXT: pxor %xmm1, %xmm0
+; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
+; CHECK-NEXT: movd %xmm0, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %A, %B
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp sge <4 x i32> %sext, zeroinitializer
- %0 = extractelement <4 x i1> %cmp1, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp1, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_lt_1(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_lt_1:
-; CHECK: pcmpgtd %xmm0, %xmm1
-; CHECK-NOT: pxor
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: pcmpgtd %xmm0, %xmm1
+; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,2,3]
+; CHECK-NEXT: movd %xmm0, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %A, %B
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp slt <4 x i32> %sext, zeroinitializer
- %0 = extractelement <4 x i1> %cmp, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_gt_1(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_gt_1:
-; CHECK: xorl %eax, %eax
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: xorl %eax, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %A, %B
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp sgt <4 x i32> %sext, zeroinitializer
- %0 = extractelement <4 x i1> %cmp1, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp1, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_eq_2(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_eq_2:
-; CHECK: pcmpgtd %xmm1, %xmm0
-; CHECK-NEXT: pxor {{.*}}(%rip), %xmm0
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: pcmpgtd %xmm1, %xmm0
+; CHECK-NEXT: pcmpeqd %xmm1, %xmm1
+; CHECK-NEXT: pxor %xmm0, %xmm1
+; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,2,3]
+; CHECK-NEXT: movd %xmm0, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %B, %A
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp eq <4 x i32> %sext, zeroinitializer
- %0 = extractelement <4 x i1> %cmp1, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp1, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_ne_2(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_ne_2:
-; CHECK: pcmpgtd %xmm1, %xmm0
-; CHECK-NOT: pxor
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: pcmpgtd %xmm1, %xmm0
+; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
+; CHECK-NEXT: movd %xmm0, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %B, %A
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp ne <4 x i32> %sext, zeroinitializer
- %0 = extractelement <4 x i1> %cmp1, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp1, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_le_2(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_le_2:
-; CHECK: pcmpgtd %xmm1, %xmm0
-; CHECK: pxor {{.*}}(%rip), %xmm0
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: pcmpgtd %xmm1, %xmm0
+; CHECK-NEXT: pcmpeqd %xmm1, %xmm1
+; CHECK-NEXT: pxor %xmm0, %xmm1
+; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm1[1,1,2,3]
+; CHECK-NEXT: movd %xmm0, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %B, %A
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp sle <4 x i32> zeroinitializer, %sext
- %0 = extractelement <4 x i1> %cmp1, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp1, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_ge_2(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_ge_2:
-; CHECK: movl $-1, %eax
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: movl $-1, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %B, %A
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp sge <4 x i32> zeroinitializer, %sext
- %0 = extractelement <4 x i1> %cmp1, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp1, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_lt_2(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_lt_2:
-; CHECK: pcmpgtd %xmm1, %xmm0
-; CHECK-NOT: pxor
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: pcmpgtd %xmm1, %xmm0
+; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
+; CHECK-NEXT: movd %xmm0, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %B, %A
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp slt <4 x i32> zeroinitializer, %sext
- %0 = extractelement <4 x i1> %cmp, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
define i32 @test_gt_2(<4 x i32> %A, <4 x i32> %B) {
; CHECK-LABEL: test_gt_2:
-; CHECK: pcmpgtd %xmm1, %xmm0
-; CHECK-NOT: pxor
-; CHECK: retq
-entry:
+; CHECK: # BB#0:
+; CHECK-NEXT: pcmpgtd %xmm1, %xmm0
+; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[1,1,2,3]
+; CHECK-NEXT: movd %xmm0, %eax
+; CHECK-NEXT: retq
%cmp = icmp slt <4 x i32> %B, %A
%sext = sext <4 x i1> %cmp to <4 x i32>
%cmp1 = icmp sgt <4 x i32> zeroinitializer, %sext
- %0 = extractelement <4 x i1> %cmp1, i32 1
- %1 = sext i1 %0 to i32
- ret i32 %1
+ %t0 = extractelement <4 x i1> %cmp1, i32 1
+ %t1 = sext i1 %t0 to i32
+ ret i32 %t1
}
+
diff --git a/test/CodeGen/X86/setcc-wide-types.ll b/test/CodeGen/X86/setcc-wide-types.ll
index b4ec03598aa4..2996edaec3e0 100644
--- a/test/CodeGen/X86/setcc-wide-types.ll
+++ b/test/CodeGen/X86/setcc-wide-types.ll
@@ -58,17 +58,17 @@ define i32 @ne_i256(<4 x i64> %x, <4 x i64> %y) {
; SSE2-LABEL: ne_i256:
; SSE2: # BB#0:
; SSE2-NEXT: pshufd {{.*#+}} xmm4 = xmm0[2,3,0,1]
-; SSE2-NEXT: movd %xmm4, %r8
+; SSE2-NEXT: movq %xmm4, %r8
; SSE2-NEXT: pshufd {{.*#+}} xmm4 = xmm1[2,3,0,1]
-; SSE2-NEXT: movd %xmm4, %r9
-; SSE2-NEXT: movd %xmm0, %r10
-; SSE2-NEXT: movd %xmm1, %rsi
+; SSE2-NEXT: movq %xmm4, %r9
+; SSE2-NEXT: movq %xmm0, %r10
+; SSE2-NEXT: movq %xmm1, %rsi
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rdi
+; SSE2-NEXT: movq %xmm0, %rdi
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm3[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rax
-; SSE2-NEXT: movd %xmm2, %rcx
-; SSE2-NEXT: movd %xmm3, %rdx
+; SSE2-NEXT: movq %xmm0, %rax
+; SSE2-NEXT: movq %xmm2, %rcx
+; SSE2-NEXT: movq %xmm3, %rdx
; SSE2-NEXT: xorq %rsi, %rdx
; SSE2-NEXT: xorq %r10, %rcx
; SSE2-NEXT: orq %rdx, %rcx
@@ -100,17 +100,17 @@ define i32 @eq_i256(<4 x i64> %x, <4 x i64> %y) {
; SSE2-LABEL: eq_i256:
; SSE2: # BB#0:
; SSE2-NEXT: pshufd {{.*#+}} xmm4 = xmm0[2,3,0,1]
-; SSE2-NEXT: movd %xmm4, %r8
+; SSE2-NEXT: movq %xmm4, %r8
; SSE2-NEXT: pshufd {{.*#+}} xmm4 = xmm1[2,3,0,1]
-; SSE2-NEXT: movd %xmm4, %r9
-; SSE2-NEXT: movd %xmm0, %r10
-; SSE2-NEXT: movd %xmm1, %rsi
+; SSE2-NEXT: movq %xmm4, %r9
+; SSE2-NEXT: movq %xmm0, %r10
+; SSE2-NEXT: movq %xmm1, %rsi
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm2[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rdi
+; SSE2-NEXT: movq %xmm0, %rdi
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm3[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rax
-; SSE2-NEXT: movd %xmm2, %rcx
-; SSE2-NEXT: movd %xmm3, %rdx
+; SSE2-NEXT: movq %xmm0, %rax
+; SSE2-NEXT: movq %xmm2, %rcx
+; SSE2-NEXT: movq %xmm3, %rdx
; SSE2-NEXT: xorq %rsi, %rdx
; SSE2-NEXT: xorq %r10, %rcx
; SSE2-NEXT: orq %rdx, %rcx
diff --git a/test/CodeGen/X86/shrink_vmul.ll b/test/CodeGen/X86/shrink_vmul.ll
index 930af226b953..d5cd8b0525dd 100644
--- a/test/CodeGen/X86/shrink_vmul.ll
+++ b/test/CodeGen/X86/shrink_vmul.ll
@@ -801,7 +801,7 @@ define void @mul_2xi16_varconst3(i8* nocapture readonly %a, i64 %index) {
; CHECK-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1],xmm0[2],xmm1[2],xmm0[3],xmm1[3]
; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,3]
; CHECK-NEXT: movl $65536, %ecx # imm = 0x10000
-; CHECK-NEXT: movd %rcx, %xmm1
+; CHECK-NEXT: movq %rcx, %xmm1
; CHECK-NEXT: pslldq {{.*#+}} xmm1 = zero,zero,zero,zero,zero,zero,zero,zero,xmm1[0,1,2,3,4,5,6,7]
; CHECK-NEXT: movdqa %xmm0, %xmm2
; CHECK-NEXT: pmuludq %xmm1, %xmm2
@@ -839,7 +839,7 @@ define void @mul_2xi16_varconst4(i8* nocapture readonly %a, i64 %index) {
; CHECK-NEXT: psrad $16, %xmm0
; CHECK-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,1,3]
; CHECK-NEXT: movl $32768, %ecx # imm = 0x8000
-; CHECK-NEXT: movd %rcx, %xmm1
+; CHECK-NEXT: movq %rcx, %xmm1
; CHECK-NEXT: pslldq {{.*#+}} xmm1 = zero,zero,zero,zero,zero,zero,zero,zero,xmm1[0,1,2,3,4,5,6,7]
; CHECK-NEXT: movdqa %xmm0, %xmm2
; CHECK-NEXT: pmuludq %xmm1, %xmm2
diff --git a/test/CodeGen/X86/sse2-intrinsics-fast-isel-x86_64.ll b/test/CodeGen/X86/sse2-intrinsics-fast-isel-x86_64.ll
index dfd9c0b0b302..54de15c292f6 100644
--- a/test/CodeGen/X86/sse2-intrinsics-fast-isel-x86_64.ll
+++ b/test/CodeGen/X86/sse2-intrinsics-fast-isel-x86_64.ll
@@ -16,7 +16,7 @@ declare i64 @llvm.x86.sse2.cvtsd2si64(<2 x double>) nounwind readnone
define i64 @test_mm_cvtsi128_si64(<2 x i64> %a0) nounwind {
; X64-LABEL: test_mm_cvtsi128_si64:
; X64: # BB#0:
-; X64-NEXT: movd %xmm0, %rax
+; X64-NEXT: movq %xmm0, %rax
; X64-NEXT: retq
%res = extractelement <2 x i64> %a0, i32 0
ret i64 %res
@@ -35,7 +35,7 @@ declare <2 x double> @llvm.x86.sse2.cvtsi642sd(<2 x double>, i64) nounwind readn
define <2 x i64> @test_mm_cvtsi64_si128(i64 %a0) nounwind {
; X64-LABEL: test_mm_cvtsi64_si128:
; X64: # BB#0:
-; X64-NEXT: movd %rdi, %xmm0
+; X64-NEXT: movq %rdi, %xmm0
; X64-NEXT: retq
%res0 = insertelement <2 x i64> undef, i64 %a0, i32 0
%res1 = insertelement <2 x i64> %res0, i64 0, i32 1
diff --git a/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll b/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
index 3071155172e3..964037ea80af 100644
--- a/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
+++ b/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
@@ -2291,8 +2291,8 @@ define <2 x i64> @test_mm_set_epi64x(i64 %a0, i64 %a1) nounwind {
;
; X64-LABEL: test_mm_set_epi64x:
; X64: # BB#0:
-; X64-NEXT: movd %rdi, %xmm1
-; X64-NEXT: movd %rsi, %xmm0
+; X64-NEXT: movq %rdi, %xmm1
+; X64-NEXT: movq %rsi, %xmm0
; X64-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; X64-NEXT: retq
%res0 = insertelement <2 x i64> undef, i64 %a1, i32 0
@@ -2433,7 +2433,7 @@ define <2 x i64> @test_mm_set1_epi64x(i64 %a0) nounwind {
;
; X64-LABEL: test_mm_set1_epi64x:
; X64: # BB#0:
-; X64-NEXT: movd %rdi, %xmm0
+; X64-NEXT: movq %rdi, %xmm0
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
; X64-NEXT: retq
%res0 = insertelement <2 x i64> undef, i64 %a0, i32 0
@@ -2685,8 +2685,8 @@ define <2 x i64> @test_mm_setr_epi64x(i64 %a0, i64 %a1) nounwind {
;
; X64-LABEL: test_mm_setr_epi64x:
; X64: # BB#0:
-; X64-NEXT: movd %rsi, %xmm1
-; X64-NEXT: movd %rdi, %xmm0
+; X64-NEXT: movq %rsi, %xmm1
+; X64-NEXT: movq %rdi, %xmm0
; X64-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; X64-NEXT: retq
%res0 = insertelement <2 x i64> undef, i64 %a0, i32 0
@@ -3249,7 +3249,7 @@ define void @test_mm_storel_epi64(<2 x i64> *%a0, <2 x i64> %a1) {
;
; X64-LABEL: test_mm_storel_epi64:
; X64: # BB#0:
-; X64-NEXT: movd %xmm0, %rax
+; X64-NEXT: movq %xmm0, %rax
; X64-NEXT: movq %rax, (%rdi)
; X64-NEXT: retq
%ext = extractelement <2 x i64> %a1, i32 0
diff --git a/test/CodeGen/X86/sse2-schedule.ll b/test/CodeGen/X86/sse2-schedule.ll
index 33a4f413b683..14c155c8c6c0 100644
--- a/test/CodeGen/X86/sse2-schedule.ll
+++ b/test/CodeGen/X86/sse2-schedule.ll
@@ -1808,32 +1808,32 @@ define i32 @test_movd(<4 x i32> %a0, i32 %a1, i32 *%a2) {
define i64 @test_movd_64(<2 x i64> %a0, i64 %a1, i64 *%a2) {
; GENERIC-LABEL: test_movd_64:
; GENERIC: # BB#0:
-; GENERIC-NEXT: movd %rdi, %xmm1
+; GENERIC-NEXT: movq %rdi, %xmm1
; GENERIC-NEXT: movq {{.*#+}} xmm2 = mem[0],zero
; GENERIC-NEXT: paddq %xmm0, %xmm1
; GENERIC-NEXT: paddq %xmm0, %xmm2
-; GENERIC-NEXT: movd %xmm2, %rax
+; GENERIC-NEXT: movq %xmm2, %rax
; GENERIC-NEXT: movq %xmm1, (%rsi)
; GENERIC-NEXT: retq
;
; ATOM-LABEL: test_movd_64:
; ATOM: # BB#0:
; ATOM-NEXT: movq {{.*#+}} xmm1 = mem[0],zero
-; ATOM-NEXT: movd %rdi, %xmm2
+; ATOM-NEXT: movq %rdi, %xmm2
; ATOM-NEXT: paddq %xmm0, %xmm2
; ATOM-NEXT: paddq %xmm0, %xmm1
; ATOM-NEXT: movq %xmm2, (%rsi)
-; ATOM-NEXT: movd %xmm1, %rax
+; ATOM-NEXT: movq %xmm1, %rax
; ATOM-NEXT: retq
;
; SLM-LABEL: test_movd_64:
; SLM: # BB#0:
; SLM-NEXT: movq {{.*#+}} xmm2 = mem[0],zero sched: [3:1.00]
-; SLM-NEXT: movd %rdi, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movq %rdi, %xmm1 # sched: [1:0.50]
; SLM-NEXT: paddq %xmm0, %xmm1 # sched: [1:0.50]
; SLM-NEXT: movq %xmm1, (%rsi) # sched: [1:1.00]
; SLM-NEXT: paddq %xmm0, %xmm2 # sched: [1:0.50]
-; SLM-NEXT: movd %xmm2, %rax # sched: [1:0.50]
+; SLM-NEXT: movq %xmm2, %rax # sched: [1:0.50]
; SLM-NEXT: retq # sched: [4:1.00]
;
; SANDY-LABEL: test_movd_64:
@@ -3545,6 +3545,52 @@ define i16 @test_pextrw(<8 x i16> %a0) {
ret i16 %1
}
+define <8 x i16> @test_pinsrw(<8 x i16> %a0, i16 %a1, i16 *%a2) {
+; GENERIC-LABEL: test_pinsrw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pinsrw $1, %edi, %xmm0
+; GENERIC-NEXT: pinsrw $3, (%rsi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_pinsrw:
+; ATOM: # BB#0:
+; ATOM-NEXT: pinsrw $1, %edi, %xmm0
+; ATOM-NEXT: pinsrw $3, (%rsi), %xmm0
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_pinsrw:
+; SLM: # BB#0:
+; SLM-NEXT: pinsrw $1, %edi, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: pinsrw $3, (%rsi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pinsrw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpinsrw $1, %edi, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpinsrw $3, (%rsi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pinsrw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpinsrw $1, %edi, %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpinsrw $3, (%rsi), %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pinsrw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpinsrw $1, %edi, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpinsrw $3, (%rsi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = insertelement <8 x i16> %a0, i16 %a1, i32 1
+ %2 = load i16, i16 *%a2
+ %3 = insertelement <8 x i16> %1, i16 %2, i32 3
+ ret <8 x i16> %3
+}
+
define <4 x i32> @test_pmaddwd(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
; GENERIC-LABEL: test_pmaddwd:
; GENERIC: # BB#0:
diff --git a/test/CodeGen/X86/sse3-schedule.ll b/test/CodeGen/X86/sse3-schedule.ll
new file mode 100644
index 000000000000..482b2fcab642
--- /dev/null
+++ b/test/CodeGen/X86/sse3-schedule.ll
@@ -0,0 +1,455 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mattr=+sse3 | FileCheck %s --check-prefix=CHECK --check-prefix=GENERIC
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=atom | FileCheck %s --check-prefix=CHECK --check-prefix=ATOM
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=slm | FileCheck %s --check-prefix=CHECK --check-prefix=SLM
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=sandybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=ivybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=haswell | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skylake | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=btver2 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=znver1 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2
+
+define <2 x double> @test_addsubpd(<2 x double> %a0, <2 x double> %a1, <2 x double> *%a2) {
+; GENERIC-LABEL: test_addsubpd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: addsubpd %xmm1, %xmm0
+; GENERIC-NEXT: addsubpd (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_addsubpd:
+; ATOM: # BB#0:
+; ATOM-NEXT: addsubpd %xmm1, %xmm0
+; ATOM-NEXT: addsubpd (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_addsubpd:
+; SLM: # BB#0:
+; SLM-NEXT: addsubpd %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: addsubpd (%rdi), %xmm0 # sched: [6:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_addsubpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vaddsubpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vaddsubpd (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_addsubpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vaddsubpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: vaddsubpd (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_addsubpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vaddsubpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddsubpd (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x double> @llvm.x86.sse3.addsub.pd(<2 x double> %a0, <2 x double> %a1)
+ %2 = load <2 x double>, <2 x double> *%a2, align 16
+ %3 = call <2 x double> @llvm.x86.sse3.addsub.pd(<2 x double> %1, <2 x double> %2)
+ ret <2 x double> %3
+}
+declare <2 x double> @llvm.x86.sse3.addsub.pd(<2 x double>, <2 x double>) nounwind readnone
+
+define <4 x float> @test_addsubps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a2) {
+; GENERIC-LABEL: test_addsubps:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: addsubps %xmm1, %xmm0
+; GENERIC-NEXT: addsubps (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_addsubps:
+; ATOM: # BB#0:
+; ATOM-NEXT: addsubps %xmm1, %xmm0
+; ATOM-NEXT: addsubps (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_addsubps:
+; SLM: # BB#0:
+; SLM-NEXT: addsubps %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: addsubps (%rdi), %xmm0 # sched: [6:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_addsubps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vaddsubps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vaddsubps (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_addsubps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vaddsubps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: vaddsubps (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_addsubps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vaddsubps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddsubps (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x float> @llvm.x86.sse3.addsub.ps(<4 x float> %a0, <4 x float> %a1)
+ %2 = load <4 x float>, <4 x float> *%a2, align 16
+ %3 = call <4 x float> @llvm.x86.sse3.addsub.ps(<4 x float> %1, <4 x float> %2)
+ ret <4 x float> %3
+}
+declare <4 x float> @llvm.x86.sse3.addsub.ps(<4 x float>, <4 x float>) nounwind readnone
+
+define <2 x double> @test_haddpd(<2 x double> %a0, <2 x double> %a1, <2 x double> *%a2) {
+; GENERIC-LABEL: test_haddpd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: haddpd %xmm1, %xmm0
+; GENERIC-NEXT: haddpd (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_haddpd:
+; ATOM: # BB#0:
+; ATOM-NEXT: haddpd %xmm1, %xmm0
+; ATOM-NEXT: haddpd (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_haddpd:
+; SLM: # BB#0:
+; SLM-NEXT: haddpd %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: haddpd (%rdi), %xmm0 # sched: [6:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_haddpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vhaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vhaddpd (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_haddpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vhaddpd %xmm1, %xmm0, %xmm0 # sched: [5:2.00]
+; HASWELL-NEXT: vhaddpd (%rdi), %xmm0, %xmm0 # sched: [9:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_haddpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vhaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vhaddpd (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x double> @llvm.x86.sse3.hadd.pd(<2 x double> %a0, <2 x double> %a1)
+ %2 = load <2 x double>, <2 x double> *%a2, align 16
+ %3 = call <2 x double> @llvm.x86.sse3.hadd.pd(<2 x double> %1, <2 x double> %2)
+ ret <2 x double> %3
+}
+declare <2 x double> @llvm.x86.sse3.hadd.pd(<2 x double>, <2 x double>) nounwind readnone
+
+define <4 x float> @test_haddps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a2) {
+; GENERIC-LABEL: test_haddps:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: haddps %xmm1, %xmm0
+; GENERIC-NEXT: haddps (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_haddps:
+; ATOM: # BB#0:
+; ATOM-NEXT: haddps %xmm1, %xmm0
+; ATOM-NEXT: haddps (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_haddps:
+; SLM: # BB#0:
+; SLM-NEXT: haddps %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: haddps (%rdi), %xmm0 # sched: [6:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_haddps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vhaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vhaddps (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_haddps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vhaddps %xmm1, %xmm0, %xmm0 # sched: [5:2.00]
+; HASWELL-NEXT: vhaddps (%rdi), %xmm0, %xmm0 # sched: [9:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_haddps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vhaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vhaddps (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x float> @llvm.x86.sse3.hadd.ps(<4 x float> %a0, <4 x float> %a1)
+ %2 = load <4 x float>, <4 x float> *%a2, align 16
+ %3 = call <4 x float> @llvm.x86.sse3.hadd.ps(<4 x float> %1, <4 x float> %2)
+ ret <4 x float> %3
+}
+declare <4 x float> @llvm.x86.sse3.hadd.ps(<4 x float>, <4 x float>) nounwind readnone
+
+define <2 x double> @test_hsubpd(<2 x double> %a0, <2 x double> %a1, <2 x double> *%a2) {
+; GENERIC-LABEL: test_hsubpd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: hsubpd %xmm1, %xmm0
+; GENERIC-NEXT: hsubpd (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_hsubpd:
+; ATOM: # BB#0:
+; ATOM-NEXT: hsubpd %xmm1, %xmm0
+; ATOM-NEXT: hsubpd (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_hsubpd:
+; SLM: # BB#0:
+; SLM-NEXT: hsubpd %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: hsubpd (%rdi), %xmm0 # sched: [6:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_hsubpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vhsubpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vhsubpd (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_hsubpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vhsubpd %xmm1, %xmm0, %xmm0 # sched: [5:2.00]
+; HASWELL-NEXT: vhsubpd (%rdi), %xmm0, %xmm0 # sched: [9:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_hsubpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vhsubpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vhsubpd (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x double> @llvm.x86.sse3.hsub.pd(<2 x double> %a0, <2 x double> %a1)
+ %2 = load <2 x double>, <2 x double> *%a2, align 16
+ %3 = call <2 x double> @llvm.x86.sse3.hsub.pd(<2 x double> %1, <2 x double> %2)
+ ret <2 x double> %3
+}
+declare <2 x double> @llvm.x86.sse3.hsub.pd(<2 x double>, <2 x double>) nounwind readnone
+
+define <4 x float> @test_hsubps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a2) {
+; GENERIC-LABEL: test_hsubps:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: hsubps %xmm1, %xmm0
+; GENERIC-NEXT: hsubps (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_hsubps:
+; ATOM: # BB#0:
+; ATOM-NEXT: hsubps %xmm1, %xmm0
+; ATOM-NEXT: hsubps (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_hsubps:
+; SLM: # BB#0:
+; SLM-NEXT: hsubps %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: hsubps (%rdi), %xmm0 # sched: [6:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_hsubps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vhsubps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vhsubps (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_hsubps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vhsubps %xmm1, %xmm0, %xmm0 # sched: [5:2.00]
+; HASWELL-NEXT: vhsubps (%rdi), %xmm0, %xmm0 # sched: [9:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_hsubps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vhsubps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vhsubps (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x float> @llvm.x86.sse3.hsub.ps(<4 x float> %a0, <4 x float> %a1)
+ %2 = load <4 x float>, <4 x float> *%a2, align 16
+ %3 = call <4 x float> @llvm.x86.sse3.hsub.ps(<4 x float> %1, <4 x float> %2)
+ ret <4 x float> %3
+}
+declare <4 x float> @llvm.x86.sse3.hsub.ps(<4 x float>, <4 x float>) nounwind readnone
+
+define <16 x i8> @test_lddqu(i8* %a0) {
+; GENERIC-LABEL: test_lddqu:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: lddqu (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_lddqu:
+; ATOM: # BB#0:
+; ATOM-NEXT: lddqu (%rdi), %xmm0
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_lddqu:
+; SLM: # BB#0:
+; SLM-NEXT: lddqu (%rdi), %xmm0 # sched: [3:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_lddqu:
+; SANDY: # BB#0:
+; SANDY-NEXT: vlddqu (%rdi), %xmm0 # sched: [4:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_lddqu:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vlddqu (%rdi), %xmm0 # sched: [4:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_lddqu:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vlddqu (%rdi), %xmm0 # sched: [5:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <16 x i8> @llvm.x86.sse3.ldu.dq(i8* %a0)
+ ret <16 x i8> %1
+}
+declare <16 x i8> @llvm.x86.sse3.ldu.dq(i8*) nounwind readonly
+
+define <2 x double> @test_movddup(<2 x double> %a0, <2 x double> *%a1) {
+; GENERIC-LABEL: test_movddup:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movddup {{.*#+}} xmm1 = xmm0[0,0]
+; GENERIC-NEXT: movddup {{.*#+}} xmm0 = mem[0,0]
+; GENERIC-NEXT: addpd %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_movddup:
+; ATOM: # BB#0:
+; ATOM-NEXT: movddup {{.*#+}} xmm1 = mem[0,0]
+; ATOM-NEXT: movddup {{.*#+}} xmm0 = xmm0[0,0]
+; ATOM-NEXT: addpd %xmm0, %xmm1
+; ATOM-NEXT: movapd %xmm1, %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_movddup:
+; SLM: # BB#0:
+; SLM-NEXT: movddup {{.*#+}} xmm1 = xmm0[0,0] sched: [1:1.00]
+; SLM-NEXT: movddup {{.*#+}} xmm0 = mem[0,0] sched: [3:1.00]
+; SLM-NEXT: addpd %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_movddup:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0] sched: [1:1.00]
+; SANDY-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0] sched: [4:0.50]
+; SANDY-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movddup:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0] sched: [1:1.00]
+; HASWELL-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0] sched: [4:0.50]
+; HASWELL-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movddup:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovddup {{.*#+}} xmm1 = mem[0,0] sched: [5:1.00]
+; BTVER2-NEXT: vmovddup {{.*#+}} xmm0 = xmm0[0,0] sched: [1:0.50]
+; BTVER2-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <2 x double> %a0, <2 x double> undef, <2 x i32> zeroinitializer
+ %2 = load <2 x double>, <2 x double> *%a1, align 16
+ %3 = shufflevector <2 x double> %2, <2 x double> undef, <2 x i32> zeroinitializer
+ %4 = fadd <2 x double> %1, %3
+ ret <2 x double> %4
+}
+
+define <4 x float> @test_movshdup(<4 x float> %a0, <4 x float> *%a1) {
+; GENERIC-LABEL: test_movshdup:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movshdup {{.*#+}} xmm1 = xmm0[1,1,3,3]
+; GENERIC-NEXT: movshdup {{.*#+}} xmm0 = mem[1,1,3,3]
+; GENERIC-NEXT: addps %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_movshdup:
+; ATOM: # BB#0:
+; ATOM-NEXT: movshdup {{.*#+}} xmm1 = mem[1,1,3,3]
+; ATOM-NEXT: movshdup {{.*#+}} xmm0 = xmm0[1,1,3,3]
+; ATOM-NEXT: addps %xmm0, %xmm1
+; ATOM-NEXT: movaps %xmm1, %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_movshdup:
+; SLM: # BB#0:
+; SLM-NEXT: movshdup {{.*#+}} xmm1 = xmm0[1,1,3,3] sched: [1:1.00]
+; SLM-NEXT: movshdup {{.*#+}} xmm0 = mem[1,1,3,3] sched: [3:1.00]
+; SLM-NEXT: addps %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_movshdup:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovshdup {{.*#+}} xmm0 = xmm0[1,1,3,3] sched: [1:1.00]
+; SANDY-NEXT: vmovshdup {{.*#+}} xmm1 = mem[1,1,3,3] sched: [4:0.50]
+; SANDY-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movshdup:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovshdup {{.*#+}} xmm0 = xmm0[1,1,3,3] sched: [1:1.00]
+; HASWELL-NEXT: vmovshdup {{.*#+}} xmm1 = mem[1,1,3,3] sched: [4:0.50]
+; HASWELL-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movshdup:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovshdup {{.*#+}} xmm1 = mem[1,1,3,3] sched: [5:1.00]
+; BTVER2-NEXT: vmovshdup {{.*#+}} xmm0 = xmm0[1,1,3,3] sched: [1:0.50]
+; BTVER2-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x float> %a0, <4 x float> undef, <4 x i32> <i32 1, i32 1, i32 3, i32 3>
+ %2 = load <4 x float>, <4 x float> *%a1, align 16
+ %3 = shufflevector <4 x float> %2, <4 x float> undef, <4 x i32> <i32 1, i32 1, i32 3, i32 3>
+ %4 = fadd <4 x float> %1, %3
+ ret <4 x float> %4
+}
+
+define <4 x float> @test_movsldup(<4 x float> %a0, <4 x float> *%a1) {
+; GENERIC-LABEL: test_movsldup:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movsldup {{.*#+}} xmm1 = xmm0[0,0,2,2]
+; GENERIC-NEXT: movsldup {{.*#+}} xmm0 = mem[0,0,2,2]
+; GENERIC-NEXT: addps %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_movsldup:
+; ATOM: # BB#0:
+; ATOM-NEXT: movsldup {{.*#+}} xmm1 = mem[0,0,2,2]
+; ATOM-NEXT: movsldup {{.*#+}} xmm0 = xmm0[0,0,2,2]
+; ATOM-NEXT: addps %xmm0, %xmm1
+; ATOM-NEXT: movaps %xmm1, %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_movsldup:
+; SLM: # BB#0:
+; SLM-NEXT: movsldup {{.*#+}} xmm1 = xmm0[0,0,2,2] sched: [1:1.00]
+; SLM-NEXT: movsldup {{.*#+}} xmm0 = mem[0,0,2,2] sched: [3:1.00]
+; SLM-NEXT: addps %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_movsldup:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovsldup {{.*#+}} xmm0 = xmm0[0,0,2,2] sched: [1:1.00]
+; SANDY-NEXT: vmovsldup {{.*#+}} xmm1 = mem[0,0,2,2] sched: [4:0.50]
+; SANDY-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movsldup:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovsldup {{.*#+}} xmm0 = xmm0[0,0,2,2] sched: [1:1.00]
+; HASWELL-NEXT: vmovsldup {{.*#+}} xmm1 = mem[0,0,2,2] sched: [4:0.50]
+; HASWELL-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movsldup:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovsldup {{.*#+}} xmm1 = mem[0,0,2,2] sched: [5:1.00]
+; BTVER2-NEXT: vmovsldup {{.*#+}} xmm0 = xmm0[0,0,2,2] sched: [1:0.50]
+; BTVER2-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x float> %a0, <4 x float> undef, <4 x i32> <i32 0, i32 0, i32 2, i32 2>
+ %2 = load <4 x float>, <4 x float> *%a1, align 16
+ %3 = shufflevector <4 x float> %2, <4 x float> undef, <4 x i32> <i32 0, i32 0, i32 2, i32 2>
+ %4 = fadd <4 x float> %1, %3
+ ret <4 x float> %4
+}
diff --git a/test/CodeGen/X86/sse41-schedule.ll b/test/CodeGen/X86/sse41-schedule.ll
new file mode 100644
index 000000000000..340b9abe8879
--- /dev/null
+++ b/test/CodeGen/X86/sse41-schedule.ll
@@ -0,0 +1,1938 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mattr=+sse4.1 | FileCheck %s --check-prefix=CHECK --check-prefix=GENERIC
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=slm | FileCheck %s --check-prefix=CHECK --check-prefix=SLM
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=sandybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=ivybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=haswell | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skylake | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=btver2 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=znver1 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2
+
+define <2 x double> @test_blendpd(<2 x double> %a0, <2 x double> %a1, <2 x double> *%a2) {
+; GENERIC-LABEL: test_blendpd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: blendpd {{.*#+}} xmm0 = xmm0[0],xmm1[1]
+; GENERIC-NEXT: addpd %xmm1, %xmm0
+; GENERIC-NEXT: blendpd {{.*#+}} xmm0 = xmm0[0],mem[1]
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_blendpd:
+; SLM: # BB#0:
+; SLM-NEXT: blendpd {{.*#+}} xmm0 = xmm0[0],xmm1[1] sched: [1:1.00]
+; SLM-NEXT: addpd %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: blendpd {{.*#+}} xmm0 = xmm0[0],mem[1] sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_blendpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vblendpd {{.*#+}} xmm0 = xmm0[0],xmm1[1] sched: [1:0.50]
+; SANDY-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vblendpd {{.*#+}} xmm0 = xmm0[0],mem[1] sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_blendpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vblendpd {{.*#+}} xmm0 = xmm0[0],xmm1[1] sched: [1:0.33]
+; HASWELL-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: vblendpd {{.*#+}} xmm0 = xmm0[0],mem[1] sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_blendpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vblendpd {{.*#+}} xmm0 = xmm0[0],xmm1[1] sched: [1:0.50]
+; BTVER2-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vblendpd {{.*#+}} xmm0 = xmm0[0],mem[1] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <2 x double> %a0, <2 x double> %a1, <2 x i32> <i32 0, i32 3>
+ %2 = load <2 x double>, <2 x double> *%a2, align 16
+ %3 = fadd <2 x double> %a1, %1
+ %4 = shufflevector <2 x double> %3, <2 x double> %2, <2 x i32> <i32 0, i32 3>
+ ret <2 x double> %4
+}
+
+define <4 x float> @test_blendps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a2) {
+; GENERIC-LABEL: test_blendps:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3]
+; GENERIC-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],mem[1],xmm0[2,3]
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_blendps:
+; SLM: # BB#0:
+; SLM-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3] sched: [1:1.00]
+; SLM-NEXT: blendps {{.*#+}} xmm0 = xmm0[0],mem[1],xmm0[2,3] sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_blendps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3] sched: [1:0.50]
+; SANDY-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],mem[1],xmm0[2,3] sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_blendps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3] sched: [1:0.33]
+; HASWELL-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],mem[1],xmm0[2,3] sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_blendps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],xmm1[1,2],xmm0[3] sched: [1:0.50]
+; BTVER2-NEXT: vblendps {{.*#+}} xmm0 = xmm0[0],mem[1],xmm0[2,3] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x float> %a0, <4 x float> %a1, <4 x i32> <i32 0, i32 5, i32 6, i32 3>
+ %2 = load <4 x float>, <4 x float> *%a2, align 16
+ %3 = shufflevector <4 x float> %1, <4 x float> %2, <4 x i32> <i32 0, i32 5, i32 2, i32 3>
+ ret <4 x float> %3
+}
+
+define <2 x double> @test_blendvpd(<2 x double> %a0, <2 x double> %a1, <2 x double> %a2, <2 x double> *%a3) {
+; GENERIC-LABEL: test_blendvpd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movapd %xmm0, %xmm3
+; GENERIC-NEXT: movaps %xmm2, %xmm0
+; GENERIC-NEXT: blendvpd %xmm0, %xmm1, %xmm3
+; GENERIC-NEXT: blendvpd %xmm0, (%rdi), %xmm3
+; GENERIC-NEXT: movapd %xmm3, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_blendvpd:
+; SLM: # BB#0:
+; SLM-NEXT: movapd %xmm0, %xmm3 # sched: [1:1.00]
+; SLM-NEXT: movaps %xmm2, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: blendvpd %xmm0, %xmm1, %xmm3 # sched: [1:1.00]
+; SLM-NEXT: blendvpd %xmm0, (%rdi), %xmm3 # sched: [4:1.00]
+; SLM-NEXT: movapd %xmm3, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_blendvpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vblendvpd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:1.00]
+; SANDY-NEXT: vblendvpd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_blendvpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vblendvpd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:2.00]
+; HASWELL-NEXT: vblendvpd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_blendvpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vblendvpd %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:1.00]
+; BTVER2-NEXT: vblendvpd %xmm2, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x double> @llvm.x86.sse41.blendvpd(<2 x double> %a0, <2 x double> %a1, <2 x double> %a2)
+ %2 = load <2 x double>, <2 x double> *%a3, align 16
+ %3 = call <2 x double> @llvm.x86.sse41.blendvpd(<2 x double> %1, <2 x double> %2, <2 x double> %a2)
+ ret <2 x double> %3
+}
+declare <2 x double> @llvm.x86.sse41.blendvpd(<2 x double>, <2 x double>, <2 x double>) nounwind readnone
+
+define <4 x float> @test_blendvps(<4 x float> %a0, <4 x float> %a1, <4 x float> %a2, <4 x float> *%a3) {
+; GENERIC-LABEL: test_blendvps:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movaps %xmm0, %xmm3
+; GENERIC-NEXT: movaps %xmm2, %xmm0
+; GENERIC-NEXT: blendvps %xmm0, %xmm1, %xmm3
+; GENERIC-NEXT: blendvps %xmm0, (%rdi), %xmm3
+; GENERIC-NEXT: movaps %xmm3, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_blendvps:
+; SLM: # BB#0:
+; SLM-NEXT: movaps %xmm0, %xmm3 # sched: [1:1.00]
+; SLM-NEXT: movaps %xmm2, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: blendvps %xmm0, %xmm1, %xmm3 # sched: [1:1.00]
+; SLM-NEXT: blendvps %xmm0, (%rdi), %xmm3 # sched: [4:1.00]
+; SLM-NEXT: movaps %xmm3, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_blendvps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vblendvps %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:1.00]
+; SANDY-NEXT: vblendvps %xmm2, (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_blendvps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vblendvps %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:2.00]
+; HASWELL-NEXT: vblendvps %xmm2, (%rdi), %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_blendvps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vblendvps %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:1.00]
+; BTVER2-NEXT: vblendvps %xmm2, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x float> @llvm.x86.sse41.blendvps(<4 x float> %a0, <4 x float> %a1, <4 x float> %a2)
+ %2 = load <4 x float>, <4 x float> *%a3
+ %3 = call <4 x float> @llvm.x86.sse41.blendvps(<4 x float> %1, <4 x float> %2, <4 x float> %a2)
+ ret <4 x float> %3
+}
+declare <4 x float> @llvm.x86.sse41.blendvps(<4 x float>, <4 x float>, <4 x float>) nounwind readnone
+
+define <2 x double> @test_dppd(<2 x double> %a0, <2 x double> %a1, <2 x double> *%a2) {
+; GENERIC-LABEL: test_dppd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: dppd $7, %xmm1, %xmm0
+; GENERIC-NEXT: dppd $7, (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_dppd:
+; SLM: # BB#0:
+; SLM-NEXT: dppd $7, %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: dppd $7, (%rdi), %xmm0 # sched: [6:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_dppd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vdppd $7, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vdppd $7, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_dppd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vdppd $7, %xmm1, %xmm0, %xmm0 # sched: [9:1.00]
+; HASWELL-NEXT: vdppd $7, (%rdi), %xmm0, %xmm0 # sched: [13:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_dppd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vdppd $7, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vdppd $7, (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x double> @llvm.x86.sse41.dppd(<2 x double> %a0, <2 x double> %a1, i8 7)
+ %2 = load <2 x double>, <2 x double> *%a2, align 16
+ %3 = call <2 x double> @llvm.x86.sse41.dppd(<2 x double> %1, <2 x double> %2, i8 7)
+ ret <2 x double> %3
+}
+declare <2 x double> @llvm.x86.sse41.dppd(<2 x double>, <2 x double>, i8) nounwind readnone
+
+define <4 x float> @test_dpps(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a2) {
+; GENERIC-LABEL: test_dpps:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: dpps $7, %xmm1, %xmm0
+; GENERIC-NEXT: dpps $7, (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_dpps:
+; SLM: # BB#0:
+; SLM-NEXT: dpps $7, %xmm1, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: dpps $7, (%rdi), %xmm0 # sched: [6:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_dpps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vdpps $7, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vdpps $7, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_dpps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vdpps $7, %xmm1, %xmm0, %xmm0 # sched: [14:2.00]
+; HASWELL-NEXT: vdpps $7, (%rdi), %xmm0, %xmm0 # sched: [18:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_dpps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vdpps $7, %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vdpps $7, (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x float> @llvm.x86.sse41.dpps(<4 x float> %a0, <4 x float> %a1, i8 7)
+ %2 = load <4 x float>, <4 x float> *%a2, align 16
+ %3 = call <4 x float> @llvm.x86.sse41.dpps(<4 x float> %1, <4 x float> %2, i8 7)
+ ret <4 x float> %3
+}
+declare <4 x float> @llvm.x86.sse41.dpps(<4 x float>, <4 x float>, i8) nounwind readnone
+
+define <4 x float> @test_insertps(<4 x float> %a0, <4 x float> %a1, float *%a2) {
+; GENERIC-LABEL: test_insertps:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: insertps {{.*#+}} xmm0 = zero,xmm1[0],xmm0[2,3]
+; GENERIC-NEXT: insertps {{.*#+}} xmm0 = xmm0[0,1,2],mem[0]
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_insertps:
+; SLM: # BB#0:
+; SLM-NEXT: insertps {{.*#+}} xmm0 = zero,xmm1[0],xmm0[2,3] sched: [1:1.00]
+; SLM-NEXT: insertps {{.*#+}} xmm0 = xmm0[0,1,2],mem[0] sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_insertps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vinsertps {{.*#+}} xmm0 = zero,xmm1[0],xmm0[2,3] sched: [1:1.00]
+; SANDY-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],mem[0] sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_insertps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vinsertps {{.*#+}} xmm0 = zero,xmm1[0],xmm0[2,3] sched: [1:1.00]
+; HASWELL-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],mem[0] sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_insertps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vinsertps {{.*#+}} xmm0 = zero,xmm1[0],xmm0[2,3] sched: [1:0.50]
+; BTVER2-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,1,2],mem[0] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x float> @llvm.x86.sse41.insertps(<4 x float> %a0, <4 x float> %a1, i8 17)
+ %2 = load float, float *%a2
+ %3 = insertelement <4 x float> %1, float %2, i32 3
+ ret <4 x float> %3
+}
+declare <4 x float> @llvm.x86.sse41.insertps(<4 x float>, <4 x float>, i8) nounwind readnone
+
+define <2 x i64> @test_movntdqa(i8* %a0) {
+; GENERIC-LABEL: test_movntdqa:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movntdqa (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_movntdqa:
+; SLM: # BB#0:
+; SLM-NEXT: movntdqa (%rdi), %xmm0 # sched: [3:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_movntdqa:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmovntdqa (%rdi), %xmm0 # sched: [4:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_movntdqa:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmovntdqa (%rdi), %xmm0 # sched: [4:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_movntdqa:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmovntdqa (%rdi), %xmm0 # sched: [5:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x i64> @llvm.x86.sse41.movntdqa(i8* %a0)
+ ret <2 x i64> %1
+}
+declare <2 x i64> @llvm.x86.sse41.movntdqa(i8*) nounwind readnone
+
+define <8 x i16> @test_mpsadbw(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
+; GENERIC-LABEL: test_mpsadbw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: mpsadbw $7, %xmm1, %xmm0
+; GENERIC-NEXT: mpsadbw $7, (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_mpsadbw:
+; SLM: # BB#0:
+; SLM-NEXT: mpsadbw $7, %xmm1, %xmm0 # sched: [7:1.00]
+; SLM-NEXT: mpsadbw $7, (%rdi), %xmm0 # sched: [10:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_mpsadbw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vmpsadbw $7, %xmm1, %xmm0, %xmm0 # sched: [6:1.00]
+; SANDY-NEXT: vmpsadbw $7, (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_mpsadbw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vmpsadbw $7, %xmm1, %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: vmpsadbw $7, (%rdi), %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_mpsadbw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vmpsadbw $7, %xmm1, %xmm0, %xmm0 # sched: [3:2.00]
+; BTVER2-NEXT: vmpsadbw $7, (%rdi), %xmm0, %xmm0 # sched: [8:2.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.sse41.mpsadbw(<16 x i8> %a0, <16 x i8> %a1, i8 7)
+ %2 = bitcast <8 x i16> %1 to <16 x i8>
+ %3 = load <16 x i8>, <16 x i8> *%a2, align 16
+ %4 = call <8 x i16> @llvm.x86.sse41.mpsadbw(<16 x i8> %2, <16 x i8> %3, i8 7)
+ ret <8 x i16> %4
+}
+declare <8 x i16> @llvm.x86.sse41.mpsadbw(<16 x i8>, <16 x i8>, i8) nounwind readnone
+
+define <8 x i16> @test_packusdw(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; GENERIC-LABEL: test_packusdw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: packusdw %xmm1, %xmm0
+; GENERIC-NEXT: packusdw (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_packusdw:
+; SLM: # BB#0:
+; SLM-NEXT: packusdw %xmm1, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: packusdw (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_packusdw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpackusdw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpackusdw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_packusdw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpackusdw %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpackusdw (%rdi), %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_packusdw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpackusdw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpackusdw (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.sse41.packusdw(<4 x i32> %a0, <4 x i32> %a1)
+ %2 = bitcast <8 x i16> %1 to <4 x i32>
+ %3 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %4 = call <8 x i16> @llvm.x86.sse41.packusdw(<4 x i32> %2, <4 x i32> %3)
+ ret <8 x i16> %4
+}
+declare <8 x i16> @llvm.x86.sse41.packusdw(<4 x i32>, <4 x i32>) nounwind readnone
+
+define <16 x i8> @test_pblendvb(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> %a2, <16 x i8> *%a3) {
+; GENERIC-LABEL: test_pblendvb:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movdqa %xmm0, %xmm3
+; GENERIC-NEXT: movaps %xmm2, %xmm0
+; GENERIC-NEXT: pblendvb %xmm0, %xmm1, %xmm3
+; GENERIC-NEXT: pblendvb %xmm0, (%rdi), %xmm3
+; GENERIC-NEXT: movdqa %xmm3, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pblendvb:
+; SLM: # BB#0:
+; SLM-NEXT: movdqa %xmm0, %xmm3 # sched: [1:0.50]
+; SLM-NEXT: movaps %xmm2, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: pblendvb %xmm0, %xmm1, %xmm3 # sched: [1:1.00]
+; SLM-NEXT: pblendvb %xmm0, (%rdi), %xmm3 # sched: [4:1.00]
+; SLM-NEXT: movdqa %xmm3, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pblendvb:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpblendvb %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:1.00]
+; SANDY-NEXT: vpblendvb %xmm2, (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pblendvb:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpblendvb %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:2.00]
+; HASWELL-NEXT: vpblendvb %xmm2, (%rdi), %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pblendvb:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpblendvb %xmm2, %xmm1, %xmm0, %xmm0 # sched: [2:1.00]
+; BTVER2-NEXT: vpblendvb %xmm2, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <16 x i8> @llvm.x86.sse41.pblendvb(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> %a2)
+ %2 = load <16 x i8>, <16 x i8> *%a3, align 16
+ %3 = call <16 x i8> @llvm.x86.sse41.pblendvb(<16 x i8> %1, <16 x i8> %2, <16 x i8> %a2)
+ ret <16 x i8> %3
+}
+declare <16 x i8> @llvm.x86.sse41.pblendvb(<16 x i8>, <16 x i8>, <16 x i8>) nounwind readnone
+
+define <8 x i16> @test_pblendw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
+; GENERIC-LABEL: test_pblendw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7]
+; GENERIC-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],mem[2,3],xmm0[4,5,6],mem[7]
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pblendw:
+; SLM: # BB#0:
+; SLM-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7] sched: [1:1.00]
+; SLM-NEXT: pblendw {{.*#+}} xmm0 = xmm0[0,1],mem[2,3],xmm0[4,5,6],mem[7] sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pblendw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7] sched: [1:0.50]
+; SANDY-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],mem[2,3],xmm0[4,5,6],mem[7] sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pblendw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7] sched: [1:1.00]
+; HASWELL-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],mem[2,3],xmm0[4,5,6],mem[7] sched: [4:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pblendw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0],xmm1[1],xmm0[2],xmm1[3],xmm0[4],xmm1[5],xmm0[6],xmm1[7] sched: [1:0.50]
+; BTVER2-NEXT: vpblendw {{.*#+}} xmm0 = xmm0[0,1],mem[2,3],xmm0[4,5,6],mem[7] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x i16> %a0, <8 x i16> %a1, <8 x i32> <i32 0, i32 9, i32 2, i32 11, i32 4, i32 13, i32 6, i32 15>
+ %2 = load <8 x i16>, <8 x i16> *%a2, align 16
+ %3 = shufflevector <8 x i16> %1, <8 x i16> %2, <8 x i32> <i32 0, i32 1, i32 10, i32 11, i32 4, i32 5, i32 6, i32 15>
+ ret <8 x i16> %3
+}
+
+define <2 x i64> @test_pcmpeqq(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> *%a2) {
+; GENERIC-LABEL: test_pcmpeqq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pcmpeqq %xmm1, %xmm0
+; GENERIC-NEXT: pcmpeqq (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pcmpeqq:
+; SLM: # BB#0:
+; SLM-NEXT: pcmpeqq %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: pcmpeqq (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pcmpeqq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpcmpeqq (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pcmpeqq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpcmpeqq (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pcmpeqq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpcmpeqq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpcmpeqq (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = icmp eq <2 x i64> %a0, %a1
+ %2 = sext <2 x i1> %1 to <2 x i64>
+ %3 = load <2 x i64>, <2 x i64>*%a2, align 16
+ %4 = icmp eq <2 x i64> %2, %3
+ %5 = sext <2 x i1> %4 to <2 x i64>
+ ret <2 x i64> %5
+}
+
+define i32 @test_pextrb(<16 x i8> %a0, i8 *%a1) {
+; GENERIC-LABEL: test_pextrb:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pextrb $3, %xmm0, %eax
+; GENERIC-NEXT: pextrb $1, %xmm0, (%rdi)
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pextrb:
+; SLM: # BB#0:
+; SLM-NEXT: pextrb $3, %xmm0, %eax # sched: [1:1.00]
+; SLM-NEXT: pextrb $1, %xmm0, (%rdi) # sched: [4:2.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pextrb:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpextrb $3, %xmm0, %eax # sched: [1:0.50]
+; SANDY-NEXT: vpextrb $1, %xmm0, (%rdi) # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pextrb:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpextrb $3, %xmm0, %eax # sched: [1:1.00]
+; HASWELL-NEXT: vpextrb $1, %xmm0, (%rdi) # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pextrb:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpextrb $3, %xmm0, %eax # sched: [1:0.50]
+; BTVER2-NEXT: vpextrb $1, %xmm0, (%rdi) # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = extractelement <16 x i8> %a0, i32 3
+ %2 = extractelement <16 x i8> %a0, i32 1
+ store i8 %2, i8 *%a1
+ %3 = zext i8 %1 to i32
+ ret i32 %3
+}
+
+define i32 @test_pextrd(<4 x i32> %a0, i32 *%a1) {
+; GENERIC-LABEL: test_pextrd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pextrd $3, %xmm0, %eax
+; GENERIC-NEXT: pextrd $1, %xmm0, (%rdi)
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pextrd:
+; SLM: # BB#0:
+; SLM-NEXT: pextrd $3, %xmm0, %eax # sched: [1:1.00]
+; SLM-NEXT: pextrd $1, %xmm0, (%rdi) # sched: [4:2.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pextrd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpextrd $3, %xmm0, %eax # sched: [1:0.50]
+; SANDY-NEXT: vpextrd $1, %xmm0, (%rdi) # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pextrd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpextrd $3, %xmm0, %eax # sched: [1:1.00]
+; HASWELL-NEXT: vpextrd $1, %xmm0, (%rdi) # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pextrd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpextrd $3, %xmm0, %eax # sched: [1:0.50]
+; BTVER2-NEXT: vpextrd $1, %xmm0, (%rdi) # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = extractelement <4 x i32> %a0, i32 3
+ %2 = extractelement <4 x i32> %a0, i32 1
+ store i32 %2, i32 *%a1
+ ret i32 %1
+}
+
+define i64 @test_pextrq(<2 x i64> %a0, <2 x i64> %a1, i64 *%a2) {
+; GENERIC-LABEL: test_pextrq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pextrq $1, %xmm0, %rax
+; GENERIC-NEXT: pextrq $1, %xmm0, (%rdi)
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pextrq:
+; SLM: # BB#0:
+; SLM-NEXT: pextrq $1, %xmm0, %rax # sched: [1:1.00]
+; SLM-NEXT: pextrq $1, %xmm0, (%rdi) # sched: [4:2.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pextrq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpextrq $1, %xmm0, %rax # sched: [1:0.50]
+; SANDY-NEXT: vpextrq $1, %xmm0, (%rdi) # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pextrq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpextrq $1, %xmm0, %rax # sched: [1:1.00]
+; HASWELL-NEXT: vpextrq $1, %xmm0, (%rdi) # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pextrq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpextrq $1, %xmm0, %rax # sched: [1:0.50]
+; BTVER2-NEXT: vpextrq $1, %xmm0, (%rdi) # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = extractelement <2 x i64> %a0, i32 1
+ %2 = extractelement <2 x i64> %a0, i32 1
+ store i64 %2, i64 *%a2
+ ret i64 %1
+}
+
+define i32 @test_pextrw(<8 x i16> %a0, i16 *%a1) {
+; GENERIC-LABEL: test_pextrw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pextrw $3, %xmm0, %eax
+; GENERIC-NEXT: pextrw $1, %xmm0, (%rdi)
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pextrw:
+; SLM: # BB#0:
+; SLM-NEXT: pextrw $3, %xmm0, %eax # sched: [4:1.00]
+; SLM-NEXT: pextrw $1, %xmm0, (%rdi) # sched: [4:2.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pextrw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpextrw $3, %xmm0, %eax # sched: [1:0.50]
+; SANDY-NEXT: vpextrw $1, %xmm0, (%rdi) # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pextrw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpextrw $3, %xmm0, %eax # sched: [1:1.00]
+; HASWELL-NEXT: vpextrw $1, %xmm0, (%rdi) # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pextrw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpextrw $3, %xmm0, %eax # sched: [1:0.50]
+; BTVER2-NEXT: vpextrw $1, %xmm0, (%rdi) # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = extractelement <8 x i16> %a0, i32 3
+ %2 = extractelement <8 x i16> %a0, i32 1
+ store i16 %2, i16 *%a1
+ %3 = zext i16 %1 to i32
+ ret i32 %3
+}
+
+define <8 x i16> @test_phminposuw(<8 x i16> *%a0) {
+; GENERIC-LABEL: test_phminposuw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: phminposuw (%rdi), %xmm0
+; GENERIC-NEXT: phminposuw %xmm0, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_phminposuw:
+; SLM: # BB#0:
+; SLM-NEXT: phminposuw (%rdi), %xmm0 # sched: [7:1.00]
+; SLM-NEXT: phminposuw %xmm0, %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_phminposuw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vphminposuw (%rdi), %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: vphminposuw %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_phminposuw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vphminposuw (%rdi), %xmm0 # sched: [9:1.00]
+; HASWELL-NEXT: vphminposuw %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_phminposuw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vphminposuw (%rdi), %xmm0 # sched: [7:1.00]
+; BTVER2-NEXT: vphminposuw %xmm0, %xmm0 # sched: [2:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = load <8 x i16>, <8 x i16> *%a0, align 16
+ %2 = call <8 x i16> @llvm.x86.sse41.phminposuw(<8 x i16> %1)
+ %3 = call <8 x i16> @llvm.x86.sse41.phminposuw(<8 x i16> %2)
+ ret <8 x i16> %3
+}
+declare <8 x i16> @llvm.x86.sse41.phminposuw(<8 x i16>) nounwind readnone
+
+define <16 x i8> @test_pinsrb(<16 x i8> %a0, i8 %a1, i8 *%a2) {
+; GENERIC-LABEL: test_pinsrb:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pinsrb $1, %edi, %xmm0
+; GENERIC-NEXT: pinsrb $3, (%rsi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pinsrb:
+; SLM: # BB#0:
+; SLM-NEXT: pinsrb $1, %edi, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: pinsrb $3, (%rsi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pinsrb:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpinsrb $1, %edi, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpinsrb $3, (%rsi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pinsrb:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpinsrb $1, %edi, %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpinsrb $3, (%rsi), %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pinsrb:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpinsrb $1, %edi, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpinsrb $3, (%rsi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = insertelement <16 x i8> %a0, i8 %a1, i32 1
+ %2 = load i8, i8 *%a2
+ %3 = insertelement <16 x i8> %1, i8 %2, i32 3
+ ret <16 x i8> %3
+}
+
+define <4 x i32> @test_pinsrd(<4 x i32> %a0, i32 %a1, i32 *%a2) {
+; GENERIC-LABEL: test_pinsrd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pinsrd $1, %edi, %xmm0
+; GENERIC-NEXT: pinsrd $3, (%rsi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pinsrd:
+; SLM: # BB#0:
+; SLM-NEXT: pinsrd $1, %edi, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: pinsrd $3, (%rsi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pinsrd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpinsrd $1, %edi, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpinsrd $3, (%rsi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pinsrd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpinsrd $1, %edi, %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpinsrd $3, (%rsi), %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pinsrd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpinsrd $1, %edi, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpinsrd $3, (%rsi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = insertelement <4 x i32> %a0, i32 %a1, i32 1
+ %2 = load i32, i32 *%a2
+ %3 = insertelement <4 x i32> %1, i32 %2, i32 3
+ ret <4 x i32> %3
+}
+
+define <2 x i64> @test_pinsrq(<2 x i64> %a0, <2 x i64> %a1, i64 %a2, i64 *%a3) {
+; GENERIC-LABEL: test_pinsrq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pinsrq $1, %rdi, %xmm0
+; GENERIC-NEXT: pinsrq $1, (%rsi), %xmm1
+; GENERIC-NEXT: paddq %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pinsrq:
+; SLM: # BB#0:
+; SLM-NEXT: pinsrq $1, (%rsi), %xmm1 # sched: [4:1.00]
+; SLM-NEXT: pinsrq $1, %rdi, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: paddq %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pinsrq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpinsrq $1, %rdi, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpinsrq $1, (%rsi), %xmm1, %xmm1 # sched: [5:0.50]
+; SANDY-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pinsrq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpinsrq $1, %rdi, %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpinsrq $1, (%rsi), %xmm1, %xmm1 # sched: [5:1.00]
+; HASWELL-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pinsrq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpinsrq $1, (%rsi), %xmm1, %xmm1 # sched: [6:1.00]
+; BTVER2-NEXT: vpinsrq $1, %rdi, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = insertelement <2 x i64> %a0, i64 %a2, i32 1
+ %2 = load i64, i64 *%a3
+ %3 = insertelement <2 x i64> %a1, i64 %2, i32 1
+ %4 = add <2 x i64> %1, %3
+ ret <2 x i64> %4
+}
+
+define <16 x i8> @test_pmaxsb(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
+; GENERIC-LABEL: test_pmaxsb:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmaxsb %xmm1, %xmm0
+; GENERIC-NEXT: pmaxsb (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmaxsb:
+; SLM: # BB#0:
+; SLM-NEXT: pmaxsb %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: pmaxsb (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmaxsb:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmaxsb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpmaxsb (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmaxsb:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmaxsb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpmaxsb (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmaxsb:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmaxsb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpmaxsb (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <16 x i8> @llvm.x86.sse41.pmaxsb(<16 x i8> %a0, <16 x i8> %a1)
+ %2 = load <16 x i8>, <16 x i8> *%a2, align 16
+ %3 = call <16 x i8> @llvm.x86.sse41.pmaxsb(<16 x i8> %1, <16 x i8> %2)
+ ret <16 x i8> %3
+}
+declare <16 x i8> @llvm.x86.sse41.pmaxsb(<16 x i8>, <16 x i8>) nounwind readnone
+
+define <4 x i32> @test_pmaxsd(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; GENERIC-LABEL: test_pmaxsd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmaxsd %xmm1, %xmm0
+; GENERIC-NEXT: pmaxsd (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmaxsd:
+; SLM: # BB#0:
+; SLM-NEXT: pmaxsd %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: pmaxsd (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmaxsd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmaxsd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpmaxsd (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmaxsd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmaxsd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpmaxsd (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmaxsd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmaxsd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpmaxsd (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x i32> @llvm.x86.sse41.pmaxsd(<4 x i32> %a0, <4 x i32> %a1)
+ %2 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %3 = call <4 x i32> @llvm.x86.sse41.pmaxsd(<4 x i32> %1, <4 x i32> %2)
+ ret <4 x i32> %3
+}
+declare <4 x i32> @llvm.x86.sse41.pmaxsd(<4 x i32>, <4 x i32>) nounwind readnone
+
+define <4 x i32> @test_pmaxud(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; GENERIC-LABEL: test_pmaxud:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmaxud %xmm1, %xmm0
+; GENERIC-NEXT: pmaxud (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmaxud:
+; SLM: # BB#0:
+; SLM-NEXT: pmaxud %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: pmaxud (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmaxud:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmaxud %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpmaxud (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmaxud:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmaxud %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpmaxud (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmaxud:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmaxud %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpmaxud (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x i32> @llvm.x86.sse41.pmaxud(<4 x i32> %a0, <4 x i32> %a1)
+ %2 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %3 = call <4 x i32> @llvm.x86.sse41.pmaxud(<4 x i32> %1, <4 x i32> %2)
+ ret <4 x i32> %3
+}
+declare <4 x i32> @llvm.x86.sse41.pmaxud(<4 x i32>, <4 x i32>) nounwind readnone
+
+define <8 x i16> @test_pmaxuw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
+; GENERIC-LABEL: test_pmaxuw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmaxuw %xmm1, %xmm0
+; GENERIC-NEXT: pmaxuw (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmaxuw:
+; SLM: # BB#0:
+; SLM-NEXT: pmaxuw %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: pmaxuw (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmaxuw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmaxuw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpmaxuw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmaxuw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmaxuw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpmaxuw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmaxuw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmaxuw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpmaxuw (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.sse41.pmaxuw(<8 x i16> %a0, <8 x i16> %a1)
+ %2 = load <8 x i16>, <8 x i16> *%a2, align 16
+ %3 = call <8 x i16> @llvm.x86.sse41.pmaxuw(<8 x i16> %1, <8 x i16> %2)
+ ret <8 x i16> %3
+}
+declare <8 x i16> @llvm.x86.sse41.pmaxuw(<8 x i16>, <8 x i16>) nounwind readnone
+
+define <16 x i8> @test_pminsb(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
+; GENERIC-LABEL: test_pminsb:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pminsb %xmm1, %xmm0
+; GENERIC-NEXT: pminsb (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pminsb:
+; SLM: # BB#0:
+; SLM-NEXT: pminsb %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: pminsb (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pminsb:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpminsb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpminsb (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pminsb:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpminsb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpminsb (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pminsb:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpminsb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpminsb (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <16 x i8> @llvm.x86.sse41.pminsb(<16 x i8> %a0, <16 x i8> %a1)
+ %2 = load <16 x i8>, <16 x i8> *%a2, align 16
+ %3 = call <16 x i8> @llvm.x86.sse41.pminsb(<16 x i8> %1, <16 x i8> %2)
+ ret <16 x i8> %3
+}
+declare <16 x i8> @llvm.x86.sse41.pminsb(<16 x i8>, <16 x i8>) nounwind readnone
+
+define <4 x i32> @test_pminsd(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; GENERIC-LABEL: test_pminsd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pminsd %xmm1, %xmm0
+; GENERIC-NEXT: pminsd (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pminsd:
+; SLM: # BB#0:
+; SLM-NEXT: pminsd %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: pminsd (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pminsd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpminsd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpminsd (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pminsd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpminsd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpminsd (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pminsd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpminsd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpminsd (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x i32> @llvm.x86.sse41.pminsd(<4 x i32> %a0, <4 x i32> %a1)
+ %2 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %3 = call <4 x i32> @llvm.x86.sse41.pminsd(<4 x i32> %1, <4 x i32> %2)
+ ret <4 x i32> %3
+}
+declare <4 x i32> @llvm.x86.sse41.pminsd(<4 x i32>, <4 x i32>) nounwind readnone
+
+define <4 x i32> @test_pminud(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; GENERIC-LABEL: test_pminud:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pminud %xmm1, %xmm0
+; GENERIC-NEXT: pminud (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pminud:
+; SLM: # BB#0:
+; SLM-NEXT: pminud %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: pminud (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pminud:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpminud %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpminud (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pminud:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpminud %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpminud (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pminud:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpminud %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpminud (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x i32> @llvm.x86.sse41.pminud(<4 x i32> %a0, <4 x i32> %a1)
+ %2 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %3 = call <4 x i32> @llvm.x86.sse41.pminud(<4 x i32> %1, <4 x i32> %2)
+ ret <4 x i32> %3
+}
+declare <4 x i32> @llvm.x86.sse41.pminud(<4 x i32>, <4 x i32>) nounwind readnone
+
+define <8 x i16> @test_pminuw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
+; GENERIC-LABEL: test_pminuw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pminuw %xmm1, %xmm0
+; GENERIC-NEXT: pminuw (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pminuw:
+; SLM: # BB#0:
+; SLM-NEXT: pminuw %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: pminuw (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pminuw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpminuw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpminuw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pminuw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpminuw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpminuw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pminuw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpminuw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpminuw (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.sse41.pminuw(<8 x i16> %a0, <8 x i16> %a1)
+ %2 = load <8 x i16>, <8 x i16> *%a2, align 16
+ %3 = call <8 x i16> @llvm.x86.sse41.pminuw(<8 x i16> %1, <8 x i16> %2)
+ ret <8 x i16> %3
+}
+declare <8 x i16> @llvm.x86.sse41.pminuw(<8 x i16>, <8 x i16>) nounwind readnone
+
+define <8 x i16> @test_pmovsxbw(<16 x i8> %a0, <8 x i8> *%a1) {
+; GENERIC-LABEL: test_pmovsxbw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovsxbw %xmm0, %xmm1
+; GENERIC-NEXT: pmovsxbw (%rdi), %xmm0
+; GENERIC-NEXT: paddw %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovsxbw:
+; SLM: # BB#0:
+; SLM-NEXT: pmovsxbw (%rdi), %xmm1 # sched: [4:1.00]
+; SLM-NEXT: pmovsxbw %xmm0, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: paddw %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovsxbw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovsxbw %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpmovsxbw (%rdi), %xmm1 # sched: [5:0.50]
+; SANDY-NEXT: vpaddw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovsxbw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovsxbw %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpmovsxbw (%rdi), %xmm1 # sched: [5:1.00]
+; HASWELL-NEXT: vpaddw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovsxbw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovsxbw (%rdi), %xmm1 # sched: [6:1.00]
+; BTVER2-NEXT: vpmovsxbw %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpaddw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <16 x i8> %a0, <16 x i8> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %2 = sext <8 x i8> %1 to <8 x i16>
+ %3 = load <8 x i8>, <8 x i8>* %a1, align 1
+ %4 = sext <8 x i8> %3 to <8 x i16>
+ %5 = add <8 x i16> %2, %4
+ ret <8 x i16> %5
+}
+
+define <4 x i32> @test_pmovsxbd(<16 x i8> %a0, <4 x i8> *%a1) {
+; GENERIC-LABEL: test_pmovsxbd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovsxbd %xmm0, %xmm1
+; GENERIC-NEXT: pmovsxbd (%rdi), %xmm0
+; GENERIC-NEXT: paddd %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovsxbd:
+; SLM: # BB#0:
+; SLM-NEXT: pmovsxbd (%rdi), %xmm1 # sched: [4:1.00]
+; SLM-NEXT: pmovsxbd %xmm0, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: paddd %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovsxbd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovsxbd %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpmovsxbd (%rdi), %xmm1 # sched: [5:0.50]
+; SANDY-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovsxbd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovsxbd %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpmovsxbd (%rdi), %xmm1 # sched: [5:1.00]
+; HASWELL-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovsxbd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovsxbd (%rdi), %xmm1 # sched: [6:1.00]
+; BTVER2-NEXT: vpmovsxbd %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <16 x i8> %a0, <16 x i8> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
+ %2 = sext <4 x i8> %1 to <4 x i32>
+ %3 = load <4 x i8>, <4 x i8>* %a1, align 1
+ %4 = sext <4 x i8> %3 to <4 x i32>
+ %5 = add <4 x i32> %2, %4
+ ret <4 x i32> %5
+}
+
+define <2 x i64> @test_pmovsxbq(<16 x i8> %a0, <2 x i8> *%a1) {
+; GENERIC-LABEL: test_pmovsxbq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovsxbq %xmm0, %xmm1
+; GENERIC-NEXT: pmovsxbq (%rdi), %xmm0
+; GENERIC-NEXT: paddq %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovsxbq:
+; SLM: # BB#0:
+; SLM-NEXT: pmovsxbq (%rdi), %xmm1 # sched: [4:1.00]
+; SLM-NEXT: pmovsxbq %xmm0, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: paddq %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovsxbq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovsxbq %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpmovsxbq (%rdi), %xmm1 # sched: [5:0.50]
+; SANDY-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovsxbq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovsxbq %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpmovsxbq (%rdi), %xmm1 # sched: [5:1.00]
+; HASWELL-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovsxbq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovsxbq (%rdi), %xmm1 # sched: [6:1.00]
+; BTVER2-NEXT: vpmovsxbq %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <16 x i8> %a0, <16 x i8> undef, <2 x i32> <i32 0, i32 1>
+ %2 = sext <2 x i8> %1 to <2 x i64>
+ %3 = load <2 x i8>, <2 x i8>* %a1, align 1
+ %4 = sext <2 x i8> %3 to <2 x i64>
+ %5 = add <2 x i64> %2, %4
+ ret <2 x i64> %5
+}
+
+define <2 x i64> @test_pmovsxdq(<4 x i32> %a0, <2 x i32> *%a1) {
+; GENERIC-LABEL: test_pmovsxdq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovsxdq %xmm0, %xmm1
+; GENERIC-NEXT: pmovsxdq (%rdi), %xmm0
+; GENERIC-NEXT: paddq %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovsxdq:
+; SLM: # BB#0:
+; SLM-NEXT: pmovsxdq (%rdi), %xmm1 # sched: [4:1.00]
+; SLM-NEXT: pmovsxdq %xmm0, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: paddq %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovsxdq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovsxdq %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpmovsxdq (%rdi), %xmm1 # sched: [5:0.50]
+; SANDY-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovsxdq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovsxdq %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpmovsxdq (%rdi), %xmm1 # sched: [5:1.00]
+; HASWELL-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovsxdq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovsxdq (%rdi), %xmm1 # sched: [6:1.00]
+; BTVER2-NEXT: vpmovsxdq %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x i32> %a0, <4 x i32> undef, <2 x i32> <i32 0, i32 1>
+ %2 = sext <2 x i32> %1 to <2 x i64>
+ %3 = load <2 x i32>, <2 x i32>* %a1, align 1
+ %4 = sext <2 x i32> %3 to <2 x i64>
+ %5 = add <2 x i64> %2, %4
+ ret <2 x i64> %5
+}
+
+define <4 x i32> @test_pmovsxwd(<8 x i16> %a0, <4 x i16> *%a1) {
+; GENERIC-LABEL: test_pmovsxwd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovsxwd %xmm0, %xmm1
+; GENERIC-NEXT: pmovsxwd (%rdi), %xmm0
+; GENERIC-NEXT: paddd %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovsxwd:
+; SLM: # BB#0:
+; SLM-NEXT: pmovsxwd (%rdi), %xmm1 # sched: [4:1.00]
+; SLM-NEXT: pmovsxwd %xmm0, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: paddd %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovsxwd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovsxwd %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpmovsxwd (%rdi), %xmm1 # sched: [5:0.50]
+; SANDY-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovsxwd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovsxwd %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpmovsxwd (%rdi), %xmm1 # sched: [5:1.00]
+; HASWELL-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovsxwd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovsxwd (%rdi), %xmm1 # sched: [6:1.00]
+; BTVER2-NEXT: vpmovsxwd %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x i16> %a0, <8 x i16> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
+ %2 = sext <4 x i16> %1 to <4 x i32>
+ %3 = load <4 x i16>, <4 x i16>* %a1, align 1
+ %4 = sext <4 x i16> %3 to <4 x i32>
+ %5 = add <4 x i32> %2, %4
+ ret <4 x i32> %5
+}
+
+define <2 x i64> @test_pmovsxwq(<8 x i16> %a0, <2 x i16> *%a1) {
+; GENERIC-LABEL: test_pmovsxwq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovsxwq %xmm0, %xmm1
+; GENERIC-NEXT: pmovsxwq (%rdi), %xmm0
+; GENERIC-NEXT: paddq %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovsxwq:
+; SLM: # BB#0:
+; SLM-NEXT: pmovsxwq (%rdi), %xmm1 # sched: [4:1.00]
+; SLM-NEXT: pmovsxwq %xmm0, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: paddq %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovsxwq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovsxwq %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpmovsxwq (%rdi), %xmm1 # sched: [5:0.50]
+; SANDY-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovsxwq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovsxwq %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpmovsxwq (%rdi), %xmm1 # sched: [5:1.00]
+; HASWELL-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovsxwq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovsxwq (%rdi), %xmm1 # sched: [6:1.00]
+; BTVER2-NEXT: vpmovsxwq %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x i16> %a0, <8 x i16> undef, <2 x i32> <i32 0, i32 1>
+ %2 = sext <2 x i16> %1 to <2 x i64>
+ %3 = load <2 x i16>, <2 x i16>* %a1, align 1
+ %4 = sext <2 x i16> %3 to <2 x i64>
+ %5 = add <2 x i64> %2, %4
+ ret <2 x i64> %5
+}
+
+define <8 x i16> @test_pmovzxbw(<16 x i8> %a0, <8 x i8> *%a1) {
+; GENERIC-LABEL: test_pmovzxbw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovzxbw {{.*#+}} xmm1 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero
+; GENERIC-NEXT: pmovzxbw {{.*#+}} xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero
+; GENERIC-NEXT: paddw %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovzxbw:
+; SLM: # BB#0:
+; SLM-NEXT: pmovzxbw {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero sched: [4:1.00]
+; SLM-NEXT: pmovzxbw {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero sched: [1:1.00]
+; SLM-NEXT: paddw %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovzxbw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovzxbw {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero sched: [1:0.50]
+; SANDY-NEXT: vpmovzxbw {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero sched: [5:0.50]
+; SANDY-NEXT: vpaddw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovzxbw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovzxbw {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero sched: [1:1.00]
+; HASWELL-NEXT: vpmovzxbw {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero sched: [5:1.00]
+; HASWELL-NEXT: vpaddw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovzxbw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovzxbw {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero,mem[4],zero,mem[5],zero,mem[6],zero,mem[7],zero sched: [6:1.00]
+; BTVER2-NEXT: vpmovzxbw {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero,xmm0[4],zero,xmm0[5],zero,xmm0[6],zero,xmm0[7],zero sched: [1:0.50]
+; BTVER2-NEXT: vpaddw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <16 x i8> %a0, <16 x i8> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
+ %2 = zext <8 x i8> %1 to <8 x i16>
+ %3 = load <8 x i8>, <8 x i8>* %a1, align 1
+ %4 = zext <8 x i8> %3 to <8 x i16>
+ %5 = add <8 x i16> %2, %4
+ ret <8 x i16> %5
+}
+
+define <4 x i32> @test_pmovzxbd(<16 x i8> %a0, <4 x i8> *%a1) {
+; GENERIC-LABEL: test_pmovzxbd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovzxbd {{.*#+}} xmm1 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
+; GENERIC-NEXT: pmovzxbd {{.*#+}} xmm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero
+; GENERIC-NEXT: paddd %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovzxbd:
+; SLM: # BB#0:
+; SLM-NEXT: pmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero sched: [4:1.00]
+; SLM-NEXT: pmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero sched: [1:1.00]
+; SLM-NEXT: paddd %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovzxbd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero sched: [1:0.50]
+; SANDY-NEXT: vpmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero sched: [5:0.50]
+; SANDY-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovzxbd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero sched: [1:1.00]
+; HASWELL-NEXT: vpmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero sched: [5:1.00]
+; HASWELL-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovzxbd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovzxbd {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero,mem[2],zero,zero,zero,mem[3],zero,zero,zero sched: [6:1.00]
+; BTVER2-NEXT: vpmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero sched: [1:0.50]
+; BTVER2-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <16 x i8> %a0, <16 x i8> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
+ %2 = zext <4 x i8> %1 to <4 x i32>
+ %3 = load <4 x i8>, <4 x i8>* %a1, align 1
+ %4 = zext <4 x i8> %3 to <4 x i32>
+ %5 = add <4 x i32> %2, %4
+ ret <4 x i32> %5
+}
+
+define <2 x i64> @test_pmovzxbq(<16 x i8> %a0, <2 x i8> *%a1) {
+; GENERIC-LABEL: test_pmovzxbq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovzxbq {{.*#+}} xmm1 = xmm0[0],zero,zero,zero,zero,zero,zero,zero,xmm0[1],zero,zero,zero,zero,zero,zero,zero
+; GENERIC-NEXT: pmovzxbq {{.*#+}} xmm0 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero
+; GENERIC-NEXT: paddq %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovzxbq:
+; SLM: # BB#0:
+; SLM-NEXT: pmovzxbq {{.*#+}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero sched: [4:1.00]
+; SLM-NEXT: pmovzxbq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,zero,zero,zero,zero,xmm0[1],zero,zero,zero,zero,zero,zero,zero sched: [1:1.00]
+; SLM-NEXT: paddq %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovzxbq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovzxbq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,zero,zero,zero,zero,xmm0[1],zero,zero,zero,zero,zero,zero,zero sched: [1:0.50]
+; SANDY-NEXT: vpmovzxbq {{.*#+}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero sched: [5:0.50]
+; SANDY-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovzxbq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovzxbq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,zero,zero,zero,zero,xmm0[1],zero,zero,zero,zero,zero,zero,zero sched: [1:1.00]
+; HASWELL-NEXT: vpmovzxbq {{.*#+}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero sched: [5:1.00]
+; HASWELL-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovzxbq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovzxbq {{.*#+}} xmm1 = mem[0],zero,zero,zero,zero,zero,zero,zero,mem[1],zero,zero,zero,zero,zero,zero,zero sched: [6:1.00]
+; BTVER2-NEXT: vpmovzxbq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,zero,zero,zero,zero,xmm0[1],zero,zero,zero,zero,zero,zero,zero sched: [1:0.50]
+; BTVER2-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <16 x i8> %a0, <16 x i8> undef, <2 x i32> <i32 0, i32 1>
+ %2 = zext <2 x i8> %1 to <2 x i64>
+ %3 = load <2 x i8>, <2 x i8>* %a1, align 1
+ %4 = zext <2 x i8> %3 to <2 x i64>
+ %5 = add <2 x i64> %2, %4
+ ret <2 x i64> %5
+}
+
+define <2 x i64> @test_pmovzxdq(<4 x i32> %a0, <2 x i32> *%a1) {
+; GENERIC-LABEL: test_pmovzxdq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovzxdq {{.*#+}} xmm1 = xmm0[0],zero,xmm0[1],zero
+; GENERIC-NEXT: pmovzxdq {{.*#+}} xmm0 = mem[0],zero,mem[1],zero
+; GENERIC-NEXT: paddq %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovzxdq:
+; SLM: # BB#0:
+; SLM-NEXT: pmovzxdq {{.*#+}} xmm1 = mem[0],zero,mem[1],zero sched: [4:1.00]
+; SLM-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero sched: [1:1.00]
+; SLM-NEXT: paddq %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovzxdq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero sched: [1:0.50]
+; SANDY-NEXT: vpmovzxdq {{.*#+}} xmm1 = mem[0],zero,mem[1],zero sched: [5:0.50]
+; SANDY-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovzxdq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero sched: [1:1.00]
+; HASWELL-NEXT: vpmovzxdq {{.*#+}} xmm1 = mem[0],zero,mem[1],zero sched: [5:1.00]
+; HASWELL-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovzxdq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovzxdq {{.*#+}} xmm1 = mem[0],zero,mem[1],zero sched: [6:1.00]
+; BTVER2-NEXT: vpmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero sched: [1:0.50]
+; BTVER2-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <4 x i32> %a0, <4 x i32> undef, <2 x i32> <i32 0, i32 1>
+ %2 = zext <2 x i32> %1 to <2 x i64>
+ %3 = load <2 x i32>, <2 x i32>* %a1, align 1
+ %4 = zext <2 x i32> %3 to <2 x i64>
+ %5 = add <2 x i64> %2, %4
+ ret <2 x i64> %5
+}
+
+define <4 x i32> @test_pmovzxwd(<8 x i16> %a0, <4 x i16> *%a1) {
+; GENERIC-LABEL: test_pmovzxwd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovzxwd {{.*#+}} xmm1 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero
+; GENERIC-NEXT: pmovzxwd {{.*#+}} xmm0 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero
+; GENERIC-NEXT: paddd %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovzxwd:
+; SLM: # BB#0:
+; SLM-NEXT: pmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero sched: [4:1.00]
+; SLM-NEXT: pmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero sched: [1:1.00]
+; SLM-NEXT: paddd %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovzxwd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero sched: [1:0.50]
+; SANDY-NEXT: vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero sched: [5:0.50]
+; SANDY-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovzxwd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero sched: [1:1.00]
+; HASWELL-NEXT: vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero sched: [5:1.00]
+; HASWELL-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovzxwd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovzxwd {{.*#+}} xmm1 = mem[0],zero,mem[1],zero,mem[2],zero,mem[3],zero sched: [6:1.00]
+; BTVER2-NEXT: vpmovzxwd {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero,xmm0[2],zero,xmm0[3],zero sched: [1:0.50]
+; BTVER2-NEXT: vpaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x i16> %a0, <8 x i16> undef, <4 x i32> <i32 0, i32 1, i32 2, i32 3>
+ %2 = zext <4 x i16> %1 to <4 x i32>
+ %3 = load <4 x i16>, <4 x i16>* %a1, align 1
+ %4 = zext <4 x i16> %3 to <4 x i32>
+ %5 = add <4 x i32> %2, %4
+ ret <4 x i32> %5
+}
+
+define <2 x i64> @test_pmovzxwq(<8 x i16> %a0, <2 x i16> *%a1) {
+; GENERIC-LABEL: test_pmovzxwq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmovzxwq {{.*#+}} xmm1 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero
+; GENERIC-NEXT: pmovzxwq {{.*#+}} xmm0 = mem[0],zero,zero,zero,mem[1],zero,zero,zero
+; GENERIC-NEXT: paddq %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmovzxwq:
+; SLM: # BB#0:
+; SLM-NEXT: pmovzxwq {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero sched: [4:1.00]
+; SLM-NEXT: pmovzxwq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero sched: [1:1.00]
+; SLM-NEXT: paddq %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmovzxwq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmovzxwq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero sched: [1:0.50]
+; SANDY-NEXT: vpmovzxwq {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero sched: [5:0.50]
+; SANDY-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmovzxwq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmovzxwq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero sched: [1:1.00]
+; HASWELL-NEXT: vpmovzxwq {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero sched: [5:1.00]
+; HASWELL-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmovzxwq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmovzxwq {{.*#+}} xmm1 = mem[0],zero,zero,zero,mem[1],zero,zero,zero sched: [6:1.00]
+; BTVER2-NEXT: vpmovzxwq {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero sched: [1:0.50]
+; BTVER2-NEXT: vpaddq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x i16> %a0, <8 x i16> undef, <2 x i32> <i32 0, i32 1>
+ %2 = zext <2 x i16> %1 to <2 x i64>
+ %3 = load <2 x i16>, <2 x i16>* %a1, align 1
+ %4 = zext <2 x i16> %3 to <2 x i64>
+ %5 = add <2 x i64> %2, %4
+ ret <2 x i64> %5
+}
+
+define <2 x i64> @test_pmuldq(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; GENERIC-LABEL: test_pmuldq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmuldq %xmm1, %xmm0
+; GENERIC-NEXT: pmuldq (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmuldq:
+; SLM: # BB#0:
+; SLM-NEXT: pmuldq %xmm1, %xmm0 # sched: [4:1.00]
+; SLM-NEXT: pmuldq (%rdi), %xmm0 # sched: [7:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmuldq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmuldq %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmuldq (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmuldq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmuldq %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: vpmuldq (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmuldq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmuldq %xmm1, %xmm0, %xmm0 # sched: [2:1.00]
+; BTVER2-NEXT: vpmuldq (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x i64> @llvm.x86.sse41.pmuldq(<4 x i32> %a0, <4 x i32> %a1)
+ %2 = bitcast <2 x i64> %1 to <4 x i32>
+ %3 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %4 = call <2 x i64> @llvm.x86.sse41.pmuldq(<4 x i32> %2, <4 x i32> %3)
+ ret <2 x i64> %4
+}
+declare <2 x i64> @llvm.x86.sse41.pmuldq(<4 x i32>, <4 x i32>) nounwind readnone
+
+define <4 x i32> @test_pmulld(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; GENERIC-LABEL: test_pmulld:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmulld %xmm1, %xmm0
+; GENERIC-NEXT: pmulld (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pmulld:
+; SLM: # BB#0:
+; SLM-NEXT: pmulld %xmm1, %xmm0 # sched: [4:1.00]
+; SLM-NEXT: pmulld (%rdi), %xmm0 # sched: [7:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmulld:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmulld %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmulld (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmulld:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmulld %xmm1, %xmm0, %xmm0 # sched: [10:2.00]
+; HASWELL-NEXT: vpmulld (%rdi), %xmm0, %xmm0 # sched: [10:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmulld:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmulld %xmm1, %xmm0, %xmm0 # sched: [2:1.00]
+; BTVER2-NEXT: vpmulld (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = mul <4 x i32> %a0, %a1
+ %2 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %3 = mul <4 x i32> %1, %2
+ ret <4 x i32> %3
+}
+
+define i32 @test_ptest(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> *%a2) {
+; GENERIC-LABEL: test_ptest:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: ptest %xmm1, %xmm0
+; GENERIC-NEXT: setb %al
+; GENERIC-NEXT: ptest (%rdi), %xmm0
+; GENERIC-NEXT: setb %cl
+; GENERIC-NEXT: andb %al, %cl
+; GENERIC-NEXT: movzbl %cl, %eax
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_ptest:
+; SLM: # BB#0:
+; SLM-NEXT: ptest %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: setb %al # sched: [1:0.50]
+; SLM-NEXT: ptest (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: setb %cl # sched: [1:0.50]
+; SLM-NEXT: andb %al, %cl # sched: [1:0.50]
+; SLM-NEXT: movzbl %cl, %eax # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_ptest:
+; SANDY: # BB#0:
+; SANDY-NEXT: vptest %xmm1, %xmm0 # sched: [1:0.33]
+; SANDY-NEXT: setb %al # sched: [1:0.33]
+; SANDY-NEXT: vptest (%rdi), %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: setb %cl # sched: [1:0.33]
+; SANDY-NEXT: andb %al, %cl # sched: [1:0.33]
+; SANDY-NEXT: movzbl %cl, %eax # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_ptest:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vptest %xmm1, %xmm0 # sched: [2:1.00]
+; HASWELL-NEXT: setb %al # sched: [1:0.50]
+; HASWELL-NEXT: vptest (%rdi), %xmm0 # sched: [2:1.00]
+; HASWELL-NEXT: setb %cl # sched: [1:0.50]
+; HASWELL-NEXT: andb %al, %cl # sched: [1:0.25]
+; HASWELL-NEXT: movzbl %cl, %eax # sched: [1:0.25]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_ptest:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vptest %xmm1, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: setb %al # sched: [1:0.50]
+; BTVER2-NEXT: vptest (%rdi), %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: setb %cl # sched: [1:0.50]
+; BTVER2-NEXT: andb %al, %cl # sched: [1:0.50]
+; BTVER2-NEXT: movzbl %cl, %eax # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.sse41.ptestc(<2 x i64> %a0, <2 x i64> %a1)
+ %2 = load <2 x i64>, <2 x i64> *%a2, align 16
+ %3 = call i32 @llvm.x86.sse41.ptestc(<2 x i64> %a0, <2 x i64> %2)
+ %4 = and i32 %1, %3
+ ret i32 %4
+}
+declare i32 @llvm.x86.sse41.ptestc(<2 x i64>, <2 x i64>) nounwind readnone
+
+define <2 x double> @test_roundpd(<2 x double> %a0, <2 x double> *%a1) {
+; GENERIC-LABEL: test_roundpd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: roundpd $7, %xmm0, %xmm1
+; GENERIC-NEXT: roundpd $7, (%rdi), %xmm0
+; GENERIC-NEXT: addpd %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_roundpd:
+; SLM: # BB#0:
+; SLM-NEXT: roundpd $7, (%rdi), %xmm1 # sched: [6:1.00]
+; SLM-NEXT: roundpd $7, %xmm0, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: addpd %xmm0, %xmm1 # sched: [3:1.00]
+; SLM-NEXT: movapd %xmm1, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_roundpd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vroundpd $7, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vroundpd $7, (%rdi), %xmm1 # sched: [7:1.00]
+; SANDY-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_roundpd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vroundpd $7, %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: vroundpd $7, (%rdi), %xmm1 # sched: [10:2.00]
+; HASWELL-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_roundpd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vroundpd $7, (%rdi), %xmm1 # sched: [8:1.00]
+; BTVER2-NEXT: vroundpd $7, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddpd %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x double> @llvm.x86.sse41.round.pd(<2 x double> %a0, i32 7)
+ %2 = load <2 x double>, <2 x double> *%a1, align 16
+ %3 = call <2 x double> @llvm.x86.sse41.round.pd(<2 x double> %2, i32 7)
+ %4 = fadd <2 x double> %1, %3
+ ret <2 x double> %4
+}
+declare <2 x double> @llvm.x86.sse41.round.pd(<2 x double>, i32) nounwind readnone
+
+define <4 x float> @test_roundps(<4 x float> %a0, <4 x float> *%a1) {
+; GENERIC-LABEL: test_roundps:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: roundps $7, %xmm0, %xmm1
+; GENERIC-NEXT: roundps $7, (%rdi), %xmm0
+; GENERIC-NEXT: addps %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_roundps:
+; SLM: # BB#0:
+; SLM-NEXT: roundps $7, (%rdi), %xmm1 # sched: [6:1.00]
+; SLM-NEXT: roundps $7, %xmm0, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: addps %xmm0, %xmm1 # sched: [3:1.00]
+; SLM-NEXT: movaps %xmm1, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_roundps:
+; SANDY: # BB#0:
+; SANDY-NEXT: vroundps $7, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: vroundps $7, (%rdi), %xmm1 # sched: [7:1.00]
+; SANDY-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_roundps:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vroundps $7, %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: vroundps $7, (%rdi), %xmm1 # sched: [10:2.00]
+; HASWELL-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_roundps:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vroundps $7, (%rdi), %xmm1 # sched: [8:1.00]
+; BTVER2-NEXT: vroundps $7, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: vaddps %xmm1, %xmm0, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x float> @llvm.x86.sse41.round.ps(<4 x float> %a0, i32 7)
+ %2 = load <4 x float>, <4 x float> *%a1, align 16
+ %3 = call <4 x float> @llvm.x86.sse41.round.ps(<4 x float> %2, i32 7)
+ %4 = fadd <4 x float> %1, %3
+ ret <4 x float> %4
+}
+declare <4 x float> @llvm.x86.sse41.round.ps(<4 x float>, i32) nounwind readnone
+
+define <2 x double> @test_roundsd(<2 x double> %a0, <2 x double> %a1, <2 x double> *%a2) {
+; GENERIC-LABEL: test_roundsd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movaps %xmm0, %xmm2
+; GENERIC-NEXT: roundsd $7, %xmm1, %xmm2
+; GENERIC-NEXT: roundsd $7, (%rdi), %xmm0
+; GENERIC-NEXT: addpd %xmm2, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_roundsd:
+; SLM: # BB#0:
+; SLM-NEXT: movaps %xmm0, %xmm2 # sched: [1:1.00]
+; SLM-NEXT: roundsd $7, (%rdi), %xmm0 # sched: [6:1.00]
+; SLM-NEXT: roundsd $7, %xmm1, %xmm2 # sched: [3:1.00]
+; SLM-NEXT: addpd %xmm2, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_roundsd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vroundsd $7, %xmm1, %xmm0, %xmm1 # sched: [3:1.00]
+; SANDY-NEXT: vroundsd $7, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_roundsd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vroundsd $7, %xmm1, %xmm0, %xmm1 # sched: [6:2.00]
+; HASWELL-NEXT: vroundsd $7, (%rdi), %xmm0, %xmm0 # sched: [10:2.00]
+; HASWELL-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_roundsd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vroundsd $7, %xmm1, %xmm0, %xmm1 # sched: [3:1.00]
+; BTVER2-NEXT: vroundsd $7, (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
+; BTVER2-NEXT: vaddpd %xmm0, %xmm1, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <2 x double> @llvm.x86.sse41.round.sd(<2 x double> %a0, <2 x double> %a1, i32 7)
+ %2 = load <2 x double>, <2 x double>* %a2, align 16
+ %3 = call <2 x double> @llvm.x86.sse41.round.sd(<2 x double> %a0, <2 x double> %2, i32 7)
+ %4 = fadd <2 x double> %1, %3
+ ret <2 x double> %4
+}
+declare <2 x double> @llvm.x86.sse41.round.sd(<2 x double>, <2 x double>, i32) nounwind readnone
+
+define <4 x float> @test_roundss(<4 x float> %a0, <4 x float> %a1, <4 x float> *%a2) {
+; GENERIC-LABEL: test_roundss:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movaps %xmm0, %xmm2
+; GENERIC-NEXT: roundss $7, %xmm1, %xmm2
+; GENERIC-NEXT: roundss $7, (%rdi), %xmm0
+; GENERIC-NEXT: addps %xmm2, %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_roundss:
+; SLM: # BB#0:
+; SLM-NEXT: movaps %xmm0, %xmm2 # sched: [1:1.00]
+; SLM-NEXT: roundss $7, (%rdi), %xmm0 # sched: [6:1.00]
+; SLM-NEXT: roundss $7, %xmm1, %xmm2 # sched: [3:1.00]
+; SLM-NEXT: addps %xmm2, %xmm0 # sched: [3:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_roundss:
+; SANDY: # BB#0:
+; SANDY-NEXT: vroundss $7, %xmm1, %xmm0, %xmm1 # sched: [3:1.00]
+; SANDY-NEXT: vroundss $7, (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; SANDY-NEXT: vaddps %xmm0, %xmm1, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_roundss:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vroundss $7, %xmm1, %xmm0, %xmm1 # sched: [6:2.00]
+; HASWELL-NEXT: vroundss $7, (%rdi), %xmm0, %xmm0 # sched: [10:2.00]
+; HASWELL-NEXT: vaddps %xmm0, %xmm1, %xmm0 # sched: [3:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_roundss:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vroundss $7, %xmm1, %xmm0, %xmm1 # sched: [3:1.00]
+; BTVER2-NEXT: vroundss $7, (%rdi), %xmm0, %xmm0 # sched: [8:1.00]
+; BTVER2-NEXT: vaddps %xmm0, %xmm1, %xmm0 # sched: [3:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x float> @llvm.x86.sse41.round.ss(<4 x float> %a0, <4 x float> %a1, i32 7)
+ %2 = load <4 x float>, <4 x float> *%a2, align 16
+ %3 = call <4 x float> @llvm.x86.sse41.round.ss(<4 x float> %a0, <4 x float> %2, i32 7)
+ %4 = fadd <4 x float> %1, %3
+ ret <4 x float> %4
+}
+declare <4 x float> @llvm.x86.sse41.round.ss(<4 x float>, <4 x float>, i32) nounwind readnone
diff --git a/test/CodeGen/X86/sse42-schedule.ll b/test/CodeGen/X86/sse42-schedule.ll
new file mode 100644
index 000000000000..afc48bc57ee7
--- /dev/null
+++ b/test/CodeGen/X86/sse42-schedule.ll
@@ -0,0 +1,477 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mattr=+sse4.2 | FileCheck %s --check-prefix=CHECK --check-prefix=GENERIC
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=slm | FileCheck %s --check-prefix=CHECK --check-prefix=SLM
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=sandybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=ivybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=haswell | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skylake | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=btver2 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=znver1 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2
+
+define i32 @crc32_32_8(i32 %a0, i8 %a1, i8 *%a2) {
+; GENERIC-LABEL: crc32_32_8:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: crc32b %sil, %edi
+; GENERIC-NEXT: crc32b (%rdx), %edi
+; GENERIC-NEXT: movl %edi, %eax
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: crc32_32_8:
+; SLM: # BB#0:
+; SLM-NEXT: crc32b %sil, %edi # sched: [3:1.00]
+; SLM-NEXT: crc32b (%rdx), %edi # sched: [6:1.00]
+; SLM-NEXT: movl %edi, %eax # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: crc32_32_8:
+; SANDY: # BB#0:
+; SANDY-NEXT: crc32b %sil, %edi # sched: [3:1.00]
+; SANDY-NEXT: crc32b (%rdx), %edi # sched: [7:1.00]
+; SANDY-NEXT: movl %edi, %eax # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: crc32_32_8:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: crc32b %sil, %edi # sched: [3:1.00]
+; HASWELL-NEXT: crc32b (%rdx), %edi # sched: [7:1.00]
+; HASWELL-NEXT: movl %edi, %eax # sched: [1:0.25]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: crc32_32_8:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: crc32b %sil, %edi # sched: [3:1.00]
+; BTVER2-NEXT: crc32b (%rdx), %edi # sched: [8:1.00]
+; BTVER2-NEXT: movl %edi, %eax # sched: [1:0.17]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.sse42.crc32.32.8(i32 %a0, i8 %a1)
+ %2 = load i8, i8 *%a2
+ %3 = call i32 @llvm.x86.sse42.crc32.32.8(i32 %1, i8 %2)
+ ret i32 %3
+}
+declare i32 @llvm.x86.sse42.crc32.32.8(i32, i8) nounwind
+
+define i32 @crc32_32_16(i32 %a0, i16 %a1, i16 *%a2) {
+; GENERIC-LABEL: crc32_32_16:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: crc32w %si, %edi
+; GENERIC-NEXT: crc32w (%rdx), %edi
+; GENERIC-NEXT: movl %edi, %eax
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: crc32_32_16:
+; SLM: # BB#0:
+; SLM-NEXT: crc32w %si, %edi # sched: [3:1.00]
+; SLM-NEXT: crc32w (%rdx), %edi # sched: [6:1.00]
+; SLM-NEXT: movl %edi, %eax # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: crc32_32_16:
+; SANDY: # BB#0:
+; SANDY-NEXT: crc32w %si, %edi # sched: [3:1.00]
+; SANDY-NEXT: crc32w (%rdx), %edi # sched: [7:1.00]
+; SANDY-NEXT: movl %edi, %eax # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: crc32_32_16:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: crc32w %si, %edi # sched: [3:1.00]
+; HASWELL-NEXT: crc32w (%rdx), %edi # sched: [7:1.00]
+; HASWELL-NEXT: movl %edi, %eax # sched: [1:0.25]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: crc32_32_16:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: crc32w %si, %edi # sched: [3:1.00]
+; BTVER2-NEXT: crc32w (%rdx), %edi # sched: [8:1.00]
+; BTVER2-NEXT: movl %edi, %eax # sched: [1:0.17]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.sse42.crc32.32.16(i32 %a0, i16 %a1)
+ %2 = load i16, i16 *%a2
+ %3 = call i32 @llvm.x86.sse42.crc32.32.16(i32 %1, i16 %2)
+ ret i32 %3
+}
+declare i32 @llvm.x86.sse42.crc32.32.16(i32, i16) nounwind
+
+define i32 @crc32_32_32(i32 %a0, i32 %a1, i32 *%a2) {
+; GENERIC-LABEL: crc32_32_32:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: crc32l %esi, %edi
+; GENERIC-NEXT: crc32l (%rdx), %edi
+; GENERIC-NEXT: movl %edi, %eax
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: crc32_32_32:
+; SLM: # BB#0:
+; SLM-NEXT: crc32l %esi, %edi # sched: [3:1.00]
+; SLM-NEXT: crc32l (%rdx), %edi # sched: [6:1.00]
+; SLM-NEXT: movl %edi, %eax # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: crc32_32_32:
+; SANDY: # BB#0:
+; SANDY-NEXT: crc32l %esi, %edi # sched: [3:1.00]
+; SANDY-NEXT: crc32l (%rdx), %edi # sched: [7:1.00]
+; SANDY-NEXT: movl %edi, %eax # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: crc32_32_32:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: crc32l %esi, %edi # sched: [3:1.00]
+; HASWELL-NEXT: crc32l (%rdx), %edi # sched: [7:1.00]
+; HASWELL-NEXT: movl %edi, %eax # sched: [1:0.25]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: crc32_32_32:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: crc32l %esi, %edi # sched: [3:1.00]
+; BTVER2-NEXT: crc32l (%rdx), %edi # sched: [8:1.00]
+; BTVER2-NEXT: movl %edi, %eax # sched: [1:0.17]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.sse42.crc32.32.32(i32 %a0, i32 %a1)
+ %2 = load i32, i32 *%a2
+ %3 = call i32 @llvm.x86.sse42.crc32.32.32(i32 %1, i32 %2)
+ ret i32 %3
+}
+declare i32 @llvm.x86.sse42.crc32.32.32(i32, i32) nounwind
+
+define i64 @crc32_64_8(i64 %a0, i8 %a1, i8 *%a2) nounwind {
+; GENERIC-LABEL: crc32_64_8:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: crc32b %sil, %edi
+; GENERIC-NEXT: crc32b (%rdx), %edi
+; GENERIC-NEXT: movq %rdi, %rax
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: crc32_64_8:
+; SLM: # BB#0:
+; SLM-NEXT: crc32b %sil, %edi # sched: [3:1.00]
+; SLM-NEXT: crc32b (%rdx), %edi # sched: [6:1.00]
+; SLM-NEXT: movq %rdi, %rax # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: crc32_64_8:
+; SANDY: # BB#0:
+; SANDY-NEXT: crc32b %sil, %edi # sched: [3:1.00]
+; SANDY-NEXT: crc32b (%rdx), %edi # sched: [7:1.00]
+; SANDY-NEXT: movq %rdi, %rax # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: crc32_64_8:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: crc32b %sil, %edi # sched: [3:1.00]
+; HASWELL-NEXT: crc32b (%rdx), %edi # sched: [7:1.00]
+; HASWELL-NEXT: movq %rdi, %rax # sched: [1:0.25]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: crc32_64_8:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: crc32b %sil, %edi # sched: [3:1.00]
+; BTVER2-NEXT: crc32b (%rdx), %edi # sched: [8:1.00]
+; BTVER2-NEXT: movq %rdi, %rax # sched: [1:0.17]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call i64 @llvm.x86.sse42.crc32.64.8(i64 %a0, i8 %a1)
+ %2 = load i8, i8 *%a2
+ %3 = call i64 @llvm.x86.sse42.crc32.64.8(i64 %1, i8 %2)
+ ret i64 %3
+}
+declare i64 @llvm.x86.sse42.crc32.64.8(i64, i8) nounwind
+
+define i64 @crc32_64_64(i64 %a0, i64 %a1, i64 *%a2) {
+; GENERIC-LABEL: crc32_64_64:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: crc32q %rsi, %rdi
+; GENERIC-NEXT: crc32q (%rdx), %rdi
+; GENERIC-NEXT: movq %rdi, %rax
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: crc32_64_64:
+; SLM: # BB#0:
+; SLM-NEXT: crc32q %rsi, %rdi # sched: [3:1.00]
+; SLM-NEXT: crc32q (%rdx), %rdi # sched: [6:1.00]
+; SLM-NEXT: movq %rdi, %rax # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: crc32_64_64:
+; SANDY: # BB#0:
+; SANDY-NEXT: crc32q %rsi, %rdi # sched: [3:1.00]
+; SANDY-NEXT: crc32q (%rdx), %rdi # sched: [7:1.00]
+; SANDY-NEXT: movq %rdi, %rax # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: crc32_64_64:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: crc32q %rsi, %rdi # sched: [3:1.00]
+; HASWELL-NEXT: crc32q (%rdx), %rdi # sched: [7:1.00]
+; HASWELL-NEXT: movq %rdi, %rax # sched: [1:0.25]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: crc32_64_64:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: crc32q %rsi, %rdi # sched: [3:1.00]
+; BTVER2-NEXT: crc32q (%rdx), %rdi # sched: [8:1.00]
+; BTVER2-NEXT: movq %rdi, %rax # sched: [1:0.17]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call i64 @llvm.x86.sse42.crc32.64.64(i64 %a0, i64 %a1)
+ %2 = load i64, i64 *%a2
+ %3 = call i64 @llvm.x86.sse42.crc32.64.64(i64 %1, i64 %2)
+ ret i64 %3
+}
+declare i64 @llvm.x86.sse42.crc32.64.64(i64, i64) nounwind
+
+define i32 @test_pcmpestri(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
+; GENERIC-LABEL: test_pcmpestri:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movl $7, %eax
+; GENERIC-NEXT: movl $7, %edx
+; GENERIC-NEXT: pcmpestri $7, %xmm1, %xmm0
+; GENERIC-NEXT: movl %ecx, %esi
+; GENERIC-NEXT: movl $7, %eax
+; GENERIC-NEXT: movl $7, %edx
+; GENERIC-NEXT: pcmpestri $7, (%rdi), %xmm0
+; GENERIC-NEXT: # kill: %ECX<def> %ECX<kill> %RCX<def>
+; GENERIC-NEXT: leal (%rcx,%rsi), %eax
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pcmpestri:
+; SLM: # BB#0:
+; SLM-NEXT: movl $7, %eax # sched: [1:0.50]
+; SLM-NEXT: movl $7, %edx # sched: [1:0.50]
+; SLM-NEXT: pcmpestri $7, %xmm1, %xmm0 # sched: [21:21.00]
+; SLM-NEXT: movl $7, %eax # sched: [1:0.50]
+; SLM-NEXT: movl $7, %edx # sched: [1:0.50]
+; SLM-NEXT: movl %ecx, %esi # sched: [1:0.50]
+; SLM-NEXT: pcmpestri $7, (%rdi), %xmm0 # sched: [21:21.00]
+; SLM-NEXT: # kill: %ECX<def> %ECX<kill> %RCX<def>
+; SLM-NEXT: leal (%rcx,%rsi), %eax # sched: [1:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pcmpestri:
+; SANDY: # BB#0:
+; SANDY-NEXT: movl $7, %eax # sched: [1:0.33]
+; SANDY-NEXT: movl $7, %edx # sched: [1:0.33]
+; SANDY-NEXT: vpcmpestri $7, %xmm1, %xmm0 # sched: [4:2.67]
+; SANDY-NEXT: movl %ecx, %esi # sched: [1:0.33]
+; SANDY-NEXT: movl $7, %eax # sched: [1:0.33]
+; SANDY-NEXT: movl $7, %edx # sched: [1:0.33]
+; SANDY-NEXT: vpcmpestri $7, (%rdi), %xmm0 # sched: [4:2.33]
+; SANDY-NEXT: # kill: %ECX<def> %ECX<kill> %RCX<def>
+; SANDY-NEXT: leal (%rcx,%rsi), %eax # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pcmpestri:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: movl $7, %eax # sched: [1:0.25]
+; HASWELL-NEXT: movl $7, %edx # sched: [1:0.25]
+; HASWELL-NEXT: vpcmpestri $7, %xmm1, %xmm0 # sched: [11:3.00]
+; HASWELL-NEXT: movl %ecx, %esi # sched: [1:0.25]
+; HASWELL-NEXT: movl $7, %eax # sched: [1:0.25]
+; HASWELL-NEXT: movl $7, %edx # sched: [1:0.25]
+; HASWELL-NEXT: vpcmpestri $7, (%rdi), %xmm0 # sched: [11:3.00]
+; HASWELL-NEXT: # kill: %ECX<def> %ECX<kill> %RCX<def>
+; HASWELL-NEXT: leal (%rcx,%rsi), %eax # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pcmpestri:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: movl $7, %eax # sched: [1:0.17]
+; BTVER2-NEXT: movl $7, %edx # sched: [1:0.17]
+; BTVER2-NEXT: vpcmpestri $7, %xmm1, %xmm0 # sched: [13:2.50]
+; BTVER2-NEXT: movl $7, %eax # sched: [1:0.17]
+; BTVER2-NEXT: movl $7, %edx # sched: [1:0.17]
+; BTVER2-NEXT: movl %ecx, %esi # sched: [1:0.17]
+; BTVER2-NEXT: vpcmpestri $7, (%rdi), %xmm0 # sched: [18:2.50]
+; BTVER2-NEXT: # kill: %ECX<def> %ECX<kill> %RCX<def>
+; BTVER2-NEXT: leal (%rcx,%rsi), %eax # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.sse42.pcmpestri128(<16 x i8> %a0, i32 7, <16 x i8> %a1, i32 7, i8 7)
+ %2 = load <16 x i8>, <16 x i8> *%a2, align 16
+ %3 = call i32 @llvm.x86.sse42.pcmpestri128(<16 x i8> %a0, i32 7, <16 x i8> %2, i32 7, i8 7)
+ %4 = add i32 %1, %3
+ ret i32 %4
+}
+declare i32 @llvm.x86.sse42.pcmpestri128(<16 x i8>, i32, <16 x i8>, i32, i8) nounwind readnone
+
+define <16 x i8> @test_pcmpestrm(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
+; GENERIC-LABEL: test_pcmpestrm:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: movl $7, %eax
+; GENERIC-NEXT: movl $7, %edx
+; GENERIC-NEXT: pcmpestrm $7, %xmm1, %xmm0
+; GENERIC-NEXT: movl $7, %eax
+; GENERIC-NEXT: movl $7, %edx
+; GENERIC-NEXT: pcmpestrm $7, (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pcmpestrm:
+; SLM: # BB#0:
+; SLM-NEXT: movl $7, %eax # sched: [1:0.50]
+; SLM-NEXT: movl $7, %edx # sched: [1:0.50]
+; SLM-NEXT: pcmpestrm $7, %xmm1, %xmm0 # sched: [17:17.00]
+; SLM-NEXT: movl $7, %eax # sched: [1:0.50]
+; SLM-NEXT: movl $7, %edx # sched: [1:0.50]
+; SLM-NEXT: pcmpestrm $7, (%rdi), %xmm0 # sched: [17:17.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pcmpestrm:
+; SANDY: # BB#0:
+; SANDY-NEXT: movl $7, %eax # sched: [1:0.33]
+; SANDY-NEXT: movl $7, %edx # sched: [1:0.33]
+; SANDY-NEXT: vpcmpestrm $7, %xmm1, %xmm0 # sched: [11:2.67]
+; SANDY-NEXT: movl $7, %eax # sched: [1:0.33]
+; SANDY-NEXT: movl $7, %edx # sched: [1:0.33]
+; SANDY-NEXT: vpcmpestrm $7, (%rdi), %xmm0 # sched: [11:2.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pcmpestrm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: movl $7, %eax # sched: [1:0.25]
+; HASWELL-NEXT: movl $7, %edx # sched: [1:0.25]
+; HASWELL-NEXT: vpcmpestrm $7, %xmm1, %xmm0 # sched: [10:4.00]
+; HASWELL-NEXT: movl $7, %eax # sched: [1:0.25]
+; HASWELL-NEXT: movl $7, %edx # sched: [1:0.25]
+; HASWELL-NEXT: vpcmpestrm $7, (%rdi), %xmm0 # sched: [10:3.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pcmpestrm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: movl $7, %eax # sched: [1:0.17]
+; BTVER2-NEXT: movl $7, %edx # sched: [1:0.17]
+; BTVER2-NEXT: vpcmpestrm $7, %xmm1, %xmm0 # sched: [13:2.50]
+; BTVER2-NEXT: movl $7, %eax # sched: [1:0.17]
+; BTVER2-NEXT: movl $7, %edx # sched: [1:0.17]
+; BTVER2-NEXT: vpcmpestrm $7, (%rdi), %xmm0 # sched: [18:2.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <16 x i8> @llvm.x86.sse42.pcmpestrm128(<16 x i8> %a0, i32 7, <16 x i8> %a1, i32 7, i8 7)
+ %2 = load <16 x i8>, <16 x i8> *%a2, align 16
+ %3 = call <16 x i8> @llvm.x86.sse42.pcmpestrm128(<16 x i8> %1, i32 7, <16 x i8> %2, i32 7, i8 7)
+ ret <16 x i8> %3
+}
+declare <16 x i8> @llvm.x86.sse42.pcmpestrm128(<16 x i8>, i32, <16 x i8>, i32, i8) nounwind readnone
+
+define i32 @test_pcmpistri(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
+; GENERIC-LABEL: test_pcmpistri:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pcmpistri $7, %xmm1, %xmm0
+; GENERIC-NEXT: movl %ecx, %eax
+; GENERIC-NEXT: pcmpistri $7, (%rdi), %xmm0
+; GENERIC-NEXT: # kill: %ECX<def> %ECX<kill> %RCX<def>
+; GENERIC-NEXT: leal (%rcx,%rax), %eax
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pcmpistri:
+; SLM: # BB#0:
+; SLM-NEXT: pcmpistri $7, %xmm1, %xmm0 # sched: [17:17.00]
+; SLM-NEXT: movl %ecx, %eax # sched: [1:0.50]
+; SLM-NEXT: pcmpistri $7, (%rdi), %xmm0 # sched: [17:17.00]
+; SLM-NEXT: # kill: %ECX<def> %ECX<kill> %RCX<def>
+; SLM-NEXT: leal (%rcx,%rax), %eax # sched: [1:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pcmpistri:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpcmpistri $7, %xmm1, %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: movl %ecx, %eax # sched: [1:0.33]
+; SANDY-NEXT: vpcmpistri $7, (%rdi), %xmm0 # sched: [3:1.00]
+; SANDY-NEXT: # kill: %ECX<def> %ECX<kill> %RCX<def>
+; SANDY-NEXT: leal (%rcx,%rax), %eax # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pcmpistri:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpcmpistri $7, %xmm1, %xmm0 # sched: [11:3.00]
+; HASWELL-NEXT: movl %ecx, %eax # sched: [1:0.25]
+; HASWELL-NEXT: vpcmpistri $7, (%rdi), %xmm0 # sched: [11:3.00]
+; HASWELL-NEXT: # kill: %ECX<def> %ECX<kill> %RCX<def>
+; HASWELL-NEXT: leal (%rcx,%rax), %eax # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pcmpistri:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpcmpistri $7, %xmm1, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: movl %ecx, %eax # sched: [1:0.17]
+; BTVER2-NEXT: vpcmpistri $7, (%rdi), %xmm0 # sched: [11:1.00]
+; BTVER2-NEXT: # kill: %ECX<def> %ECX<kill> %RCX<def>
+; BTVER2-NEXT: leal (%rcx,%rax), %eax # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call i32 @llvm.x86.sse42.pcmpistri128(<16 x i8> %a0, <16 x i8> %a1, i8 7)
+ %2 = load <16 x i8>, <16 x i8> *%a2, align 16
+ %3 = call i32 @llvm.x86.sse42.pcmpistri128(<16 x i8> %a0, <16 x i8> %2, i8 7)
+ %4 = add i32 %1, %3
+ ret i32 %4
+}
+declare i32 @llvm.x86.sse42.pcmpistri128(<16 x i8>, <16 x i8>, i8) nounwind readnone
+
+define <16 x i8> @test_pcmpistrm(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
+; GENERIC-LABEL: test_pcmpistrm:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pcmpistrm $7, %xmm1, %xmm0
+; GENERIC-NEXT: pcmpistrm $7, (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pcmpistrm:
+; SLM: # BB#0:
+; SLM-NEXT: pcmpistrm $7, %xmm1, %xmm0 # sched: [13:13.00]
+; SLM-NEXT: pcmpistrm $7, (%rdi), %xmm0 # sched: [13:13.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pcmpistrm:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpcmpistrm $7, %xmm1, %xmm0 # sched: [11:1.00]
+; SANDY-NEXT: vpcmpistrm $7, (%rdi), %xmm0 # sched: [11:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pcmpistrm:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpcmpistrm $7, %xmm1, %xmm0 # sched: [10:3.00]
+; HASWELL-NEXT: vpcmpistrm $7, (%rdi), %xmm0 # sched: [10:3.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pcmpistrm:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpcmpistrm $7, %xmm1, %xmm0 # sched: [7:1.00]
+; BTVER2-NEXT: vpcmpistrm $7, (%rdi), %xmm0 # sched: [12:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <16 x i8> @llvm.x86.sse42.pcmpistrm128(<16 x i8> %a0, <16 x i8> %a1, i8 7)
+ %2 = load <16 x i8>, <16 x i8> *%a2, align 16
+ %3 = call <16 x i8> @llvm.x86.sse42.pcmpistrm128(<16 x i8> %1, <16 x i8> %2, i8 7)
+ ret <16 x i8> %3
+}
+declare <16 x i8> @llvm.x86.sse42.pcmpistrm128(<16 x i8>, <16 x i8>, i8) nounwind readnone
+
+define <2 x i64> @test_pcmpgtq(<2 x i64> %a0, <2 x i64> %a1, <2 x i64> *%a2) {
+; GENERIC-LABEL: test_pcmpgtq:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pcmpgtq %xmm1, %xmm0
+; GENERIC-NEXT: pcmpgtq (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; SLM-LABEL: test_pcmpgtq:
+; SLM: # BB#0:
+; SLM-NEXT: pcmpgtq %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: pcmpgtq (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pcmpgtq:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpcmpgtq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpcmpgtq (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pcmpgtq:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpcmpgtq %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: vpcmpgtq (%rdi), %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pcmpgtq:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpcmpgtq %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpcmpgtq (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = icmp sgt <2 x i64> %a0, %a1
+ %2 = sext <2 x i1> %1 to <2 x i64>
+ %3 = load <2 x i64>, <2 x i64>*%a2, align 16
+ %4 = icmp sgt <2 x i64> %2, %3
+ %5 = sext <2 x i1> %4 to <2 x i64>
+ ret <2 x i64> %5
+}
diff --git a/test/CodeGen/X86/ssse3-schedule.ll b/test/CodeGen/X86/ssse3-schedule.ll
new file mode 100644
index 000000000000..8b7a0c0ec02b
--- /dev/null
+++ b/test/CodeGen/X86/ssse3-schedule.ll
@@ -0,0 +1,754 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mattr=+ssse3 | FileCheck %s --check-prefix=CHECK --check-prefix=GENERIC
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=atom | FileCheck %s --check-prefix=CHECK --check-prefix=ATOM
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=slm | FileCheck %s --check-prefix=CHECK --check-prefix=SLM
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=sandybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=ivybridge | FileCheck %s --check-prefix=CHECK --check-prefix=SANDY
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=haswell | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=skylake | FileCheck %s --check-prefix=CHECK --check-prefix=HASWELL
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=btver2 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2
+; RUN: llc < %s -mtriple=x86_64-unknown-unknown -print-schedule -mcpu=znver1 | FileCheck %s --check-prefix=CHECK --check-prefix=BTVER2
+
+define <16 x i8> @test_pabsb(<16 x i8> %a0, <16 x i8> *%a1) {
+; GENERIC-LABEL: test_pabsb:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pabsb %xmm0, %xmm1
+; GENERIC-NEXT: pabsb (%rdi), %xmm0
+; GENERIC-NEXT: por %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_pabsb:
+; ATOM: # BB#0:
+; ATOM-NEXT: pabsb (%rdi), %xmm1
+; ATOM-NEXT: pabsb %xmm0, %xmm0
+; ATOM-NEXT: por %xmm0, %xmm1
+; ATOM-NEXT: movdqa %xmm1, %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_pabsb:
+; SLM: # BB#0:
+; SLM-NEXT: pabsb %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: pabsb (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: por %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pabsb:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpabsb %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpabsb (%rdi), %xmm1 # sched: [5:0.50]
+; SANDY-NEXT: vpor %xmm1, %xmm0, %xmm0 # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pabsb:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpabsb %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpabsb (%rdi), %xmm1 # sched: [5:0.50]
+; HASWELL-NEXT: vpor %xmm1, %xmm0, %xmm0 # sched: [1:0.33]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pabsb:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpabsb (%rdi), %xmm1 # sched: [6:1.00]
+; BTVER2-NEXT: vpabsb %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpor %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <16 x i8> @llvm.x86.ssse3.pabs.b.128(<16 x i8> %a0)
+ %2 = load <16 x i8>, <16 x i8> *%a1, align 16
+ %3 = call <16 x i8> @llvm.x86.ssse3.pabs.b.128(<16 x i8> %2)
+ %4 = or <16 x i8> %1, %3
+ ret <16 x i8> %4
+}
+declare <16 x i8> @llvm.x86.ssse3.pabs.b.128(<16 x i8>) nounwind readnone
+
+define <4 x i32> @test_pabsd(<4 x i32> %a0, <4 x i32> *%a1) {
+; GENERIC-LABEL: test_pabsd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pabsd %xmm0, %xmm1
+; GENERIC-NEXT: pabsd (%rdi), %xmm0
+; GENERIC-NEXT: por %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_pabsd:
+; ATOM: # BB#0:
+; ATOM-NEXT: pabsd (%rdi), %xmm1
+; ATOM-NEXT: pabsd %xmm0, %xmm0
+; ATOM-NEXT: por %xmm0, %xmm1
+; ATOM-NEXT: movdqa %xmm1, %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_pabsd:
+; SLM: # BB#0:
+; SLM-NEXT: pabsd %xmm0, %xmm1 # sched: [1:0.50]
+; SLM-NEXT: pabsd (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: por %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pabsd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpabsd %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpabsd (%rdi), %xmm1 # sched: [5:0.50]
+; SANDY-NEXT: vpor %xmm1, %xmm0, %xmm0 # sched: [1:0.33]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pabsd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpabsd %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpabsd (%rdi), %xmm1 # sched: [5:0.50]
+; HASWELL-NEXT: vpor %xmm1, %xmm0, %xmm0 # sched: [1:0.33]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pabsd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpabsd (%rdi), %xmm1 # sched: [6:1.00]
+; BTVER2-NEXT: vpabsd %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpor %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x i32> @llvm.x86.ssse3.pabs.d.128(<4 x i32> %a0)
+ %2 = load <4 x i32>, <4 x i32> *%a1, align 16
+ %3 = call <4 x i32> @llvm.x86.ssse3.pabs.d.128(<4 x i32> %2)
+ %4 = or <4 x i32> %1, %3
+ ret <4 x i32> %4
+}
+declare <4 x i32> @llvm.x86.ssse3.pabs.d.128(<4 x i32>) nounwind readnone
+
+define <8 x i16> @test_pabsw(<8 x i16> %a0, <8 x i16> *%a1) {
+; GENERIC-LABEL: test_pabsw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pabsw %xmm0, %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_pabsw:
+; ATOM: # BB#0:
+; ATOM-NEXT: pabsw %xmm0, %xmm0
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_pabsw:
+; SLM: # BB#0:
+; SLM-NEXT: pabsw %xmm0, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pabsw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpabsw %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pabsw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpabsw %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pabsw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpabsw %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.ssse3.pabs.w.128(<8 x i16> %a0)
+ %2 = load <8 x i16>, <8 x i16> *%a1, align 16
+ %3 = call <8 x i16> @llvm.x86.ssse3.pabs.w.128(<8 x i16> %2)
+ %4 = or <8 x i16> %1, %3
+ ret <8 x i16> %1
+}
+declare <8 x i16> @llvm.x86.ssse3.pabs.w.128(<8 x i16>) nounwind readnone
+
+define <8 x i16> @test_palignr(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
+; GENERIC-LABEL: test_palignr:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: palignr {{.*#+}} xmm1 = xmm0[6,7,8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5]
+; GENERIC-NEXT: palignr {{.*#+}} xmm1 = mem[14,15],xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13]
+; GENERIC-NEXT: movdqa %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_palignr:
+; ATOM: # BB#0:
+; ATOM-NEXT: palignr {{.*#+}} xmm1 = xmm0[6,7,8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5]
+; ATOM-NEXT: palignr {{.*#+}} xmm1 = mem[14,15],xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13]
+; ATOM-NEXT: movdqa %xmm1, %xmm0
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_palignr:
+; SLM: # BB#0:
+; SLM-NEXT: palignr {{.*#+}} xmm1 = xmm0[6,7,8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5] sched: [1:1.00]
+; SLM-NEXT: palignr {{.*#+}} xmm1 = mem[14,15],xmm1[0,1,2,3,4,5,6,7,8,9,10,11,12,13] sched: [4:1.00]
+; SLM-NEXT: movdqa %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_palignr:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[6,7,8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5] sched: [1:0.50]
+; SANDY-NEXT: vpalignr {{.*#+}} xmm0 = mem[14,15],xmm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13] sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_palignr:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[6,7,8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5] sched: [1:1.00]
+; HASWELL-NEXT: vpalignr {{.*#+}} xmm0 = mem[14,15],xmm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13] sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_palignr:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpalignr {{.*#+}} xmm0 = xmm0[6,7,8,9,10,11,12,13,14,15],xmm1[0,1,2,3,4,5] sched: [1:0.50]
+; BTVER2-NEXT: vpalignr {{.*#+}} xmm0 = mem[14,15],xmm0[0,1,2,3,4,5,6,7,8,9,10,11,12,13] sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = shufflevector <8 x i16> %a0, <8 x i16> %a1, <8 x i32> <i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10>
+ %2 = load <8 x i16>, <8 x i16> *%a2, align 16
+ %3 = shufflevector <8 x i16> %2, <8 x i16> %1, <8 x i32> <i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14>
+ ret <8 x i16> %3
+}
+
+define <4 x i32> @test_phaddd(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; GENERIC-LABEL: test_phaddd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: phaddd %xmm1, %xmm0
+; GENERIC-NEXT: phaddd (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_phaddd:
+; ATOM: # BB#0:
+; ATOM-NEXT: phaddd %xmm1, %xmm0
+; ATOM-NEXT: phaddd (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_phaddd:
+; SLM: # BB#0:
+; SLM-NEXT: phaddd %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: phaddd (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_phaddd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vphaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vphaddd (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_phaddd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vphaddd %xmm1, %xmm0, %xmm0 # sched: [3:2.00]
+; HASWELL-NEXT: vphaddd (%rdi), %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_phaddd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vphaddd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vphaddd (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x i32> @llvm.x86.ssse3.phadd.d.128(<4 x i32> %a0, <4 x i32> %a1)
+ %2 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %3 = call <4 x i32> @llvm.x86.ssse3.phadd.d.128(<4 x i32> %1, <4 x i32> %2)
+ ret <4 x i32> %3
+}
+declare <4 x i32> @llvm.x86.ssse3.phadd.d.128(<4 x i32>, <4 x i32>) nounwind readnone
+
+define <8 x i16> @test_phaddsw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
+; GENERIC-LABEL: test_phaddsw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: phaddsw %xmm1, %xmm0
+; GENERIC-NEXT: phaddsw (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_phaddsw:
+; ATOM: # BB#0:
+; ATOM-NEXT: phaddsw %xmm1, %xmm0
+; ATOM-NEXT: phaddsw (%rdi), %xmm0
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_phaddsw:
+; SLM: # BB#0:
+; SLM-NEXT: phaddsw %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: phaddsw (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_phaddsw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vphaddsw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vphaddsw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_phaddsw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vphaddsw %xmm1, %xmm0, %xmm0 # sched: [3:2.00]
+; HASWELL-NEXT: vphaddsw (%rdi), %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_phaddsw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vphaddsw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vphaddsw (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.ssse3.phadd.sw.128(<8 x i16> %a0, <8 x i16> %a1)
+ %2 = load <8 x i16>, <8 x i16> *%a2, align 16
+ %3 = call <8 x i16> @llvm.x86.ssse3.phadd.sw.128(<8 x i16> %1, <8 x i16> %2)
+ ret <8 x i16> %3
+}
+declare <8 x i16> @llvm.x86.ssse3.phadd.sw.128(<8 x i16>, <8 x i16>) nounwind readnone
+
+define <8 x i16> @test_phaddw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
+; GENERIC-LABEL: test_phaddw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: phaddw %xmm1, %xmm0
+; GENERIC-NEXT: phaddw (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_phaddw:
+; ATOM: # BB#0:
+; ATOM-NEXT: phaddw %xmm1, %xmm0
+; ATOM-NEXT: phaddw (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_phaddw:
+; SLM: # BB#0:
+; SLM-NEXT: phaddw %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: phaddw (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_phaddw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vphaddw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vphaddw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_phaddw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vphaddw %xmm1, %xmm0, %xmm0 # sched: [3:2.00]
+; HASWELL-NEXT: vphaddw (%rdi), %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_phaddw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vphaddw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vphaddw (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.ssse3.phadd.w.128(<8 x i16> %a0, <8 x i16> %a1)
+ %2 = load <8 x i16>, <8 x i16> *%a2, align 16
+ %3 = call <8 x i16> @llvm.x86.ssse3.phadd.w.128(<8 x i16> %1, <8 x i16> %2)
+ ret <8 x i16> %3
+}
+declare <8 x i16> @llvm.x86.ssse3.phadd.w.128(<8 x i16>, <8 x i16>) nounwind readnone
+
+define <4 x i32> @test_phsubd(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; GENERIC-LABEL: test_phsubd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: phsubd %xmm1, %xmm0
+; GENERIC-NEXT: phsubd (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_phsubd:
+; ATOM: # BB#0:
+; ATOM-NEXT: phsubd %xmm1, %xmm0
+; ATOM-NEXT: phsubd (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_phsubd:
+; SLM: # BB#0:
+; SLM-NEXT: phsubd %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: phsubd (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_phsubd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vphsubd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vphsubd (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_phsubd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vphsubd %xmm1, %xmm0, %xmm0 # sched: [3:2.00]
+; HASWELL-NEXT: vphsubd (%rdi), %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_phsubd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vphsubd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vphsubd (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x i32> @llvm.x86.ssse3.phsub.d.128(<4 x i32> %a0, <4 x i32> %a1)
+ %2 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %3 = call <4 x i32> @llvm.x86.ssse3.phsub.d.128(<4 x i32> %1, <4 x i32> %2)
+ ret <4 x i32> %3
+}
+declare <4 x i32> @llvm.x86.ssse3.phsub.d.128(<4 x i32>, <4 x i32>) nounwind readnone
+
+define <8 x i16> @test_phsubsw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
+; GENERIC-LABEL: test_phsubsw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: phsubsw %xmm1, %xmm0
+; GENERIC-NEXT: phsubsw (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_phsubsw:
+; ATOM: # BB#0:
+; ATOM-NEXT: phsubsw %xmm1, %xmm0
+; ATOM-NEXT: phsubsw (%rdi), %xmm0
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_phsubsw:
+; SLM: # BB#0:
+; SLM-NEXT: phsubsw %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: phsubsw (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_phsubsw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vphsubsw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vphsubsw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_phsubsw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vphsubsw %xmm1, %xmm0, %xmm0 # sched: [3:2.00]
+; HASWELL-NEXT: vphsubsw (%rdi), %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_phsubsw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vphsubsw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vphsubsw (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.ssse3.phsub.sw.128(<8 x i16> %a0, <8 x i16> %a1)
+ %2 = load <8 x i16>, <8 x i16> *%a2, align 16
+ %3 = call <8 x i16> @llvm.x86.ssse3.phsub.sw.128(<8 x i16> %1, <8 x i16> %2)
+ ret <8 x i16> %3
+}
+declare <8 x i16> @llvm.x86.ssse3.phsub.sw.128(<8 x i16>, <8 x i16>) nounwind readnone
+
+define <8 x i16> @test_phsubw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
+; GENERIC-LABEL: test_phsubw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: phsubw %xmm1, %xmm0
+; GENERIC-NEXT: phsubw (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_phsubw:
+; ATOM: # BB#0:
+; ATOM-NEXT: phsubw %xmm1, %xmm0
+; ATOM-NEXT: phsubw (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_phsubw:
+; SLM: # BB#0:
+; SLM-NEXT: phsubw %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: phsubw (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_phsubw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vphsubw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vphsubw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_phsubw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vphsubw %xmm1, %xmm0, %xmm0 # sched: [3:2.00]
+; HASWELL-NEXT: vphsubw (%rdi), %xmm0, %xmm0 # sched: [6:2.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_phsubw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vphsubw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vphsubw (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.ssse3.phsub.w.128(<8 x i16> %a0, <8 x i16> %a1)
+ %2 = load <8 x i16>, <8 x i16> *%a2, align 16
+ %3 = call <8 x i16> @llvm.x86.ssse3.phsub.w.128(<8 x i16> %1, <8 x i16> %2)
+ ret <8 x i16> %3
+}
+declare <8 x i16> @llvm.x86.ssse3.phsub.w.128(<8 x i16>, <8 x i16>) nounwind readnone
+
+define <8 x i16> @test_pmaddubsw(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
+; GENERIC-LABEL: test_pmaddubsw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmaddubsw %xmm1, %xmm0
+; GENERIC-NEXT: pmaddubsw (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_pmaddubsw:
+; ATOM: # BB#0:
+; ATOM-NEXT: pmaddubsw %xmm1, %xmm0
+; ATOM-NEXT: pmaddubsw (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_pmaddubsw:
+; SLM: # BB#0:
+; SLM-NEXT: pmaddubsw %xmm1, %xmm0 # sched: [4:1.00]
+; SLM-NEXT: pmaddubsw (%rdi), %xmm0 # sched: [7:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmaddubsw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmaddubsw %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: vpmaddubsw (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmaddubsw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmaddubsw %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: vpmaddubsw (%rdi), %xmm0, %xmm0 # sched: [9:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmaddubsw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmaddubsw %xmm1, %xmm0, %xmm0 # sched: [2:1.00]
+; BTVER2-NEXT: vpmaddubsw (%rdi), %xmm0, %xmm0 # sched: [7:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.ssse3.pmadd.ub.sw.128(<16 x i8> %a0, <16 x i8> %a1)
+ %2 = load <16 x i8>, <16 x i8> *%a2, align 16
+ %3 = bitcast <8 x i16> %1 to <16 x i8>
+ %4 = call <8 x i16> @llvm.x86.ssse3.pmadd.ub.sw.128(<16 x i8> %3, <16 x i8> %2)
+ ret <8 x i16> %4
+}
+declare <8 x i16> @llvm.x86.ssse3.pmadd.ub.sw.128(<16 x i8>, <16 x i8>) nounwind readnone
+
+define <8 x i16> @test_pmulhrsw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
+; GENERIC-LABEL: test_pmulhrsw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pmulhrsw %xmm1, %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_pmulhrsw:
+; ATOM: # BB#0:
+; ATOM-NEXT: pmulhrsw %xmm1, %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_pmulhrsw:
+; SLM: # BB#0:
+; SLM-NEXT: pmulhrsw %xmm1, %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pmulhrsw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpmulhrsw %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pmulhrsw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpmulhrsw %xmm1, %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pmulhrsw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpmulhrsw %xmm1, %xmm0, %xmm0 # sched: [2:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.ssse3.pmul.hr.sw.128(<8 x i16> %a0, <8 x i16> %a1)
+ %2 = load <8 x i16>, <8 x i16> *%a2, align 16
+ %3 = call <8 x i16> @llvm.x86.ssse3.pmul.hr.sw.128(<8 x i16> %1, <8 x i16> %2)
+ ret <8 x i16> %1
+}
+declare <8 x i16> @llvm.x86.ssse3.pmul.hr.sw.128(<8 x i16>, <8 x i16>) nounwind readnone
+
+define <16 x i8> @test_pshufb(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
+; GENERIC-LABEL: test_pshufb:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: pshufb %xmm1, %xmm0
+; GENERIC-NEXT: pshufb (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_pshufb:
+; ATOM: # BB#0:
+; ATOM-NEXT: pshufb %xmm1, %xmm0
+; ATOM-NEXT: pshufb (%rdi), %xmm0
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_pshufb:
+; SLM: # BB#0:
+; SLM-NEXT: pshufb %xmm1, %xmm0 # sched: [1:1.00]
+; SLM-NEXT: pshufb (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_pshufb:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpshufb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpshufb (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_pshufb:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpshufb %xmm1, %xmm0, %xmm0 # sched: [1:1.00]
+; HASWELL-NEXT: vpshufb (%rdi), %xmm0, %xmm0 # sched: [5:1.00]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_pshufb:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpshufb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpshufb (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %a0, <16 x i8> %a1)
+ %2 = load <16 x i8>, <16 x i8> *%a2, align 16
+ %3 = call <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8> %1, <16 x i8> %2)
+ ret <16 x i8> %3
+}
+declare <16 x i8> @llvm.x86.ssse3.pshuf.b.128(<16 x i8>, <16 x i8>) nounwind readnone
+
+define <16 x i8> @test_psignb(<16 x i8> %a0, <16 x i8> %a1, <16 x i8> *%a2) {
+; GENERIC-LABEL: test_psignb:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: psignb %xmm1, %xmm0
+; GENERIC-NEXT: psignb (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_psignb:
+; ATOM: # BB#0:
+; ATOM-NEXT: psignb %xmm1, %xmm0
+; ATOM-NEXT: psignb (%rdi), %xmm0
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_psignb:
+; SLM: # BB#0:
+; SLM-NEXT: psignb %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: psignb (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_psignb:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpsignb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpsignb (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_psignb:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpsignb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpsignb (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_psignb:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpsignb %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpsignb (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <16 x i8> @llvm.x86.ssse3.psign.b.128(<16 x i8> %a0, <16 x i8> %a1)
+ %2 = load <16 x i8>, <16 x i8> *%a2, align 16
+ %3 = call <16 x i8> @llvm.x86.ssse3.psign.b.128(<16 x i8> %1, <16 x i8> %2)
+ ret <16 x i8> %3
+}
+declare <16 x i8> @llvm.x86.ssse3.psign.b.128(<16 x i8>, <16 x i8>) nounwind readnone
+
+define <4 x i32> @test_psignd(<4 x i32> %a0, <4 x i32> %a1, <4 x i32> *%a2) {
+; GENERIC-LABEL: test_psignd:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: psignd %xmm1, %xmm0
+; GENERIC-NEXT: psignd (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_psignd:
+; ATOM: # BB#0:
+; ATOM-NEXT: psignd %xmm1, %xmm0
+; ATOM-NEXT: psignd (%rdi), %xmm0
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_psignd:
+; SLM: # BB#0:
+; SLM-NEXT: psignd %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: psignd (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_psignd:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpsignd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpsignd (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_psignd:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpsignd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpsignd (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_psignd:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpsignd %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpsignd (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <4 x i32> @llvm.x86.ssse3.psign.d.128(<4 x i32> %a0, <4 x i32> %a1)
+ %2 = load <4 x i32>, <4 x i32> *%a2, align 16
+ %3 = call <4 x i32> @llvm.x86.ssse3.psign.d.128(<4 x i32> %1, <4 x i32> %2)
+ ret <4 x i32> %3
+}
+declare <4 x i32> @llvm.x86.ssse3.psign.d.128(<4 x i32>, <4 x i32>) nounwind readnone
+
+define <8 x i16> @test_psignw(<8 x i16> %a0, <8 x i16> %a1, <8 x i16> *%a2) {
+; GENERIC-LABEL: test_psignw:
+; GENERIC: # BB#0:
+; GENERIC-NEXT: psignw %xmm1, %xmm0
+; GENERIC-NEXT: psignw (%rdi), %xmm0
+; GENERIC-NEXT: retq
+;
+; ATOM-LABEL: test_psignw:
+; ATOM: # BB#0:
+; ATOM-NEXT: psignw %xmm1, %xmm0
+; ATOM-NEXT: psignw (%rdi), %xmm0
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: nop
+; ATOM-NEXT: retq
+;
+; SLM-LABEL: test_psignw:
+; SLM: # BB#0:
+; SLM-NEXT: psignw %xmm1, %xmm0 # sched: [1:0.50]
+; SLM-NEXT: psignw (%rdi), %xmm0 # sched: [4:1.00]
+; SLM-NEXT: retq # sched: [4:1.00]
+;
+; SANDY-LABEL: test_psignw:
+; SANDY: # BB#0:
+; SANDY-NEXT: vpsignw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; SANDY-NEXT: vpsignw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; SANDY-NEXT: retq # sched: [5:1.00]
+;
+; HASWELL-LABEL: test_psignw:
+; HASWELL: # BB#0:
+; HASWELL-NEXT: vpsignw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; HASWELL-NEXT: vpsignw (%rdi), %xmm0, %xmm0 # sched: [5:0.50]
+; HASWELL-NEXT: retq # sched: [1:1.00]
+;
+; BTVER2-LABEL: test_psignw:
+; BTVER2: # BB#0:
+; BTVER2-NEXT: vpsignw %xmm1, %xmm0, %xmm0 # sched: [1:0.50]
+; BTVER2-NEXT: vpsignw (%rdi), %xmm0, %xmm0 # sched: [6:1.00]
+; BTVER2-NEXT: retq # sched: [4:1.00]
+ %1 = call <8 x i16> @llvm.x86.ssse3.psign.w.128(<8 x i16> %a0, <8 x i16> %a1)
+ %2 = load <8 x i16>, <8 x i16> *%a2, align 16
+ %3 = call <8 x i16> @llvm.x86.ssse3.psign.w.128(<8 x i16> %1, <8 x i16> %2)
+ ret <8 x i16> %3
+}
+declare <8 x i16> @llvm.x86.ssse3.psign.w.128(<8 x i16>, <8 x i16>) nounwind readnone
diff --git a/test/CodeGen/X86/statepoint-vector.ll b/test/CodeGen/X86/statepoint-vector.ll
index cc384e19394f..15fb25777edd 100644
--- a/test/CodeGen/X86/statepoint-vector.ll
+++ b/test/CodeGen/X86/statepoint-vector.ll
@@ -22,7 +22,7 @@ define <2 x i8 addrspace(1)*> @test2(<2 x i8 addrspace(1)*> %obj, i64 %offset) g
entry:
; CHECK-LABEL: @test2
; CHECK: subq $40, %rsp
-; CHECK: movd %rdi, %xmm1
+; CHECK: movq %rdi, %xmm1
; CHECK: pshufd $68, %xmm1, %xmm1 # xmm1 = xmm1[0,1,0,1]
; CHECK: paddq %xmm0, %xmm1
; CHECK: movdqa %xmm0, 16(%rsp)
diff --git a/test/CodeGen/X86/tls-pic.ll b/test/CodeGen/X86/tls-pic.ll
index 805bc25c17b6..ac0b43b2402f 100644
--- a/test/CodeGen/X86/tls-pic.ll
+++ b/test/CodeGen/X86/tls-pic.ll
@@ -1,5 +1,5 @@
-; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu -relocation-model=pic | FileCheck -check-prefix=X32 %s
-; RUN: llc < %s -march=x86-64 -mtriple=x86_64-linux-gnu -relocation-model=pic | FileCheck -check-prefix=X64 %s
+; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu -relocation-model=pic | FileCheck %s --check-prefix=X86
+; RUN: llc < %s -march=x86-64 -mtriple=x86_64-linux-gnu -relocation-model=pic | FileCheck %s --check-prefix=X64
@i = thread_local global i32 15
@j = internal thread_local global i32 42
@@ -11,9 +11,9 @@ entry:
ret i32 %tmp1
}
-; X32-LABEL: f1:
-; X32: leal i@TLSGD(,%ebx), %eax
-; X32: calll ___tls_get_addr@PLT
+; X86-LABEL: f1:
+; X86: leal i@TLSGD(,%ebx), %eax
+; X86: calll ___tls_get_addr@PLT
; X64-LABEL: f1:
; X64: leaq i@TLSGD(%rip), %rdi
@@ -27,9 +27,9 @@ entry:
ret i32* @i
}
-; X32-LABEL: f2:
-; X32: leal i@TLSGD(,%ebx), %eax
-; X32: calll ___tls_get_addr@PLT
+; X86-LABEL: f2:
+; X86: leal i@TLSGD(,%ebx), %eax
+; X86: calll ___tls_get_addr@PLT
; X64-LABEL: f2:
; X64: leaq i@TLSGD(%rip), %rdi
@@ -43,9 +43,9 @@ entry:
ret i32 %tmp1
}
-; X32-LABEL: f3:
-; X32: leal i@TLSGD(,%ebx), %eax
-; X32: calll ___tls_get_addr@PLT
+; X86-LABEL: f3:
+; X86: leal i@TLSGD(,%ebx), %eax
+; X86: calll ___tls_get_addr@PLT
; X64-LABEL: f3:
; X64: leaq i@TLSGD(%rip), %rdi
@@ -57,9 +57,9 @@ entry:
ret i32* @i
}
-; X32-LABEL: f4:
-; X32: leal i@TLSGD(,%ebx), %eax
-; X32: calll ___tls_get_addr@PLT
+; X86-LABEL: f4:
+; X86: leal i@TLSGD(,%ebx), %eax
+; X86: calll ___tls_get_addr@PLT
; X64-LABEL: f4:
; X64: leaq i@TLSGD(%rip), %rdi
@@ -74,11 +74,11 @@ entry:
ret i32 %add
}
-; X32-LABEL: f5:
-; X32: leal {{[jk]}}@TLSLDM(%ebx)
-; X32: calll ___tls_get_addr@PLT
-; X32: movl {{[jk]}}@DTPOFF(%e
-; X32: addl {{[jk]}}@DTPOFF(%e
+; X86-LABEL: f5:
+; X86: leal {{[jk]}}@TLSLDM(%ebx)
+; X86: calll ___tls_get_addr@PLT
+; X86: movl {{[jk]}}@DTPOFF(%e
+; X86: addl {{[jk]}}@DTPOFF(%e
; X64-LABEL: f5:
; X64: leaq {{[jk]}}@TLSLD(%rip), %rdi
diff --git a/test/CodeGen/X86/tls-pie.ll b/test/CodeGen/X86/tls-pie.ll
index 842a3bab6647..7a7e40362bcf 100644
--- a/test/CodeGen/X86/tls-pie.ll
+++ b/test/CodeGen/X86/tls-pie.ll
@@ -1,81 +1,112 @@
-; RUN: llc < %s -march=x86 -mcpu=generic -mtriple=i386-linux-gnu -relocation-model=pic \
-; RUN: | FileCheck -check-prefix=X32 %s
-; RUN: llc < %s -march=x86-64 -mcpu=generic -mtriple=x86_64-linux-gnu -relocation-model=pic \
-; RUN: | FileCheck -check-prefix=X64 %s
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
+; RUN: llc < %s -march=x86 -mcpu=generic -mtriple=i386-linux-gnu -relocation-model=pic | FileCheck %s --check-prefix=X86
+; RUN: llc < %s -march=x86-64 -mcpu=generic -mtriple=x86_64-linux-gnux32 -relocation-model=pic | FileCheck %s --check-prefix=X32
+; RUN: llc < %s -march=x86-64 -mcpu=generic -mtriple=x86_64-linux-gnu -relocation-model=pic | FileCheck %s --check-prefix=X64
@i = thread_local global i32 15
@i2 = external thread_local global i32
define i32 @f1() {
+; X86-LABEL: f1:
+; X86: # BB#0: # %entry
+; X86-NEXT: movl %gs:i@NTPOFF, %eax
+; X86-NEXT: retl
+;
; X32-LABEL: f1:
-; X32: movl %gs:i@NTPOFF, %eax
-; X32-NEXT: ret
+; X32: # BB#0: # %entry
+; X32-NEXT: movl %fs:i@TPOFF, %eax
+; X32-NEXT: retq
+;
; X64-LABEL: f1:
-; X64: movl %fs:i@TPOFF, %eax
-; X64-NEXT: ret
-
+; X64: # BB#0: # %entry
+; X64-NEXT: movl %fs:i@TPOFF, %eax
+; X64-NEXT: retq
entry:
%tmp1 = load i32, i32* @i
ret i32 %tmp1
}
define i32* @f2() {
+; X86-LABEL: f2:
+; X86: # BB#0: # %entry
+; X86-NEXT: movl %gs:0, %eax
+; X86-NEXT: leal i@NTPOFF(%eax), %eax
+; X86-NEXT: retl
+;
; X32-LABEL: f2:
-; X32: movl %gs:0, %eax
-; X32-NEXT: leal i@NTPOFF(%eax), %eax
-; X32-NEXT: ret
+; X32: # BB#0: # %entry
+; X32-NEXT: movl %fs:0, %eax
+; X32-NEXT: leal i@TPOFF(%rax), %eax
+; X32-NEXT: retq
+;
; X64-LABEL: f2:
-; X64: movq %fs:0, %rax
-; X64-NEXT: leaq i@TPOFF(%rax), %rax
-; X64-NEXT: ret
-
+; X64: # BB#0: # %entry
+; X64-NEXT: movq %fs:0, %rax
+; X64-NEXT: leaq i@TPOFF(%rax), %rax
+; X64-NEXT: retq
entry:
ret i32* @i
}
define i32 @f3() {
+; X86-LABEL: f3:
+; X86: # BB#0: # %entry
+; X86-NEXT: calll .L2$pb
+; X86-NEXT: .Lcfi0:
+; X86-NEXT: .cfi_adjust_cfa_offset 4
+; X86-NEXT: .L2$pb:
+; X86-NEXT: popl %eax
+; X86-NEXT: .Lcfi1:
+; X86-NEXT: .cfi_adjust_cfa_offset -4
+; X86-NEXT: .Ltmp0:
+; X86-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp0-.L2$pb), %eax
+; X86-NEXT: movl i2@GOTNTPOFF(%eax), %eax
+; X86-NEXT: movl %gs:(%eax), %eax
+; X86-NEXT: retl
+;
; X32-LABEL: f3:
-; X32: calll .L{{[0-9]+}}$pb
-; X32-NEXT: .Lcfi{{[0-9]+}}:
-; X32-NEXT: .cfi_adjust_cfa_offset 4
-; X32-NEXT: .L{{[0-9]+}}$pb:
-; X32-NEXT: popl %eax
-; X32-NEXT: .Lcfi{{[0-9]+}}:
-; X32-NEXT: .cfi_adjust_cfa_offset -4
-; X32-NEXT: .Ltmp{{[0-9]+}}:
-; X32-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp{{[0-9]+}}-.L{{[0-9]+}}$pb), %eax
-; X32-NEXT: movl i2@GOTNTPOFF(%eax), %eax
-; X32-NEXT: movl %gs:(%eax), %eax
-; X32-NEXT: ret
+; X32: # BB#0: # %entry
+; X32-NEXT: movl i2@{{.*}}(%rip), %eax
+; X32-NEXT: movl %fs:(%eax), %eax
+; X32-NEXT: retq
+;
; X64-LABEL: f3:
-; X64: movq i2@GOTTPOFF(%rip), %rax
-; X64-NEXT: movl %fs:(%rax), %eax
-; X64-NEXT: ret
-
+; X64: # BB#0: # %entry
+; X64-NEXT: movq i2@{{.*}}(%rip), %rax
+; X64-NEXT: movl %fs:(%rax), %eax
+; X64-NEXT: retq
entry:
%tmp1 = load i32, i32* @i2
ret i32 %tmp1
}
define i32* @f4() {
+; X86-LABEL: f4:
+; X86: # BB#0: # %entry
+; X86-NEXT: calll .L3$pb
+; X86-NEXT: .Lcfi2:
+; X86-NEXT: .cfi_adjust_cfa_offset 4
+; X86-NEXT: .L3$pb:
+; X86-NEXT: popl %ecx
+; X86-NEXT: .Lcfi3:
+; X86-NEXT: .cfi_adjust_cfa_offset -4
+; X86-NEXT: .Ltmp1:
+; X86-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp1-.L3$pb), %ecx
+; X86-NEXT: movl %gs:0, %eax
+; X86-NEXT: addl i2@GOTNTPOFF(%ecx), %eax
+; X86-NEXT: retl
+;
; X32-LABEL: f4:
-; X32: calll .L{{[0-9]+}}$pb
-; X32-NEXT: .Lcfi{{[0-9]+}}:
-; X32-NEXT: .cfi_adjust_cfa_offset 4
-; X32-NEXT: .L{{[0-9]+}}$pb:
-; X32-NEXT: popl %ecx
-; X32-NEXT: .Lcfi{{[0-9]+}}:
-; X32-NEXT: .cfi_adjust_cfa_offset -4
-; X32-NEXT: .Ltmp{{[0-9]+}}:
-; X32-NEXT: addl $_GLOBAL_OFFSET_TABLE_+(.Ltmp{{[0-9]+}}-.L{{[0-9]+}}$pb), %ecx
-; X32-NEXT: movl %gs:0, %eax
-; X32-NEXT: addl i2@GOTNTPOFF(%ecx), %eax
-; X32-NEXT: ret
+; X32: # BB#0: # %entry
+; X32-NEXT: movl %fs:0, %eax
+; X32-NEXT: addl i2@{{.*}}(%rip), %eax
+; X32-NEXT: retq
+;
; X64-LABEL: f4:
-; X64: movq %fs:0, %rax
-; X64-NEXT: addq i2@GOTTPOFF(%rip), %rax
-; X64-NEXT: ret
-
+; X64: # BB#0: # %entry
+; X64-NEXT: movq %fs:0, %rax
+; X64-NEXT: addq i2@{{.*}}(%rip), %rax
+; X64-NEXT: retq
entry:
ret i32* @i2
}
diff --git a/test/CodeGen/X86/tls.ll b/test/CodeGen/X86/tls.ll
index 85c51e618b2a..d39716aab764 100644
--- a/test/CodeGen/X86/tls.ll
+++ b/test/CodeGen/X86/tls.ll
@@ -1,6 +1,6 @@
-; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu | FileCheck -check-prefix=X32_LINUX %s
+; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu | FileCheck -check-prefix=X86_LINUX %s
; RUN: llc < %s -march=x86-64 -mtriple=x86_64-linux-gnu | FileCheck -check-prefix=X64_LINUX %s
-; RUN: llc < %s -march=x86 -mtriple=x86-pc-win32 | FileCheck -check-prefix=X32_WIN %s
+; RUN: llc < %s -march=x86 -mtriple=x86-pc-win32 | FileCheck -check-prefix=X86_WIN %s
; RUN: llc < %s -march=x86-64 -mtriple=x86_64-pc-win32 | FileCheck -check-prefix=X64_WIN %s
; RUN: llc < %s -march=x86 -mtriple=x86-pc-windows-gnu | FileCheck -check-prefix=MINGW32 %s
; RUN: llc < %s -march=x86-64 -mtriple=x86_64-pc-windows-gnu | FileCheck -check-prefix=X64_WIN %s
@@ -16,18 +16,18 @@
@b2 = thread_local(localexec) global i8 0
define i32 @f1() {
-; X32_LINUX-LABEL: f1:
-; X32_LINUX: movl %gs:i1@NTPOFF, %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f1:
+; X86_LINUX: movl %gs:i1@NTPOFF, %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f1:
; X64_LINUX: movl %fs:i1@TPOFF, %eax
; X64_LINUX-NEXT: ret
-; X32_WIN-LABEL: f1:
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN-NEXT: movl %fs:__tls_array, %ecx
-; X32_WIN-NEXT: movl (%ecx,%eax,4), %eax
-; X32_WIN-NEXT: movl _i1@SECREL32(%eax), %eax
-; X32_WIN-NEXT: ret
+; X86_WIN-LABEL: f1:
+; X86_WIN: movl __tls_index, %eax
+; X86_WIN-NEXT: movl %fs:__tls_array, %ecx
+; X86_WIN-NEXT: movl (%ecx,%eax,4), %eax
+; X86_WIN-NEXT: movl _i1@SECREL32(%eax), %eax
+; X86_WIN-NEXT: ret
; X64_WIN-LABEL: f1:
; X64_WIN: movl _tls_index(%rip), %eax
; X64_WIN-NEXT: movq %gs:88, %rcx
@@ -47,20 +47,20 @@ entry:
}
define i32* @f2() {
-; X32_LINUX-LABEL: f2:
-; X32_LINUX: movl %gs:0, %eax
-; X32_LINUX-NEXT: leal i1@NTPOFF(%eax), %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f2:
+; X86_LINUX: movl %gs:0, %eax
+; X86_LINUX-NEXT: leal i1@NTPOFF(%eax), %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f2:
; X64_LINUX: movq %fs:0, %rax
; X64_LINUX-NEXT: leaq i1@TPOFF(%rax), %rax
; X64_LINUX-NEXT: ret
-; X32_WIN-LABEL: f2:
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN-NEXT: movl %fs:__tls_array, %ecx
-; X32_WIN-NEXT: movl (%ecx,%eax,4), %eax
-; X32_WIN-NEXT: leal _i1@SECREL32(%eax), %eax
-; X32_WIN-NEXT: ret
+; X86_WIN-LABEL: f2:
+; X86_WIN: movl __tls_index, %eax
+; X86_WIN-NEXT: movl %fs:__tls_array, %ecx
+; X86_WIN-NEXT: movl (%ecx,%eax,4), %eax
+; X86_WIN-NEXT: leal _i1@SECREL32(%eax), %eax
+; X86_WIN-NEXT: ret
; X64_WIN-LABEL: f2:
; X64_WIN: movl _tls_index(%rip), %eax
; X64_WIN-NEXT: movq %gs:88, %rcx
@@ -79,20 +79,20 @@ entry:
}
define i32 @f3() nounwind {
-; X32_LINUX-LABEL: f3:
-; X32_LINUX: movl i2@INDNTPOFF, %eax
-; X32_LINUX-NEXT: movl %gs:(%eax), %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f3:
+; X86_LINUX: movl i2@INDNTPOFF, %eax
+; X86_LINUX-NEXT: movl %gs:(%eax), %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f3:
; X64_LINUX: movq i2@GOTTPOFF(%rip), %rax
; X64_LINUX-NEXT: movl %fs:(%rax), %eax
; X64_LINUX-NEXT: ret
-; X32_WIN-LABEL: f3:
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN-NEXT: movl %fs:__tls_array, %ecx
-; X32_WIN-NEXT: movl (%ecx,%eax,4), %eax
-; X32_WIN-NEXT: movl _i2@SECREL32(%eax), %eax
-; X32_WIN-NEXT: ret
+; X86_WIN-LABEL: f3:
+; X86_WIN: movl __tls_index, %eax
+; X86_WIN-NEXT: movl %fs:__tls_array, %ecx
+; X86_WIN-NEXT: movl (%ecx,%eax,4), %eax
+; X86_WIN-NEXT: movl _i2@SECREL32(%eax), %eax
+; X86_WIN-NEXT: ret
; X64_WIN-LABEL: f3:
; X64_WIN: movl _tls_index(%rip), %eax
; X64_WIN-NEXT: movq %gs:88, %rcx
@@ -112,20 +112,20 @@ entry:
}
define i32* @f4() {
-; X32_LINUX-LABEL: f4:
-; X32_LINUX: movl %gs:0, %eax
-; X32_LINUX-NEXT: addl i2@INDNTPOFF, %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f4:
+; X86_LINUX: movl %gs:0, %eax
+; X86_LINUX-NEXT: addl i2@INDNTPOFF, %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f4:
; X64_LINUX: movq %fs:0, %rax
; X64_LINUX-NEXT: addq i2@GOTTPOFF(%rip), %rax
; X64_LINUX-NEXT: ret
-; X32_WIN-LABEL: f4:
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN-NEXT: movl %fs:__tls_array, %ecx
-; X32_WIN-NEXT: movl (%ecx,%eax,4), %eax
-; X32_WIN-NEXT: leal _i2@SECREL32(%eax), %eax
-; X32_WIN-NEXT: ret
+; X86_WIN-LABEL: f4:
+; X86_WIN: movl __tls_index, %eax
+; X86_WIN-NEXT: movl %fs:__tls_array, %ecx
+; X86_WIN-NEXT: movl (%ecx,%eax,4), %eax
+; X86_WIN-NEXT: leal _i2@SECREL32(%eax), %eax
+; X86_WIN-NEXT: ret
; X64_WIN-LABEL: f4:
; X64_WIN: movl _tls_index(%rip), %eax
; X64_WIN-NEXT: movq %gs:88, %rcx
@@ -144,18 +144,18 @@ entry:
}
define i32 @f5() nounwind {
-; X32_LINUX-LABEL: f5:
-; X32_LINUX: movl %gs:i3@NTPOFF, %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f5:
+; X86_LINUX: movl %gs:i3@NTPOFF, %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f5:
; X64_LINUX: movl %fs:i3@TPOFF, %eax
; X64_LINUX-NEXT: ret
-; X32_WIN-LABEL: f5:
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN-NEXT: movl %fs:__tls_array, %ecx
-; X32_WIN-NEXT: movl (%ecx,%eax,4), %eax
-; X32_WIN-NEXT: movl _i3@SECREL32(%eax), %eax
-; X32_WIN-NEXT: ret
+; X86_WIN-LABEL: f5:
+; X86_WIN: movl __tls_index, %eax
+; X86_WIN-NEXT: movl %fs:__tls_array, %ecx
+; X86_WIN-NEXT: movl (%ecx,%eax,4), %eax
+; X86_WIN-NEXT: movl _i3@SECREL32(%eax), %eax
+; X86_WIN-NEXT: ret
; X64_WIN-LABEL: f5:
; X64_WIN: movl _tls_index(%rip), %eax
; X64_WIN-NEXT: movq %gs:88, %rcx
@@ -175,20 +175,20 @@ entry:
}
define i32* @f6() {
-; X32_LINUX-LABEL: f6:
-; X32_LINUX: movl %gs:0, %eax
-; X32_LINUX-NEXT: leal i3@NTPOFF(%eax), %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f6:
+; X86_LINUX: movl %gs:0, %eax
+; X86_LINUX-NEXT: leal i3@NTPOFF(%eax), %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f6:
; X64_LINUX: movq %fs:0, %rax
; X64_LINUX-NEXT: leaq i3@TPOFF(%rax), %rax
; X64_LINUX-NEXT: ret
-; X32_WIN-LABEL: f6:
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN-NEXT: movl %fs:__tls_array, %ecx
-; X32_WIN-NEXT: movl (%ecx,%eax,4), %eax
-; X32_WIN-NEXT: leal _i3@SECREL32(%eax), %eax
-; X32_WIN-NEXT: ret
+; X86_WIN-LABEL: f6:
+; X86_WIN: movl __tls_index, %eax
+; X86_WIN-NEXT: movl %fs:__tls_array, %ecx
+; X86_WIN-NEXT: movl (%ecx,%eax,4), %eax
+; X86_WIN-NEXT: leal _i3@SECREL32(%eax), %eax
+; X86_WIN-NEXT: ret
; X64_WIN-LABEL: f6:
; X64_WIN: movl _tls_index(%rip), %eax
; X64_WIN-NEXT: movq %gs:88, %rcx
@@ -207,9 +207,9 @@ entry:
}
define i32 @f7() {
-; X32_LINUX-LABEL: f7:
-; X32_LINUX: movl %gs:i4@NTPOFF, %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f7:
+; X86_LINUX: movl %gs:i4@NTPOFF, %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f7:
; X64_LINUX: movl %fs:i4@TPOFF, %eax
; X64_LINUX-NEXT: ret
@@ -226,10 +226,10 @@ entry:
}
define i32* @f8() {
-; X32_LINUX-LABEL: f8:
-; X32_LINUX: movl %gs:0, %eax
-; X32_LINUX-NEXT: leal i4@NTPOFF(%eax), %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f8:
+; X86_LINUX: movl %gs:0, %eax
+; X86_LINUX-NEXT: leal i4@NTPOFF(%eax), %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f8:
; X64_LINUX: movq %fs:0, %rax
; X64_LINUX-NEXT: leaq i4@TPOFF(%rax), %rax
@@ -246,9 +246,9 @@ entry:
}
define i32 @f9() {
-; X32_LINUX-LABEL: f9:
-; X32_LINUX: movl %gs:i5@NTPOFF, %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f9:
+; X86_LINUX: movl %gs:i5@NTPOFF, %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f9:
; X64_LINUX: movl %fs:i5@TPOFF, %eax
; X64_LINUX-NEXT: ret
@@ -265,10 +265,10 @@ entry:
}
define i32* @f10() {
-; X32_LINUX-LABEL: f10:
-; X32_LINUX: movl %gs:0, %eax
-; X32_LINUX-NEXT: leal i5@NTPOFF(%eax), %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f10:
+; X86_LINUX: movl %gs:0, %eax
+; X86_LINUX-NEXT: leal i5@NTPOFF(%eax), %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f10:
; X64_LINUX: movq %fs:0, %rax
; X64_LINUX-NEXT: leaq i5@TPOFF(%rax), %rax
@@ -285,18 +285,18 @@ entry:
}
define i16 @f11() {
-; X32_LINUX-LABEL: f11:
-; X32_LINUX: movzwl %gs:s1@NTPOFF, %eax
-; X32_LINUX: ret
+; X86_LINUX-LABEL: f11:
+; X86_LINUX: movzwl %gs:s1@NTPOFF, %eax
+; X86_LINUX: ret
; X64_LINUX-LABEL: f11:
; X64_LINUX: movzwl %fs:s1@TPOFF, %eax
; X64_LINUX: ret
-; X32_WIN-LABEL: f11:
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN-NEXT: movl %fs:__tls_array, %ecx
-; X32_WIN-NEXT: movl (%ecx,%eax,4), %eax
-; X32_WIN-NEXT: movzwl _s1@SECREL32(%eax), %eax
-; X32_WIN: ret
+; X86_WIN-LABEL: f11:
+; X86_WIN: movl __tls_index, %eax
+; X86_WIN-NEXT: movl %fs:__tls_array, %ecx
+; X86_WIN-NEXT: movl (%ecx,%eax,4), %eax
+; X86_WIN-NEXT: movzwl _s1@SECREL32(%eax), %eax
+; X86_WIN: ret
; X64_WIN-LABEL: f11:
; X64_WIN: movl _tls_index(%rip), %eax
; X64_WIN-NEXT: movq %gs:88, %rcx
@@ -316,18 +316,18 @@ entry:
}
define i32 @f12() {
-; X32_LINUX-LABEL: f12:
-; X32_LINUX: movswl %gs:s1@NTPOFF, %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f12:
+; X86_LINUX: movswl %gs:s1@NTPOFF, %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f12:
; X64_LINUX: movswl %fs:s1@TPOFF, %eax
; X64_LINUX-NEXT: ret
-; X32_WIN-LABEL: f12:
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN-NEXT: movl %fs:__tls_array, %ecx
-; X32_WIN-NEXT: movl (%ecx,%eax,4), %eax
-; X32_WIN-NEXT: movswl _s1@SECREL32(%eax), %eax
-; X32_WIN-NEXT: ret
+; X86_WIN-LABEL: f12:
+; X86_WIN: movl __tls_index, %eax
+; X86_WIN-NEXT: movl %fs:__tls_array, %ecx
+; X86_WIN-NEXT: movl (%ecx,%eax,4), %eax
+; X86_WIN-NEXT: movswl _s1@SECREL32(%eax), %eax
+; X86_WIN-NEXT: ret
; X64_WIN-LABEL: f12:
; X64_WIN: movl _tls_index(%rip), %eax
; X64_WIN-NEXT: movq %gs:88, %rcx
@@ -349,18 +349,18 @@ entry:
}
define i8 @f13() {
-; X32_LINUX-LABEL: f13:
-; X32_LINUX: movb %gs:b1@NTPOFF, %al
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f13:
+; X86_LINUX: movb %gs:b1@NTPOFF, %al
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f13:
; X64_LINUX: movb %fs:b1@TPOFF, %al
; X64_LINUX-NEXT: ret
-; X32_WIN-LABEL: f13:
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN-NEXT: movl %fs:__tls_array, %ecx
-; X32_WIN-NEXT: movl (%ecx,%eax,4), %eax
-; X32_WIN-NEXT: movb _b1@SECREL32(%eax), %al
-; X32_WIN-NEXT: ret
+; X86_WIN-LABEL: f13:
+; X86_WIN: movl __tls_index, %eax
+; X86_WIN-NEXT: movl %fs:__tls_array, %ecx
+; X86_WIN-NEXT: movl (%ecx,%eax,4), %eax
+; X86_WIN-NEXT: movb _b1@SECREL32(%eax), %al
+; X86_WIN-NEXT: ret
; X64_WIN-LABEL: f13:
; X64_WIN: movl _tls_index(%rip), %eax
; X64_WIN-NEXT: movq %gs:88, %rcx
@@ -380,18 +380,18 @@ entry:
}
define i32 @f14() {
-; X32_LINUX-LABEL: f14:
-; X32_LINUX: movsbl %gs:b1@NTPOFF, %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f14:
+; X86_LINUX: movsbl %gs:b1@NTPOFF, %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f14:
; X64_LINUX: movsbl %fs:b1@TPOFF, %eax
; X64_LINUX-NEXT: ret
-; X32_WIN-LABEL: f14:
-; X32_WIN: movl __tls_index, %eax
-; X32_WIN-NEXT: movl %fs:__tls_array, %ecx
-; X32_WIN-NEXT: movl (%ecx,%eax,4), %eax
-; X32_WIN-NEXT: movsbl _b1@SECREL32(%eax), %eax
-; X32_WIN-NEXT: ret
+; X86_WIN-LABEL: f14:
+; X86_WIN: movl __tls_index, %eax
+; X86_WIN-NEXT: movl %fs:__tls_array, %ecx
+; X86_WIN-NEXT: movl (%ecx,%eax,4), %eax
+; X86_WIN-NEXT: movsbl _b1@SECREL32(%eax), %eax
+; X86_WIN-NEXT: ret
; X64_WIN-LABEL: f14:
; X64_WIN: movl _tls_index(%rip), %eax
; X64_WIN-NEXT: movq %gs:88, %rcx
@@ -412,19 +412,19 @@ entry:
}
define i8* @f15() {
-; X32_LINUX-LABEL: f15:
-; X32_LINUX: movl %gs:0, %eax
-; X32_LINUX-NEXT: leal b2@NTPOFF(%eax), %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f15:
+; X86_LINUX: movl %gs:0, %eax
+; X86_LINUX-NEXT: leal b2@NTPOFF(%eax), %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f15:
; X64_LINUX: movq %fs:0, %rax
; X64_LINUX-NEXT: leaq b2@TPOFF(%rax), %rax
; X64_LINUX-NEXT: ret
-; X32_WIN-LABEL: f15:
-; X32_WIN: movl %fs:__tls_array, %eax
-; X32_WIN-NEXT: movl (%eax), %eax
-; X32_WIN-NEXT: leal _b2@SECREL32(%eax), %eax
-; X32_WIN-NEXT: ret
+; X86_WIN-LABEL: f15:
+; X86_WIN: movl %fs:__tls_array, %eax
+; X86_WIN-NEXT: movl (%eax), %eax
+; X86_WIN-NEXT: leal _b2@SECREL32(%eax), %eax
+; X86_WIN-NEXT: ret
; X64_WIN-LABEL: f15:
; X64_WIN: movq %gs:88, %rax
; X64_WIN-NEXT: movq (%rax), %rax
@@ -441,10 +441,10 @@ entry:
define i32* @f16() {
-; X32_LINUX-LABEL: f16:
-; X32_LINUX: movl %gs:0, %eax
-; X32_LINUX-NEXT: leal i6@NTPOFF(%eax), %eax
-; X32_LINUX-NEXT: ret
+; X86_LINUX-LABEL: f16:
+; X86_LINUX: movl %gs:0, %eax
+; X86_LINUX-NEXT: leal i6@NTPOFF(%eax), %eax
+; X86_LINUX-NEXT: ret
; X64_LINUX-LABEL: f16:
; X64_LINUX: movq %fs:0, %rax
diff --git a/test/CodeGen/X86/vec_fneg.ll b/test/CodeGen/X86/vec_fneg.ll
index 78799ff04fe1..9804f0ef983b 100644
--- a/test/CodeGen/X86/vec_fneg.ll
+++ b/test/CodeGen/X86/vec_fneg.ll
@@ -10,7 +10,7 @@
define <4 x float> @t1(<4 x float> %Q) nounwind {
; X32-SSE-LABEL: t1:
; X32-SSE: # BB#0:
-; X32-SSE-NEXT: xorps .LCPI0_0, %xmm0
+; X32-SSE-NEXT: xorps {{\.LCPI.*}}, %xmm0
; X32-SSE-NEXT: retl
;
; X64-SSE-LABEL: t1:
@@ -92,7 +92,7 @@ define <2 x float> @fneg_bitcast(i64 %i) nounwind {
; X64-SSE2: # BB#0:
; X64-SSE2-NEXT: movabsq $-9223372034707292160, %rax # imm = 0x8000000080000000
; X64-SSE2-NEXT: xorq %rdi, %rax
-; X64-SSE2-NEXT: movd %rax, %xmm0
+; X64-SSE2-NEXT: movq %rax, %xmm0
; X64-SSE2-NEXT: retq
%bitcast = bitcast i64 %i to <2 x float>
%fneg = fsub <2 x float> <float -0.0, float -0.0>, %bitcast
diff --git a/test/CodeGen/X86/vec_fp_to_int.ll b/test/CodeGen/X86/vec_fp_to_int.ll
index a345f78e18c1..477150016486 100644
--- a/test/CodeGen/X86/vec_fp_to_int.ll
+++ b/test/CodeGen/X86/vec_fp_to_int.ll
@@ -20,10 +20,10 @@ define <2 x i64> @fptosi_2f64_to_2i64(<2 x double> %a) {
; SSE-LABEL: fptosi_2f64_to_2i64:
; SSE: # BB#0:
; SSE-NEXT: cvttsd2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: cvttsd2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE-NEXT: movdqa %xmm1, %xmm0
; SSE-NEXT: retq
@@ -128,16 +128,16 @@ define <4 x i64> @fptosi_4f64_to_4i64(<4 x double> %a) {
; SSE-LABEL: fptosi_4f64_to_4i64:
; SSE: # BB#0:
; SSE-NEXT: cvttsd2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm2
+; SSE-NEXT: movq %rax, %xmm2
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: cvttsd2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm0[0]
; SSE-NEXT: cvttsd2si %xmm1, %rax
-; SSE-NEXT: movd %rax, %xmm3
+; SSE-NEXT: movq %rax, %xmm3
; SSE-NEXT: movhlps {{.*#+}} xmm1 = xmm1[1,1]
; SSE-NEXT: cvttsd2si %xmm1, %rax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm0[0]
; SSE-NEXT: movdqa %xmm2, %xmm0
; SSE-NEXT: movdqa %xmm3, %xmm1
@@ -263,7 +263,7 @@ define <2 x i64> @fptoui_2f64_to_2i64(<2 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm0, %rdx
; SSE-NEXT: ucomisd %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rdx
-; SSE-NEXT: movd %rdx, %xmm1
+; SSE-NEXT: movq %rdx, %xmm1
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: subsd %xmm2, %xmm3
@@ -272,7 +272,7 @@ define <2 x i64> @fptoui_2f64_to_2i64(<2 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm0, %rcx
; SSE-NEXT: ucomisd %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rcx
-; SSE-NEXT: movd %rcx, %xmm0
+; SSE-NEXT: movq %rcx, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE-NEXT: movdqa %xmm1, %xmm0
; SSE-NEXT: retq
@@ -347,7 +347,7 @@ define <4 x i32> @fptoui_2f64_to_4i32(<2 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm0, %rdx
; SSE-NEXT: ucomisd %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rdx
-; SSE-NEXT: movd %rdx, %xmm1
+; SSE-NEXT: movq %rdx, %xmm1
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: subsd %xmm2, %xmm3
@@ -356,7 +356,7 @@ define <4 x i32> @fptoui_2f64_to_4i32(<2 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm0, %rcx
; SSE-NEXT: ucomisd %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rcx
-; SSE-NEXT: movd %rcx, %xmm0
+; SSE-NEXT: movq %rcx, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE-NEXT: pxor %xmm0, %xmm0
; SSE-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2],xmm0[2,3]
@@ -428,7 +428,7 @@ define <4 x i32> @fptoui_2f64_to_2i32(<2 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm0, %rdx
; SSE-NEXT: ucomisd %xmm1, %xmm0
; SSE-NEXT: cmovaeq %rax, %rdx
-; SSE-NEXT: movd %rdx, %xmm2
+; SSE-NEXT: movq %rdx, %xmm2
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: subsd %xmm1, %xmm3
@@ -437,7 +437,7 @@ define <4 x i32> @fptoui_2f64_to_2i32(<2 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm0, %rcx
; SSE-NEXT: ucomisd %xmm1, %xmm0
; SSE-NEXT: cmovaeq %rax, %rcx
-; SSE-NEXT: movd %rcx, %xmm0
+; SSE-NEXT: movq %rcx, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm0[0]
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm2[0,2,2,3]
; SSE-NEXT: retq
@@ -507,7 +507,7 @@ define <4 x i32> @fptoui_4f64_to_2i32(<2 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm0, %rdx
; SSE-NEXT: ucomisd %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rdx
-; SSE-NEXT: movd %rdx, %xmm1
+; SSE-NEXT: movq %rdx, %xmm1
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: subsd %xmm2, %xmm3
@@ -516,13 +516,13 @@ define <4 x i32> @fptoui_4f64_to_2i32(<2 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm0, %rdx
; SSE-NEXT: ucomisd %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rdx
-; SSE-NEXT: movd %rdx, %xmm0
+; SSE-NEXT: movq %rdx, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE-NEXT: cvttsd2si %xmm0, %rax
; SSE-NEXT: xorq %rax, %rcx
; SSE-NEXT: ucomisd %xmm2, %xmm0
; SSE-NEXT: cmovbq %rax, %rcx
-; SSE-NEXT: movd %rcx, %xmm0
+; SSE-NEXT: movq %rcx, %xmm0
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
; SSE-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2],xmm0[0,2]
; SSE-NEXT: movaps %xmm1, %xmm0
@@ -586,7 +586,7 @@ define <4 x i64> @fptoui_4f64_to_4i64(<4 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm2, %rdx
; SSE-NEXT: ucomisd %xmm3, %xmm2
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm0
+; SSE-NEXT: movq %rdx, %xmm0
; SSE-NEXT: movhlps {{.*#+}} xmm2 = xmm2[1,1]
; SSE-NEXT: movaps %xmm2, %xmm4
; SSE-NEXT: subsd %xmm3, %xmm4
@@ -595,7 +595,7 @@ define <4 x i64> @fptoui_4f64_to_4i64(<4 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm2, %rdx
; SSE-NEXT: ucomisd %xmm3, %xmm2
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm2
+; SSE-NEXT: movq %rdx, %xmm2
; SSE-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm2[0]
; SSE-NEXT: movapd %xmm1, %xmm2
; SSE-NEXT: subsd %xmm3, %xmm2
@@ -604,7 +604,7 @@ define <4 x i64> @fptoui_4f64_to_4i64(<4 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm1, %rdx
; SSE-NEXT: ucomisd %xmm3, %xmm1
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm2
+; SSE-NEXT: movq %rdx, %xmm2
; SSE-NEXT: movhlps {{.*#+}} xmm1 = xmm1[1,1]
; SSE-NEXT: movaps %xmm1, %xmm4
; SSE-NEXT: subsd %xmm3, %xmm4
@@ -613,7 +613,7 @@ define <4 x i64> @fptoui_4f64_to_4i64(<4 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm1, %rax
; SSE-NEXT: ucomisd %xmm3, %xmm1
; SSE-NEXT: cmovaeq %rcx, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
; SSE-NEXT: movdqa %xmm2, %xmm1
; SSE-NEXT: retq
@@ -761,7 +761,7 @@ define <4 x i32> @fptoui_4f64_to_4i32(<4 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm1, %rdx
; SSE-NEXT: ucomisd %xmm2, %xmm1
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm3
+; SSE-NEXT: movq %rdx, %xmm3
; SSE-NEXT: movhlps {{.*#+}} xmm1 = xmm1[1,1]
; SSE-NEXT: movaps %xmm1, %xmm4
; SSE-NEXT: subsd %xmm2, %xmm4
@@ -770,7 +770,7 @@ define <4 x i32> @fptoui_4f64_to_4i32(<4 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm1, %rdx
; SSE-NEXT: ucomisd %xmm2, %xmm1
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm1
+; SSE-NEXT: movq %rdx, %xmm1
; SSE-NEXT: punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm1[0]
; SSE-NEXT: movapd %xmm0, %xmm1
; SSE-NEXT: subsd %xmm2, %xmm1
@@ -779,7 +779,7 @@ define <4 x i32> @fptoui_4f64_to_4i32(<4 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm0, %rdx
; SSE-NEXT: ucomisd %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm1
+; SSE-NEXT: movq %rdx, %xmm1
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: movaps %xmm0, %xmm4
; SSE-NEXT: subsd %xmm2, %xmm4
@@ -788,7 +788,7 @@ define <4 x i32> @fptoui_4f64_to_4i32(<4 x double> %a) {
; SSE-NEXT: cvttsd2si %xmm0, %rax
; SSE-NEXT: ucomisd %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rcx, %rax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE-NEXT: shufps {{.*#+}} xmm1 = xmm1[0,2],xmm3[0,2]
; SSE-NEXT: movaps %xmm1, %xmm0
@@ -879,10 +879,10 @@ define <2 x i64> @fptosi_2f32_to_2i64(<4 x float> %a) {
; SSE-LABEL: fptosi_2f32_to_2i64:
; SSE: # BB#0:
; SSE-NEXT: cvttss2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1,2,3]
; SSE-NEXT: cvttss2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE-NEXT: movdqa %xmm1, %xmm0
; SSE-NEXT: retq
@@ -940,10 +940,10 @@ define <2 x i64> @fptosi_4f32_to_2i64(<4 x float> %a) {
; SSE-LABEL: fptosi_4f32_to_2i64:
; SSE: # BB#0:
; SSE-NEXT: cvttss2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1,2,3]
; SSE-NEXT: cvttss2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE-NEXT: movdqa %xmm1, %xmm0
; SSE-NEXT: retq
@@ -1016,19 +1016,19 @@ define <4 x i64> @fptosi_4f32_to_4i64(<8 x float> %a) {
; SSE-LABEL: fptosi_4f32_to_4i64:
; SSE: # BB#0:
; SSE-NEXT: cvttss2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm2
+; SSE-NEXT: movq %rax, %xmm2
; SSE-NEXT: movaps %xmm0, %xmm1
; SSE-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,1,2,3]
; SSE-NEXT: cvttss2si %xmm1, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
; SSE-NEXT: movaps %xmm0, %xmm1
; SSE-NEXT: shufps {{.*#+}} xmm1 = xmm1[3,1,2,3]
; SSE-NEXT: cvttss2si %xmm1, %rax
-; SSE-NEXT: movd %rax, %xmm3
+; SSE-NEXT: movq %rax, %xmm3
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: cvttss2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm3[0]
; SSE-NEXT: movdqa %xmm2, %xmm0
; SSE-NEXT: retq
@@ -1124,19 +1124,19 @@ define <4 x i64> @fptosi_8f32_to_4i64(<8 x float> %a) {
; SSE-LABEL: fptosi_8f32_to_4i64:
; SSE: # BB#0:
; SSE-NEXT: cvttss2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm2
+; SSE-NEXT: movq %rax, %xmm2
; SSE-NEXT: movaps %xmm0, %xmm1
; SSE-NEXT: shufps {{.*#+}} xmm1 = xmm1[1,1,2,3]
; SSE-NEXT: cvttss2si %xmm1, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm1[0]
; SSE-NEXT: movaps %xmm0, %xmm1
; SSE-NEXT: shufps {{.*#+}} xmm1 = xmm1[3,1,2,3]
; SSE-NEXT: cvttss2si %xmm1, %rax
-; SSE-NEXT: movd %rax, %xmm3
+; SSE-NEXT: movq %rax, %xmm3
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: cvttss2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm3[0]
; SSE-NEXT: movdqa %xmm2, %xmm0
; SSE-NEXT: retq
@@ -1245,7 +1245,7 @@ define <2 x i32> @fptoui_2f32_to_2i32(<2 x float> %a) {
; SSE-NEXT: cvttss2si %xmm0, %rdx
; SSE-NEXT: ucomiss %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rdx
-; SSE-NEXT: movd %rdx, %xmm1
+; SSE-NEXT: movq %rdx, %xmm1
; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1,2,3]
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: subss %xmm2, %xmm3
@@ -1254,7 +1254,7 @@ define <2 x i32> @fptoui_2f32_to_2i32(<2 x float> %a) {
; SSE-NEXT: cvttss2si %xmm0, %rcx
; SSE-NEXT: ucomiss %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rcx
-; SSE-NEXT: movd %rcx, %xmm0
+; SSE-NEXT: movq %rcx, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE-NEXT: movdqa %xmm1, %xmm0
; SSE-NEXT: retq
@@ -1390,7 +1390,7 @@ define <2 x i64> @fptoui_2f32_to_2i64(<4 x float> %a) {
; SSE-NEXT: cvttss2si %xmm0, %rdx
; SSE-NEXT: ucomiss %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rdx
-; SSE-NEXT: movd %rdx, %xmm1
+; SSE-NEXT: movq %rdx, %xmm1
; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1,2,3]
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: subss %xmm2, %xmm3
@@ -1399,7 +1399,7 @@ define <2 x i64> @fptoui_2f32_to_2i64(<4 x float> %a) {
; SSE-NEXT: cvttss2si %xmm0, %rcx
; SSE-NEXT: ucomiss %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rcx
-; SSE-NEXT: movd %rcx, %xmm0
+; SSE-NEXT: movq %rcx, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE-NEXT: movdqa %xmm1, %xmm0
; SSE-NEXT: retq
@@ -1477,7 +1477,7 @@ define <2 x i64> @fptoui_4f32_to_2i64(<4 x float> %a) {
; SSE-NEXT: cvttss2si %xmm0, %rdx
; SSE-NEXT: ucomiss %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rdx
-; SSE-NEXT: movd %rdx, %xmm1
+; SSE-NEXT: movq %rdx, %xmm1
; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[1,1,2,3]
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: subss %xmm2, %xmm3
@@ -1486,7 +1486,7 @@ define <2 x i64> @fptoui_4f32_to_2i64(<4 x float> %a) {
; SSE-NEXT: cvttss2si %xmm0, %rcx
; SSE-NEXT: ucomiss %xmm2, %xmm0
; SSE-NEXT: cmovaeq %rax, %rcx
-; SSE-NEXT: movd %rcx, %xmm0
+; SSE-NEXT: movq %rcx, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE-NEXT: movdqa %xmm1, %xmm0
; SSE-NEXT: retq
@@ -1685,7 +1685,7 @@ define <4 x i64> @fptoui_4f32_to_4i64(<8 x float> %a) {
; SSE-NEXT: cvttss2si %xmm0, %rdx
; SSE-NEXT: ucomiss %xmm1, %xmm0
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm2
+; SSE-NEXT: movq %rdx, %xmm2
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: shufps {{.*#+}} xmm3 = xmm3[1,1,2,3]
; SSE-NEXT: movaps %xmm3, %xmm4
@@ -1695,7 +1695,7 @@ define <4 x i64> @fptoui_4f32_to_4i64(<8 x float> %a) {
; SSE-NEXT: cvttss2si %xmm3, %rdx
; SSE-NEXT: ucomiss %xmm1, %xmm3
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm3
+; SSE-NEXT: movq %rdx, %xmm3
; SSE-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: shufps {{.*#+}} xmm3 = xmm3[3,1,2,3]
@@ -1706,7 +1706,7 @@ define <4 x i64> @fptoui_4f32_to_4i64(<8 x float> %a) {
; SSE-NEXT: cvttss2si %xmm3, %rdx
; SSE-NEXT: ucomiss %xmm1, %xmm3
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm3
+; SSE-NEXT: movq %rdx, %xmm3
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: movaps %xmm0, %xmm4
; SSE-NEXT: subss %xmm1, %xmm4
@@ -1715,7 +1715,7 @@ define <4 x i64> @fptoui_4f32_to_4i64(<8 x float> %a) {
; SSE-NEXT: cvttss2si %xmm0, %rax
; SSE-NEXT: ucomiss %xmm1, %xmm0
; SSE-NEXT: cmovaeq %rcx, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm3[0]
; SSE-NEXT: movdqa %xmm2, %xmm0
; SSE-NEXT: retq
@@ -1863,7 +1863,7 @@ define <4 x i64> @fptoui_8f32_to_4i64(<8 x float> %a) {
; SSE-NEXT: cvttss2si %xmm0, %rdx
; SSE-NEXT: ucomiss %xmm1, %xmm0
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm2
+; SSE-NEXT: movq %rdx, %xmm2
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: shufps {{.*#+}} xmm3 = xmm3[1,1,2,3]
; SSE-NEXT: movaps %xmm3, %xmm4
@@ -1873,7 +1873,7 @@ define <4 x i64> @fptoui_8f32_to_4i64(<8 x float> %a) {
; SSE-NEXT: cvttss2si %xmm3, %rdx
; SSE-NEXT: ucomiss %xmm1, %xmm3
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm3
+; SSE-NEXT: movq %rdx, %xmm3
; SSE-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
; SSE-NEXT: movaps %xmm0, %xmm3
; SSE-NEXT: shufps {{.*#+}} xmm3 = xmm3[3,1,2,3]
@@ -1884,7 +1884,7 @@ define <4 x i64> @fptoui_8f32_to_4i64(<8 x float> %a) {
; SSE-NEXT: cvttss2si %xmm3, %rdx
; SSE-NEXT: ucomiss %xmm1, %xmm3
; SSE-NEXT: cmovaeq %rcx, %rdx
-; SSE-NEXT: movd %rdx, %xmm3
+; SSE-NEXT: movq %rdx, %xmm3
; SSE-NEXT: movhlps {{.*#+}} xmm0 = xmm0[1,1]
; SSE-NEXT: movaps %xmm0, %xmm4
; SSE-NEXT: subss %xmm1, %xmm4
@@ -1893,7 +1893,7 @@ define <4 x i64> @fptoui_8f32_to_4i64(<8 x float> %a) {
; SSE-NEXT: cvttss2si %xmm0, %rax
; SSE-NEXT: ucomiss %xmm1, %xmm0
; SSE-NEXT: cmovaeq %rcx, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm3[0]
; SSE-NEXT: movdqa %xmm2, %xmm0
; SSE-NEXT: retq
@@ -2257,9 +2257,9 @@ define <4 x i32> @fptosi_2f16_to_4i32(<2 x half> %a) nounwind {
; SSE-NEXT: movzwl %ax, %edi
; SSE-NEXT: callq __gnu_h2f_ieee
; SSE-NEXT: cvttss2si %xmm0, %rax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: cvttss2si (%rsp), %rax # 4-byte Folded Reload
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE-NEXT: pxor %xmm1, %xmm1
; SSE-NEXT: shufps {{.*#+}} xmm0 = xmm0[0,2],xmm1[2,3]
@@ -2407,12 +2407,12 @@ define <4 x i32> @fptosi_2f128_to_4i32(<2 x fp128> %a) nounwind {
; SSE-NEXT: movq %rdx, %rdi
; SSE-NEXT: movq %rcx, %rsi
; SSE-NEXT: callq __fixtfdi
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: movdqa %xmm0, (%rsp) # 16-byte Spill
; SSE-NEXT: movq %rbx, %rdi
; SSE-NEXT: movq %r14, %rsi
; SSE-NEXT: callq __fixtfdi
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: punpcklqdq (%rsp), %xmm0 # 16-byte Folded Reload
; SSE-NEXT: # xmm0 = xmm0[0],mem[0]
; SSE-NEXT: xorps %xmm1, %xmm1
diff --git a/test/CodeGen/X86/vec_insert-3.ll b/test/CodeGen/X86/vec_insert-3.ll
index 2d55ffbd6e7a..ff8b1f14c52d 100644
--- a/test/CodeGen/X86/vec_insert-3.ll
+++ b/test/CodeGen/X86/vec_insert-3.ll
@@ -15,7 +15,7 @@ define <2 x i64> @t1(i64 %s, <2 x i64> %tmp) nounwind {
;
; X64-LABEL: t1:
; X64: # BB#0:
-; X64-NEXT: movd %rdi, %xmm1
+; X64-NEXT: movq %rdi, %xmm1
; X64-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; X64-NEXT: retq
%tmp1 = insertelement <2 x i64> %tmp, i64 %s, i32 1
diff --git a/test/CodeGen/X86/vec_insert-5.ll b/test/CodeGen/X86/vec_insert-5.ll
index a37c377e890e..e7c06a99df9c 100644
--- a/test/CodeGen/X86/vec_insert-5.ll
+++ b/test/CodeGen/X86/vec_insert-5.ll
@@ -19,7 +19,7 @@ define void @t1(i32 %a, x86_mmx* %P) nounwind {
; X64: # BB#0:
; X64-NEXT: # kill: %EDI<def> %EDI<kill> %RDI<def>
; X64-NEXT: shll $12, %edi
-; X64-NEXT: movd %rdi, %xmm0
+; X64-NEXT: movq %rdi, %xmm0
; X64-NEXT: pslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3,4,5,6,7]
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
; X64-NEXT: movq %xmm0, (%rsi)
diff --git a/test/CodeGen/X86/vec_insert-mmx.ll b/test/CodeGen/X86/vec_insert-mmx.ll
index 143957e29ed6..fffafe7697da 100644
--- a/test/CodeGen/X86/vec_insert-mmx.ll
+++ b/test/CodeGen/X86/vec_insert-mmx.ll
@@ -17,7 +17,7 @@ define x86_mmx @t0(i32 %A) nounwind {
; X64-LABEL: t0:
; X64: ## BB#0:
; X64-NEXT: ## kill: %EDI<def> %EDI<kill> %RDI<def>
-; X64-NEXT: movd %rdi, %xmm0
+; X64-NEXT: movq %rdi, %xmm0
; X64-NEXT: pslldq {{.*#+}} xmm0 = zero,zero,zero,zero,zero,zero,zero,zero,xmm0[0,1,2,3,4,5,6,7]
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
; X64-NEXT: retq
diff --git a/test/CodeGen/X86/vec_int_to_fp.ll b/test/CodeGen/X86/vec_int_to_fp.ll
index 649b45712f57..a42b3c96c3ae 100644
--- a/test/CodeGen/X86/vec_int_to_fp.ll
+++ b/test/CodeGen/X86/vec_int_to_fp.ll
@@ -19,10 +19,10 @@
define <2 x double> @sitofp_2i64_to_2f64(<2 x i64> %a) {
; SSE-LABEL: sitofp_2i64_to_2f64:
; SSE: # BB#0:
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: cvtsi2sdq %rax, %xmm1
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: xorps %xmm0, %xmm0
; SSE-NEXT: cvtsi2sdq %rax, %xmm0
; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm0[0]
@@ -217,17 +217,17 @@ define <2 x double> @sitofp_16i8_to_2f64(<16 x i8> %a) {
define <4 x double> @sitofp_4i64_to_4f64(<4 x i64> %a) {
; SSE-LABEL: sitofp_4i64_to_4f64:
; SSE: # BB#0:
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: cvtsi2sdq %rax, %xmm2
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: xorps %xmm0, %xmm0
; SSE-NEXT: cvtsi2sdq %rax, %xmm0
; SSE-NEXT: unpcklpd {{.*#+}} xmm2 = xmm2[0],xmm0[0]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: cvtsi2sdq %rax, %xmm3
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: xorps %xmm0, %xmm0
; SSE-NEXT: cvtsi2sdq %rax, %xmm0
; SSE-NEXT: unpcklpd {{.*#+}} xmm3 = xmm3[0],xmm0[0]
@@ -1047,10 +1047,10 @@ define <4 x double> @uitofp_16i8_to_4f64(<16 x i8> %a) {
define <4 x float> @sitofp_2i64_to_4f32(<2 x i64> %a) {
; SSE-LABEL: sitofp_2i64_to_4f32:
; SSE: # BB#0:
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: cvtsi2ssq %rax, %xmm1
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: xorps %xmm0, %xmm0
; SSE-NEXT: cvtsi2ssq %rax, %xmm0
; SSE-NEXT: unpcklps {{.*#+}} xmm1 = xmm1[0],xmm0[0],xmm1[1],xmm0[1]
@@ -1111,10 +1111,10 @@ define <4 x float> @sitofp_2i64_to_4f32_zero(<2 x i64> %a) {
; SSE-LABEL: sitofp_2i64_to_4f32_zero:
; SSE: # BB#0:
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: xorps %xmm1, %xmm1
; SSE-NEXT: cvtsi2ssq %rax, %xmm1
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: xorps %xmm0, %xmm0
; SSE-NEXT: cvtsi2ssq %rax, %xmm0
; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
@@ -1170,11 +1170,11 @@ define <4 x float> @sitofp_4i64_to_4f32_undef(<2 x i64> %a) {
; SSE-LABEL: sitofp_4i64_to_4f32_undef:
; SSE: # BB#0:
; SSE-NEXT: cvtsi2ssq %rax, %xmm2
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: cvtsi2ssq %rax, %xmm1
; SSE-NEXT: unpcklps {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: xorps %xmm0, %xmm0
; SSE-NEXT: cvtsi2ssq %rax, %xmm0
; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
@@ -1367,17 +1367,17 @@ define <4 x float> @sitofp_16i8_to_4f32(<16 x i8> %a) {
define <4 x float> @sitofp_4i64_to_4f32(<4 x i64> %a) {
; SSE-LABEL: sitofp_4i64_to_4f32:
; SSE: # BB#0:
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: cvtsi2ssq %rax, %xmm3
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: cvtsi2ssq %rax, %xmm2
; SSE-NEXT: unpcklps {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: xorps %xmm1, %xmm1
; SSE-NEXT: cvtsi2ssq %rax, %xmm1
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: xorps %xmm0, %xmm0
; SSE-NEXT: cvtsi2ssq %rax, %xmm0
; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
@@ -1610,7 +1610,7 @@ define <4 x float> @uitofp_2i64_to_4f32(<2 x i64> %a) {
; SSE-LABEL: uitofp_2i64_to_4f32:
; SSE: # BB#0:
; SSE-NEXT: movdqa %xmm0, %xmm1
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB39_1
; SSE-NEXT: # BB#2:
@@ -1627,7 +1627,7 @@ define <4 x float> @uitofp_2i64_to_4f32(<2 x i64> %a) {
; SSE-NEXT: addss %xmm0, %xmm0
; SSE-NEXT: .LBB39_3:
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB39_4
; SSE-NEXT: # BB#5:
@@ -1729,7 +1729,7 @@ define <4 x float> @uitofp_2i64_to_2f32(<2 x i64> %a) {
; SSE-LABEL: uitofp_2i64_to_2f32:
; SSE: # BB#0:
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB40_1
; SSE-NEXT: # BB#2:
@@ -1745,7 +1745,7 @@ define <4 x float> @uitofp_2i64_to_2f32(<2 x i64> %a) {
; SSE-NEXT: cvtsi2ssq %rax, %xmm1
; SSE-NEXT: addss %xmm1, %xmm1
; SSE-NEXT: .LBB40_3:
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB40_4
; SSE-NEXT: # BB#5:
@@ -1845,7 +1845,7 @@ define <4 x float> @uitofp_4i64_to_4f32_undef(<2 x i64> %a) {
; SSE-NEXT: xorps %xmm2, %xmm2
; SSE-NEXT: cvtsi2ssq %rax, %xmm2
; SSE-NEXT: .LBB41_2:
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB41_3
; SSE-NEXT: # BB#4:
@@ -1863,7 +1863,7 @@ define <4 x float> @uitofp_4i64_to_4f32_undef(<2 x i64> %a) {
; SSE-NEXT: .LBB41_5:
; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB41_6
; SSE-NEXT: # BB#7:
@@ -2145,7 +2145,7 @@ define <4 x float> @uitofp_16i8_to_4f32(<16 x i8> %a) {
define <4 x float> @uitofp_4i64_to_4f32(<4 x i64> %a) {
; SSE-LABEL: uitofp_4i64_to_4f32:
; SSE: # BB#0:
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB47_1
; SSE-NEXT: # BB#2:
@@ -2159,7 +2159,7 @@ define <4 x float> @uitofp_4i64_to_4f32(<4 x i64> %a) {
; SSE-NEXT: cvtsi2ssq %rax, %xmm3
; SSE-NEXT: addss %xmm3, %xmm3
; SSE-NEXT: .LBB47_3:
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB47_4
; SSE-NEXT: # BB#5:
@@ -2174,7 +2174,7 @@ define <4 x float> @uitofp_4i64_to_4f32(<4 x i64> %a) {
; SSE-NEXT: addss %xmm2, %xmm2
; SSE-NEXT: .LBB47_6:
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB47_7
; SSE-NEXT: # BB#8:
@@ -2192,7 +2192,7 @@ define <4 x float> @uitofp_4i64_to_4f32(<4 x i64> %a) {
; SSE-NEXT: .LBB47_9:
; SSE-NEXT: unpcklps {{.*#+}} xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB47_10
; SSE-NEXT: # BB#11:
@@ -2591,10 +2591,10 @@ define <2 x double> @sitofp_load_2i64_to_2f64(<2 x i64> *%a) {
; SSE-LABEL: sitofp_load_2i64_to_2f64:
; SSE: # BB#0:
; SSE-NEXT: movdqa (%rdi), %xmm1
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: cvtsi2sdq %rax, %xmm0
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: xorps %xmm1, %xmm1
; SSE-NEXT: cvtsi2sdq %rax, %xmm1
; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
@@ -2733,18 +2733,18 @@ define <4 x double> @sitofp_load_4i64_to_4f64(<4 x i64> *%a) {
; SSE: # BB#0:
; SSE-NEXT: movdqa (%rdi), %xmm1
; SSE-NEXT: movdqa 16(%rdi), %xmm2
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: cvtsi2sdq %rax, %xmm0
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: xorps %xmm1, %xmm1
; SSE-NEXT: cvtsi2sdq %rax, %xmm1
; SSE-NEXT: unpcklpd {{.*#+}} xmm0 = xmm0[0],xmm1[0]
-; SSE-NEXT: movd %xmm2, %rax
+; SSE-NEXT: movq %xmm2, %rax
; SSE-NEXT: xorps %xmm1, %xmm1
; SSE-NEXT: cvtsi2sdq %rax, %xmm1
; SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm2[2,3,0,1]
-; SSE-NEXT: movd %xmm2, %rax
+; SSE-NEXT: movq %xmm2, %rax
; SSE-NEXT: xorps %xmm2, %xmm2
; SSE-NEXT: cvtsi2sdq %rax, %xmm2
; SSE-NEXT: unpcklpd {{.*#+}} xmm1 = xmm1[0],xmm2[0]
@@ -3382,17 +3382,17 @@ define <4 x float> @sitofp_load_4i64_to_4f32(<4 x i64> *%a) {
; SSE: # BB#0:
; SSE-NEXT: movdqa (%rdi), %xmm1
; SSE-NEXT: movdqa 16(%rdi), %xmm2
-; SSE-NEXT: movd %xmm2, %rax
+; SSE-NEXT: movq %xmm2, %rax
; SSE-NEXT: cvtsi2ssq %rax, %xmm3
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: cvtsi2ssq %rax, %xmm0
; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm3[0],xmm0[1],xmm3[1]
; SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm2[2,3,0,1]
-; SSE-NEXT: movd %xmm2, %rax
+; SSE-NEXT: movq %xmm2, %rax
; SSE-NEXT: xorps %xmm2, %xmm2
; SSE-NEXT: cvtsi2ssq %rax, %xmm2
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: xorps %xmm1, %xmm1
; SSE-NEXT: cvtsi2ssq %rax, %xmm1
; SSE-NEXT: unpcklps {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
@@ -3549,34 +3549,34 @@ define <8 x float> @sitofp_load_8i64_to_8f32(<8 x i64> *%a) {
; SSE-NEXT: movdqa 16(%rdi), %xmm2
; SSE-NEXT: movdqa 32(%rdi), %xmm3
; SSE-NEXT: movdqa 48(%rdi), %xmm4
-; SSE-NEXT: movd %xmm2, %rax
+; SSE-NEXT: movq %xmm2, %rax
; SSE-NEXT: cvtsi2ssq %rax, %xmm5
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: cvtsi2ssq %rax, %xmm0
; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1]
; SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm2[2,3,0,1]
-; SSE-NEXT: movd %xmm2, %rax
+; SSE-NEXT: movq %xmm2, %rax
; SSE-NEXT: xorps %xmm2, %xmm2
; SSE-NEXT: cvtsi2ssq %rax, %xmm2
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: xorps %xmm1, %xmm1
; SSE-NEXT: cvtsi2ssq %rax, %xmm1
; SSE-NEXT: unpcklps {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm1[0],xmm0[1],xmm1[1]
-; SSE-NEXT: movd %xmm4, %rax
+; SSE-NEXT: movq %xmm4, %rax
; SSE-NEXT: xorps %xmm2, %xmm2
; SSE-NEXT: cvtsi2ssq %rax, %xmm2
-; SSE-NEXT: movd %xmm3, %rax
+; SSE-NEXT: movq %xmm3, %rax
; SSE-NEXT: xorps %xmm1, %xmm1
; SSE-NEXT: cvtsi2ssq %rax, %xmm1
; SSE-NEXT: unpcklps {{.*#+}} xmm1 = xmm1[0],xmm2[0],xmm1[1],xmm2[1]
; SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm4[2,3,0,1]
-; SSE-NEXT: movd %xmm2, %rax
+; SSE-NEXT: movq %xmm2, %rax
; SSE-NEXT: xorps %xmm2, %xmm2
; SSE-NEXT: cvtsi2ssq %rax, %xmm2
; SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm3[2,3,0,1]
-; SSE-NEXT: movd %xmm3, %rax
+; SSE-NEXT: movq %xmm3, %rax
; SSE-NEXT: xorps %xmm3, %xmm3
; SSE-NEXT: cvtsi2ssq %rax, %xmm3
; SSE-NEXT: unpcklps {{.*#+}} xmm3 = xmm3[0],xmm2[0],xmm3[1],xmm2[1]
@@ -3824,7 +3824,7 @@ define <4 x float> @uitofp_load_4i64_to_4f32(<4 x i64> *%a) {
; SSE: # BB#0:
; SSE-NEXT: movdqa (%rdi), %xmm1
; SSE-NEXT: movdqa 16(%rdi), %xmm3
-; SSE-NEXT: movd %xmm3, %rax
+; SSE-NEXT: movq %xmm3, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB76_1
; SSE-NEXT: # BB#2:
@@ -3838,7 +3838,7 @@ define <4 x float> @uitofp_load_4i64_to_4f32(<4 x i64> *%a) {
; SSE-NEXT: cvtsi2ssq %rax, %xmm2
; SSE-NEXT: addss %xmm2, %xmm2
; SSE-NEXT: .LBB76_3:
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB76_4
; SSE-NEXT: # BB#5:
@@ -3853,7 +3853,7 @@ define <4 x float> @uitofp_load_4i64_to_4f32(<4 x i64> *%a) {
; SSE-NEXT: addss %xmm0, %xmm0
; SSE-NEXT: .LBB76_6:
; SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm3[2,3,0,1]
-; SSE-NEXT: movd %xmm3, %rax
+; SSE-NEXT: movq %xmm3, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB76_7
; SSE-NEXT: # BB#8:
@@ -3871,7 +3871,7 @@ define <4 x float> @uitofp_load_4i64_to_4f32(<4 x i64> *%a) {
; SSE-NEXT: .LBB76_9:
; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[1]
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB76_10
; SSE-NEXT: # BB#11:
@@ -4190,7 +4190,7 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
; SSE-NEXT: movdqa 16(%rdi), %xmm5
; SSE-NEXT: movdqa 32(%rdi), %xmm2
; SSE-NEXT: movdqa 48(%rdi), %xmm3
-; SSE-NEXT: movd %xmm5, %rax
+; SSE-NEXT: movq %xmm5, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB80_1
; SSE-NEXT: # BB#2:
@@ -4204,7 +4204,7 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
; SSE-NEXT: cvtsi2ssq %rax, %xmm4
; SSE-NEXT: addss %xmm4, %xmm4
; SSE-NEXT: .LBB80_3:
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB80_4
; SSE-NEXT: # BB#5:
@@ -4219,7 +4219,7 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
; SSE-NEXT: addss %xmm0, %xmm0
; SSE-NEXT: .LBB80_6:
; SSE-NEXT: pshufd {{.*#+}} xmm5 = xmm5[2,3,0,1]
-; SSE-NEXT: movd %xmm5, %rax
+; SSE-NEXT: movq %xmm5, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB80_7
; SSE-NEXT: # BB#8:
@@ -4234,7 +4234,7 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
; SSE-NEXT: addss %xmm6, %xmm6
; SSE-NEXT: .LBB80_9:
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm1[2,3,0,1]
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB80_10
; SSE-NEXT: # BB#11:
@@ -4250,7 +4250,7 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
; SSE-NEXT: cvtsi2ssq %rax, %xmm5
; SSE-NEXT: addss %xmm5, %xmm5
; SSE-NEXT: .LBB80_12:
-; SSE-NEXT: movd %xmm3, %rax
+; SSE-NEXT: movq %xmm3, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB80_13
; SSE-NEXT: # BB#14:
@@ -4264,7 +4264,7 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
; SSE-NEXT: cvtsi2ssq %rax, %xmm7
; SSE-NEXT: addss %xmm7, %xmm7
; SSE-NEXT: .LBB80_15:
-; SSE-NEXT: movd %xmm2, %rax
+; SSE-NEXT: movq %xmm2, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB80_16
; SSE-NEXT: # BB#17:
@@ -4283,7 +4283,7 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm4[0],xmm0[1],xmm4[1]
; SSE-NEXT: unpcklps {{.*#+}} xmm5 = xmm5[0],xmm6[0],xmm5[1],xmm6[1]
; SSE-NEXT: pshufd {{.*#+}} xmm3 = xmm3[2,3,0,1]
-; SSE-NEXT: movd %xmm3, %rax
+; SSE-NEXT: movq %xmm3, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB80_19
; SSE-NEXT: # BB#20:
@@ -4302,7 +4302,7 @@ define <8 x float> @uitofp_load_8i64_to_8f32(<8 x i64> *%a) {
; SSE-NEXT: unpcklps {{.*#+}} xmm0 = xmm0[0],xmm5[0],xmm0[1],xmm5[1]
; SSE-NEXT: unpcklps {{.*#+}} xmm1 = xmm1[0],xmm7[0],xmm1[1],xmm7[1]
; SSE-NEXT: pshufd {{.*#+}} xmm2 = xmm2[2,3,0,1]
-; SSE-NEXT: movd %xmm2, %rax
+; SSE-NEXT: movq %xmm2, %rax
; SSE-NEXT: testq %rax, %rax
; SSE-NEXT: js .LBB80_22
; SSE-NEXT: # BB#23:
diff --git a/test/CodeGen/X86/vec_set-8.ll b/test/CodeGen/X86/vec_set-8.ll
index 560e5c568faf..7a4326c01bb7 100644
--- a/test/CodeGen/X86/vec_set-8.ll
+++ b/test/CodeGen/X86/vec_set-8.ll
@@ -4,7 +4,7 @@
define <2 x i64> @test(i64 %i) nounwind {
; CHECK-LABEL: test:
; CHECK: # BB#0:
-; CHECK-NEXT: movd %rdi, %xmm0
+; CHECK-NEXT: movq %rdi, %xmm0
; CHECK-NEXT: retq
%tmp10 = insertelement <2 x i64> undef, i64 %i, i32 0
%tmp11 = insertelement <2 x i64> %tmp10, i64 0, i32 1
diff --git a/test/CodeGen/X86/vec_set-C.ll b/test/CodeGen/X86/vec_set-C.ll
index b08f96038ff1..994bc2b3056e 100644
--- a/test/CodeGen/X86/vec_set-C.ll
+++ b/test/CodeGen/X86/vec_set-C.ll
@@ -10,7 +10,7 @@ define <2 x i64> @t1(i64 %x) nounwind {
;
; X64-LABEL: t1:
; X64: # BB#0:
-; X64-NEXT: movd %rdi, %xmm0
+; X64-NEXT: movq %rdi, %xmm0
; X64-NEXT: retq
%tmp8 = insertelement <2 x i64> zeroinitializer, i64 %x, i32 0
ret <2 x i64> %tmp8
diff --git a/test/CodeGen/X86/vec_shift7.ll b/test/CodeGen/X86/vec_shift7.ll
index 64c64c392544..c13299b9cb38 100644
--- a/test/CodeGen/X86/vec_shift7.ll
+++ b/test/CodeGen/X86/vec_shift7.ll
@@ -17,7 +17,7 @@ define i64 @test1(<2 x i64> %a) {
;
; X64-LABEL: test1:
; X64: # BB#0: # %entry
-; X64-NEXT: movd %xmm0, %rax
+; X64-NEXT: movq %xmm0, %rax
; X64-NEXT: retq
entry:
%c = shl <2 x i64> %a, <i64 0, i64 2>
diff --git a/test/CodeGen/X86/vector-compare-all_of.ll b/test/CodeGen/X86/vector-compare-all_of.ll
index 316df2780d16..202b8f7786b8 100644
--- a/test/CodeGen/X86/vector-compare-all_of.ll
+++ b/test/CodeGen/X86/vector-compare-all_of.ll
@@ -10,7 +10,7 @@ define i64 @test_v2f64_sext(<2 x double> %a0, <2 x double> %a1) {
; SSE-NEXT: cmpltpd %xmm0, %xmm1
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,0,1]
; SSE-NEXT: pand %xmm1, %xmm0
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: retq
;
; AVX-LABEL: test_v2f64_sext:
@@ -46,7 +46,7 @@ define i64 @test_v4f64_sext(<4 x double> %a0, <4 x double> %a1) {
; SSE-NEXT: andpd %xmm3, %xmm2
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm2[2,3,0,1]
; SSE-NEXT: pand %xmm2, %xmm0
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: retq
;
; AVX-LABEL: test_v4f64_sext:
@@ -285,7 +285,7 @@ define i64 @test_v2i64_sext(<2 x i64> %a0, <2 x i64> %a1) {
; SSE-NEXT: pcmpgtq %xmm1, %xmm0
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
; SSE-NEXT: pand %xmm0, %xmm1
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: retq
;
; AVX-LABEL: test_v2i64_sext:
@@ -321,7 +321,7 @@ define i64 @test_v4i64_sext(<4 x i64> %a0, <4 x i64> %a1) {
; SSE-NEXT: pand %xmm1, %xmm0
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
; SSE-NEXT: pand %xmm0, %xmm1
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: retq
;
; AVX1-LABEL: test_v4i64_sext:
diff --git a/test/CodeGen/X86/vector-compare-any_of.ll b/test/CodeGen/X86/vector-compare-any_of.ll
index 1d3db6495708..043ba28e8fa4 100644
--- a/test/CodeGen/X86/vector-compare-any_of.ll
+++ b/test/CodeGen/X86/vector-compare-any_of.ll
@@ -10,7 +10,7 @@ define i64 @test_v2f64_sext(<2 x double> %a0, <2 x double> %a1) {
; SSE-NEXT: cmpltpd %xmm0, %xmm1
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm1[2,3,0,1]
; SSE-NEXT: por %xmm1, %xmm0
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: retq
;
; AVX-LABEL: test_v2f64_sext:
@@ -46,7 +46,7 @@ define i64 @test_v4f64_sext(<4 x double> %a0, <4 x double> %a1) {
; SSE-NEXT: orpd %xmm3, %xmm2
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm2[2,3,0,1]
; SSE-NEXT: por %xmm2, %xmm0
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: retq
;
; AVX-LABEL: test_v4f64_sext:
@@ -267,7 +267,7 @@ define i64 @test_v2i64_sext(<2 x i64> %a0, <2 x i64> %a1) {
; SSE-NEXT: pcmpgtq %xmm1, %xmm0
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
; SSE-NEXT: por %xmm0, %xmm1
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: retq
;
; AVX-LABEL: test_v2i64_sext:
@@ -303,7 +303,7 @@ define i64 @test_v4i64_sext(<4 x i64> %a0, <4 x i64> %a1) {
; SSE-NEXT: por %xmm1, %xmm0
; SSE-NEXT: pshufd {{.*#+}} xmm1 = xmm0[2,3,0,1]
; SSE-NEXT: por %xmm0, %xmm1
-; SSE-NEXT: movd %xmm1, %rax
+; SSE-NEXT: movq %xmm1, %rax
; SSE-NEXT: retq
;
; AVX1-LABEL: test_v4i64_sext:
diff --git a/test/CodeGen/X86/vector-idiv-sdiv-128.ll b/test/CodeGen/X86/vector-idiv-sdiv-128.ll
index 895bf5c0f02d..2b5eb695f53e 100644
--- a/test/CodeGen/X86/vector-idiv-sdiv-128.ll
+++ b/test/CodeGen/X86/vector-idiv-sdiv-128.ll
@@ -11,22 +11,22 @@
define <2 x i64> @test_div7_2i64(<2 x i64> %a) nounwind {
; SSE2-LABEL: test_div7_2i64:
; SSE2: # BB#0:
-; SSE2-NEXT: movd %xmm0, %rax
+; SSE2-NEXT: movq %xmm0, %rax
; SSE2-NEXT: movabsq $5270498306774157605, %rcx # imm = 0x4924924924924925
; SSE2-NEXT: imulq %rcx
; SSE2-NEXT: movq %rdx, %rax
; SSE2-NEXT: shrq $63, %rax
; SSE2-NEXT: sarq %rdx
; SSE2-NEXT: addq %rax, %rdx
-; SSE2-NEXT: movd %rdx, %xmm1
+; SSE2-NEXT: movq %rdx, %xmm1
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rax
+; SSE2-NEXT: movq %xmm0, %rax
; SSE2-NEXT: imulq %rcx
; SSE2-NEXT: movq %rdx, %rax
; SSE2-NEXT: shrq $63, %rax
; SSE2-NEXT: sarq %rdx
; SSE2-NEXT: addq %rax, %rdx
-; SSE2-NEXT: movd %rdx, %xmm0
+; SSE2-NEXT: movq %rdx, %xmm0
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE2-NEXT: movdqa %xmm1, %xmm0
; SSE2-NEXT: retq
@@ -40,14 +40,14 @@ define <2 x i64> @test_div7_2i64(<2 x i64> %a) nounwind {
; SSE41-NEXT: shrq $63, %rax
; SSE41-NEXT: sarq %rdx
; SSE41-NEXT: addq %rax, %rdx
-; SSE41-NEXT: movd %rdx, %xmm1
-; SSE41-NEXT: movd %xmm0, %rax
+; SSE41-NEXT: movq %rdx, %xmm1
+; SSE41-NEXT: movq %xmm0, %rax
; SSE41-NEXT: imulq %rcx
; SSE41-NEXT: movq %rdx, %rax
; SSE41-NEXT: shrq $63, %rax
; SSE41-NEXT: sarq %rdx
; SSE41-NEXT: addq %rax, %rdx
-; SSE41-NEXT: movd %rdx, %xmm0
+; SSE41-NEXT: movq %rdx, %xmm0
; SSE41-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE41-NEXT: retq
;
@@ -275,7 +275,7 @@ define <16 x i8> @test_div7_16i8(<16 x i8> %a) nounwind {
define <2 x i64> @test_rem7_2i64(<2 x i64> %a) nounwind {
; SSE2-LABEL: test_rem7_2i64:
; SSE2: # BB#0:
-; SSE2-NEXT: movd %xmm0, %rcx
+; SSE2-NEXT: movq %xmm0, %rcx
; SSE2-NEXT: movabsq $5270498306774157605, %rsi # imm = 0x4924924924924925
; SSE2-NEXT: movq %rcx, %rax
; SSE2-NEXT: imulq %rsi
@@ -286,9 +286,9 @@ define <2 x i64> @test_rem7_2i64(<2 x i64> %a) nounwind {
; SSE2-NEXT: leaq (,%rdx,8), %rax
; SSE2-NEXT: subq %rdx, %rax
; SSE2-NEXT: subq %rax, %rcx
-; SSE2-NEXT: movd %rcx, %xmm1
+; SSE2-NEXT: movq %rcx, %xmm1
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rcx
+; SSE2-NEXT: movq %xmm0, %rcx
; SSE2-NEXT: movq %rcx, %rax
; SSE2-NEXT: imulq %rsi
; SSE2-NEXT: movq %rdx, %rax
@@ -298,7 +298,7 @@ define <2 x i64> @test_rem7_2i64(<2 x i64> %a) nounwind {
; SSE2-NEXT: leaq (,%rdx,8), %rax
; SSE2-NEXT: subq %rdx, %rax
; SSE2-NEXT: subq %rax, %rcx
-; SSE2-NEXT: movd %rcx, %xmm0
+; SSE2-NEXT: movq %rcx, %xmm0
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE2-NEXT: movdqa %xmm1, %xmm0
; SSE2-NEXT: retq
@@ -316,8 +316,8 @@ define <2 x i64> @test_rem7_2i64(<2 x i64> %a) nounwind {
; SSE41-NEXT: leaq (,%rdx,8), %rax
; SSE41-NEXT: subq %rdx, %rax
; SSE41-NEXT: subq %rax, %rcx
-; SSE41-NEXT: movd %rcx, %xmm1
-; SSE41-NEXT: movd %xmm0, %rcx
+; SSE41-NEXT: movq %rcx, %xmm1
+; SSE41-NEXT: movq %xmm0, %rcx
; SSE41-NEXT: movq %rcx, %rax
; SSE41-NEXT: imulq %rsi
; SSE41-NEXT: movq %rdx, %rax
@@ -327,7 +327,7 @@ define <2 x i64> @test_rem7_2i64(<2 x i64> %a) nounwind {
; SSE41-NEXT: leaq (,%rdx,8), %rax
; SSE41-NEXT: subq %rdx, %rax
; SSE41-NEXT: subq %rax, %rcx
-; SSE41-NEXT: movd %rcx, %xmm0
+; SSE41-NEXT: movq %rcx, %xmm0
; SSE41-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE41-NEXT: retq
;
diff --git a/test/CodeGen/X86/vector-idiv-udiv-128.ll b/test/CodeGen/X86/vector-idiv-udiv-128.ll
index 1b35e2fdddae..cd17fcf8c85b 100644
--- a/test/CodeGen/X86/vector-idiv-udiv-128.ll
+++ b/test/CodeGen/X86/vector-idiv-udiv-128.ll
@@ -11,7 +11,7 @@
define <2 x i64> @test_div7_2i64(<2 x i64> %a) nounwind {
; SSE2-LABEL: test_div7_2i64:
; SSE2: # BB#0:
-; SSE2-NEXT: movd %xmm0, %rcx
+; SSE2-NEXT: movq %xmm0, %rcx
; SSE2-NEXT: movabsq $2635249153387078803, %rsi # imm = 0x2492492492492493
; SSE2-NEXT: movq %rcx, %rax
; SSE2-NEXT: mulq %rsi
@@ -19,16 +19,16 @@ define <2 x i64> @test_div7_2i64(<2 x i64> %a) nounwind {
; SSE2-NEXT: shrq %rcx
; SSE2-NEXT: addq %rdx, %rcx
; SSE2-NEXT: shrq $2, %rcx
-; SSE2-NEXT: movd %rcx, %xmm1
+; SSE2-NEXT: movq %rcx, %xmm1
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rcx
+; SSE2-NEXT: movq %xmm0, %rcx
; SSE2-NEXT: movq %rcx, %rax
; SSE2-NEXT: mulq %rsi
; SSE2-NEXT: subq %rdx, %rcx
; SSE2-NEXT: shrq %rcx
; SSE2-NEXT: addq %rdx, %rcx
; SSE2-NEXT: shrq $2, %rcx
-; SSE2-NEXT: movd %rcx, %xmm0
+; SSE2-NEXT: movq %rcx, %xmm0
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE2-NEXT: movdqa %xmm1, %xmm0
; SSE2-NEXT: retq
@@ -43,15 +43,15 @@ define <2 x i64> @test_div7_2i64(<2 x i64> %a) nounwind {
; SSE41-NEXT: shrq %rcx
; SSE41-NEXT: addq %rdx, %rcx
; SSE41-NEXT: shrq $2, %rcx
-; SSE41-NEXT: movd %rcx, %xmm1
-; SSE41-NEXT: movd %xmm0, %rcx
+; SSE41-NEXT: movq %rcx, %xmm1
+; SSE41-NEXT: movq %xmm0, %rcx
; SSE41-NEXT: movq %rcx, %rax
; SSE41-NEXT: mulq %rsi
; SSE41-NEXT: subq %rdx, %rcx
; SSE41-NEXT: shrq %rcx
; SSE41-NEXT: addq %rdx, %rcx
; SSE41-NEXT: shrq $2, %rcx
-; SSE41-NEXT: movd %rcx, %xmm0
+; SSE41-NEXT: movq %rcx, %xmm0
; SSE41-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE41-NEXT: retq
;
@@ -255,7 +255,7 @@ define <16 x i8> @test_div7_16i8(<16 x i8> %a) nounwind {
define <2 x i64> @test_rem7_2i64(<2 x i64> %a) nounwind {
; SSE2-LABEL: test_rem7_2i64:
; SSE2: # BB#0:
-; SSE2-NEXT: movd %xmm0, %rcx
+; SSE2-NEXT: movq %xmm0, %rcx
; SSE2-NEXT: movabsq $2635249153387078803, %rsi # imm = 0x2492492492492493
; SSE2-NEXT: movq %rcx, %rax
; SSE2-NEXT: mulq %rsi
@@ -267,9 +267,9 @@ define <2 x i64> @test_rem7_2i64(<2 x i64> %a) nounwind {
; SSE2-NEXT: leaq (,%rax,8), %rdx
; SSE2-NEXT: subq %rax, %rdx
; SSE2-NEXT: subq %rdx, %rcx
-; SSE2-NEXT: movd %rcx, %xmm1
+; SSE2-NEXT: movq %rcx, %xmm1
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[2,3,0,1]
-; SSE2-NEXT: movd %xmm0, %rcx
+; SSE2-NEXT: movq %xmm0, %rcx
; SSE2-NEXT: movq %rcx, %rax
; SSE2-NEXT: mulq %rsi
; SSE2-NEXT: movq %rcx, %rax
@@ -280,7 +280,7 @@ define <2 x i64> @test_rem7_2i64(<2 x i64> %a) nounwind {
; SSE2-NEXT: leaq (,%rax,8), %rdx
; SSE2-NEXT: subq %rax, %rdx
; SSE2-NEXT: subq %rdx, %rcx
-; SSE2-NEXT: movd %rcx, %xmm0
+; SSE2-NEXT: movq %rcx, %xmm0
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm0[0]
; SSE2-NEXT: movdqa %xmm1, %xmm0
; SSE2-NEXT: retq
@@ -299,8 +299,8 @@ define <2 x i64> @test_rem7_2i64(<2 x i64> %a) nounwind {
; SSE41-NEXT: leaq (,%rax,8), %rdx
; SSE41-NEXT: subq %rax, %rdx
; SSE41-NEXT: subq %rdx, %rcx
-; SSE41-NEXT: movd %rcx, %xmm1
-; SSE41-NEXT: movd %xmm0, %rcx
+; SSE41-NEXT: movq %rcx, %xmm1
+; SSE41-NEXT: movq %xmm0, %rcx
; SSE41-NEXT: movq %rcx, %rax
; SSE41-NEXT: mulq %rsi
; SSE41-NEXT: movq %rcx, %rax
@@ -311,7 +311,7 @@ define <2 x i64> @test_rem7_2i64(<2 x i64> %a) nounwind {
; SSE41-NEXT: leaq (,%rax,8), %rdx
; SSE41-NEXT: subq %rax, %rdx
; SSE41-NEXT: subq %rdx, %rcx
-; SSE41-NEXT: movd %rcx, %xmm0
+; SSE41-NEXT: movq %rcx, %xmm0
; SSE41-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE41-NEXT: retq
;
diff --git a/test/CodeGen/X86/vector-lzcnt-128.ll b/test/CodeGen/X86/vector-lzcnt-128.ll
index 9e11edcc29dc..f1f795bf3cb0 100644
--- a/test/CodeGen/X86/vector-lzcnt-128.ll
+++ b/test/CodeGen/X86/vector-lzcnt-128.ll
@@ -1579,7 +1579,7 @@ define <2 x i64> @foldv2i64() nounwind {
; SSE-LABEL: foldv2i64:
; SSE: # BB#0:
; SSE-NEXT: movl $55, %eax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: retq
;
; AVX-LABEL: foldv2i64:
@@ -1607,7 +1607,7 @@ define <2 x i64> @foldv2i64u() nounwind {
; SSE-LABEL: foldv2i64u:
; SSE: # BB#0:
; SSE-NEXT: movl $55, %eax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: retq
;
; AVX-LABEL: foldv2i64u:
diff --git a/test/CodeGen/X86/vector-pcmp.ll b/test/CodeGen/X86/vector-pcmp.ll
index 0718edf5a143..f05588a2920c 100644
--- a/test/CodeGen/X86/vector-pcmp.ll
+++ b/test/CodeGen/X86/vector-pcmp.ll
@@ -1,4 +1,4 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE --check-prefix=SSE2
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.2 | FileCheck %s --check-prefix=SSE --check-prefix=SSE42
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX --check-prefix=AVX1
@@ -19,7 +19,6 @@ define <16 x i8> @test_pcmpgtb(<16 x i8> %x) {
; AVX-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
; AVX-NEXT: vpcmpgtb %xmm1, %xmm0, %xmm0
; AVX-NEXT: retq
-;
%sign = ashr <16 x i8> %x, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
%not = xor <16 x i8> %sign, <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>
ret <16 x i8> %not
@@ -37,7 +36,6 @@ define <8 x i16> @test_pcmpgtw(<8 x i16> %x) {
; AVX-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
; AVX-NEXT: vpcmpgtw %xmm1, %xmm0, %xmm0
; AVX-NEXT: retq
-;
%sign = ashr <8 x i16> %x, <i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15>
%not = xor <8 x i16> %sign, <i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1>
ret <8 x i16> %not
@@ -55,7 +53,6 @@ define <4 x i32> @test_pcmpgtd(<4 x i32> %x) {
; AVX-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
; AVX-NEXT: vpcmpgtd %xmm1, %xmm0, %xmm0
; AVX-NEXT: retq
-;
%sign = ashr <4 x i32> %x, <i32 31, i32 31, i32 31, i32 31>
%not = xor <4 x i32> %sign, <i32 -1, i32 -1, i32 -1, i32 -1>
ret <4 x i32> %not
@@ -81,7 +78,6 @@ define <2 x i64> @test_pcmpgtq(<2 x i64> %x) {
; AVX-NEXT: vpcmpeqd %xmm1, %xmm1, %xmm1
; AVX-NEXT: vpcmpgtq %xmm1, %xmm0, %xmm0
; AVX-NEXT: retq
-;
%sign = ashr <2 x i64> %x, <i64 63, i64 63>
%not = xor <2 x i64> %sign, <i64 -1, i64 -1>
ret <2 x i64> %not
@@ -91,23 +87,23 @@ define <1 x i128> @test_strange_type(<1 x i128> %x) {
; SSE2-LABEL: test_strange_type:
; SSE2: # BB#0:
; SSE2-NEXT: sarq $63, %rsi
-; SSE2-NEXT: movd %rsi, %xmm0
+; SSE2-NEXT: movq %rsi, %xmm0
; SSE2-NEXT: notq %rsi
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
; SSE2-NEXT: pcmpeqd %xmm1, %xmm1
; SSE2-NEXT: pxor %xmm0, %xmm1
-; SSE2-NEXT: movd %xmm1, %rax
+; SSE2-NEXT: movq %xmm1, %rax
; SSE2-NEXT: movq %rsi, %rdx
; SSE2-NEXT: retq
;
; SSE42-LABEL: test_strange_type:
; SSE42: # BB#0:
; SSE42-NEXT: sarq $63, %rsi
-; SSE42-NEXT: movd %rsi, %xmm0
+; SSE42-NEXT: movq %rsi, %xmm0
; SSE42-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,1,0,1]
; SSE42-NEXT: pcmpeqd %xmm1, %xmm1
; SSE42-NEXT: pxor %xmm0, %xmm1
-; SSE42-NEXT: movd %xmm1, %rax
+; SSE42-NEXT: movq %xmm1, %rax
; SSE42-NEXT: pextrq $1, %xmm1, %rdx
; SSE42-NEXT: retq
;
@@ -132,7 +128,6 @@ define <1 x i128> @test_strange_type(<1 x i128> %x) {
; AVX2-NEXT: vmovq %xmm0, %rax
; AVX2-NEXT: vpextrq $1, %xmm0, %rdx
; AVX2-NEXT: retq
-;
%sign = ashr <1 x i128> %x, <i128 127>
%not = xor <1 x i128> %sign, <i128 -1>
ret <1 x i128> %not
@@ -163,7 +158,6 @@ define <32 x i8> @test_pcmpgtb_256(<32 x i8> %x) {
; AVX2-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpcmpgtb %ymm1, %ymm0, %ymm0
; AVX2-NEXT: retq
-;
%sign = ashr <32 x i8> %x, <i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7, i8 7>
%not = xor <32 x i8> %sign, <i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1>
ret <32 x i8> %not
@@ -193,7 +187,6 @@ define <16 x i16> @test_pcmpgtw_256(<16 x i16> %x) {
; AVX2-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpcmpgtw %ymm1, %ymm0, %ymm0
; AVX2-NEXT: retq
-;
%sign = ashr <16 x i16> %x, <i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15, i16 15>
%not = xor <16 x i16> %sign, <i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1, i16 -1>
ret <16 x i16> %not
@@ -223,7 +216,6 @@ define <8 x i32> @test_pcmpgtd_256(<8 x i32> %x) {
; AVX2-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpcmpgtd %ymm1, %ymm0, %ymm0
; AVX2-NEXT: retq
-;
%sign = ashr <8 x i32> %x, <i32 31, i32 31, i32 31, i32 31, i32 31, i32 31, i32 31, i32 31>
%not = xor <8 x i32> %sign, <i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>
ret <8 x i32> %not
@@ -266,7 +258,6 @@ define <4 x i64> @test_pcmpgtq_256(<4 x i64> %x) {
; AVX2-NEXT: vpcmpeqd %ymm1, %ymm1, %ymm1
; AVX2-NEXT: vpcmpgtq %ymm1, %ymm0, %ymm0
; AVX2-NEXT: retq
-;
%sign = ashr <4 x i64> %x, <i64 63, i64 63, i64 63, i64 63>
%not = xor <4 x i64> %sign, <i64 -1, i64 -1, i64 -1, i64 -1>
ret <4 x i64> %not
@@ -284,7 +275,6 @@ define <16 x i8> @cmpeq_zext_v16i8(<16 x i8> %a, <16 x i8> %b) {
; AVX-NEXT: vpcmpeqb %xmm1, %xmm0, %xmm0
; AVX-NEXT: vpand {{.*}}(%rip), %xmm0, %xmm0
; AVX-NEXT: retq
-;
%cmp = icmp eq <16 x i8> %a, %b
%zext = zext <16 x i1> %cmp to <16 x i8>
ret <16 x i8> %zext
@@ -314,7 +304,6 @@ define <16 x i16> @cmpeq_zext_v16i16(<16 x i16> %a, <16 x i16> %b) {
; AVX2-NEXT: vpcmpeqw %ymm1, %ymm0, %ymm0
; AVX2-NEXT: vpsrlw $15, %ymm0, %ymm0
; AVX2-NEXT: retq
-;
%cmp = icmp eq <16 x i16> %a, %b
%zext = zext <16 x i1> %cmp to <16 x i16>
ret <16 x i16> %zext
@@ -332,7 +321,6 @@ define <4 x i32> @cmpeq_zext_v4i32(<4 x i32> %a, <4 x i32> %b) {
; AVX-NEXT: vpcmpeqd %xmm1, %xmm0, %xmm0
; AVX-NEXT: vpsrld $31, %xmm0, %xmm0
; AVX-NEXT: retq
-;
%cmp = icmp eq <4 x i32> %a, %b
%zext = zext <4 x i1> %cmp to <4 x i32>
ret <4 x i32> %zext
@@ -375,7 +363,6 @@ define <4 x i64> @cmpeq_zext_v4i64(<4 x i64> %a, <4 x i64> %b) {
; AVX2-NEXT: vpcmpeqq %ymm1, %ymm0, %ymm0
; AVX2-NEXT: vpsrlq $63, %ymm0, %ymm0
; AVX2-NEXT: retq
-;
%cmp = icmp eq <4 x i64> %a, %b
%zext = zext <4 x i1> %cmp to <4 x i64>
ret <4 x i64> %zext
@@ -406,7 +393,6 @@ define <32 x i8> @cmpgt_zext_v32i8(<32 x i8> %a, <32 x i8> %b) {
; AVX2-NEXT: vpcmpgtb %ymm1, %ymm0, %ymm0
; AVX2-NEXT: vpand {{.*}}(%rip), %ymm0, %ymm0
; AVX2-NEXT: retq
-;
%cmp = icmp sgt <32 x i8> %a, %b
%zext = zext <32 x i1> %cmp to <32 x i8>
ret <32 x i8> %zext
@@ -424,7 +410,6 @@ define <8 x i16> @cmpgt_zext_v8i16(<8 x i16> %a, <8 x i16> %b) {
; AVX-NEXT: vpcmpgtw %xmm1, %xmm0, %xmm0
; AVX-NEXT: vpsrlw $15, %xmm0, %xmm0
; AVX-NEXT: retq
-;
%cmp = icmp sgt <8 x i16> %a, %b
%zext = zext <8 x i1> %cmp to <8 x i16>
ret <8 x i16> %zext
@@ -454,7 +439,6 @@ define <8 x i32> @cmpgt_zext_v8i32(<8 x i32> %a, <8 x i32> %b) {
; AVX2-NEXT: vpcmpgtd %ymm1, %ymm0, %ymm0
; AVX2-NEXT: vpsrld $31, %ymm0, %ymm0
; AVX2-NEXT: retq
-;
%cmp = icmp sgt <8 x i32> %a, %b
%zext = zext <8 x i1> %cmp to <8 x i32>
ret <8 x i32> %zext
@@ -488,7 +472,6 @@ define <2 x i64> @cmpgt_zext_v2i64(<2 x i64> %a, <2 x i64> %b) {
; AVX-NEXT: vpcmpgtq %xmm1, %xmm0, %xmm0
; AVX-NEXT: vpsrlq $63, %xmm0, %xmm0
; AVX-NEXT: retq
-;
%cmp = icmp sgt <2 x i64> %a, %b
%zext = zext <2 x i1> %cmp to <2 x i64>
ret <2 x i64> %zext
diff --git a/test/CodeGen/X86/vector-sext.ll b/test/CodeGen/X86/vector-sext.ll
index e9f1d1d8522b..8cc1d8c765ac 100644
--- a/test/CodeGen/X86/vector-sext.ll
+++ b/test/CodeGen/X86/vector-sext.ll
@@ -1207,10 +1207,10 @@ define <2 x i64> @load_sext_2i1_to_2i64(<2 x i1> *%ptr) {
; SSE-NEXT: movq %rax, %rcx
; SSE-NEXT: shlq $62, %rcx
; SSE-NEXT: sarq $63, %rcx
-; SSE-NEXT: movd %rcx, %xmm1
+; SSE-NEXT: movq %rcx, %xmm1
; SSE-NEXT: shlq $63, %rax
; SSE-NEXT: sarq $63, %rax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE-NEXT: retq
;
@@ -1687,28 +1687,28 @@ define <4 x i64> @load_sext_4i8_to_4i64(<4 x i8> *%ptr) {
; SSE2-LABEL: load_sext_4i8_to_4i64:
; SSE2: # BB#0: # %entry
; SSE2-NEXT: movsbq 1(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm1
+; SSE2-NEXT: movq %rax, %xmm1
; SSE2-NEXT: movsbq (%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm0
+; SSE2-NEXT: movq %rax, %xmm0
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE2-NEXT: movsbq 3(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm2
+; SSE2-NEXT: movq %rax, %xmm2
; SSE2-NEXT: movsbq 2(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm1
+; SSE2-NEXT: movq %rax, %xmm1
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
; SSE2-NEXT: retq
;
; SSSE3-LABEL: load_sext_4i8_to_4i64:
; SSSE3: # BB#0: # %entry
; SSSE3-NEXT: movsbq 1(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm1
+; SSSE3-NEXT: movq %rax, %xmm1
; SSSE3-NEXT: movsbq (%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm0
+; SSSE3-NEXT: movq %rax, %xmm0
; SSSE3-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSSE3-NEXT: movsbq 3(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm2
+; SSSE3-NEXT: movq %rax, %xmm2
; SSSE3-NEXT: movsbq 2(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm1
+; SSSE3-NEXT: movq %rax, %xmm1
; SSSE3-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
; SSSE3-NEXT: retq
;
@@ -2038,48 +2038,48 @@ define <8 x i64> @load_sext_8i8_to_8i64(<8 x i8> *%ptr) {
; SSE2-LABEL: load_sext_8i8_to_8i64:
; SSE2: # BB#0: # %entry
; SSE2-NEXT: movsbq 1(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm1
+; SSE2-NEXT: movq %rax, %xmm1
; SSE2-NEXT: movsbq (%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm0
+; SSE2-NEXT: movq %rax, %xmm0
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE2-NEXT: movsbq 3(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm2
+; SSE2-NEXT: movq %rax, %xmm2
; SSE2-NEXT: movsbq 2(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm1
+; SSE2-NEXT: movq %rax, %xmm1
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
; SSE2-NEXT: movsbq 5(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm3
+; SSE2-NEXT: movq %rax, %xmm3
; SSE2-NEXT: movsbq 4(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm2
+; SSE2-NEXT: movq %rax, %xmm2
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
; SSE2-NEXT: movsbq 7(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm4
+; SSE2-NEXT: movq %rax, %xmm4
; SSE2-NEXT: movsbq 6(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm3
+; SSE2-NEXT: movq %rax, %xmm3
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm4[0]
; SSE2-NEXT: retq
;
; SSSE3-LABEL: load_sext_8i8_to_8i64:
; SSSE3: # BB#0: # %entry
; SSSE3-NEXT: movsbq 1(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm1
+; SSSE3-NEXT: movq %rax, %xmm1
; SSSE3-NEXT: movsbq (%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm0
+; SSSE3-NEXT: movq %rax, %xmm0
; SSSE3-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSSE3-NEXT: movsbq 3(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm2
+; SSSE3-NEXT: movq %rax, %xmm2
; SSSE3-NEXT: movsbq 2(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm1
+; SSSE3-NEXT: movq %rax, %xmm1
; SSSE3-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
; SSSE3-NEXT: movsbq 5(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm3
+; SSSE3-NEXT: movq %rax, %xmm3
; SSSE3-NEXT: movsbq 4(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm2
+; SSSE3-NEXT: movq %rax, %xmm2
; SSSE3-NEXT: punpcklqdq {{.*#+}} xmm2 = xmm2[0],xmm3[0]
; SSSE3-NEXT: movsbq 7(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm4
+; SSSE3-NEXT: movq %rax, %xmm4
; SSSE3-NEXT: movsbq 6(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm3
+; SSSE3-NEXT: movq %rax, %xmm3
; SSSE3-NEXT: punpcklqdq {{.*#+}} xmm3 = xmm3[0],xmm4[0]
; SSSE3-NEXT: retq
;
@@ -4542,28 +4542,28 @@ define <4 x i64> @load_sext_4i16_to_4i64(<4 x i16> *%ptr) {
; SSE2-LABEL: load_sext_4i16_to_4i64:
; SSE2: # BB#0: # %entry
; SSE2-NEXT: movswq 2(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm1
+; SSE2-NEXT: movq %rax, %xmm1
; SSE2-NEXT: movswq (%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm0
+; SSE2-NEXT: movq %rax, %xmm0
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE2-NEXT: movswq 6(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm2
+; SSE2-NEXT: movq %rax, %xmm2
; SSE2-NEXT: movswq 4(%rdi), %rax
-; SSE2-NEXT: movd %rax, %xmm1
+; SSE2-NEXT: movq %rax, %xmm1
; SSE2-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
; SSE2-NEXT: retq
;
; SSSE3-LABEL: load_sext_4i16_to_4i64:
; SSSE3: # BB#0: # %entry
; SSSE3-NEXT: movswq 2(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm1
+; SSSE3-NEXT: movq %rax, %xmm1
; SSSE3-NEXT: movswq (%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm0
+; SSSE3-NEXT: movq %rax, %xmm0
; SSSE3-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSSE3-NEXT: movswq 6(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm2
+; SSSE3-NEXT: movq %rax, %xmm2
; SSSE3-NEXT: movswq 4(%rdi), %rax
-; SSSE3-NEXT: movd %rax, %xmm1
+; SSSE3-NEXT: movq %rax, %xmm1
; SSSE3-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
; SSSE3-NEXT: retq
;
diff --git a/test/CodeGen/X86/vector-shuffle-128-v2.ll b/test/CodeGen/X86/vector-shuffle-128-v2.ll
index d0ead653b203..e38d3f974485 100644
--- a/test/CodeGen/X86/vector-shuffle-128-v2.ll
+++ b/test/CodeGen/X86/vector-shuffle-128-v2.ll
@@ -986,7 +986,7 @@ define <2 x i64> @shuffle_v2i64_bitcast_z123(<2 x i64> %x) {
define <2 x i64> @insert_reg_and_zero_v2i64(i64 %a) {
; SSE-LABEL: insert_reg_and_zero_v2i64:
; SSE: # BB#0:
-; SSE-NEXT: movd %rdi, %xmm0
+; SSE-NEXT: movq %rdi, %xmm0
; SSE-NEXT: retq
;
; AVX-LABEL: insert_reg_and_zero_v2i64:
@@ -1048,25 +1048,25 @@ define <2 x double> @insert_mem_and_zero_v2f64(double* %ptr) {
define <2 x i64> @insert_reg_lo_v2i64(i64 %a, <2 x i64> %b) {
; SSE2-LABEL: insert_reg_lo_v2i64:
; SSE2: # BB#0:
-; SSE2-NEXT: movd %rdi, %xmm1
+; SSE2-NEXT: movq %rdi, %xmm1
; SSE2-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
; SSE2-NEXT: retq
;
; SSE3-LABEL: insert_reg_lo_v2i64:
; SSE3: # BB#0:
-; SSE3-NEXT: movd %rdi, %xmm1
+; SSE3-NEXT: movq %rdi, %xmm1
; SSE3-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
; SSE3-NEXT: retq
;
; SSSE3-LABEL: insert_reg_lo_v2i64:
; SSSE3: # BB#0:
-; SSSE3-NEXT: movd %rdi, %xmm1
+; SSSE3-NEXT: movq %rdi, %xmm1
; SSSE3-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
; SSSE3-NEXT: retq
;
; SSE41-LABEL: insert_reg_lo_v2i64:
; SSE41: # BB#0:
-; SSE41-NEXT: movd %rdi, %xmm1
+; SSE41-NEXT: movq %rdi, %xmm1
; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]
; SSE41-NEXT: retq
;
@@ -1140,7 +1140,7 @@ define <2 x i64> @insert_mem_lo_v2i64(i64* %ptr, <2 x i64> %b) {
define <2 x i64> @insert_reg_hi_v2i64(i64 %a, <2 x i64> %b) {
; SSE-LABEL: insert_reg_hi_v2i64:
; SSE: # BB#0:
-; SSE-NEXT: movd %rdi, %xmm1
+; SSE-NEXT: movq %rdi, %xmm1
; SSE-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE-NEXT: retq
;
diff --git a/test/CodeGen/X86/vector-shuffle-128-v4.ll b/test/CodeGen/X86/vector-shuffle-128-v4.ll
index 3e9e980a1973..e9c0d0962ab3 100644
--- a/test/CodeGen/X86/vector-shuffle-128-v4.ll
+++ b/test/CodeGen/X86/vector-shuffle-128-v4.ll
@@ -2104,25 +2104,25 @@ define <4 x float> @insert_mem_and_zero_v4f32(float* %ptr) {
define <4 x i32> @insert_reg_lo_v4i32(i64 %a, <4 x i32> %b) {
; SSE2-LABEL: insert_reg_lo_v4i32:
; SSE2: # BB#0:
-; SSE2-NEXT: movd %rdi, %xmm1
+; SSE2-NEXT: movq %rdi, %xmm1
; SSE2-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
; SSE2-NEXT: retq
;
; SSE3-LABEL: insert_reg_lo_v4i32:
; SSE3: # BB#0:
-; SSE3-NEXT: movd %rdi, %xmm1
+; SSE3-NEXT: movq %rdi, %xmm1
; SSE3-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
; SSE3-NEXT: retq
;
; SSSE3-LABEL: insert_reg_lo_v4i32:
; SSSE3: # BB#0:
-; SSSE3-NEXT: movd %rdi, %xmm1
+; SSSE3-NEXT: movq %rdi, %xmm1
; SSSE3-NEXT: movsd {{.*#+}} xmm0 = xmm1[0],xmm0[1]
; SSSE3-NEXT: retq
;
; SSE41-LABEL: insert_reg_lo_v4i32:
; SSE41: # BB#0:
-; SSE41-NEXT: movd %rdi, %xmm1
+; SSE41-NEXT: movq %rdi, %xmm1
; SSE41-NEXT: pblendw {{.*#+}} xmm0 = xmm1[0,1,2,3],xmm0[4,5,6,7]
; SSE41-NEXT: retq
;
@@ -2191,7 +2191,7 @@ define <4 x i32> @insert_mem_lo_v4i32(<2 x i32>* %ptr, <4 x i32> %b) {
define <4 x i32> @insert_reg_hi_v4i32(i64 %a, <4 x i32> %b) {
; SSE-LABEL: insert_reg_hi_v4i32:
; SSE: # BB#0:
-; SSE-NEXT: movd %rdi, %xmm1
+; SSE-NEXT: movq %rdi, %xmm1
; SSE-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
; SSE-NEXT: retq
;
diff --git a/test/CodeGen/X86/vector-shuffle-combining-avx2.ll b/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
index 1385929ab8cd..202acbcd3500 100644
--- a/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
+++ b/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
@@ -879,3 +879,29 @@ define <32 x i8> @constant_fold_pshufb_256() {
%1 = tail call <32 x i8> @llvm.x86.avx2.pshuf.b(<32 x i8> <i8 15, i8 14, i8 13, i8 12, i8 11, i8 10, i8 9, i8 8, i8 7, i8 6, i8 5, i8 4, i8 3, i8 2, i8 1, i8 0, i8 0, i8 -1, i8 -2, i8 -3, i8 -4, i8 -5, i8 -6, i8 -7, i8 -8, i8 -9, i8 -10, i8 -11, i8 -12, i8 -13, i8 -14, i8 -15>, <32 x i8> <i8 1, i8 -1, i8 -1, i8 -1, i8 undef, i8 undef, i8 -1, i8 -1, i8 15, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 7, i8 6, i8 1, i8 -1, i8 -1, i8 -1, i8 undef, i8 undef, i8 -1, i8 -1, i8 15, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 7, i8 6>)
ret <32 x i8> %1
}
+
+define <32 x i8> @PR27320(<8 x i32> %a0) {
+; X32-LABEL: PR27320:
+; X32: # BB#0:
+; X32-NEXT: vpshufb {{.*#+}} xmm1 = xmm0[12,13,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
+; X32-NEXT: vextracti128 $1, %ymm0, %xmm2
+; X32-NEXT: vpshufb {{.*#+}} xmm2 = zero,zero,zero,zero,zero,xmm2[0,0,1,2,3,3,4,5,6,6,7]
+; X32-NEXT: vpor %xmm1, %xmm2, %xmm1
+; X32-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,1,1,2,3,4,4,5,6,7,7,8,9,10,10,11]
+; X32-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
+; X32-NEXT: retl
+;
+; X64-LABEL: PR27320:
+; X64: # BB#0:
+; X64-NEXT: vpshufb {{.*#+}} xmm1 = xmm0[12,13,13,14,15],zero,zero,zero,zero,zero,zero,zero,zero,zero,zero,zero
+; X64-NEXT: vextracti128 $1, %ymm0, %xmm2
+; X64-NEXT: vpshufb {{.*#+}} xmm2 = zero,zero,zero,zero,zero,xmm2[0,0,1,2,3,3,4,5,6,6,7]
+; X64-NEXT: vpor %xmm1, %xmm2, %xmm1
+; X64-NEXT: vpshufb {{.*#+}} xmm0 = xmm0[0,1,1,2,3,4,4,5,6,7,7,8,9,10,10,11]
+; X64-NEXT: vinserti128 $1, %xmm1, %ymm0, %ymm0
+; X64-NEXT: retq
+ %1 = shufflevector <8 x i32> %a0, <8 x i32> undef, <8 x i32> <i32 0, i32 1, i32 2, i32 undef, i32 3, i32 4, i32 5, i32 undef>
+ %2 = bitcast <8 x i32> %1 to <32 x i8>
+ %3 = shufflevector <32 x i8> %2, <32 x i8> undef, <32 x i32> <i32 0, i32 1, i32 1, i32 2, i32 3, i32 4, i32 4, i32 5, i32 6, i32 7, i32 7, i32 8, i32 9, i32 10, i32 10, i32 11, i32 16, i32 17, i32 17, i32 18, i32 19, i32 20, i32 20, i32 21, i32 22, i32 23, i32 23, i32 24, i32 25, i32 26, i32 26, i32 27>
+ ret <32 x i8> %3
+}
diff --git a/test/CodeGen/X86/vector-trunc-math.ll b/test/CodeGen/X86/vector-trunc-math.ll
index ab34ad6a613c..a5fac9ac6a41 100644
--- a/test/CodeGen/X86/vector-trunc-math.ll
+++ b/test/CodeGen/X86/vector-trunc-math.ll
@@ -1257,7 +1257,7 @@ define <4 x i32> @trunc_sub_const_v4i64_v4i32(<4 x i64> %a0) nounwind {
; SSE-LABEL: trunc_sub_const_v4i64_v4i32:
; SSE: # BB#0:
; SSE-NEXT: movl $1, %eax
-; SSE-NEXT: movd %rax, %xmm2
+; SSE-NEXT: movq %rax, %xmm2
; SSE-NEXT: pslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2,3,4,5,6,7]
; SSE-NEXT: psubq %xmm2, %xmm0
; SSE-NEXT: psubq {{.*}}(%rip), %xmm1
@@ -1301,7 +1301,7 @@ define <8 x i16> @trunc_sub_const_v8i64_v8i16(<8 x i64> %a0) nounwind {
; SSE-LABEL: trunc_sub_const_v8i64_v8i16:
; SSE: # BB#0:
; SSE-NEXT: movl $1, %eax
-; SSE-NEXT: movd %rax, %xmm4
+; SSE-NEXT: movq %rax, %xmm4
; SSE-NEXT: pslldq {{.*#+}} xmm4 = zero,zero,zero,zero,zero,zero,zero,zero,xmm4[0,1,2,3,4,5,6,7]
; SSE-NEXT: psubq %xmm4, %xmm0
; SSE-NEXT: psubq {{.*}}(%rip), %xmm1
@@ -1418,7 +1418,7 @@ define <16 x i8> @trunc_sub_const_v16i64_v16i8(<16 x i64> %a0) nounwind {
; SSE-LABEL: trunc_sub_const_v16i64_v16i8:
; SSE: # BB#0:
; SSE-NEXT: movl $1, %eax
-; SSE-NEXT: movd %rax, %xmm8
+; SSE-NEXT: movq %rax, %xmm8
; SSE-NEXT: pslldq {{.*#+}} xmm8 = zero,zero,zero,zero,zero,zero,zero,zero,xmm8[0,1,2,3,4,5,6,7]
; SSE-NEXT: psubq %xmm8, %xmm0
; SSE-NEXT: psubq {{.*}}(%rip), %xmm1
@@ -2411,7 +2411,7 @@ define <4 x i32> @trunc_mul_const_v4i64_v4i32(<4 x i64> %a0) nounwind {
; SSE-NEXT: psllq $32, %xmm1
; SSE-NEXT: paddq %xmm3, %xmm1
; SSE-NEXT: movl $1, %eax
-; SSE-NEXT: movd %rax, %xmm2
+; SSE-NEXT: movq %rax, %xmm2
; SSE-NEXT: pslldq {{.*#+}} xmm2 = zero,zero,zero,zero,zero,zero,zero,zero,xmm2[0,1,2,3,4,5,6,7]
; SSE-NEXT: movdqa %xmm0, %xmm3
; SSE-NEXT: pmuludq %xmm2, %xmm3
@@ -2554,7 +2554,7 @@ define <16 x i8> @trunc_mul_const_v16i64_v16i8(<16 x i64> %a0) nounwind {
; SSE-LABEL: trunc_mul_const_v16i64_v16i8:
; SSE: # BB#0:
; SSE-NEXT: movl $1, %eax
-; SSE-NEXT: movd %rax, %xmm8
+; SSE-NEXT: movq %rax, %xmm8
; SSE-NEXT: pslldq {{.*#+}} xmm8 = zero,zero,zero,zero,zero,zero,zero,zero,xmm8[0,1,2,3,4,5,6,7]
; SSE-NEXT: movdqa %xmm0, %xmm9
; SSE-NEXT: pmuludq %xmm8, %xmm9
diff --git a/test/CodeGen/X86/vector-trunc.ll b/test/CodeGen/X86/vector-trunc.ll
index d39a90b066f5..58f7407eeec4 100644
--- a/test/CodeGen/X86/vector-trunc.ll
+++ b/test/CodeGen/X86/vector-trunc.ll
@@ -906,7 +906,7 @@ define i64 @trunc2i64_i64(<2 x i64> %inval) {
; SSE-LABEL: trunc2i64_i64:
; SSE: # BB#0: # %entry
; SSE-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
-; SSE-NEXT: movd %xmm0, %rax
+; SSE-NEXT: movq %xmm0, %rax
; SSE-NEXT: retq
;
; AVX-LABEL: trunc2i64_i64:
@@ -1031,19 +1031,19 @@ define i64 @trunc4i32_i64(<4 x i32> %inval) {
; SSE2-NEXT: pshuflw {{.*#+}} xmm0 = xmm0[0,2,2,3,4,5,6,7]
; SSE2-NEXT: pshufhw {{.*#+}} xmm0 = xmm0[0,1,2,3,4,6,6,7]
; SSE2-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
-; SSE2-NEXT: movd %xmm0, %rax
+; SSE2-NEXT: movq %xmm0, %rax
; SSE2-NEXT: retq
;
; SSSE3-LABEL: trunc4i32_i64:
; SSSE3: # BB#0: # %entry
; SSSE3-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
-; SSSE3-NEXT: movd %xmm0, %rax
+; SSSE3-NEXT: movq %xmm0, %rax
; SSSE3-NEXT: retq
;
; SSE41-LABEL: trunc4i32_i64:
; SSE41: # BB#0: # %entry
; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,1,4,5,8,9,12,13,8,9,12,13,12,13,14,15]
-; SSE41-NEXT: movd %xmm0, %rax
+; SSE41-NEXT: movq %xmm0, %rax
; SSE41-NEXT: retq
;
; AVX-LABEL: trunc4i32_i64:
@@ -1158,19 +1158,19 @@ define i64 @trunc8i16_i64(<8 x i16> %inval) {
; SSE2: # BB#0: # %entry
; SSE2-NEXT: pand {{.*}}(%rip), %xmm0
; SSE2-NEXT: packuswb %xmm0, %xmm0
-; SSE2-NEXT: movd %xmm0, %rax
+; SSE2-NEXT: movq %xmm0, %rax
; SSE2-NEXT: retq
;
; SSSE3-LABEL: trunc8i16_i64:
; SSSE3: # BB#0: # %entry
; SSSE3-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u]
-; SSSE3-NEXT: movd %xmm0, %rax
+; SSSE3-NEXT: movq %xmm0, %rax
; SSSE3-NEXT: retq
;
; SSE41-LABEL: trunc8i16_i64:
; SSE41: # BB#0: # %entry
; SSE41-NEXT: pshufb {{.*#+}} xmm0 = xmm0[0,2,4,6,8,10,12,14,u,u,u,u,u,u,u,u]
-; SSE41-NEXT: movd %xmm0, %rax
+; SSE41-NEXT: movq %xmm0, %rax
; SSE41-NEXT: retq
;
; AVX-LABEL: trunc8i16_i64:
diff --git a/test/CodeGen/X86/vector-tzcnt-128.ll b/test/CodeGen/X86/vector-tzcnt-128.ll
index 56f634c4188f..22d0065b264f 100644
--- a/test/CodeGen/X86/vector-tzcnt-128.ll
+++ b/test/CodeGen/X86/vector-tzcnt-128.ll
@@ -1249,7 +1249,7 @@ define <2 x i64> @foldv2i64() nounwind {
; SSE-LABEL: foldv2i64:
; SSE: # BB#0:
; SSE-NEXT: movl $8, %eax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: retq
;
; AVX-LABEL: foldv2i64:
@@ -1271,7 +1271,7 @@ define <2 x i64> @foldv2i64u() nounwind {
; SSE-LABEL: foldv2i64u:
; SSE: # BB#0:
; SSE-NEXT: movl $8, %eax
-; SSE-NEXT: movd %rax, %xmm0
+; SSE-NEXT: movq %rax, %xmm0
; SSE-NEXT: retq
;
; AVX-LABEL: foldv2i64u:
diff --git a/test/CodeGen/X86/vmovq.ll b/test/CodeGen/X86/vmovq.ll
index 45d350c743e2..5c1ff7d06ee0 100644
--- a/test/CodeGen/X86/vmovq.ll
+++ b/test/CodeGen/X86/vmovq.ll
@@ -6,7 +6,7 @@ define <2 x i64> @PR25554(<2 x i64> %v0, <2 x i64> %v1) {
; SSE-LABEL: PR25554:
; SSE: # BB#0:
; SSE-NEXT: movl $1, %eax
-; SSE-NEXT: movd %rax, %xmm1
+; SSE-NEXT: movq %rax, %xmm1
; SSE-NEXT: por %xmm1, %xmm0
; SSE-NEXT: pslldq {{.*#+}} xmm1 = zero,zero,zero,zero,zero,zero,zero,zero,xmm1[0,1,2,3,4,5,6,7]
; SSE-NEXT: paddq %xmm1, %xmm0
diff --git a/test/CodeGen/X86/vshift-1.ll b/test/CodeGen/X86/vshift-1.ll
index 7ad5706592e4..c9a34de12369 100644
--- a/test/CodeGen/X86/vshift-1.ll
+++ b/test/CodeGen/X86/vshift-1.ll
@@ -39,7 +39,7 @@ define void @shift1b(<2 x i64> %val, <2 x i64>* %dst, i64 %amt) nounwind {
;
; X64-LABEL: shift1b:
; X64: # BB#0: # %entry
-; X64-NEXT: movd %rsi, %xmm1
+; X64-NEXT: movq %rsi, %xmm1
; X64-NEXT: psllq %xmm1, %xmm0
; X64-NEXT: movdqa %xmm0, (%rdi)
; X64-NEXT: retq
diff --git a/test/CodeGen/X86/vshift-2.ll b/test/CodeGen/X86/vshift-2.ll
index f79fc5bff968..88cba8a4d6ac 100644
--- a/test/CodeGen/X86/vshift-2.ll
+++ b/test/CodeGen/X86/vshift-2.ll
@@ -39,7 +39,7 @@ define void @shift1b(<2 x i64> %val, <2 x i64>* %dst, i64 %amt) nounwind {
;
; X64-LABEL: shift1b:
; X64: # BB#0: # %entry
-; X64-NEXT: movd %rsi, %xmm1
+; X64-NEXT: movq %rsi, %xmm1
; X64-NEXT: psrlq %xmm1, %xmm0
; X64-NEXT: movdqa %xmm0, (%rdi)
; X64-NEXT: retq
diff --git a/test/CodeGen/X86/vsplit-and.ll b/test/CodeGen/X86/vsplit-and.ll
index e62698221973..f844904c8690 100644
--- a/test/CodeGen/X86/vsplit-and.ll
+++ b/test/CodeGen/X86/vsplit-and.ll
@@ -23,13 +23,13 @@ define void @t0(<2 x i64>* %dst, <2 x i64> %src1, <2 x i64> %src2) nounwind read
define void @t2(<3 x i64>* %dst, <3 x i64> %src1, <3 x i64> %src2) nounwind readonly {
; CHECK-LABEL: t2:
; CHECK: # BB#0:
-; CHECK-NEXT: movd %r9, %xmm1
-; CHECK-NEXT: movd %r8, %xmm0
+; CHECK-NEXT: movq %r9, %xmm1
+; CHECK-NEXT: movq %r8, %xmm0
; CHECK-NEXT: punpcklqdq {{.*#+}} xmm0 = xmm0[0],xmm1[0]
-; CHECK-NEXT: movd %rdx, %xmm2
-; CHECK-NEXT: movd %rsi, %xmm1
+; CHECK-NEXT: movq %rdx, %xmm2
+; CHECK-NEXT: movq %rsi, %xmm1
; CHECK-NEXT: punpcklqdq {{.*#+}} xmm1 = xmm1[0],xmm2[0]
-; CHECK-NEXT: movd %rcx, %xmm2
+; CHECK-NEXT: movq %rcx, %xmm2
; CHECK-NEXT: movq {{.*#+}} xmm3 = mem[0],zero
; CHECK-NEXT: pxor %xmm4, %xmm4
; CHECK-NEXT: pcmpeqq %xmm4, %xmm2
diff --git a/test/CodeGen/X86/widen_cast-5.ll b/test/CodeGen/X86/widen_cast-5.ll
index a973fdaa8d60..986fa4743c6c 100644
--- a/test/CodeGen/X86/widen_cast-5.ll
+++ b/test/CodeGen/X86/widen_cast-5.ll
@@ -16,7 +16,7 @@ define void @convert(<2 x i32>* %dst.addr, i64 %src) nounwind {
;
; X64-LABEL: convert:
; X64: ## BB#0: ## %entry
-; X64-NEXT: movd %rsi, %xmm0
+; X64-NEXT: movq %rsi, %xmm0
; X64-NEXT: pmovzxdq {{.*#+}} xmm0 = xmm0[0],zero,xmm0[1],zero
; X64-NEXT: pxor {{.*}}(%rip), %xmm0
; X64-NEXT: pshufd {{.*#+}} xmm0 = xmm0[0,2,2,3]
diff --git a/test/CodeGen/X86/widen_conv-3.ll b/test/CodeGen/X86/widen_conv-3.ll
index 504485440eff..3b20f3515716 100644
--- a/test/CodeGen/X86/widen_conv-3.ll
+++ b/test/CodeGen/X86/widen_conv-3.ll
@@ -105,7 +105,7 @@ define void @convert_v3i8_to_v3f32(<3 x float>* %dst.addr, <3 x i8>* %src.addr)
; X64-SSE2-LABEL: convert_v3i8_to_v3f32:
; X64-SSE2: # BB#0: # %entry
; X64-SSE2-NEXT: movzwl (%rsi), %eax
-; X64-SSE2-NEXT: movd %rax, %xmm0
+; X64-SSE2-NEXT: movq %rax, %xmm0
; X64-SSE2-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
; X64-SSE2-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3]
; X64-SSE2-NEXT: movdqa %xmm0, -{{[0-9]+}}(%rsp)
@@ -129,7 +129,7 @@ define void @convert_v3i8_to_v3f32(<3 x float>* %dst.addr, <3 x i8>* %src.addr)
; X64-SSE42: # BB#0: # %entry
; X64-SSE42-NEXT: movzbl 2(%rsi), %eax
; X64-SSE42-NEXT: movzwl (%rsi), %ecx
-; X64-SSE42-NEXT: movd %rcx, %xmm0
+; X64-SSE42-NEXT: movq %rcx, %xmm0
; X64-SSE42-NEXT: pmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
; X64-SSE42-NEXT: pinsrd $2, %eax, %xmm0
; X64-SSE42-NEXT: pslld $24, %xmm0
diff --git a/test/CodeGen/X86/widen_conv-4.ll b/test/CodeGen/X86/widen_conv-4.ll
index ef56692e947c..6dc938893d38 100644
--- a/test/CodeGen/X86/widen_conv-4.ll
+++ b/test/CodeGen/X86/widen_conv-4.ll
@@ -130,7 +130,7 @@ define void @convert_v3i8_to_v3f32(<3 x float>* %dst.addr, <3 x i8>* %src.addr)
; X64-SSE2-LABEL: convert_v3i8_to_v3f32:
; X64-SSE2: # BB#0: # %entry
; X64-SSE2-NEXT: movzwl (%rsi), %eax
-; X64-SSE2-NEXT: movd %rax, %xmm0
+; X64-SSE2-NEXT: movq %rax, %xmm0
; X64-SSE2-NEXT: punpcklbw {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7]
; X64-SSE2-NEXT: punpcklwd {{.*#+}} xmm0 = xmm0[0,0,1,1,2,2,3,3]
; X64-SSE2-NEXT: movdqa %xmm0, -{{[0-9]+}}(%rsp)
@@ -154,7 +154,7 @@ define void @convert_v3i8_to_v3f32(<3 x float>* %dst.addr, <3 x i8>* %src.addr)
; X64-SSE42: # BB#0: # %entry
; X64-SSE42-NEXT: movzbl 2(%rsi), %eax
; X64-SSE42-NEXT: movzwl (%rsi), %ecx
-; X64-SSE42-NEXT: movd %rcx, %xmm0
+; X64-SSE42-NEXT: movq %rcx, %xmm0
; X64-SSE42-NEXT: pmovzxbd {{.*#+}} xmm0 = xmm0[0],zero,zero,zero,xmm0[1],zero,zero,zero,xmm0[2],zero,zero,zero,xmm0[3],zero,zero,zero
; X64-SSE42-NEXT: pinsrd $2, %eax, %xmm0
; X64-SSE42-NEXT: pand {{.*}}(%rip), %xmm0
diff --git a/test/DebugInfo/COFF/pieces.ll b/test/DebugInfo/COFF/pieces.ll
index 8252b590fe90..60330e057726 100644
--- a/test/DebugInfo/COFF/pieces.ll
+++ b/test/DebugInfo/COFF/pieces.ll
@@ -35,27 +35,27 @@
; }
; ASM-LABEL: loop_csr: # @loop_csr
-; ASM: #DEBUG_VALUE: loop_csr:o [fragment offset=0 size=32] <- 0
-; ASM: #DEBUG_VALUE: loop_csr:o [fragment offset=32 size=32] <- 0
+; ASM: #DEBUG_VALUE: loop_csr:o <- [DW_OP_LLVM_fragment 0 32] 0
+; ASM: #DEBUG_VALUE: loop_csr:o <- [DW_OP_LLVM_fragment 32 32] 0
; ASM: # BB#2: # %for.body.preheader
; ASM: xorl %edi, %edi
; ASM: xorl %esi, %esi
; ASM: .p2align 4, 0x90
; ASM: .LBB0_3: # %for.body
; ASM: [[ox_start:\.Ltmp[0-9]+]]:
-; ASM: #DEBUG_VALUE: loop_csr:o [fragment offset=0 size=32] <- %EDI
+; ASM: #DEBUG_VALUE: loop_csr:o <- [DW_OP_LLVM_fragment 0 32] %EDI
; ASM: .cv_loc 0 1 13 11 # t.c:13:11
; ASM: movl %edi, %ecx
; ASM: callq g
; ASM: movl %eax, %edi
; ASM: [[oy_start:\.Ltmp[0-9]+]]:
-; ASM: #DEBUG_VALUE: loop_csr:o [fragment offset=0 size=32] <- %EDI
-; ASM: #DEBUG_VALUE: loop_csr:o [fragment offset=32 size=32] <- %ESI
+; ASM: #DEBUG_VALUE: loop_csr:o <- [DW_OP_LLVM_fragment 0 32] %EDI
+; ASM: #DEBUG_VALUE: loop_csr:o <- [DW_OP_LLVM_fragment 32 32] %ESI
; ASM: .cv_loc 0 1 14 11 # t.c:14:11
; ASM: movl %esi, %ecx
; ASM: callq g
; ASM: movl %eax, %esi
-; ASM: #DEBUG_VALUE: loop_csr:o [fragment offset=32 size=32] <- %ESI
+; ASM: #DEBUG_VALUE: loop_csr:o <- [DW_OP_LLVM_fragment 32 32] %ESI
; ASM: cmpl n(%rip), %eax
; ASM: jl .LBB0_3
; ASM: [[oy_end:\.Ltmp[0-9]+]]:
@@ -64,32 +64,32 @@
; ASM-LABEL: pad_right: # @pad_right
-; ASM: #DEBUG_VALUE: pad_right:o [fragment offset=32 size=32] <- %ECX
+; ASM: #DEBUG_VALUE: pad_right:o <- [DW_OP_LLVM_fragment 32 32] %ECX
; ASM: movl %ecx, %eax
; ASM: retq
; ASM-LABEL: pad_left: # @pad_left
-; ASM: #DEBUG_VALUE: pad_left:o [fragment offset=0 size=32] <- %ECX
+; ASM: #DEBUG_VALUE: pad_left:o <- [DW_OP_LLVM_fragment 0 32] %ECX
; ASM: .cv_loc 2 1 24 3 # t.c:24:3
; ASM: movl %ecx, %eax
; ASM: retq
; ASM-LABEL: nested: # @nested
-; ASM: #DEBUG_VALUE: nested:o <- [%RCX+0]
+; ASM: #DEBUG_VALUE: nested:o <- [DW_OP_deref] [%RCX+0]
; ASM: movl 12(%rcx), %eax
; ASM: [[p_start:\.Ltmp[0-9]+]]:
-; ASM: #DEBUG_VALUE: nested:p [fragment offset=32 size=32] <- %EAX
+; ASM: #DEBUG_VALUE: nested:p <- [DW_OP_LLVM_fragment 32 32] %EAX
; ASM: retq
; ASM-LABEL: bitpiece_spill: # @bitpiece_spill
-; ASM: #DEBUG_VALUE: bitpiece_spill:o [fragment offset=0 size=32] <- 0
+; ASM: #DEBUG_VALUE: bitpiece_spill:o <- [DW_OP_LLVM_fragment 0 32] 0
; ASM: xorl %ecx, %ecx
; ASM: callq g
; ASM: movl %eax, [[offset_o_x:[0-9]+]](%rsp) # 4-byte Spill
; ASM: [[spill_o_x_start:\.Ltmp[0-9]+]]:
-; ASM: #DEBUG_VALUE: bitpiece_spill:o [fragment offset=32 size=32] <- [%RSP+[[offset_o_x]]]
+; ASM: #DEBUG_VALUE: bitpiece_spill:o <- [DW_OP_LLVM_fragment 32 32] [%RSP+[[offset_o_x]]]
; ASM: #APP
; ASM: #NO_APP
; ASM: movl [[offset_o_x]](%rsp), %eax # 4-byte Reload
diff --git a/test/DebugInfo/Generic/empty.ll b/test/DebugInfo/Generic/empty.ll
index 82faeca41db7..d5f738fa0271 100644
--- a/test/DebugInfo/Generic/empty.ll
+++ b/test/DebugInfo/Generic/empty.ll
@@ -1,7 +1,7 @@
; REQUIRES: object-emission
; RUN: %llc_dwarf < %s -filetype=obj | llvm-dwarfdump - | FileCheck %s
-; RUN: %llc_dwarf -split-dwarf=Enable < %s -filetype=obj | llvm-dwarfdump - | FileCheck --check-prefix=FISSION %s
+; RUN: %llc_dwarf -split-dwarf-file=foo.dwo < %s -filetype=obj | llvm-dwarfdump - | FileCheck --check-prefix=FISSION %s
; darwin has a workaround for a linker bug so it always emits one line table entry
; XFAIL: darwin
diff --git a/test/DebugInfo/PDB/pdbdump-yaml-lineinfo.test b/test/DebugInfo/PDB/pdbdump-yaml-lineinfo.test
new file mode 100644
index 000000000000..016d52464985
--- /dev/null
+++ b/test/DebugInfo/PDB/pdbdump-yaml-lineinfo.test
@@ -0,0 +1,59 @@
+; RUN: llvm-pdbdump pdb2yaml -dbi-module-lines %p/Inputs/empty.pdb \
+; RUN: | FileCheck -check-prefix=YAML %s
+
+
+YAML: ---
+YAML: MSF:
+YAML: SuperBlock:
+YAML: BlockSize: 4096
+YAML: FreeBlockMap: 2
+YAML: NumBlocks: 25
+YAML: NumDirectoryBytes: 136
+YAML: Unknown1: 0
+YAML: BlockMapAddr: 24
+YAML: NumDirectoryBlocks: 1
+YAML: DirectoryBlocks: [ 23 ]
+YAML: NumStreams: 0
+YAML: FileSize: 102400
+YAML: DbiStream:
+YAML: VerHeader: V70
+YAML: Age: 1
+YAML: BuildNumber: 35840
+YAML: PdbDllVersion: 31101
+YAML: PdbDllRbld: 0
+YAML: Flags: 1
+YAML: MachineType: x86
+YAML: Modules:
+YAML: - Module: 'd:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj'
+YAML: ObjFile: 'd:\src\llvm\test\DebugInfo\PDB\Inputs\empty.obj'
+YAML: SourceFiles:
+YAML: - 'd:\src\llvm\test\debuginfo\pdb\inputs\empty.cpp'
+YAML: LineInfo:
+YAML: Lines:
+YAML: CodeSize: 10
+YAML: Flags: [ ]
+YAML: RelocOffset: 16
+YAML: RelocSegment: 1
+YAML: LineInfo:
+YAML: - FileName: 'd:\src\llvm\test\debuginfo\pdb\inputs\empty.cpp'
+YAML: Lines:
+YAML: - Offset: 0
+YAML: LineStart: 5
+YAML: IsStatement: true
+YAML: EndDelta: 5
+YAML: - Offset: 3
+YAML: LineStart: 6
+YAML: IsStatement: true
+YAML: EndDelta: 6
+YAML: - Offset: 8
+YAML: LineStart: 7
+YAML: IsStatement: true
+YAML: EndDelta: 7
+YAML: Columns:
+YAML: Checksums:
+YAML: - FileName: 'd:\src\llvm\test\debuginfo\pdb\inputs\empty.cpp'
+YAML: Kind: MD5
+YAML: Checksum: A0A5BD0D3ECD93FC29D19DE826FBF4BC
+YAML: - Module: '* Linker *'
+YAML: ObjFile: ''
+YAML: ... \ No newline at end of file
diff --git a/test/DebugInfo/PowerPC/tls-fission.ll b/test/DebugInfo/PowerPC/tls-fission.ll
index f456cbcb7146..e01baaf1fb6e 100644
--- a/test/DebugInfo/PowerPC/tls-fission.ll
+++ b/test/DebugInfo/PowerPC/tls-fission.ll
@@ -1,4 +1,4 @@
-; RUN: llc -split-dwarf=Enable -mtriple=powerpc64-unknown-linux-gnu -O0 -filetype=asm < %s | FileCheck %s
+; RUN: llc -split-dwarf-file=foo.dwo -mtriple=powerpc64-unknown-linux-gnu -O0 -filetype=asm < %s | FileCheck %s
; FIXME: add relocation and DWARF expression support to llvm-dwarfdump & use
; that here instead of raw assembly printing
diff --git a/test/DebugInfo/X86/cu-ranges-odr.ll b/test/DebugInfo/X86/cu-ranges-odr.ll
index cf54aeeb87b1..e2ee29b55d88 100644
--- a/test/DebugInfo/X86/cu-ranges-odr.ll
+++ b/test/DebugInfo/X86/cu-ranges-odr.ll
@@ -1,4 +1,4 @@
-; RUN: llc -split-dwarf=Enable -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
+; RUN: llc -split-dwarf-file=foo.dwo -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
; RUN: llvm-dwarfdump -debug-dump=all %t | FileCheck %s
; RUN: llvm-readobj --relocations %t | FileCheck --check-prefix=CHECK-RELOCS %s
diff --git a/test/DebugInfo/X86/cu-ranges.ll b/test/DebugInfo/X86/cu-ranges.ll
index af129c7525de..f2540589b24a 100644
--- a/test/DebugInfo/X86/cu-ranges.ll
+++ b/test/DebugInfo/X86/cu-ranges.ll
@@ -1,8 +1,8 @@
-; RUN: llc -split-dwarf=Enable -O0 %s -function-sections -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
+; RUN: llc -split-dwarf-file=foo.dwo -O0 %s -function-sections -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
; RUN: llvm-dwarfdump -debug-dump=abbrev %t | FileCheck --check-prefix=FUNCTION-SECTIONS %s
; RUN: llvm-readobj --relocations %t | FileCheck --check-prefix=FUNCTION-SECTIONS-RELOCS %s
-; RUN: llc -split-dwarf=Enable -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
+; RUN: llc -split-dwarf-file=foo.dwo -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
; RUN: llvm-dwarfdump -debug-dump=abbrev %t | FileCheck --check-prefix=NO-FUNCTION-SECTIONS %s
; From:
diff --git a/test/DebugInfo/X86/debug-loc-asan.ll b/test/DebugInfo/X86/debug-loc-asan.ll
index e4449a29281c..8f798094dffa 100644
--- a/test/DebugInfo/X86/debug-loc-asan.ll
+++ b/test/DebugInfo/X86/debug-loc-asan.ll
@@ -12,10 +12,10 @@
; The address of the (potentially now malloc'ed) alloca ends up
; in RDI, after which it is spilled to the stack. We record the
; spill OFFSET on the stack for checking the debug info below.
-; CHECK: #DEBUG_VALUE: bar:y <- [%RDI+0]
+; CHECK: #DEBUG_VALUE: bar:y <- [DW_OP_deref] [%RDI+0]
; CHECK: movq %rdi, [[OFFSET:[0-9]+]](%rsp)
; CHECK-NEXT: [[START_LABEL:.Ltmp[0-9]+]]
-; CHECK-NEXT: #DEBUG_VALUE: bar:y <- [complex expression]
+; CHECK-NEXT: #DEBUG_VALUE: bar:y <- [DW_OP_deref, DW_OP_deref]
; This location should be valid until the end of the function.
; CHECK: movq %rbp, %rsp
diff --git a/test/DebugInfo/X86/dwarf-pubnames-split.ll b/test/DebugInfo/X86/dwarf-pubnames-split.ll
index fcec66cc76b4..6685615dc831 100644
--- a/test/DebugInfo/X86/dwarf-pubnames-split.ll
+++ b/test/DebugInfo/X86/dwarf-pubnames-split.ll
@@ -1,4 +1,4 @@
-; RUN: llc -mtriple=x86_64-pc-linux-gnu -split-dwarf=Enable %s -o - | FileCheck %s
+; RUN: llc -mtriple=x86_64-pc-linux-gnu -split-dwarf-file=foo.dwo %s -o - | FileCheck %s
; Derived from:
; int main (void) {
diff --git a/test/DebugInfo/X86/dwarfdump-ranges-unrelocated.s b/test/DebugInfo/X86/dwarfdump-ranges-unrelocated.s
new file mode 100644
index 000000000000..a62c86fafac2
--- /dev/null
+++ b/test/DebugInfo/X86/dwarfdump-ranges-unrelocated.s
@@ -0,0 +1,70 @@
+# RUN: llvm-mc -triple x86_64-pc-linux -filetype=obj %s -o %t
+# RUN: llvm-dwarfdump %t | FileCheck %s
+
+# CHECK: .debug_ranges contents:
+# CHECK: 00000000 0000000000000000 0000000000000001
+# CHECK: 00000000 0000000000000000 0000000000000002
+# CHECK: 00000000 <End of list>
+
+## Asm code for testcase is a reduced output from next invocation and source:
+# clang test.cpp -S -o test.s -gmlt -ffunction-sections
+# test.cpp:
+# void foo1() { }
+# void foo2() { }
+
+.section .text.foo1,"ax",@progbits
+.Lfunc_begin0:
+ nop
+.Lfunc_end0:
+
+.section .text.foo2,"ax",@progbits
+.Lfunc_begin1:
+ nop
+ nop
+.Lfunc_end1:
+
+.section .debug_abbrev,"",@progbits
+.byte 1 # Abbreviation Code
+.byte 17 # DW_TAG_compile_unit
+.byte 0 # DW_CHILDREN_no
+.byte 37 # DW_AT_producer
+.byte 14 # DW_FORM_strp
+.byte 19 # DW_AT_language
+.byte 5 # DW_FORM_data2
+.byte 3 # DW_AT_name
+.byte 14 # DW_FORM_strp
+.byte 16 # DW_AT_stmt_list
+.byte 23 # DW_FORM_sec_offset
+.byte 27 # DW_AT_comp_dir
+.byte 14 # DW_FORM_strp
+.byte 17 # DW_AT_low_pc
+.byte 1 # DW_FORM_addr
+.byte 85 # DW_AT_ranges
+.byte 23 # DW_FORM_sec_offset
+.byte 0 # EOM(1)
+.byte 0 # EOM(2)
+.byte 0 # EOM(3)
+
+.section .debug_info,"",@progbits
+.Lcu_begin0:
+.long 38 # Length of Unit
+.short 4 # DWARF version number
+.long .debug_abbrev # Offset Into Abbrev. Section
+.byte 8 # Address Size (in bytes)
+.byte 1 # Abbrev [1] 0xb:0x1f DW_TAG_compile_unit
+.long 0 # DW_AT_producer
+.short 4 # DW_AT_language
+.long 0 # DW_AT_name
+.long 0 # DW_AT_stmt_list
+.long 0 # DW_AT_comp_dir
+.quad 0 # DW_AT_low_pc
+.long .Ldebug_ranges0 # DW_AT_ranges
+
+.section .debug_ranges,"",@progbits
+.Ldebug_ranges0:
+.quad .Lfunc_begin0
+.quad .Lfunc_end0
+.quad .Lfunc_begin1
+.quad .Lfunc_end1
+.quad 0
+.quad 0
diff --git a/test/DebugInfo/X86/empty.ll b/test/DebugInfo/X86/empty.ll
index e156e3bbe5e2..774b908adb30 100644
--- a/test/DebugInfo/X86/empty.ll
+++ b/test/DebugInfo/X86/empty.ll
@@ -1,5 +1,5 @@
; RUN: llc -mtriple i686-pc-cygwin < %s -filetype=obj | llvm-dwarfdump - | FileCheck %s
-; RUN: llc -mtriple i686-pc-cygwin -split-dwarf=Enable < %s -filetype=obj | llvm-dwarfdump - | FileCheck --check-prefix=FISSION %s
+; RUN: llc -mtriple i686-pc-cygwin -split-dwarf-file=foo.dwo < %s -filetype=obj | llvm-dwarfdump - | FileCheck --check-prefix=FISSION %s
; Expect no line table entry since there are no functions and file references in this compile unit
; CHECK: .debug_line contents:
diff --git a/test/DebugInfo/X86/fission-cu.ll b/test/DebugInfo/X86/fission-cu.ll
index 1ca2372fbadd..51f4584a2826 100644
--- a/test/DebugInfo/X86/fission-cu.ll
+++ b/test/DebugInfo/X86/fission-cu.ll
@@ -1,4 +1,4 @@
-; RUN: llc -split-dwarf=Enable -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
+; RUN: llc -split-dwarf-file=baz.dwo -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
; RUN: llvm-dwarfdump -debug-dump=all %t | FileCheck %s
; RUN: llvm-readobj --relocations %t | FileCheck --check-prefix=OBJ %s
; RUN: llvm-objdump -h %t | FileCheck --check-prefix=HDR %s
diff --git a/test/DebugInfo/X86/fission-hash.ll b/test/DebugInfo/X86/fission-hash.ll
index 7273e4c675c5..1a5fba293175 100644
--- a/test/DebugInfo/X86/fission-hash.ll
+++ b/test/DebugInfo/X86/fission-hash.ll
@@ -1,4 +1,4 @@
-; RUN: llc -split-dwarf=Enable -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
+; RUN: llc -split-dwarf-file=foo.dwo -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
; RUN: llvm-dwarfdump -debug-dump=all %t | FileCheck %s
; The source is an empty file.
diff --git a/test/DebugInfo/X86/fission-inline.ll b/test/DebugInfo/X86/fission-inline.ll
index 85c594c118a2..45e0127294d1 100644
--- a/test/DebugInfo/X86/fission-inline.ll
+++ b/test/DebugInfo/X86/fission-inline.ll
@@ -1,4 +1,4 @@
-; RUN: llc -split-dwarf=Enable -O0 < %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj > %t
+; RUN: llc -split-dwarf-file=foo.dwo -O0 < %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj > %t
; RUN: llvm-dwarfdump -debug-dump=info %t | FileCheck %s
; RUN: llvm-objdump -r %t | FileCheck --check-prefix=RELOCS %s
diff --git a/test/DebugInfo/X86/fission-no-inlining.ll b/test/DebugInfo/X86/fission-no-inlining.ll
index 3f1e087f9ba8..5a80d61b5a42 100644
--- a/test/DebugInfo/X86/fission-no-inlining.ll
+++ b/test/DebugInfo/X86/fission-no-inlining.ll
@@ -1,4 +1,4 @@
-; RUN: llc -split-dwarf=Enable -O0 < %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj | llvm-dwarfdump -debug-dump=info - | FileCheck %s
+; RUN: llc -split-dwarf-file=foo.dwo -O0 < %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj | llvm-dwarfdump -debug-dump=info - | FileCheck %s
; CHECK-NOT: DW_TAG_subprogram
diff --git a/test/DebugInfo/X86/fission-ranges.ll b/test/DebugInfo/X86/fission-ranges.ll
index 60d0f1777a43..bd3b8526b888 100644
--- a/test/DebugInfo/X86/fission-ranges.ll
+++ b/test/DebugInfo/X86/fission-ranges.ll
@@ -1,4 +1,4 @@
-; RUN: llc -split-dwarf=Enable -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
+; RUN: llc -split-dwarf-file=foo.dwo -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
; RUN: llvm-dwarfdump %t | FileCheck %s
; RUN: llvm-objdump -h %t | FileCheck --check-prefix=HDR %s
diff --git a/test/DebugInfo/X86/generate-odr-hash.ll b/test/DebugInfo/X86/generate-odr-hash.ll
index 7b3a291f5665..e9303e6a2658 100644
--- a/test/DebugInfo/X86/generate-odr-hash.ll
+++ b/test/DebugInfo/X86/generate-odr-hash.ll
@@ -4,7 +4,7 @@
; RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=SINGLE %s
; RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=OBJ_SINGLE %s
-; RUN: llc < %s -split-dwarf=Enable -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu
+; RUN: llc < %s -split-dwarf-file=foo.dwo -o %t -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu
; RUN: llvm-dwarfdump %t | FileCheck --check-prefix=CHECK --check-prefix=FISSION %s
; RUN: llvm-readobj -s -t %t | FileCheck --check-prefix=OBJ_FISSION %s
diff --git a/test/DebugInfo/X86/op_deref.ll b/test/DebugInfo/X86/op_deref.ll
index bfec43757d1d..2d375352f6f7 100644
--- a/test/DebugInfo/X86/op_deref.ll
+++ b/test/DebugInfo/X86/op_deref.ll
@@ -20,7 +20,7 @@
; right now, so we check the asm output:
; RUN: llc -O0 -mtriple=x86_64-apple-darwin %s -o - -filetype=asm | FileCheck %s -check-prefix=ASM-CHECK
; vla should have a register-indirect address at one point.
-; ASM-CHECK: DEBUG_VALUE: vla <- [%RCX+0]
+; ASM-CHECK: DEBUG_VALUE: vla <- [DW_OP_deref] [%RCX+0]
; ASM-CHECK: DW_OP_breg2
; RUN: llvm-as %s -o - | llvm-dis - | FileCheck %s --check-prefix=PRETTY-PRINT
diff --git a/test/DebugInfo/X86/pieces-4.ll b/test/DebugInfo/X86/pieces-4.ll
index 124463691e19..121cb7c425c6 100644
--- a/test/DebugInfo/X86/pieces-4.ll
+++ b/test/DebugInfo/X86/pieces-4.ll
@@ -15,8 +15,8 @@
; CHECK-LABEL: bitpiece_spill: # @bitpiece_spill
; CHECK: callq g
; CHECK: movl %eax, [[offs:[0-9]+]](%rsp) # 4-byte Spill
-; CHECK: #DEBUG_VALUE: bitpiece_spill:o [fragment offset=32 size=32] <- 0
-; CHECK: #DEBUG_VALUE: bitpiece_spill:o [fragment offset=0 size=32] <- [%RSP+[[offs]]]
+; CHECK: #DEBUG_VALUE: bitpiece_spill:o <- [DW_OP_LLVM_fragment 32 32] 0
+; CHECK: #DEBUG_VALUE: bitpiece_spill:o <- [DW_OP_LLVM_fragment 0 32] [%RSP+[[offs]]]
; CHECK: #APP
; CHECK: #NO_APP
; CHECK: movl [[offs]](%rsp), %eax # 4-byte Reload
diff --git a/test/DebugInfo/X86/split-dwarf-cross-unit-reference.ll b/test/DebugInfo/X86/split-dwarf-cross-unit-reference.ll
new file mode 100644
index 000000000000..c6f0afa27937
--- /dev/null
+++ b/test/DebugInfo/X86/split-dwarf-cross-unit-reference.ll
@@ -0,0 +1,46 @@
+; RUN: llc -mtriple=x86_64-linux -split-dwarf-file=foo.dwo -filetype=obj -o - < %s | llvm-objdump -r - | FileCheck %s
+
+; CHECK-NOT: .rel{{a?}}.debug_info.dwo
+; CHECK: RELOCATION RECORDS FOR [.rel{{a?}}.debug_info]:
+; CHECK-NOT: RELOCATION RECORDS
+; Expect one relocation in debug_info, between f3 and f1.
+; CHECK: R_X86_64_32 .debug_info
+; CHECK-NOT: .debug_info
+; CHECK: RELOCATION RECORDS
+; CHECK-NOT: .rel{{a?}}.debug_info.dwo
+
+
+; Function Attrs: noinline nounwind optnone uwtable
+define void @_Z2f1v() !dbg !7 {
+entry:
+ ret void, !dbg !10
+}
+
+; Function Attrs: noinline uwtable
+define void @_Z2f3v() !dbg !13 {
+entry:
+ call void @_Z2f1v(), !dbg !14
+ ret void, !dbg !16
+}
+
+!llvm.dbg.cu = !{!0, !3}
+!llvm.ident = !{!5, !5}
+!llvm.module.flags = !{!6}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 5.0.0 (trunk 301051) (llvm/trunk 301062)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
+!1 = !DIFile(filename: "a.cpp", directory: "/usr/local/google/home/blaikie/dev/scratch")
+!2 = !{}
+!3 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !4, producer: "clang version 5.0.0 (trunk 301051) (llvm/trunk 301062)", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
+!4 = !DIFile(filename: "b.cpp", directory: "/usr/local/google/home/blaikie/dev/scratch")
+!5 = !{!"clang version 5.0.0 (trunk 301051) (llvm/trunk 301062)"}
+!6 = !{i32 2, !"Debug Info Version", i32 3}
+!7 = distinct !DISubprogram(name: "f1", linkageName: "_Z2f1v", scope: !1, file: !1, line: 1, type: !8, isLocal: false, isDefinition: true, scopeLine: 1, flags: DIFlagPrototyped, isOptimized: false, unit: !0, variables: !2)
+!8 = !DISubroutineType(types: !9)
+!9 = !{null}
+!10 = !DILocation(line: 1, scope: !7)
+!11 = distinct !DISubprogram(name: "f2", linkageName: "_Z2f2v", scope: !1, file: !1, line: 1, type: !8, isLocal: false, isDefinition: true, scopeLine: 1, flags: DIFlagPrototyped, isOptimized: false, unit: !0, variables: !2)
+!12 = !DILocation(line: 1, scope: !11)
+!13 = distinct !DISubprogram(name: "f3", linkageName: "_Z2f3v", scope: !4, file: !4, line: 1, type: !8, isLocal: false, isDefinition: true, scopeLine: 1, flags: DIFlagPrototyped, isOptimized: false, unit: !3, variables: !2)
+!14 = !DILocation(line: 1, scope: !11, inlinedAt: !15)
+!15 = distinct !DILocation(line: 1, scope: !13)
+!16 = !DILocation(line: 1, scope: !13)
diff --git a/test/DebugInfo/X86/sret.ll b/test/DebugInfo/X86/sret.ll
index c4bb005a3668..152a1b9bfd94 100644
--- a/test/DebugInfo/X86/sret.ll
+++ b/test/DebugInfo/X86/sret.ll
@@ -1,4 +1,4 @@
-; RUN: llc -split-dwarf=Enable -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
+; RUN: llc -split-dwarf-file=foo.dwo -O0 %s -mtriple=x86_64-unknown-linux-gnu -filetype=obj -o %t
; RUN: llvm-dwarfdump -debug-dump=all %t | FileCheck %s --check-prefix=CHECK-DWO
; Based on the debuginfo-tests/sret.cpp code.
diff --git a/test/DebugInfo/X86/stack-value-dwarf2.ll b/test/DebugInfo/X86/stack-value-dwarf2.ll
new file mode 100644
index 000000000000..61595f7861fe
--- /dev/null
+++ b/test/DebugInfo/X86/stack-value-dwarf2.ll
@@ -0,0 +1,96 @@
+; RUN: llc -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
+; Note that it would be even better to avoid emitting the empty piece.
+; CHECK: Location description: 93 08
+; piece 0x00000008
+source_filename = "bugpoint-reduced-simplified.ll"
+target triple = "i386-apple-ios7.0.0"
+
+%class.K = type { %class.N, %struct.F, i32 }
+%class.N = type { %struct.B }
+%struct.B = type { i8 }
+%struct.F = type { i8 }
+%struct.ConditionPlatformHelper = type { i8 }
+%"struct.J<K::L, false, int>::Node" = type { %"class.K::L" }
+%"class.K::L" = type { %class.__thread_id }
+%class.__thread_id = type { i32 }
+%"struct.K::M" = type { %class.I, %class.H }
+%class.I = type { i32 }
+%class.H = type { i32 }
+
+; Function Attrs: nounwind
+define void @_Z34swift_getGenericMetadata_argumentsv() #0 !dbg !5 {
+entry:
+ %ref.tmp = alloca %class.K, align 8
+ %0 = getelementptr inbounds %class.K, %class.K* %ref.tmp, i32 0, i32 0, i32 0, i32 0
+ %call = tail call i64 @_Z8getCacheP23ConditionPlatformHelper(%struct.ConditionPlatformHelper* undef)
+ %1 = bitcast %class.K* %ref.tmp to i64*
+ %LastSearch.i.i = getelementptr inbounds %class.K, %class.K* %ref.tmp, i32 0, i32 0, i32 0
+ %call.i.i = call %"struct.J<K::L, false, int>::Node"* @_ZN1BIPN1JIN1K1LELb0EiE4NodeEE4loadEv(%struct.B* nonnull %LastSearch.i.i)
+ %tobool.i.i = icmp eq %"struct.J<K::L, false, int>::Node"* %call.i.i, null
+ br i1 %tobool.i.i, label %_ZN1NIN1K1LELi0EE11getOrInsertIiEE1AIPS1_ET_.exit.i, label %if.then.i.i
+
+if.then.i.i:
+ %2 = lshr i64 %call, 32
+ %3 = trunc i64 %2 to i32
+ %Payload.i.i = getelementptr inbounds %"struct.J<K::L, false, int>::Node", %"struct.J<K::L, false, int>::Node"* %call.i.i, i32 0, i32 0
+ br label %_ZN1NIN1K1LELi0EE11getOrInsertIiEE1AIPS1_ET_.exit.i
+
+_ZN1NIN1K1LELi0EE11getOrInsertIiEE1AIPS1_ET_.exit.i: ; preds = %if.then.i.i, %entry
+ %retval.sroa.0.0.i.i = phi %"class.K::L"* [ %Payload.i.i, %if.then.i.i ], [ undef, %entry ]
+ %call4.i = call %"struct.K::M"* @_ZN1FIN1K1MEE3getEv(%struct.F* undef)
+ call void @llvm.dbg.value(metadata %"struct.K::M"* %call4.i, i64 0, metadata !7, metadata !11), !dbg !12
+ call void @llvm.dbg.value(metadata %"struct.K::M"* %call4.i, i64 0, metadata !7, metadata !18), !dbg !12
+ %Handle2.i.i.i.i.i = getelementptr inbounds %"struct.K::M", %"struct.K::M"* %call4.i, i32 0, i32 0, i32 0
+ %Handle.i.i.i.i.i = getelementptr inbounds %"struct.K::M", %"struct.K::M"* %call4.i, i32 0, i32 1, i32 0
+ %4 = getelementptr inbounds %"class.K::L", %"class.K::L"* %retval.sroa.0.0.i.i, i32 0, i32 0, i32 0
+ br label %while.body.i.i.i.i
+
+while.body.i.i.i.i:
+ %5 = load i32, i32* %4, align 4
+ %call.i.i.i.i.i.i = call i32 @_Z6get_idv(), !dbg !12
+ %call.i.i.i.i.i.i.i = call zeroext i1 @_Z24__libcpp_thread_id_equalii(i32 %5, i32 %call.i.i.i.i.i.i)
+ %6 = load i32, i32* %Handle2.i.i.i.i.i, align 4
+ call void @_ZN23ConditionPlatformHelper4waitERii(i32* nonnull dereferenceable(4) %Handle.i.i.i.i.i, i32 %6)
+ br label %while.body.i.i.i.i
+}
+
+declare i64 @_Z8getCacheP23ConditionPlatformHelper(%struct.ConditionPlatformHelper*) local_unnamed_addr
+
+declare %"struct.K::M"* @_ZN1FIN1K1MEE3getEv(%struct.F*) local_unnamed_addr
+
+declare %"struct.J<K::L, false, int>::Node"* @_ZN1BIPN1JIN1K1LELb0EiE4NodeEE4loadEv(%struct.B*) local_unnamed_addr
+
+declare i32 @_Z6get_idv() local_unnamed_addr
+
+declare zeroext i1 @_Z24__libcpp_thread_id_equalii(i32, i32) local_unnamed_addr
+
+declare void @_ZN23ConditionPlatformHelper4waitERii(i32* dereferenceable(4), i32) local_unnamed_addr
+
+; Function Attrs: nounwind readnone
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
+
+attributes #0 = { nounwind "no-frame-pointer-elim-non-leaf" }
+attributes #1 = { nounwind readnone }
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!3, !4}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
+!1 = !DIFile(filename: "test.ii", directory: "/")
+!2 = !{}
+!3 = !{i32 2, !"Dwarf Version", i32 2}
+!4 = !{i32 2, !"Debug Info Version", i32 3}
+!5 = distinct !DISubprogram(name: "swift_getGenericMetadata_arguments", linkageName: "_Z34swift_getGenericMetadata_argumentsv", scope: !0, file: !1, line: 95, type: !6, isLocal: false, isDefinition: true, scopeLine: 95, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)
+!6 = !DISubroutineType(types: !2)
+!7 = !DILocalVariable(name: "criticalSection", arg: 2, scope: !8, file: !1, line: 23, type: !10)
+!8 = distinct !DISubprogram(name: "<(lambda at test.ii:28:14)>", scope: !0, file: !1, line: 23, type: !6, isLocal: false, isDefinition: true, scopeLine: 23, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !2, declaration: !9, variables: !2)
+!9 = !DISubprogram(name: "<(lambda at test.ii:28:14)>", scope: !0, file: !1, line: 23, type: !6, isLocal: false, isDefinition: false, scopeLine: 23, flags: DIFlagPublic | DIFlagPrototyped, isOptimized: true, templateParams: !2)
+!10 = distinct !DICompositeType(tag: DW_TAG_class_type, scope: !0, file: !1, line: 28, size: 96, elements: !2)
+!11 = !DIExpression(DW_OP_stack_value, DW_OP_LLVM_fragment, 0, 32)
+!12 = !DILocation(line: 23, column: 33, scope: !8, inlinedAt: !13)
+!13 = distinct !DILocation(line: 28, column: 5, scope: !14, inlinedAt: !16)
+!14 = distinct !DISubprogram(name: "<(lambda at test.ii:87:58)>", scope: !0, file: !1, line: 27, type: !6, isLocal: false, isDefinition: true, scopeLine: 27, flags: DIFlagPrototyped, isOptimized: true, unit: !0, templateParams: !2, declaration: !15, variables: !2)
+!15 = !DISubprogram(name: "<(lambda at test.ii:87:58)>", scope: !0, file: !1, line: 27, type: !6, isLocal: false, isDefinition: false, scopeLine: 27, flags: DIFlagPublic | DIFlagPrototyped, isOptimized: true, templateParams: !2)
+!16 = distinct !DILocation(line: 99, column: 21, scope: !17)
+!17 = !DILexicalBlockFile(scope: !5, file: !1, discriminator: 2)
+!18 = !DIExpression(DW_OP_plus, 4, DW_OP_stack_value, DW_OP_LLVM_fragment, 64, 32)
diff --git a/test/DebugInfo/X86/this-stack_value.ll b/test/DebugInfo/X86/this-stack_value.ll
new file mode 100644
index 000000000000..c292b67543d1
--- /dev/null
+++ b/test/DebugInfo/X86/this-stack_value.ll
@@ -0,0 +1,123 @@
+; RUN: llc -filetype=asm -o - %s | FileCheck %s --check-prefix=ASM
+; RUN: llc -filetype=obj -o - %s | llvm-dwarfdump - | FileCheck %s
+;
+; Generated at -O2 from:
+; struct B;
+; class A {
+; int a1 = 23;
+; int a2 = 42;
+; };
+; struct B {
+; A a;
+; int b = 48;
+; };
+;
+; B *getB() { return new B(); }
+;
+; The inlined A::this pointer has the same location as B::this, but it may not be
+; modified by the debugger.
+;
+; ASM: [DW_OP_stack_value]
+; CHECK: Location description: 70 00 9f
+; rax+0, stack-value
+source_filename = "ab.cpp"
+target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.12.0"
+
+%struct.B = type { %class.A, i32 }
+%class.A = type { i32, i32 }
+
+; Function Attrs: ssp uwtable
+define noalias nonnull %struct.B* @_Z4getBv() local_unnamed_addr #0 !dbg !7 {
+entry:
+ %call = tail call i8* @_Znwm(i64 12) #3, !dbg !20
+ %0 = bitcast i8* %call to %struct.B*, !dbg !20
+ tail call void @llvm.dbg.value(metadata %struct.B* %0, i64 0, metadata !21, metadata !28), !dbg !29
+ tail call void @llvm.dbg.value(metadata %struct.B* %0, i64 0, metadata !31, metadata !28), !dbg !34
+ tail call void @llvm.dbg.value(metadata %struct.B* %0, i64 0, metadata !36, metadata !44), !dbg !45
+ tail call void @llvm.dbg.value(metadata %struct.B* %0, i64 0, metadata !47, metadata !44), !dbg !50
+ %a1.i.i.i.i = bitcast i8* %call to i32*, !dbg !52
+ store i32 23, i32* %a1.i.i.i.i, align 4, !dbg !52, !tbaa !53
+ %a2.i.i.i.i = getelementptr inbounds i8, i8* %call, i64 4, !dbg !58
+ %1 = bitcast i8* %a2.i.i.i.i to i32*, !dbg !58
+ store i32 42, i32* %1, align 4, !dbg !58, !tbaa !59
+ %b.i.i = getelementptr inbounds i8, i8* %call, i64 8, !dbg !60
+ %2 = bitcast i8* %b.i.i to i32*, !dbg !60
+ store i32 48, i32* %2, align 4, !dbg !60, !tbaa !61
+ ret %struct.B* %0, !dbg !63
+}
+
+declare noalias nonnull i8* @_Znwm(i64) local_unnamed_addr #1
+declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #2
+
+attributes #0 = { ssp uwtable }
+attributes #1 = { nobuiltin }
+attributes #2 = { nounwind readnone }
+attributes #3 = { builtin }
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!3, !4, !5}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "clang version 5.0.0 (trunk 301093) (llvm/trunk 301093)", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
+!1 = !DIFile(filename: "ab.cpp", directory: "/")
+!2 = !{}
+!3 = !{i32 2, !"Dwarf Version", i32 4}
+!4 = !{i32 2, !"Debug Info Version", i32 3}
+!5 = !{i32 1, !"PIC Level", i32 2}
+!7 = distinct !DISubprogram(name: "getB", linkageName: "_Z4getBv", scope: !1, file: !1, line: 11, type: !8, isLocal: false, isDefinition: true, scopeLine: 11, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)
+!8 = !DISubroutineType(types: !9)
+!9 = !{!10}
+!10 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !11, size: 64)
+!11 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "B", file: !1, line: 6, size: 96, elements: !12, identifier: "_ZTS1B")
+!12 = !{!13, !19}
+!13 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !11, file: !1, line: 7, baseType: !14, size: 64)
+!14 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "A", file: !1, line: 2, size: 64, elements: !15, identifier: "_ZTS1A")
+!15 = !{!16, !18}
+!16 = !DIDerivedType(tag: DW_TAG_member, name: "a1", scope: !14, file: !1, line: 3, baseType: !17, size: 32)
+!17 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
+!18 = !DIDerivedType(tag: DW_TAG_member, name: "a2", scope: !14, file: !1, line: 4, baseType: !17, size: 32, offset: 32)
+!19 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !11, file: !1, line: 8, baseType: !17, size: 32, offset: 64)
+!20 = !DILocation(line: 11, column: 20, scope: !7)
+!21 = !DILocalVariable(name: "this", arg: 1, scope: !22, type: !10, flags: DIFlagArtificial | DIFlagObjectPointer)
+!22 = distinct !DISubprogram(name: "B", linkageName: "_ZN1BC1Ev", scope: !11, file: !1, line: 6, type: !23, isLocal: false, isDefinition: true, scopeLine: 6, flags: DIFlagArtificial | DIFlagPrototyped, isOptimized: true, unit: !0, declaration: !26, variables: !27)
+!23 = !DISubroutineType(types: !24)
+!24 = !{null, !25}
+!25 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !11, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
+!26 = !DISubprogram(name: "B", scope: !11, type: !23, isLocal: false, isDefinition: false, flags: DIFlagArtificial | DIFlagPrototyped, isOptimized: true)
+!27 = !{!21}
+!28 = !DIExpression()
+!29 = !DILocation(line: 0, scope: !22, inlinedAt: !30)
+!30 = distinct !DILocation(line: 11, column: 24, scope: !7)
+!31 = !DILocalVariable(name: "this", arg: 1, scope: !32, type: !10, flags: DIFlagArtificial | DIFlagObjectPointer)
+!32 = distinct !DISubprogram(name: "B", linkageName: "_ZN1BC2Ev", scope: !11, file: !1, line: 6, type: !23, isLocal: false, isDefinition: true, scopeLine: 6, flags: DIFlagArtificial | DIFlagPrototyped, isOptimized: true, unit: !0, declaration: !26, variables: !33)
+!33 = !{!31}
+!34 = !DILocation(line: 0, scope: !32, inlinedAt: !35)
+!35 = distinct !DILocation(line: 6, column: 8, scope: !22, inlinedAt: !30)
+!36 = !DILocalVariable(name: "this", arg: 1, scope: !37, type: !43, flags: DIFlagArtificial | DIFlagObjectPointer)
+!37 = distinct !DISubprogram(name: "A", linkageName: "_ZN1AC1Ev", scope: !14, file: !1, line: 2, type: !38, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagArtificial | DIFlagPrototyped, isOptimized: true, unit: !0, declaration: !41, variables: !42)
+!38 = !DISubroutineType(types: !39)
+!39 = !{null, !40}
+!40 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !14, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
+!41 = !DISubprogram(name: "A", scope: !14, type: !38, isLocal: false, isDefinition: false, flags: DIFlagPublic | DIFlagArtificial | DIFlagPrototyped, isOptimized: true)
+!42 = !{!36}
+!43 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !14, size: 64)
+!44 = !DIExpression(DW_OP_stack_value)
+!45 = !DILocation(line: 0, scope: !37, inlinedAt: !46)
+!46 = distinct !DILocation(line: 6, column: 8, scope: !32, inlinedAt: !35)
+!47 = !DILocalVariable(name: "this", arg: 1, scope: !48, type: !43, flags: DIFlagArtificial | DIFlagObjectPointer)
+!48 = distinct !DISubprogram(name: "A", linkageName: "_ZN1AC2Ev", scope: !14, file: !1, line: 2, type: !38, isLocal: false, isDefinition: true, scopeLine: 2, flags: DIFlagArtificial | DIFlagPrototyped, isOptimized: true, unit: !0, declaration: !41, variables: !49)
+!49 = !{!47}
+!50 = !DILocation(line: 0, scope: !48, inlinedAt: !51)
+!51 = distinct !DILocation(line: 2, column: 7, scope: !37, inlinedAt: !46)
+!52 = !DILocation(line: 3, column: 7, scope: !48, inlinedAt: !51)
+!53 = !{!54, !55, i64 0}
+!54 = !{!"_ZTS1A", !55, i64 0, !55, i64 4}
+!55 = !{!"int", !56, i64 0}
+!56 = !{!"omnipotent char", !57, i64 0}
+!57 = !{!"Simple C++ TBAA"}
+!58 = !DILocation(line: 4, column: 7, scope: !48, inlinedAt: !51)
+!59 = !{!54, !55, i64 4}
+!60 = !DILocation(line: 8, column: 7, scope: !32, inlinedAt: !35)
+!61 = !{!62, !55, i64 8}
+!62 = !{!"_ZTS1B", !54, i64 0, !55, i64 8}
+!63 = !DILocation(line: 11, column: 13, scope: !7)
diff --git a/test/DebugInfo/X86/tls.ll b/test/DebugInfo/X86/tls.ll
index b6ea213dd748..78b45e568a73 100644
--- a/test/DebugInfo/X86/tls.ll
+++ b/test/DebugInfo/X86/tls.ll
@@ -4,7 +4,7 @@
; RUN: llc %s -o - -filetype=asm -O0 -mtriple=i386-linux-gnu \
; RUN: | FileCheck --check-prefix=NOEMU --check-prefix=SINGLE --check-prefix=SINGLE-32 --check-prefix=GNUOP %s
-; RUN: llc %s -o - -filetype=asm -O0 -mtriple=x86_64-unknown-linux-gnu -split-dwarf=Enable \
+; RUN: llc %s -o - -filetype=asm -O0 -mtriple=x86_64-unknown-linux-gnu -split-dwarf-file=foo.dwo \
; RUN: | FileCheck --check-prefix=NOEMU --check-prefix=FISSION --check-prefix=GNUOP %s
; RUN: llc %s -o - -filetype=asm -O0 -mtriple=x86_64-scei-ps4 \
diff --git a/test/DebugInfo/X86/type_units_with_addresses.ll b/test/DebugInfo/X86/type_units_with_addresses.ll
index 4816ce3ac69f..e93ed699ac54 100644
--- a/test/DebugInfo/X86/type_units_with_addresses.ll
+++ b/test/DebugInfo/X86/type_units_with_addresses.ll
@@ -1,9 +1,9 @@
; REQUIRES: object-emission
-; RUN: llc -split-dwarf=Enable -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu < %s \
+; RUN: llc -split-dwarf-file=foo.dwo -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu < %s \
; RUN: | llvm-dwarfdump - | FileCheck %s
-; RUN: llc -split-dwarf=Disable -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu < %s \
+; RUN: llc -filetype=obj -O0 -generate-type-units -mtriple=x86_64-unknown-linux-gnu < %s \
; RUN: | llvm-dwarfdump - | FileCheck --check-prefix=SINGLE %s
; Test case built from:
diff --git a/test/DebugInfo/X86/vla.ll b/test/DebugInfo/X86/vla.ll
index 1c72519ccb8d..17f1c48b6ebb 100644
--- a/test/DebugInfo/X86/vla.ll
+++ b/test/DebugInfo/X86/vla.ll
@@ -1,6 +1,6 @@
; RUN: llc -O0 -mtriple=x86_64-apple-darwin -filetype=asm %s -o - | FileCheck %s
; Ensure that we generate an indirect location for the variable length array a.
-; CHECK: ##DEBUG_VALUE: vla:a <- [%RCX+0]
+; CHECK: ##DEBUG_VALUE: vla:a <- [DW_OP_deref] [%RCX+0]
; CHECK: DW_OP_breg2
; rdar://problem/13658587
;
diff --git a/test/Instrumentation/AddressSanitizer/global_metadata_array.ll b/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
new file mode 100644
index 000000000000..8b70fa298801
--- /dev/null
+++ b/test/Instrumentation/AddressSanitizer/global_metadata_array.ll
@@ -0,0 +1,68 @@
+; RUN: opt < %s -asan -asan-module -asan-globals-live-support=0 -mtriple=x86_64-unknown-linux-gnu -S | FileCheck %s
+; RUN: opt < %s -asan -asan-module -asan-globals-live-support=0 -mtriple=x86_64-apple-macosx10.11.0 -S | FileCheck %s
+; RUN: opt < %s -asan -asan-module -asan-globals-live-support=0 -mtriple=x86_64-pc-windows-msvc19.0.24215 -S | FileCheck %s
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+
+; Globals:
+@global = global i32 0, align 4
+@dyn_init_global = global i32 0, align 4
+@blacklisted_global = global i32 0, align 4
+@_ZZ4funcvE10static_var = internal global i32 0, align 4
+@.str = private unnamed_addr constant [14 x i8] c"Hello, world!\00", align 1
+@llvm.global_ctors = appending global [1 x { i32, void ()*, i8* }] [{ i32, void ()*, i8* } { i32 65535, void ()* @_GLOBAL__sub_I_asan_globals.cpp, i8* null }]
+
+; Check that globals were instrumented:
+; CHECK: @global = global { i32, [60 x i8] } zeroinitializer, align 32
+; CHECK: @.str = internal unnamed_addr constant { [14 x i8], [50 x i8] } { [14 x i8] c"Hello, world!\00", [50 x i8] zeroinitializer }{{.*}}, align 32
+
+; Check emitted location descriptions:
+; CHECK: [[VARNAME:@__asan_gen_.[0-9]+]] = private unnamed_addr constant [7 x i8] c"global\00", align 1
+; CHECK: [[FILENAME:@__asan_gen_.[0-9]+]] = private unnamed_addr constant [22 x i8] c"/tmp/asan-globals.cpp\00", align 1
+; CHECK: [[LOCDESCR:@__asan_gen_.[0-9]+]] = private unnamed_addr constant { [22 x i8]*, i32, i32 } { [22 x i8]* [[FILENAME]], i32 5, i32 5 }
+
+; Check that location descriptors and global names were passed into __asan_register_globals:
+; CHECK: i64 ptrtoint ([7 x i8]* [[VARNAME]] to i64)
+; CHECK: i64 ptrtoint ({ [22 x i8]*, i32, i32 }* [[LOCDESCR]] to i64)
+
+; Function Attrs: nounwind sanitize_address
+define internal void @__cxx_global_var_init() #0 section ".text.startup" {
+entry:
+ %0 = load i32, i32* @global, align 4
+ store i32 %0, i32* @dyn_init_global, align 4
+ ret void
+}
+
+; Function Attrs: nounwind sanitize_address
+define void @_Z4funcv() #1 {
+entry:
+ %literal = alloca i8*, align 8
+ store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str, i32 0, i32 0), i8** %literal, align 8
+ ret void
+}
+
+; Function Attrs: nounwind sanitize_address
+define internal void @_GLOBAL__sub_I_asan_globals.cpp() #0 section ".text.startup" {
+entry:
+ call void @__cxx_global_var_init()
+ ret void
+}
+
+attributes #0 = { nounwind sanitize_address }
+attributes #1 = { nounwind sanitize_address "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-realign-stack" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="false" }
+
+!llvm.asan.globals = !{!0, !1, !2, !3, !4}
+!llvm.ident = !{!5}
+
+!0 = !{i32* @global, !6, !"global", i1 false, i1 false}
+!1 = !{i32* @dyn_init_global, !7, !"dyn_init_global", i1 true, i1 false}
+!2 = !{i32* @blacklisted_global, null, null, i1 false, i1 true}
+!3 = !{i32* @_ZZ4funcvE10static_var, !8, !"static_var", i1 false, i1 false}
+!4 = !{[14 x i8]* @.str, !9, !"<string literal>", i1 false, i1 false}
+
+!5 = !{!"clang version 3.5.0 (211282)"}
+
+!6 = !{!"/tmp/asan-globals.cpp", i32 5, i32 5}
+!7 = !{!"/tmp/asan-globals.cpp", i32 7, i32 5}
+!8 = !{!"/tmp/asan-globals.cpp", i32 12, i32 14}
+!9 = !{!"/tmp/asan-globals.cpp", i32 14, i32 25}
diff --git a/test/LTO/Resolution/X86/Inputs/mod-asm-used.ll b/test/LTO/Resolution/X86/Inputs/mod-asm-used.ll
new file mode 100644
index 000000000000..3b1988bb54d0
--- /dev/null
+++ b/test/LTO/Resolution/X86/Inputs/mod-asm-used.ll
@@ -0,0 +1,4 @@
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+@foo = global i32 1, align 4
diff --git a/test/LTO/Resolution/X86/mod-asm-used.ll b/test/LTO/Resolution/X86/mod-asm-used.ll
new file mode 100644
index 000000000000..01befca84d05
--- /dev/null
+++ b/test/LTO/Resolution/X86/mod-asm-used.ll
@@ -0,0 +1,10 @@
+; RUN: opt -module-summary -o %t.bc %s
+; RUN: opt -module-summary -o %t2.bc %S/Inputs/mod-asm-used.ll
+; RUN: llvm-lto2 run %t.bc -r %t.bc,foo,l %t2.bc -r %t2.bc,foo,pl -o %t3
+; RUN: llvm-nm %t3.1 | FileCheck %s
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-linux-gnu"
+
+; CHECK: D foo
+module asm ".quad foo"
diff --git a/test/MC/AArch64/basic-a64-diagnostics.s b/test/MC/AArch64/basic-a64-diagnostics.s
index d37c0d5aba2a..ab3e50e374e7 100644
--- a/test/MC/AArch64/basic-a64-diagnostics.s
+++ b/test/MC/AArch64/basic-a64-diagnostics.s
@@ -3273,29 +3273,41 @@
dsb #-1
dsb #16
+ dsb foo
dmb #-1
dmb #16
+ dmb foo
// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
// CHECK-ERROR-NEXT: dsb #-1
// CHECK-ERROR-NEXT: ^
// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
// CHECK-ERROR-NEXT: dsb #16
// CHECK-ERROR-NEXT: ^
+// CHECK-ERROR-NEXT: error: invalid barrier option name
+// CHECK-ERROR-NEXT: dsb foo
+// CHECK-ERROR-NEXT: ^
// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
// CHECK-ERROR-NEXT: dmb #-1
// CHECK-ERROR-NEXT: ^
// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
// CHECK-ERROR-NEXT: dmb #16
// CHECK-ERROR-NEXT: ^
+// CHECK-ERROR-NEXT: error: invalid barrier option name
+// CHECK-ERROR-NEXT: dmb foo
+// CHECK-ERROR-NEXT: ^
isb #-1
isb #16
+ isb foo
// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
// CHECK-ERROR-NEXT: isb #-1
// CHECK-ERROR-NEXT: ^
// CHECK-ERROR-NEXT: error: {{Invalid immediate for instruction|barrier operand out of range}}
// CHECK-ERROR-NEXT: isb #16
// CHECK-ERROR-NEXT: ^
+// CHECK-ERROR-NEXT: error: 'sy' or #imm operand expected
+// CHECK-ERROR-NEXT: isb foo
+// CHECK-ERROR-NEXT: ^
msr daifset, x4
msr spsel, #-1
diff --git a/test/MC/AMDGPU/gfx7_asm_all.s b/test/MC/AMDGPU/gfx7_asm_all.s
index 34c4f429ce24..915bf4f06652 100644
--- a/test/MC/AMDGPU/gfx7_asm_all.s
+++ b/test/MC/AMDGPU/gfx7_asm_all.s
@@ -456,9 +456,15 @@ ds_max_f32 v1, v2 offset:65535 gds
ds_gws_init v1 gds
// CHECK: [0x00,0x00,0x66,0xd8,0x00,0x01,0x00,0x00]
+ds_gws_sema_v gds
+// CHECK: [0x00,0x00,0x6a,0xd8,0x00,0x00,0x00,0x00]
+
ds_gws_sema_br v1 gds
// CHECK: [0x00,0x00,0x6e,0xd8,0x00,0x01,0x00,0x00]
+ds_gws_sema_p gds
+// CHECK: [0x00,0x00,0x72,0xd8,0x00,0x00,0x00,0x00]
+
ds_gws_barrier v1 gds
// CHECK: [0x00,0x00,0x76,0xd8,0x00,0x01,0x00,0x00]
@@ -71927,4 +71933,3 @@ v_cmpx_class_f64 vcc, v[254:255], v2
v_cmpx_class_f64 vcc, s[2:3], v255
// CHECK: [0x02,0xfe,0x71,0x7d]
-
diff --git a/test/MC/AMDGPU/gfx8_asm_all.s b/test/MC/AMDGPU/gfx8_asm_all.s
index 458427e988c9..a9dd9c97ae8b 100644
--- a/test/MC/AMDGPU/gfx8_asm_all.s
+++ b/test/MC/AMDGPU/gfx8_asm_all.s
@@ -858,6 +858,78 @@ ds_wrxchg_rtn_b32 v5, v1, v2 offset:4
ds_wrxchg_rtn_b32 v5, v1, v2 offset:65535 gds
// CHECK: [0xff,0xff,0x5b,0xd8,0x01,0x02,0x00,0x05]
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0xfe]
+
+ds_wrxchg2_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5c,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5c,0xd8,0x01,0xff,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0xff,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset1:255
+// CHECK: [0x00,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127
+// CHECK: [0x7f,0x00,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0x5d,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0xfe]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5e,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5e,0xd8,0x01,0xff,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0xff,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset1:255
+// CHECK: [0x00,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127
+// CHECK: [0x7f,0x00,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0x5f,0xd8,0x01,0x02,0x03,0x05]
+
ds_cmpst_rtn_b32 v5, v1, v2, v3 offset:65535
// CHECK: [0xff,0xff,0x60,0xd8,0x01,0x02,0x03,0x05]
@@ -960,6 +1032,33 @@ ds_max_rtn_f32 v5, v1, v2 offset:4
ds_max_rtn_f32 v5, v1, v2 offset:65535 gds
// CHECK: [0xff,0xff,0x67,0xd8,0x01,0x02,0x00,0x05]
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v255, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0xff]
+
+ds_wrap_rtn_b32 v5, v255, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x68,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v255, v3 offset:65535
+// CHECK: [0xff,0xff,0x68,0xd8,0x01,0xff,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v255 offset:65535
+// CHECK: [0xff,0xff,0x68,0xd8,0x01,0x02,0xff,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3
+// CHECK: [0x00,0x00,0x68,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:0
+// CHECK: [0x00,0x00,0x68,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:4
+// CHECK: [0x04,0x00,0x68,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:65535 gds
+// CHECK: [0xff,0xff,0x69,0xd8,0x01,0x02,0x03,0x05]
+
ds_add_rtn_f32 v5, v1, v2 offset:65535
// CHECK: [0xff,0xff,0x6a,0xd8,0x01,0x02,0x00,0x05]
@@ -2004,6 +2103,78 @@ ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:4
ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds
// CHECK: [0xff,0xff,0xdb,0xd8,0x01,0x02,0x00,0x05]
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[252:255], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0xfc]
+
+ds_wrxchg2_rtn_b64 v[5:8], v255, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xdc,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[254:255], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xdc,0xd8,0x01,0xfe,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[254:255] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0xfe,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255
+// CHECK: [0x00,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:0 offset1:255
+// CHECK: [0x00,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:16 offset1:255
+// CHECK: [0x10,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127
+// CHECK: [0x7f,0x00,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0xdd,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[252:255], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0xfc]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v255, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xde,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[254:255], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xde,0xd8,0x01,0xfe,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[254:255] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xde,0xd8,0x01,0x02,0xfe,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255
+// CHECK: [0x00,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:0 offset1:255
+// CHECK: [0x00,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:16 offset1:255
+// CHECK: [0x10,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127
+// CHECK: [0x7f,0x00,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0xdf,0xd8,0x01,0x02,0x03,0x05]
+
ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535
// CHECK: [0xff,0xff,0xe0,0xd8,0x01,0x02,0x03,0x05]
@@ -2187,6 +2358,30 @@ ds_read2st64_b64 v[5:8], v1 offset0:127 offset1:1
ds_read2st64_b64 v[5:8], v1 offset0:127 offset1:255 gds
// CHECK: [0x7f,0xff,0xf1,0xd8,0x01,0x00,0x00,0x05]
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_condxchg32_rtn_b64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd8,0xff,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xfd,0xd8,0x01,0x02,0x00,0x05]
+
ds_add_src2_u32 v1 offset:65535
// CHECK: [0xff,0xff,0x00,0xd9,0x01,0x00,0x00,0x00]
@@ -2349,6 +2544,24 @@ ds_max_src2_u32 v1 offset:4
ds_max_src2_u32 v1 offset:65535 gds
// CHECK: [0xff,0xff,0x11,0xd9,0x01,0x00,0x00,0x00]
+ds_and_src2_b32 v1 offset:65535
+// CHECK: [0xff,0xff,0x12,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v255 offset:65535
+// CHECK: [0xff,0xff,0x12,0xd9,0xff,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1
+// CHECK: [0x00,0x00,0x12,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1 offset:0
+// CHECK: [0x00,0x00,0x12,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1 offset:4
+// CHECK: [0x04,0x00,0x12,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x13,0xd9,0x01,0x00,0x00,0x00]
+
ds_or_src2_b32 v1 offset:65535
// CHECK: [0xff,0xff,0x14,0xd9,0x01,0x00,0x00,0x00]
@@ -2385,9 +2598,24 @@ ds_xor_src2_b32 v1 offset:4
ds_xor_src2_b32 v1 offset:65535 gds
// CHECK: [0xff,0xff,0x17,0xd9,0x01,0x00,0x00,0x00]
+ds_write_src2_b32 v1 offset:65535
+// CHECK: [0xff,0xff,0x1a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v255 offset:65535
+// CHECK: [0xff,0xff,0x1a,0xd9,0xff,0x00,0x00,0x00]
+
ds_write_src2_b32 v1
// CHECK: [0x00,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00]
+ds_write_src2_b32 v1 offset:0
+// CHECK: [0x00,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v1 offset:4
+// CHECK: [0x04,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x1b,0xd9,0x01,0x00,0x00,0x00]
+
ds_min_src2_f32 v1 offset:65535
// CHECK: [0xff,0xff,0x24,0xd9,0x01,0x00,0x00,0x00]
@@ -2424,6 +2652,141 @@ ds_max_src2_f32 v1 offset:4
ds_max_src2_f32 v1 offset:65535 gds
// CHECK: [0xff,0xff,0x27,0xd9,0x01,0x00,0x00,0x00]
+ds_gws_sema_release_all offset:65535 gds
+// CHECK: [0xff,0xff,0x31,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_release_all gds
+// CHECK: [0x00,0x00,0x31,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_release_all offset:0 gds
+// CHECK: [0x00,0x00,0x31,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_release_all offset:4 gds
+// CHECK: [0x04,0x00,0x31,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_init v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x33,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_init v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x33,0xd9,0x00,0xff,0x00,0x00]
+
+ds_gws_init v1 gds
+// CHECK: [0x00,0x00,0x33,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_init v1 offset:0 gds
+// CHECK: [0x00,0x00,0x33,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_init v1 offset:4 gds
+// CHECK: [0x04,0x00,0x33,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_v offset:65535 gds
+// CHECK: [0xff,0xff,0x35,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_v gds
+// CHECK: [0x00,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_v offset:0 gds
+// CHECK: [0x00,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_v offset:4 gds
+// CHECK: [0x04,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_br v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x37,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_br v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x37,0xd9,0x00,0xff,0x00,0x00]
+
+ds_gws_sema_br v1 gds
+// CHECK: [0x00,0x00,0x37,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_br v1 offset:0 gds
+// CHECK: [0x00,0x00,0x37,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_br v1 offset:4 gds
+// CHECK: [0x04,0x00,0x37,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_p offset:65535 gds
+// CHECK: [0xff,0xff,0x39,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_p gds
+// CHECK: [0x00,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_p offset:0 gds
+// CHECK: [0x00,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_p offset:4 gds
+// CHECK: [0x04,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_barrier v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x3b,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_barrier v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x3b,0xd9,0x00,0xff,0x00,0x00]
+
+ds_gws_barrier v1 gds
+// CHECK: [0x00,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_barrier v1 offset:0 gds
+// CHECK: [0x00,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_barrier v1 offset:4 gds
+// CHECK: [0x04,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00]
+
+ds_consume v5 offset:65535
+// CHECK: [0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0x05]
+
+ds_consume v255 offset:65535
+// CHECK: [0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0xff]
+
+ds_consume v5
+// CHECK: [0x00,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05]
+
+ds_consume v5 offset:0
+// CHECK: [0x00,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05]
+
+ds_consume v5 offset:4
+// CHECK: [0x04,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05]
+
+ds_consume v5 offset:65535 gds
+// CHECK: [0xff,0xff,0x7b,0xd9,0x00,0x00,0x00,0x05]
+
+ds_append v5 offset:65535
+// CHECK: [0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0x05]
+
+ds_append v255 offset:65535
+// CHECK: [0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0xff]
+
+ds_append v5
+// CHECK: [0x00,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05]
+
+ds_append v5 offset:0
+// CHECK: [0x00,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05]
+
+ds_append v5 offset:4
+// CHECK: [0x04,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05]
+
+ds_append v5 offset:65535 gds
+// CHECK: [0xff,0xff,0x7d,0xd9,0x00,0x00,0x00,0x05]
+
+ds_ordered_count v5, v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0x05]
+
+ds_ordered_count v255, v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0xff]
+
+ds_ordered_count v5, v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x7f,0xd9,0xff,0x00,0x00,0x05]
+
+ds_ordered_count v5, v1 gds
+// CHECK: [0x00,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05]
+
+ds_ordered_count v5, v1 offset:0 gds
+// CHECK: [0x00,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05]
+
+ds_ordered_count v5, v1 offset:4 gds
+// CHECK: [0x04,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05]
+
ds_add_src2_u64 v1 offset:65535
// CHECK: [0xff,0xff,0x80,0xd9,0x01,0x00,0x00,0x00]
@@ -2640,9 +3003,24 @@ ds_xor_src2_b64 v1 offset:4
ds_xor_src2_b64 v1 offset:65535 gds
// CHECK: [0xff,0xff,0x97,0xd9,0x01,0x00,0x00,0x00]
+ds_write_src2_b64 v1 offset:65535
+// CHECK: [0xff,0xff,0x9a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v255 offset:65535
+// CHECK: [0xff,0xff,0x9a,0xd9,0xff,0x00,0x00,0x00]
+
ds_write_src2_b64 v1
// CHECK: [0x00,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00]
+ds_write_src2_b64 v1 offset:0
+// CHECK: [0x00,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v1 offset:4
+// CHECK: [0x04,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x9b,0xd9,0x01,0x00,0x00,0x00]
+
ds_min_src2_f64 v1 offset:65535
// CHECK: [0xff,0xff,0xa4,0xd9,0x01,0x00,0x00,0x00]
@@ -13773,6 +14151,39 @@ s_movreld_b64 s[10:11], 0xaf123456
s_movreld_b64 s[10:11], 0x3f717273
// CHECK: [0xff,0x2d,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+s_cbranch_join s1
+// CHECK: [0x01,0x2e,0x80,0xbe]
+
+s_cbranch_join s101
+// CHECK: [0x65,0x2e,0x80,0xbe]
+
+s_cbranch_join flat_scratch_lo
+// CHECK: [0x66,0x2e,0x80,0xbe]
+
+s_cbranch_join flat_scratch_hi
+// CHECK: [0x67,0x2e,0x80,0xbe]
+
+s_cbranch_join vcc_lo
+// CHECK: [0x6a,0x2e,0x80,0xbe]
+
+s_cbranch_join vcc_hi
+// CHECK: [0x6b,0x2e,0x80,0xbe]
+
+s_cbranch_join tba_lo
+// CHECK: [0x6c,0x2e,0x80,0xbe]
+
+s_cbranch_join tba_hi
+// CHECK: [0x6d,0x2e,0x80,0xbe]
+
+s_cbranch_join tma_lo
+// CHECK: [0x6e,0x2e,0x80,0xbe]
+
+s_cbranch_join tma_hi
+// CHECK: [0x6f,0x2e,0x80,0xbe]
+
+s_cbranch_join ttmp11
+// CHECK: [0x7b,0x2e,0x80,0xbe]
+
s_abs_i32 s5, s1
// CHECK: [0x01,0x30,0x85,0xbe]
@@ -19878,6 +20289,18 @@ s_cbranch_g_fork ttmp[10:11], s[4:5]
s_cbranch_g_fork exec, s[4:5]
// CHECK: [0x7e,0x04,0x80,0x94]
+s_cbranch_g_fork 0, s[4:5]
+// CHECK: [0x80,0x04,0x80,0x94]
+
+s_cbranch_g_fork -1, s[4:5]
+// CHECK: [0xc1,0x04,0x80,0x94]
+
+s_cbranch_g_fork 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x80,0x94]
+
+s_cbranch_g_fork -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x80,0x94]
+
s_cbranch_g_fork s[2:3], s[6:7]
// CHECK: [0x02,0x06,0x80,0x94]
@@ -19902,6 +20325,18 @@ s_cbranch_g_fork s[2:3], ttmp[10:11]
s_cbranch_g_fork s[2:3], exec
// CHECK: [0x02,0x7e,0x80,0x94]
+s_cbranch_g_fork s[2:3], 0
+// CHECK: [0x02,0x80,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], -1
+// CHECK: [0x02,0xc1,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x80,0x94]
+
s_absdiff_i32 s5, s1, s2
// CHECK: [0x01,0x02,0x05,0x95]
@@ -20058,6 +20493,108 @@ s_absdiff_i32 s5, s1, 0xaf123456
s_absdiff_i32 s5, s1, 0x3f717273
// CHECK: [0x01,0xff,0x05,0x95,0x73,0x72,0x71,0x3f]
+s_rfe_restore_b64 s[2:3], s2
+// CHECK: [0x02,0x02,0x80,0x95]
+
+s_rfe_restore_b64 s[4:5], s2
+// CHECK: [0x04,0x02,0x80,0x95]
+
+s_rfe_restore_b64 s[100:101], s2
+// CHECK: [0x64,0x02,0x80,0x95]
+
+s_rfe_restore_b64 flat_scratch, s2
+// CHECK: [0x66,0x02,0x80,0x95]
+
+s_rfe_restore_b64 vcc, s2
+// CHECK: [0x6a,0x02,0x80,0x95]
+
+s_rfe_restore_b64 tba, s2
+// CHECK: [0x6c,0x02,0x80,0x95]
+
+s_rfe_restore_b64 tma, s2
+// CHECK: [0x6e,0x02,0x80,0x95]
+
+s_rfe_restore_b64 ttmp[10:11], s2
+// CHECK: [0x7a,0x02,0x80,0x95]
+
+s_rfe_restore_b64 exec, s2
+// CHECK: [0x7e,0x02,0x80,0x95]
+
+s_rfe_restore_b64 0, s2
+// CHECK: [0x80,0x02,0x80,0x95]
+
+s_rfe_restore_b64 -1, s2
+// CHECK: [0xc1,0x02,0x80,0x95]
+
+s_rfe_restore_b64 0.5, s2
+// CHECK: [0xf0,0x02,0x80,0x95]
+
+s_rfe_restore_b64 -4.0, s2
+// CHECK: [0xf7,0x02,0x80,0x95]
+
+s_rfe_restore_b64 0xaf123456, s2
+// CHECK: [0xff,0x02,0x80,0x95,0x56,0x34,0x12,0xaf]
+
+s_rfe_restore_b64 0x3f717273, s2
+// CHECK: [0xff,0x02,0x80,0x95,0x73,0x72,0x71,0x3f]
+
+s_rfe_restore_b64 s[2:3], s101
+// CHECK: [0x02,0x65,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], flat_scratch_lo
+// CHECK: [0x02,0x66,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], flat_scratch_hi
+// CHECK: [0x02,0x67,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], vcc_lo
+// CHECK: [0x02,0x6a,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], vcc_hi
+// CHECK: [0x02,0x6b,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], tba_lo
+// CHECK: [0x02,0x6c,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], tba_hi
+// CHECK: [0x02,0x6d,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], tma_lo
+// CHECK: [0x02,0x6e,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], tma_hi
+// CHECK: [0x02,0x6f,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], ttmp11
+// CHECK: [0x02,0x7b,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], m0
+// CHECK: [0x02,0x7c,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], exec_lo
+// CHECK: [0x02,0x7e,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], exec_hi
+// CHECK: [0x02,0x7f,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], 0
+// CHECK: [0x02,0x80,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], -1
+// CHECK: [0x02,0xc1,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x80,0x95,0x56,0x34,0x12,0xaf]
+
+s_rfe_restore_b64 s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x80,0x95,0x73,0x72,0x71,0x3f]
+
s_cmp_eq_i32 s1, s2
// CHECK: [0x01,0x02,0x00,0xbf]
@@ -23115,6 +23652,9 @@ s_branch 12609
s_branch 49617
// CHECK: [0xd1,0xc1,0x82,0xbf]
+s_wakeup
+// CHECK: [0x00,0x00,0x83,0xbf]
+
s_cbranch_scc0 12609
// CHECK: [0x41,0x31,0x84,0xbf]
@@ -23154,6 +23694,12 @@ s_cbranch_execnz 49617
s_barrier
// CHECK: [0x00,0x00,0x8a,0xbf]
+s_setkill 0x3141
+// CHECK: [0x41,0x31,0x8b,0xbf]
+
+s_setkill 0xc1d1
+// CHECK: [0xd1,0xc1,0x8b,0xbf]
+
s_waitcnt 0x3141
// CHECK: [0x41,0x31,0x8c,0xbf]
@@ -23214,6 +23760,33 @@ s_decperflevel 0xc1d1
s_ttracedata
// CHECK: [0x00,0x00,0x96,0xbf]
+s_cbranch_cdbgsys 12609
+// CHECK: [0x41,0x31,0x97,0xbf]
+
+s_cbranch_cdbgsys 49617
+// CHECK: [0xd1,0xc1,0x97,0xbf]
+
+s_cbranch_cdbguser 12609
+// CHECK: [0x41,0x31,0x98,0xbf]
+
+s_cbranch_cdbguser 49617
+// CHECK: [0xd1,0xc1,0x98,0xbf]
+
+s_cbranch_cdbgsys_or_user 12609
+// CHECK: [0x41,0x31,0x99,0xbf]
+
+s_cbranch_cdbgsys_or_user 49617
+// CHECK: [0xd1,0xc1,0x99,0xbf]
+
+s_cbranch_cdbgsys_and_user 12609
+// CHECK: [0x41,0x31,0x9a,0xbf]
+
+s_cbranch_cdbgsys_and_user 49617
+// CHECK: [0xd1,0xc1,0x9a,0xbf]
+
+s_endpgm_saved
+// CHECK: [0x00,0x00,0x9b,0xbf]
+
s_set_gpr_idx_off
// CHECK: [0x00,0x00,0x9c,0xbf]
@@ -23721,6 +24294,18 @@ v_cvt_f64_i32_e64 v[5:6], v1
v_cvt_f64_i32_e64 v[5:6], v255
// CHECK: [0x05,0x00,0x44,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f64_i32_e64 v[5:6], s1 clamp
+// CHECK: [0x05,0x80,0x44,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], s1 mul:2
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f64_i32_e64 v[5:6], s1 mul:4
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f64_i32_e64 v[5:6], s1 div:2
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x18]
+
v_cvt_f32_i32 v5, s1
// CHECK: [0x01,0x0a,0x0a,0x7e]
@@ -23853,6 +24438,18 @@ v_cvt_f32_i32_e64 v5, v1
v_cvt_f32_i32_e64 v5, v255
// CHECK: [0x05,0x00,0x45,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f32_i32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x45,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_i32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_i32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x18]
+
v_cvt_f32_u32 v5, s1
// CHECK: [0x01,0x0c,0x0a,0x7e]
@@ -23985,6 +24582,18 @@ v_cvt_f32_u32_e64 v5, v1
v_cvt_f32_u32_e64 v5, v255
// CHECK: [0x05,0x00,0x46,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f32_u32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x46,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_u32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_u32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x18]
+
v_cvt_u32_f32 v5, s1
// CHECK: [0x01,0x0e,0x0a,0x7e]
@@ -24267,6 +24876,138 @@ v_cvt_i32_f32_e64 v5, |s1|
v_cvt_i32_f32_e64 v5, s1 clamp
// CHECK: [0x05,0x80,0x48,0xd1,0x01,0x00,0x00,0x00]
+v_mov_fed_b32 v5, s1
+// CHECK: [0x01,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v255, s1
+// CHECK: [0x01,0x12,0xfe,0x7f]
+
+v_mov_fed_b32 v5, s101
+// CHECK: [0x65,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, flat_scratch_lo
+// CHECK: [0x66,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, flat_scratch_hi
+// CHECK: [0x67,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, vcc_lo
+// CHECK: [0x6a,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, vcc_hi
+// CHECK: [0x6b,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, tba_lo
+// CHECK: [0x6c,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, tba_hi
+// CHECK: [0x6d,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, tma_lo
+// CHECK: [0x6e,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, tma_hi
+// CHECK: [0x6f,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, ttmp11
+// CHECK: [0x7b,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, m0
+// CHECK: [0x7c,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, exec_lo
+// CHECK: [0x7e,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, exec_hi
+// CHECK: [0x7f,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, 0
+// CHECK: [0x80,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, -1
+// CHECK: [0xc1,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, 0.5
+// CHECK: [0xf0,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, -4.0
+// CHECK: [0xf7,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, 0xaf123456
+// CHECK: [0xff,0x12,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_mov_fed_b32 v5, 0x3f717273
+// CHECK: [0xff,0x12,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_mov_fed_b32 v5, v1
+// CHECK: [0x01,0x13,0x0a,0x7e]
+
+v_mov_fed_b32 v5, v255
+// CHECK: [0xff,0x13,0x0a,0x7e]
+
+v_mov_fed_b32_e64 v5, s1
+// CHECK: [0x05,0x00,0x49,0xd1,0x01,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v255, s1
+// CHECK: [0xff,0x00,0x49,0xd1,0x01,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, s101
+// CHECK: [0x05,0x00,0x49,0xd1,0x65,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x49,0xd1,0x66,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x49,0xd1,0x67,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x49,0xd1,0x6a,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x49,0xd1,0x6b,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, tba_lo
+// CHECK: [0x05,0x00,0x49,0xd1,0x6c,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, tba_hi
+// CHECK: [0x05,0x00,0x49,0xd1,0x6d,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, tma_lo
+// CHECK: [0x05,0x00,0x49,0xd1,0x6e,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, tma_hi
+// CHECK: [0x05,0x00,0x49,0xd1,0x6f,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, ttmp11
+// CHECK: [0x05,0x00,0x49,0xd1,0x7b,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, m0
+// CHECK: [0x05,0x00,0x49,0xd1,0x7c,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x49,0xd1,0x7e,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x49,0xd1,0x7f,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, 0
+// CHECK: [0x05,0x00,0x49,0xd1,0x80,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, -1
+// CHECK: [0x05,0x00,0x49,0xd1,0xc1,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x49,0xd1,0xf0,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x49,0xd1,0xf7,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x49,0xd1,0x01,0x01,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x49,0xd1,0xff,0x01,0x00,0x00]
+
v_cvt_f16_f32 v5, s1
// CHECK: [0x01,0x14,0x0a,0x7e]
@@ -24981,6 +25722,18 @@ v_cvt_off_f32_i4_e64 v5, v1
v_cvt_off_f32_i4_e64 v5, v255
// CHECK: [0x05,0x00,0x4e,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_off_f32_i4_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x4e,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_off_f32_i4_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_off_f32_i4_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x18]
+
v_cvt_f32_f64 v5, s[2:3]
// CHECK: [0x02,0x1e,0x0a,0x7e]
@@ -25383,6 +26136,18 @@ v_cvt_f32_ubyte0_e64 v5, v1
v_cvt_f32_ubyte0_e64 v5, v255
// CHECK: [0x05,0x00,0x51,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f32_ubyte0_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x51,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_ubyte0_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_ubyte0_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x18]
+
v_cvt_f32_ubyte1 v5, s1
// CHECK: [0x01,0x24,0x0a,0x7e]
@@ -25515,6 +26280,18 @@ v_cvt_f32_ubyte1_e64 v5, v1
v_cvt_f32_ubyte1_e64 v5, v255
// CHECK: [0x05,0x00,0x52,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f32_ubyte1_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x52,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_ubyte1_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_ubyte1_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x18]
+
v_cvt_f32_ubyte2 v5, s1
// CHECK: [0x01,0x26,0x0a,0x7e]
@@ -25647,6 +26424,18 @@ v_cvt_f32_ubyte2_e64 v5, v1
v_cvt_f32_ubyte2_e64 v5, v255
// CHECK: [0x05,0x00,0x53,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f32_ubyte2_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x53,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_ubyte2_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_ubyte2_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x18]
+
v_cvt_f32_ubyte3 v5, s1
// CHECK: [0x01,0x28,0x0a,0x7e]
@@ -25779,6 +26568,18 @@ v_cvt_f32_ubyte3_e64 v5, v1
v_cvt_f32_ubyte3_e64 v5, v255
// CHECK: [0x05,0x00,0x54,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f32_ubyte3_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x54,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_ubyte3_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_ubyte3_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x18]
+
v_cvt_u32_f64 v5, s[2:3]
// CHECK: [0x02,0x2a,0x0a,0x7e]
@@ -26022,6 +26823,18 @@ v_cvt_f64_u32_e64 v[5:6], v1
v_cvt_f64_u32_e64 v[5:6], v255
// CHECK: [0x05,0x00,0x56,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f64_u32_e64 v[5:6], s1 clamp
+// CHECK: [0x05,0x80,0x56,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], s1 mul:2
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f64_u32_e64 v[5:6], s1 mul:4
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f64_u32_e64 v[5:6], s1 div:2
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x18]
+
v_trunc_f64 v[5:6], s[2:3]
// CHECK: [0x02,0x2e,0x0a,0x7e]
@@ -30318,6 +31131,9 @@ v_cvt_f16_u16_e64 v5, v1
v_cvt_f16_u16_e64 v5, v255
// CHECK: [0x05,0x00,0x79,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f16_u16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x79,0xd1,0x01,0x00,0x00,0x00]
+
v_cvt_f16_i16 v5, s1
// CHECK: [0x01,0x74,0x0a,0x7e]
@@ -30450,6 +31266,9 @@ v_cvt_f16_i16_e64 v5, v1
v_cvt_f16_i16_e64 v5, v255
// CHECK: [0x05,0x00,0x7a,0xd1,0xff,0x01,0x00,0x00]
+v_cvt_f16_i16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x7a,0xd1,0x01,0x00,0x00,0x00]
+
v_cvt_u16_f16 v5, s1
// CHECK: [0x01,0x76,0x0a,0x7e]
@@ -45201,6 +46020,99 @@ v_mad_i16 v5, s1, 0, v3
v_mad_i16 v5, s1, 0, v255
// CHECK: [0x05,0x00,0xec,0xd1,0x01,0x00,0xfd,0x07]
+v_perm_b32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x01,0x02]
+
+v_perm_b32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xed,0xd1,0x01,0x00,0x01,0x02]
+
+v_perm_b32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x65,0x00,0x01,0x02]
+
+v_perm_b32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x66,0x00,0x01,0x02]
+
+v_perm_b32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x67,0x00,0x01,0x02]
+
+v_perm_b32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x6a,0x00,0x01,0x02]
+
+v_perm_b32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x6b,0x00,0x01,0x02]
+
+v_perm_b32 v5, tba_lo, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x6c,0x00,0x01,0x02]
+
+v_perm_b32 v5, tba_hi, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x6d,0x00,0x01,0x02]
+
+v_perm_b32 v5, tma_lo, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x6e,0x00,0x01,0x02]
+
+v_perm_b32 v5, tma_hi, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x6f,0x00,0x01,0x02]
+
+v_perm_b32 v5, ttmp11, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x7b,0x00,0x01,0x02]
+
+v_perm_b32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x7c,0x00,0x01,0x02]
+
+v_perm_b32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x7e,0x00,0x01,0x02]
+
+v_perm_b32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x7f,0x00,0x01,0x02]
+
+v_perm_b32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x80,0x00,0x01,0x02]
+
+v_perm_b32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0xc1,0x00,0x01,0x02]
+
+v_perm_b32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0xf0,0x00,0x01,0x02]
+
+v_perm_b32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0xf7,0x00,0x01,0x02]
+
+v_perm_b32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x01,0x01,0x02]
+
+v_perm_b32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0xff,0x01,0x01,0x02]
+
+v_perm_b32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x82,0x01,0x02]
+
+v_perm_b32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xe0,0x01,0x02]
+
+v_perm_b32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xee,0x01,0x02]
+
+v_perm_b32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x04,0x02,0x02]
+
+v_perm_b32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xfe,0x03,0x02]
+
+v_perm_b32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x05,0x03]
+
+v_perm_b32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xc1,0x03]
+
+v_perm_b32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xdd,0x03]
+
+v_perm_b32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x0d,0x04]
+
+v_perm_b32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xfd,0x07]
+
v_fma_f16 v5, s1, 0, 0
// CHECK: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x02]
@@ -46308,50 +47220,56 @@ v_readlane_b32 s5, v1, m0
v_readlane_b32 s5, v1, 0
// CHECK: [0x05,0x00,0x89,0xd2,0x01,0x01,0x01,0x00]
-v_writelane_b32 v5, s1, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, s2
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0x04,0x00,0x00]
-v_writelane_b32 v255, s1, 0
-// CHECK: [0xff,0x00,0x8a,0xd2,0x01,0x00,0x01,0x00]
+v_writelane_b32 v255, 0, s2
+// CHECK: [0xff,0x00,0x8a,0xd2,0x80,0x04,0x00,0x00]
-v_writelane_b32 v5, s101, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x65,0x00,0x01,0x00]
+v_writelane_b32 v5, -1, s2
+// CHECK: [0x05,0x00,0x8a,0xd2,0xc1,0x04,0x00,0x00]
-v_writelane_b32 v5, flat_scratch_lo, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x66,0x00,0x01,0x00]
+v_writelane_b32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x8a,0xd2,0xf0,0x04,0x00,0x00]
-v_writelane_b32 v5, flat_scratch_hi, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x67,0x00,0x01,0x00]
+v_writelane_b32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x8a,0xd2,0xf7,0x04,0x00,0x00]
-v_writelane_b32 v5, vcc_lo, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6a,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, s101
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xca,0x00,0x00]
-v_writelane_b32 v5, vcc_hi, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6b,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xcc,0x00,0x00]
-v_writelane_b32 v5, tba_lo, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6c,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xce,0x00,0x00]
-v_writelane_b32 v5, tba_hi, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6d,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xd4,0x00,0x00]
-v_writelane_b32 v5, tma_lo, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6e,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xd6,0x00,0x00]
-v_writelane_b32 v5, tma_hi, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x6f,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, tba_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xd8,0x00,0x00]
-v_writelane_b32 v5, ttmp11, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x7b,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, tba_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xda,0x00,0x00]
-v_writelane_b32 v5, m0, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x7c,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, tma_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xdc,0x00,0x00]
-v_writelane_b32 v5, exec_lo, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x7e,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, tma_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xde,0x00,0x00]
-v_writelane_b32 v5, exec_hi, 0
-// CHECK: [0x05,0x00,0x8a,0xd2,0x7f,0x00,0x01,0x00]
+v_writelane_b32 v5, 0, ttmp11
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xf6,0x00,0x00]
+
+v_writelane_b32 v5, 0, m0
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xf8,0x00,0x00]
+
+v_writelane_b32 v5, 0, 0
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0x00,0x01,0x00]
v_bcnt_u32_b32 v5, 0, s2
// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x04,0x00,0x00]
@@ -47472,6 +48390,105 @@ v_cmp_class_f32 vcc, v255, v2
v_cmp_class_f32 vcc, s1, v255
// CHECK: [0x01,0xfe,0x21,0x7c]
+v_cmp_class_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 tba, 0, s2
+// CHECK: [0x6c,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 tma, 0, s2
+// CHECK: [0x6e,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 ttmp[10:11], 0, s2
+// CHECK: [0x7a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, tba_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xd8,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, tba_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xda,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, tma_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xdc,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, tma_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xde,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, ttmp11
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xf6,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_class_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x20]
+
v_cmpx_class_f32 vcc, s1, v2
// CHECK: [0x01,0x04,0x22,0x7c]
@@ -47541,6 +48558,105 @@ v_cmpx_class_f32 vcc, v255, v2
v_cmpx_class_f32 vcc, s1, v255
// CHECK: [0x01,0xfe,0x23,0x7c]
+v_cmpx_class_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 tba, 0, s2
+// CHECK: [0x6c,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 tma, 0, s2
+// CHECK: [0x6e,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 ttmp[10:11], 0, s2
+// CHECK: [0x7a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, tba_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xd8,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, tba_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xda,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, tma_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xdc,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, tma_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xde,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, ttmp11
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xf6,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x00,0x20]
+
v_cmp_class_f64 vcc, s[2:3], v2
// CHECK: [0x02,0x04,0x24,0x7c]
@@ -47595,6 +48711,105 @@ v_cmp_class_f64 vcc, v[254:255], v2
v_cmp_class_f64 vcc, s[2:3], v255
// CHECK: [0x02,0xfe,0x25,0x7c]
+v_cmp_class_f64_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 tba, 0, s2
+// CHECK: [0x6c,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 tma, 0, s2
+// CHECK: [0x6e,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 ttmp[10:11], 0, s2
+// CHECK: [0x7a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[254:255], s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xfe,0x05,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, tba_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xd8,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, tba_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xda,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, tma_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xdc,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, tma_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xde,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, ttmp11
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xf6,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_class_f64_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x20]
+
v_cmpx_class_f64 vcc, s[2:3], v2
// CHECK: [0x02,0x04,0x26,0x7c]
@@ -47649,6 +48864,105 @@ v_cmpx_class_f64 vcc, v[254:255], v2
v_cmpx_class_f64 vcc, s[2:3], v255
// CHECK: [0x02,0xfe,0x27,0x7c]
+v_cmpx_class_f64_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 tba, 0, s2
+// CHECK: [0x6c,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 tma, 0, s2
+// CHECK: [0x6e,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 ttmp[10:11], 0, s2
+// CHECK: [0x7a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[254:255], s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xfe,0x05,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, tba_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xd8,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, tba_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xda,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, tma_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xdc,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, tma_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xde,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, ttmp11
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xf6,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x00,0x20]
+
v_cmp_class_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x28,0x7c]
@@ -47718,6 +49032,105 @@ v_cmp_class_f16 vcc, v255, v2
v_cmp_class_f16 vcc, s1, v255
// CHECK: [0x01,0xfe,0x29,0x7c]
+v_cmp_class_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 tba, 0, s2
+// CHECK: [0x6c,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 tma, 0, s2
+// CHECK: [0x6e,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 ttmp[10:11], 0, s2
+// CHECK: [0x7a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, tba_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xd8,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, tba_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xda,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, tma_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xdc,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, tma_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xde,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, ttmp11
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xf6,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_class_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x20]
+
v_cmpx_class_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x2a,0x7c]
@@ -47787,6 +49200,105 @@ v_cmpx_class_f16 vcc, v255, v2
v_cmpx_class_f16 vcc, s1, v255
// CHECK: [0x01,0xfe,0x2b,0x7c]
+v_cmpx_class_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 tba, 0, s2
+// CHECK: [0x6c,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 tma, 0, s2
+// CHECK: [0x6e,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 ttmp[10:11], 0, s2
+// CHECK: [0x7a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, tba_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xd8,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, tba_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xda,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, tma_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xdc,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, tma_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xde,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, ttmp11
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xf6,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x04,0x00,0x20]
+
v_cmp_f_f16 vcc, s1, v2
// CHECK: [0x01,0x04,0x40,0x7c]
@@ -78105,6 +79617,153 @@ v_cvt_i32_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
v_cvt_i32_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
// CHECK: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_mov_fed_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0xfe,0x7f,0x01,0x06,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0xff,0x06,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x26,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x00,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x01,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x02,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x03,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x04,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x05,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x16,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x06,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x00,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x01,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x02,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x03,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x04,0x06]
+
+v_mov_fed_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x05,0x06]
+
+v_mov_fed_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
+// CHECK: [0xf9,0x12,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+
+v_mov_fed_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+
+v_mov_fed_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+
+v_mov_fed_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x40,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x41,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x42,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x43,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x30,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x34,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x38,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x01,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x11,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x21,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] bank_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+
+v_mov_fed_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
+// CHECK: [0xfa,0x12,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+
v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
// CHECK: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x06,0x06]
@@ -81936,9 +83595,6 @@ v_ffbl_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
v_ffbl_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
// CHECK: [0xf9,0x5c,0x0a,0x7e,0xff,0x06,0x06,0x06]
-v_ffbl_b32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD
-// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x26,0x06,0x06]
-
v_ffbl_b32_sdwa v5, v1 dst_unused:UNUSED_PAD src0_sel:DWORD
// CHECK: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x06,0x06]
@@ -88428,9 +90084,6 @@ v_lshrrev_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWO
v_lshrrev_b32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x0b,0x20,0x01,0x06,0x06,0x06]
-v_lshrrev_b32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x26,0x06,0x06]
-
v_lshrrev_b32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x06]
@@ -88782,9 +90435,6 @@ v_lshlrev_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWO
v_lshlrev_b32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x0b,0x24,0x01,0x06,0x06,0x06]
-v_lshlrev_b32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x26,0x06,0x06]
-
v_lshlrev_b32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x06]
@@ -91854,9 +93504,6 @@ v_lshlrev_b16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWO
v_lshlrev_b16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x0b,0x54,0x01,0x06,0x06,0x06]
-v_lshlrev_b16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x26,0x06,0x06]
-
v_lshlrev_b16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x06]
@@ -92031,9 +93678,6 @@ v_lshrrev_b16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWO
v_lshrrev_b16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x0b,0x56,0x01,0x06,0x06,0x06]
-v_lshrrev_b16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x26,0x06,0x06]
-
v_lshrrev_b16_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x06]
@@ -93666,9 +95310,6 @@ v_cmp_class_f32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_class_f32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x21,0x7c,0x01,0x16,0x06,0x06]
-v_cmp_class_f32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x36,0x06,0x06]
-
v_cmp_class_f32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x06]
@@ -93729,9 +95370,6 @@ v_cmpx_class_f32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_class_f32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x23,0x7c,0x01,0x16,0x06,0x06]
-v_cmpx_class_f32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x36,0x06,0x06]
-
v_cmpx_class_f32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x06]
@@ -93792,9 +95430,6 @@ v_cmp_class_f16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_class_f16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x29,0x7c,0x01,0x16,0x06,0x06]
-v_cmp_class_f16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x36,0x06,0x06]
-
v_cmp_class_f16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x06]
@@ -93855,9 +95490,6 @@ v_cmpx_class_f16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_class_f16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x2b,0x7c,0x01,0x16,0x06,0x06]
-v_cmpx_class_f16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x36,0x06,0x06]
-
v_cmpx_class_f16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x06]
@@ -98142,9 +99774,6 @@ v_cmp_f_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_f_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x41,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_f_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_f_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x06]
@@ -98202,9 +99831,6 @@ v_cmp_lt_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_lt_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x43,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_lt_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_lt_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x06]
@@ -98262,9 +99888,6 @@ v_cmp_eq_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_eq_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x45,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_eq_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_eq_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x06]
@@ -98322,9 +99945,6 @@ v_cmp_le_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_le_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x47,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_le_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_le_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x06]
@@ -98382,9 +100002,6 @@ v_cmp_gt_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_gt_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x49,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_gt_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_gt_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x06]
@@ -98442,9 +100059,6 @@ v_cmp_ne_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_ne_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x4b,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_ne_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_ne_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x06]
@@ -98502,9 +100116,6 @@ v_cmp_ge_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_ge_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x4d,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_ge_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_ge_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x06]
@@ -98562,9 +100173,6 @@ v_cmp_t_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_t_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x4f,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_t_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_t_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x06]
@@ -98622,9 +100230,6 @@ v_cmp_f_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_f_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x51,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_f_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_f_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x06]
@@ -98682,9 +100287,6 @@ v_cmp_lt_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_lt_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x53,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_lt_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_lt_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x06]
@@ -98742,9 +100344,6 @@ v_cmp_eq_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_eq_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x55,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_eq_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_eq_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x06]
@@ -98802,9 +100401,6 @@ v_cmp_le_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_le_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x57,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_le_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_le_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x06]
@@ -98862,9 +100458,6 @@ v_cmp_gt_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_gt_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x59,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_gt_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_gt_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x06]
@@ -98922,9 +100515,6 @@ v_cmp_ne_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_ne_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x5b,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_ne_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_ne_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x06]
@@ -98982,9 +100572,6 @@ v_cmp_ge_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_ge_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x5d,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_ge_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_ge_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x06]
@@ -99042,9 +100629,6 @@ v_cmp_t_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_t_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x5f,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_t_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_t_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x06]
@@ -99102,9 +100686,6 @@ v_cmpx_f_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_f_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x61,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_f_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_f_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x06]
@@ -99162,9 +100743,6 @@ v_cmpx_lt_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_lt_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x63,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_lt_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_lt_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x06]
@@ -99222,9 +100800,6 @@ v_cmpx_eq_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_eq_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x65,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_eq_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_eq_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x06]
@@ -99282,9 +100857,6 @@ v_cmpx_le_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_le_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x67,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_le_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_le_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x06]
@@ -99342,9 +100914,6 @@ v_cmpx_gt_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_gt_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x69,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_gt_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_gt_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x06]
@@ -99402,9 +100971,6 @@ v_cmpx_ne_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_ne_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x6b,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_ne_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_ne_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x06]
@@ -99462,9 +101028,6 @@ v_cmpx_ge_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_ge_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x6d,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_ge_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_ge_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x06]
@@ -99522,9 +101085,6 @@ v_cmpx_t_i16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_t_i16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x6f,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_t_i16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_t_i16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x06]
@@ -99582,9 +101142,6 @@ v_cmpx_f_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_f_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x71,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_f_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_f_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x06]
@@ -99642,9 +101199,6 @@ v_cmpx_lt_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_lt_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x73,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_lt_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_lt_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x06]
@@ -99702,9 +101256,6 @@ v_cmpx_eq_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_eq_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x75,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_eq_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_eq_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x06]
@@ -99762,9 +101313,6 @@ v_cmpx_le_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_le_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x77,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_le_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_le_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x06]
@@ -99822,9 +101370,6 @@ v_cmpx_gt_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_gt_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x79,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_gt_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_gt_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x06]
@@ -99882,9 +101427,6 @@ v_cmpx_ne_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_ne_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x7b,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_ne_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_ne_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x06]
@@ -99942,9 +101484,6 @@ v_cmpx_ge_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_ge_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x7d,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_ge_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_ge_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x06]
@@ -100002,9 +101541,6 @@ v_cmpx_t_u16_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_t_u16_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x7f,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_t_u16_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_t_u16_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x06]
@@ -100062,9 +101598,6 @@ v_cmp_f_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_f_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x81,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_f_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_f_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x06]
@@ -100122,9 +101655,6 @@ v_cmp_lt_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_lt_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x83,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_lt_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_lt_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x06]
@@ -100182,9 +101712,6 @@ v_cmp_eq_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_eq_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x85,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_eq_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_eq_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x06]
@@ -100242,9 +101769,6 @@ v_cmp_le_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_le_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x87,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_le_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_le_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x06]
@@ -100302,9 +101826,6 @@ v_cmp_gt_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_gt_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x89,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_gt_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_gt_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x06]
@@ -100362,9 +101883,6 @@ v_cmp_ne_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_ne_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x8b,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_ne_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_ne_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x06]
@@ -100422,9 +101940,6 @@ v_cmp_ge_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_ge_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x8d,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_ge_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_ge_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x06]
@@ -100482,9 +101997,6 @@ v_cmp_t_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_t_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x8f,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_t_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_t_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x06]
@@ -100542,9 +102054,6 @@ v_cmp_f_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_f_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x91,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_f_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_f_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x06]
@@ -100602,9 +102111,6 @@ v_cmp_lt_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_lt_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x93,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_lt_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_lt_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x06]
@@ -100662,9 +102168,6 @@ v_cmp_eq_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_eq_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x95,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_eq_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_eq_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x06]
@@ -100722,9 +102225,6 @@ v_cmp_le_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_le_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x97,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_le_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_le_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x06]
@@ -100782,9 +102282,6 @@ v_cmp_gt_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_gt_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x99,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_gt_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_gt_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x06]
@@ -100842,9 +102339,6 @@ v_cmp_ne_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_ne_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x9b,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_ne_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_ne_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x06]
@@ -100902,9 +102396,6 @@ v_cmp_ge_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_ge_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x9d,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_ge_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_ge_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x06]
@@ -100962,9 +102453,6 @@ v_cmp_t_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmp_t_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0x9f,0x7d,0x01,0x16,0x06,0x06]
-v_cmp_t_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x36,0x06,0x06]
-
v_cmp_t_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x06]
@@ -101022,9 +102510,6 @@ v_cmpx_f_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_f_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xa1,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_f_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_f_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x06]
@@ -101082,9 +102567,6 @@ v_cmpx_lt_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_lt_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xa3,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_lt_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_lt_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x06]
@@ -101142,9 +102624,6 @@ v_cmpx_eq_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_eq_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xa5,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_eq_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_eq_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x06]
@@ -101202,9 +102681,6 @@ v_cmpx_le_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_le_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xa7,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_le_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_le_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x06]
@@ -101262,9 +102738,6 @@ v_cmpx_gt_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_gt_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xa9,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_gt_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_gt_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x06]
@@ -101322,9 +102795,6 @@ v_cmpx_ne_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_ne_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xab,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_ne_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_ne_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x06]
@@ -101382,9 +102852,6 @@ v_cmpx_ge_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_ge_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xad,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_ge_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_ge_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x06]
@@ -101442,9 +102909,6 @@ v_cmpx_t_i32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_t_i32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xaf,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_t_i32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_t_i32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x06]
@@ -101502,9 +102966,6 @@ v_cmpx_f_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_f_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xb1,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_f_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_f_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x06]
@@ -101562,9 +103023,6 @@ v_cmpx_lt_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_lt_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xb3,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_lt_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_lt_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x06]
@@ -101622,9 +103080,6 @@ v_cmpx_eq_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_eq_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xb5,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_eq_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_eq_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x06]
@@ -101682,9 +103137,6 @@ v_cmpx_le_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_le_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xb7,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_le_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_le_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x06]
@@ -101742,9 +103194,6 @@ v_cmpx_gt_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_gt_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xb9,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_gt_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_gt_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x06]
@@ -101802,9 +103251,6 @@ v_cmpx_ne_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_ne_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xbb,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_ne_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_ne_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x06]
@@ -101862,9 +103308,6 @@ v_cmpx_ge_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_ge_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xbd,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_ge_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_ge_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x06]
@@ -101922,9 +103365,6 @@ v_cmpx_t_u32_sdwa vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD
v_cmpx_t_u32_sdwa vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0xfe,0xbf,0x7d,0x01,0x16,0x06,0x06]
-v_cmpx_t_u32_sdwa vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD
-// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x36,0x06,0x06]
-
v_cmpx_t_u32_sdwa vcc, v1, v2 src1_sel:DWORD
// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x06]
@@ -101972,4 +103412,3 @@ v_cmpx_t_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1
v_cmpx_t_u32_sdwa vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD
// CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x0e]
-
diff --git a/test/MC/AMDGPU/gfx9_asm_all.s b/test/MC/AMDGPU/gfx9_asm_all.s
new file mode 100644
index 000000000000..758911bbfb4e
--- /dev/null
+++ b/test/MC/AMDGPU/gfx9_asm_all.s
@@ -0,0 +1,61606 @@
+// RUN: llvm-mc -arch=amdgcn -mcpu=gfx901 -show-encoding -enable-packed-inlinable-literals %s | FileCheck %s
+
+ds_add_u32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x00,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x00,0xd8,0xff,0x02,0x00,0x00]
+
+ds_add_u32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x00,0xd8,0x01,0xff,0x00,0x00]
+
+ds_add_u32 v1, v2
+// CHECK: [0x00,0x00,0x00,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x00,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x00,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x01,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x02,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x02,0xd8,0xff,0x02,0x00,0x00]
+
+ds_sub_u32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x02,0xd8,0x01,0xff,0x00,0x00]
+
+ds_sub_u32 v1, v2
+// CHECK: [0x00,0x00,0x02,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x02,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x02,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x03,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x04,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x04,0xd8,0xff,0x02,0x00,0x00]
+
+ds_rsub_u32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x04,0xd8,0x01,0xff,0x00,0x00]
+
+ds_rsub_u32 v1, v2
+// CHECK: [0x00,0x00,0x04,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x04,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x04,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x05,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x06,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x06,0xd8,0xff,0x02,0x00,0x00]
+
+ds_inc_u32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x06,0xd8,0x01,0xff,0x00,0x00]
+
+ds_inc_u32 v1, v2
+// CHECK: [0x00,0x00,0x06,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x06,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x06,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x07,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x08,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x08,0xd8,0xff,0x02,0x00,0x00]
+
+ds_dec_u32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x08,0xd8,0x01,0xff,0x00,0x00]
+
+ds_dec_u32 v1, v2
+// CHECK: [0x00,0x00,0x08,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x08,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x08,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x09,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x0a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x0a,0xd8,0xff,0x02,0x00,0x00]
+
+ds_min_i32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x0a,0xd8,0x01,0xff,0x00,0x00]
+
+ds_min_i32 v1, v2
+// CHECK: [0x00,0x00,0x0a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x0a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x0a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x0b,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x0c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x0c,0xd8,0xff,0x02,0x00,0x00]
+
+ds_max_i32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x0c,0xd8,0x01,0xff,0x00,0x00]
+
+ds_max_i32 v1, v2
+// CHECK: [0x00,0x00,0x0c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x0c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x0c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x0d,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x0e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x0e,0xd8,0xff,0x02,0x00,0x00]
+
+ds_min_u32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x0e,0xd8,0x01,0xff,0x00,0x00]
+
+ds_min_u32 v1, v2
+// CHECK: [0x00,0x00,0x0e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x0e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x0e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x0f,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x10,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x10,0xd8,0xff,0x02,0x00,0x00]
+
+ds_max_u32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x10,0xd8,0x01,0xff,0x00,0x00]
+
+ds_max_u32 v1, v2
+// CHECK: [0x00,0x00,0x10,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x10,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x10,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x11,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x12,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x12,0xd8,0xff,0x02,0x00,0x00]
+
+ds_and_b32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x12,0xd8,0x01,0xff,0x00,0x00]
+
+ds_and_b32 v1, v2
+// CHECK: [0x00,0x00,0x12,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x12,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x12,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x13,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x14,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x14,0xd8,0xff,0x02,0x00,0x00]
+
+ds_or_b32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x14,0xd8,0x01,0xff,0x00,0x00]
+
+ds_or_b32 v1, v2
+// CHECK: [0x00,0x00,0x14,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x14,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x14,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x15,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x16,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x16,0xd8,0xff,0x02,0x00,0x00]
+
+ds_xor_b32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x16,0xd8,0x01,0xff,0x00,0x00]
+
+ds_xor_b32 v1, v2
+// CHECK: [0x00,0x00,0x16,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x16,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x16,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x17,0xd8,0x01,0x02,0x00,0x00]
+
+ds_mskor_b32 v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x18,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b32 v255, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x18,0xd8,0xff,0x02,0x03,0x00]
+
+ds_mskor_b32 v1, v255, v3 offset:65535
+// CHECK: [0xff,0xff,0x18,0xd8,0x01,0xff,0x03,0x00]
+
+ds_mskor_b32 v1, v2, v255 offset:65535
+// CHECK: [0xff,0xff,0x18,0xd8,0x01,0x02,0xff,0x00]
+
+ds_mskor_b32 v1, v2, v3
+// CHECK: [0x00,0x00,0x18,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b32 v1, v2, v3 offset:0
+// CHECK: [0x00,0x00,0x18,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b32 v1, v2, v3 offset:4
+// CHECK: [0x04,0x00,0x18,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b32 v1, v2, v3 offset:65535 gds
+// CHECK: [0xff,0xff,0x19,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write_b32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x1a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x1a,0xd8,0xff,0x02,0x00,0x00]
+
+ds_write_b32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x1a,0xd8,0x01,0xff,0x00,0x00]
+
+ds_write_b32 v1, v2
+// CHECK: [0x00,0x00,0x1a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x1a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x1a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x1b,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write2_b32 v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x1c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b32 v255, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x1c,0xd8,0xff,0x02,0x03,0x00]
+
+ds_write2_b32 v1, v255, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x1c,0xd8,0x01,0xff,0x03,0x00]
+
+ds_write2_b32 v1, v2, v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x1c,0xd8,0x01,0x02,0xff,0x00]
+
+ds_write2_b32 v1, v2, v3 offset1:255
+// CHECK: [0x00,0xff,0x1c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b32 v1, v2, v3 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0x1c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b32 v1, v2, v3 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0x1c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b32 v1, v2, v3 offset0:127
+// CHECK: [0x7f,0x00,0x1c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b32 v1, v2, v3 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0x1c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b32 v1, v2, v3 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0x1c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b32 v1, v2, v3 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0x1d,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x1e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v255, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x1e,0xd8,0xff,0x02,0x03,0x00]
+
+ds_write2st64_b32 v1, v255, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x1e,0xd8,0x01,0xff,0x03,0x00]
+
+ds_write2st64_b32 v1, v2, v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x1e,0xd8,0x01,0x02,0xff,0x00]
+
+ds_write2st64_b32 v1, v2, v3 offset1:255
+// CHECK: [0x00,0xff,0x1e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v1, v2, v3 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0x1e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v1, v2, v3 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0x1e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v1, v2, v3 offset0:127
+// CHECK: [0x7f,0x00,0x1e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v1, v2, v3 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0x1e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v1, v2, v3 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0x1e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b32 v1, v2, v3 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0x1f,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_b32 v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x20,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_b32 v255, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x20,0xd8,0xff,0x02,0x03,0x00]
+
+ds_cmpst_b32 v1, v255, v3 offset:65535
+// CHECK: [0xff,0xff,0x20,0xd8,0x01,0xff,0x03,0x00]
+
+ds_cmpst_b32 v1, v2, v255 offset:65535
+// CHECK: [0xff,0xff,0x20,0xd8,0x01,0x02,0xff,0x00]
+
+ds_cmpst_b32 v1, v2, v3
+// CHECK: [0x00,0x00,0x20,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_b32 v1, v2, v3 offset:0
+// CHECK: [0x00,0x00,0x20,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_b32 v1, v2, v3 offset:4
+// CHECK: [0x04,0x00,0x20,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_b32 v1, v2, v3 offset:65535 gds
+// CHECK: [0xff,0xff,0x21,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_f32 v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x22,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_f32 v255, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x22,0xd8,0xff,0x02,0x03,0x00]
+
+ds_cmpst_f32 v1, v255, v3 offset:65535
+// CHECK: [0xff,0xff,0x22,0xd8,0x01,0xff,0x03,0x00]
+
+ds_cmpst_f32 v1, v2, v255 offset:65535
+// CHECK: [0xff,0xff,0x22,0xd8,0x01,0x02,0xff,0x00]
+
+ds_cmpst_f32 v1, v2, v3
+// CHECK: [0x00,0x00,0x22,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_f32 v1, v2, v3 offset:0
+// CHECK: [0x00,0x00,0x22,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_f32 v1, v2, v3 offset:4
+// CHECK: [0x04,0x00,0x22,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_f32 v1, v2, v3 offset:65535 gds
+// CHECK: [0xff,0xff,0x23,0xd8,0x01,0x02,0x03,0x00]
+
+ds_min_f32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x24,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_f32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x24,0xd8,0xff,0x02,0x00,0x00]
+
+ds_min_f32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x24,0xd8,0x01,0xff,0x00,0x00]
+
+ds_min_f32 v1, v2
+// CHECK: [0x00,0x00,0x24,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_f32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x24,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_f32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x24,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_f32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x25,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x26,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x26,0xd8,0xff,0x02,0x00,0x00]
+
+ds_max_f32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x26,0xd8,0x01,0xff,0x00,0x00]
+
+ds_max_f32 v1, v2
+// CHECK: [0x00,0x00,0x26,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x26,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x26,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x27,0xd8,0x01,0x02,0x00,0x00]
+
+ds_nop
+// CHECK: [0x00,0x00,0x28,0xd8,0x00,0x00,0x00,0x00]
+
+ds_add_f32 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x2a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_f32 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x2a,0xd8,0xff,0x02,0x00,0x00]
+
+ds_add_f32 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x2a,0xd8,0x01,0xff,0x00,0x00]
+
+ds_add_f32 v1, v2
+// CHECK: [0x00,0x00,0x2a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_f32 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x2a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_f32 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x2a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_f32 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x2b,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b8 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x3c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b8 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x3c,0xd8,0xff,0x02,0x00,0x00]
+
+ds_write_b8 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x3c,0xd8,0x01,0xff,0x00,0x00]
+
+ds_write_b8 v1, v2
+// CHECK: [0x00,0x00,0x3c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b8 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x3c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b8 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x3c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b8 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x3d,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b16 v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x3e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b16 v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x3e,0xd8,0xff,0x02,0x00,0x00]
+
+ds_write_b16 v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x3e,0xd8,0x01,0xff,0x00,0x00]
+
+ds_write_b16 v1, v2
+// CHECK: [0x00,0x00,0x3e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b16 v1, v2 offset:0
+// CHECK: [0x00,0x00,0x3e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b16 v1, v2 offset:4
+// CHECK: [0x04,0x00,0x3e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b16 v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x3f,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_rtn_u32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x40,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x40,0xd8,0x01,0x02,0x00,0xff]
+
+ds_add_rtn_u32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x40,0xd8,0xff,0x02,0x00,0x05]
+
+ds_add_rtn_u32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x40,0xd8,0x01,0xff,0x00,0x05]
+
+ds_add_rtn_u32 v5, v1, v2
+// CHECK: [0x00,0x00,0x40,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x40,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x40,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x41,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x42,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x42,0xd8,0x01,0x02,0x00,0xff]
+
+ds_sub_rtn_u32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x42,0xd8,0xff,0x02,0x00,0x05]
+
+ds_sub_rtn_u32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x42,0xd8,0x01,0xff,0x00,0x05]
+
+ds_sub_rtn_u32 v5, v1, v2
+// CHECK: [0x00,0x00,0x42,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x42,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x42,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x43,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x44,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x44,0xd8,0x01,0x02,0x00,0xff]
+
+ds_rsub_rtn_u32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x44,0xd8,0xff,0x02,0x00,0x05]
+
+ds_rsub_rtn_u32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x44,0xd8,0x01,0xff,0x00,0x05]
+
+ds_rsub_rtn_u32 v5, v1, v2
+// CHECK: [0x00,0x00,0x44,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x44,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x44,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x45,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x46,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x46,0xd8,0x01,0x02,0x00,0xff]
+
+ds_inc_rtn_u32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x46,0xd8,0xff,0x02,0x00,0x05]
+
+ds_inc_rtn_u32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x46,0xd8,0x01,0xff,0x00,0x05]
+
+ds_inc_rtn_u32 v5, v1, v2
+// CHECK: [0x00,0x00,0x46,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x46,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x46,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x47,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x48,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x48,0xd8,0x01,0x02,0x00,0xff]
+
+ds_dec_rtn_u32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x48,0xd8,0xff,0x02,0x00,0x05]
+
+ds_dec_rtn_u32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x48,0xd8,0x01,0xff,0x00,0x05]
+
+ds_dec_rtn_u32 v5, v1, v2
+// CHECK: [0x00,0x00,0x48,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x48,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x48,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x49,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x4a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x4a,0xd8,0x01,0x02,0x00,0xff]
+
+ds_min_rtn_i32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x4a,0xd8,0xff,0x02,0x00,0x05]
+
+ds_min_rtn_i32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x4a,0xd8,0x01,0xff,0x00,0x05]
+
+ds_min_rtn_i32 v5, v1, v2
+// CHECK: [0x00,0x00,0x4a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x4a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x4a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x4b,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x4c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x4c,0xd8,0x01,0x02,0x00,0xff]
+
+ds_max_rtn_i32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x4c,0xd8,0xff,0x02,0x00,0x05]
+
+ds_max_rtn_i32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x4c,0xd8,0x01,0xff,0x00,0x05]
+
+ds_max_rtn_i32 v5, v1, v2
+// CHECK: [0x00,0x00,0x4c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x4c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x4c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x4d,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x4e,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x4e,0xd8,0x01,0x02,0x00,0xff]
+
+ds_min_rtn_u32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x4e,0xd8,0xff,0x02,0x00,0x05]
+
+ds_min_rtn_u32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x4e,0xd8,0x01,0xff,0x00,0x05]
+
+ds_min_rtn_u32 v5, v1, v2
+// CHECK: [0x00,0x00,0x4e,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x4e,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x4e,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x4f,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x50,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x50,0xd8,0x01,0x02,0x00,0xff]
+
+ds_max_rtn_u32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x50,0xd8,0xff,0x02,0x00,0x05]
+
+ds_max_rtn_u32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x50,0xd8,0x01,0xff,0x00,0x05]
+
+ds_max_rtn_u32 v5, v1, v2
+// CHECK: [0x00,0x00,0x50,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x50,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x50,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x51,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x52,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x52,0xd8,0x01,0x02,0x00,0xff]
+
+ds_and_rtn_b32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x52,0xd8,0xff,0x02,0x00,0x05]
+
+ds_and_rtn_b32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x52,0xd8,0x01,0xff,0x00,0x05]
+
+ds_and_rtn_b32 v5, v1, v2
+// CHECK: [0x00,0x00,0x52,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x52,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x52,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x53,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x54,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x54,0xd8,0x01,0x02,0x00,0xff]
+
+ds_or_rtn_b32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x54,0xd8,0xff,0x02,0x00,0x05]
+
+ds_or_rtn_b32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x54,0xd8,0x01,0xff,0x00,0x05]
+
+ds_or_rtn_b32 v5, v1, v2
+// CHECK: [0x00,0x00,0x54,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x54,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x54,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x55,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x56,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x56,0xd8,0x01,0x02,0x00,0xff]
+
+ds_xor_rtn_b32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x56,0xd8,0xff,0x02,0x00,0x05]
+
+ds_xor_rtn_b32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x56,0xd8,0x01,0xff,0x00,0x05]
+
+ds_xor_rtn_b32 v5, v1, v2
+// CHECK: [0x00,0x00,0x56,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x56,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x56,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x57,0xd8,0x01,0x02,0x00,0x05]
+
+ds_mskor_rtn_b32 v5, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x58,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b32 v255, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x58,0xd8,0x01,0x02,0x03,0xff]
+
+ds_mskor_rtn_b32 v5, v255, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x58,0xd8,0xff,0x02,0x03,0x05]
+
+ds_mskor_rtn_b32 v5, v1, v255, v3 offset:65535
+// CHECK: [0xff,0xff,0x58,0xd8,0x01,0xff,0x03,0x05]
+
+ds_mskor_rtn_b32 v5, v1, v2, v255 offset:65535
+// CHECK: [0xff,0xff,0x58,0xd8,0x01,0x02,0xff,0x05]
+
+ds_mskor_rtn_b32 v5, v1, v2, v3
+// CHECK: [0x00,0x00,0x58,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b32 v5, v1, v2, v3 offset:0
+// CHECK: [0x00,0x00,0x58,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b32 v5, v1, v2, v3 offset:4
+// CHECK: [0x04,0x00,0x58,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b32 v5, v1, v2, v3 offset:65535 gds
+// CHECK: [0xff,0xff,0x59,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg_rtn_b32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x5a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x5a,0xd8,0x01,0x02,0x00,0xff]
+
+ds_wrxchg_rtn_b32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x5a,0xd8,0xff,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x5a,0xd8,0x01,0xff,0x00,0x05]
+
+ds_wrxchg_rtn_b32 v5, v1, v2
+// CHECK: [0x00,0x00,0x5a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x5a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x5a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x5b,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0x03,0xfe]
+
+ds_wrxchg2_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5c,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5c,0xd8,0x01,0xff,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5c,0xd8,0x01,0x02,0xff,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset1:255
+// CHECK: [0x00,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127
+// CHECK: [0x7f,0x00,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0x5c,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0x5d,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[254:255], v1, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0x03,0xfe]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v255, v2, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5e,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v255, v3 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5e,0xd8,0x01,0xff,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x5e,0xd8,0x01,0x02,0xff,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset1:255
+// CHECK: [0x00,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127
+// CHECK: [0x7f,0x00,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0x5e,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b32 v[5:6], v1, v2, v3 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0x5f,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b32 v5, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x60,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b32 v255, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x60,0xd8,0x01,0x02,0x03,0xff]
+
+ds_cmpst_rtn_b32 v5, v255, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x60,0xd8,0xff,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b32 v5, v1, v255, v3 offset:65535
+// CHECK: [0xff,0xff,0x60,0xd8,0x01,0xff,0x03,0x05]
+
+ds_cmpst_rtn_b32 v5, v1, v2, v255 offset:65535
+// CHECK: [0xff,0xff,0x60,0xd8,0x01,0x02,0xff,0x05]
+
+ds_cmpst_rtn_b32 v5, v1, v2, v3
+// CHECK: [0x00,0x00,0x60,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b32 v5, v1, v2, v3 offset:0
+// CHECK: [0x00,0x00,0x60,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b32 v5, v1, v2, v3 offset:4
+// CHECK: [0x04,0x00,0x60,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b32 v5, v1, v2, v3 offset:65535 gds
+// CHECK: [0xff,0xff,0x61,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f32 v5, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x62,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f32 v255, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x62,0xd8,0x01,0x02,0x03,0xff]
+
+ds_cmpst_rtn_f32 v5, v255, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x62,0xd8,0xff,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f32 v5, v1, v255, v3 offset:65535
+// CHECK: [0xff,0xff,0x62,0xd8,0x01,0xff,0x03,0x05]
+
+ds_cmpst_rtn_f32 v5, v1, v2, v255 offset:65535
+// CHECK: [0xff,0xff,0x62,0xd8,0x01,0x02,0xff,0x05]
+
+ds_cmpst_rtn_f32 v5, v1, v2, v3
+// CHECK: [0x00,0x00,0x62,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f32 v5, v1, v2, v3 offset:0
+// CHECK: [0x00,0x00,0x62,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f32 v5, v1, v2, v3 offset:4
+// CHECK: [0x04,0x00,0x62,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f32 v5, v1, v2, v3 offset:65535 gds
+// CHECK: [0xff,0xff,0x63,0xd8,0x01,0x02,0x03,0x05]
+
+ds_min_rtn_f32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x64,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_f32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x64,0xd8,0x01,0x02,0x00,0xff]
+
+ds_min_rtn_f32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x64,0xd8,0xff,0x02,0x00,0x05]
+
+ds_min_rtn_f32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x64,0xd8,0x01,0xff,0x00,0x05]
+
+ds_min_rtn_f32 v5, v1, v2
+// CHECK: [0x00,0x00,0x64,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_f32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x64,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_f32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x64,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_f32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x65,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x66,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x66,0xd8,0x01,0x02,0x00,0xff]
+
+ds_max_rtn_f32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x66,0xd8,0xff,0x02,0x00,0x05]
+
+ds_max_rtn_f32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x66,0xd8,0x01,0xff,0x00,0x05]
+
+ds_max_rtn_f32 v5, v1, v2
+// CHECK: [0x00,0x00,0x66,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x66,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x66,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x67,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v255, v1, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x68,0xd8,0x01,0x02,0x03,0xff]
+
+ds_wrap_rtn_b32 v5, v255, v2, v3 offset:65535
+// CHECK: [0xff,0xff,0x68,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v255, v3 offset:65535
+// CHECK: [0xff,0xff,0x68,0xd8,0x01,0xff,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v255 offset:65535
+// CHECK: [0xff,0xff,0x68,0xd8,0x01,0x02,0xff,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3
+// CHECK: [0x00,0x00,0x68,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:0
+// CHECK: [0x00,0x00,0x68,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:4
+// CHECK: [0x04,0x00,0x68,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrap_rtn_b32 v5, v1, v2, v3 offset:65535 gds
+// CHECK: [0xff,0xff,0x69,0xd8,0x01,0x02,0x03,0x05]
+
+ds_add_rtn_f32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x6a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_f32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x6a,0xd8,0x01,0x02,0x00,0xff]
+
+ds_add_rtn_f32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x6a,0xd8,0xff,0x02,0x00,0x05]
+
+ds_add_rtn_f32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x6a,0xd8,0x01,0xff,0x00,0x05]
+
+ds_add_rtn_f32 v5, v1, v2
+// CHECK: [0x00,0x00,0x6a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_f32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x6a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_f32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x6a,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_f32 v5, v1, v2 offset:65535 gds
+// CHECK: [0xff,0xff,0x6b,0xd8,0x01,0x02,0x00,0x05]
+
+ds_read_b32 v5, v1 offset:65535
+// CHECK: [0xff,0xff,0x6c,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b32 v255, v1 offset:65535
+// CHECK: [0xff,0xff,0x6c,0xd8,0x01,0x00,0x00,0xff]
+
+ds_read_b32 v5, v255 offset:65535
+// CHECK: [0xff,0xff,0x6c,0xd8,0xff,0x00,0x00,0x05]
+
+ds_read_b32 v5, v1
+// CHECK: [0x00,0x00,0x6c,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b32 v5, v1 offset:0
+// CHECK: [0x00,0x00,0x6c,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b32 v5, v1 offset:4
+// CHECK: [0x04,0x00,0x6c,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b32 v5, v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x6d,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[5:6], v1 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x6e,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[254:255], v1 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x6e,0xd8,0x01,0x00,0x00,0xfe]
+
+ds_read2_b32 v[5:6], v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x6e,0xd8,0xff,0x00,0x00,0x05]
+
+ds_read2_b32 v[5:6], v1 offset1:255
+// CHECK: [0x00,0xff,0x6e,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[5:6], v1 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0x6e,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[5:6], v1 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0x6e,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[5:6], v1 offset0:127
+// CHECK: [0x7f,0x00,0x6e,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[5:6], v1 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0x6e,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[5:6], v1 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0x6e,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b32 v[5:6], v1 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0x6f,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[5:6], v1 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x70,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[254:255], v1 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x70,0xd8,0x01,0x00,0x00,0xfe]
+
+ds_read2st64_b32 v[5:6], v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x70,0xd8,0xff,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[5:6], v1 offset1:255
+// CHECK: [0x00,0xff,0x70,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[5:6], v1 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0x70,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[5:6], v1 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0x70,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[5:6], v1 offset0:127
+// CHECK: [0x7f,0x00,0x70,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[5:6], v1 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0x70,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[5:6], v1 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0x70,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b32 v[5:6], v1 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0x71,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i8 v5, v1 offset:65535
+// CHECK: [0xff,0xff,0x72,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i8 v255, v1 offset:65535
+// CHECK: [0xff,0xff,0x72,0xd8,0x01,0x00,0x00,0xff]
+
+ds_read_i8 v5, v255 offset:65535
+// CHECK: [0xff,0xff,0x72,0xd8,0xff,0x00,0x00,0x05]
+
+ds_read_i8 v5, v1
+// CHECK: [0x00,0x00,0x72,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i8 v5, v1 offset:0
+// CHECK: [0x00,0x00,0x72,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i8 v5, v1 offset:4
+// CHECK: [0x04,0x00,0x72,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i8 v5, v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x73,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u8 v5, v1 offset:65535
+// CHECK: [0xff,0xff,0x74,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u8 v255, v1 offset:65535
+// CHECK: [0xff,0xff,0x74,0xd8,0x01,0x00,0x00,0xff]
+
+ds_read_u8 v5, v255 offset:65535
+// CHECK: [0xff,0xff,0x74,0xd8,0xff,0x00,0x00,0x05]
+
+ds_read_u8 v5, v1
+// CHECK: [0x00,0x00,0x74,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u8 v5, v1 offset:0
+// CHECK: [0x00,0x00,0x74,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u8 v5, v1 offset:4
+// CHECK: [0x04,0x00,0x74,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u8 v5, v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x75,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i16 v5, v1 offset:65535
+// CHECK: [0xff,0xff,0x76,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i16 v255, v1 offset:65535
+// CHECK: [0xff,0xff,0x76,0xd8,0x01,0x00,0x00,0xff]
+
+ds_read_i16 v5, v255 offset:65535
+// CHECK: [0xff,0xff,0x76,0xd8,0xff,0x00,0x00,0x05]
+
+ds_read_i16 v5, v1
+// CHECK: [0x00,0x00,0x76,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i16 v5, v1 offset:0
+// CHECK: [0x00,0x00,0x76,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i16 v5, v1 offset:4
+// CHECK: [0x04,0x00,0x76,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_i16 v5, v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x77,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u16 v5, v1 offset:65535
+// CHECK: [0xff,0xff,0x78,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u16 v255, v1 offset:65535
+// CHECK: [0xff,0xff,0x78,0xd8,0x01,0x00,0x00,0xff]
+
+ds_read_u16 v5, v255 offset:65535
+// CHECK: [0xff,0xff,0x78,0xd8,0xff,0x00,0x00,0x05]
+
+ds_read_u16 v5, v1
+// CHECK: [0x00,0x00,0x78,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u16 v5, v1 offset:0
+// CHECK: [0x00,0x00,0x78,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u16 v5, v1 offset:4
+// CHECK: [0x04,0x00,0x78,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_u16 v5, v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x79,0xd8,0x01,0x00,0x00,0x05]
+
+ds_swizzle_b32 v5, v1 offset:65535
+// CHECK: [0xff,0xff,0x7a,0xd8,0x01,0x00,0x00,0x05]
+
+ds_swizzle_b32 v255, v1 offset:65535
+// CHECK: [0xff,0xff,0x7a,0xd8,0x01,0x00,0x00,0xff]
+
+ds_swizzle_b32 v5, v255 offset:65535
+// CHECK: [0xff,0xff,0x7a,0xd8,0xff,0x00,0x00,0x05]
+
+ds_swizzle_b32 v5, v1
+// CHECK: [0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05]
+
+ds_swizzle_b32 v5, v1 offset:0
+// CHECK: [0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05]
+
+ds_swizzle_b32 v5, v1 offset:4
+// CHECK: [0x04,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05]
+
+ds_swizzle_b32 v5, v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x7b,0xd8,0x01,0x00,0x00,0x05]
+
+ds_permute_b32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_permute_b32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0xff]
+
+ds_permute_b32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x7c,0xd8,0xff,0x02,0x00,0x05]
+
+ds_permute_b32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x7c,0xd8,0x01,0xff,0x00,0x05]
+
+ds_permute_b32 v5, v1, v2
+// CHECK: [0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_permute_b32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_permute_b32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x7c,0xd8,0x01,0x02,0x00,0x05]
+
+ds_bpermute_b32 v5, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x7e,0xd8,0x01,0x02,0x00,0x05]
+
+ds_bpermute_b32 v255, v1, v2 offset:65535
+// CHECK: [0xff,0xff,0x7e,0xd8,0x01,0x02,0x00,0xff]
+
+ds_bpermute_b32 v5, v255, v2 offset:65535
+// CHECK: [0xff,0xff,0x7e,0xd8,0xff,0x02,0x00,0x05]
+
+ds_bpermute_b32 v5, v1, v255 offset:65535
+// CHECK: [0xff,0xff,0x7e,0xd8,0x01,0xff,0x00,0x05]
+
+ds_bpermute_b32 v5, v1, v2
+// CHECK: [0x00,0x00,0x7e,0xd8,0x01,0x02,0x00,0x05]
+
+ds_bpermute_b32 v5, v1, v2 offset:0
+// CHECK: [0x00,0x00,0x7e,0xd8,0x01,0x02,0x00,0x05]
+
+ds_bpermute_b32 v5, v1, v2 offset:4
+// CHECK: [0x04,0x00,0x7e,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_u64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x80,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x80,0xd8,0xff,0x02,0x00,0x00]
+
+ds_add_u64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x80,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_add_u64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x80,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x80,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x80,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_u64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x81,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x82,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x82,0xd8,0xff,0x02,0x00,0x00]
+
+ds_sub_u64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x82,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_sub_u64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x82,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x82,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x82,0xd8,0x01,0x02,0x00,0x00]
+
+ds_sub_u64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x83,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x84,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x84,0xd8,0xff,0x02,0x00,0x00]
+
+ds_rsub_u64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x84,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_rsub_u64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x84,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x84,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x84,0xd8,0x01,0x02,0x00,0x00]
+
+ds_rsub_u64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x85,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x86,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x86,0xd8,0xff,0x02,0x00,0x00]
+
+ds_inc_u64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x86,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_inc_u64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x86,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x86,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x86,0xd8,0x01,0x02,0x00,0x00]
+
+ds_inc_u64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x87,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x88,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x88,0xd8,0xff,0x02,0x00,0x00]
+
+ds_dec_u64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x88,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_dec_u64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x88,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x88,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x88,0xd8,0x01,0x02,0x00,0x00]
+
+ds_dec_u64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x89,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x8a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x8a,0xd8,0xff,0x02,0x00,0x00]
+
+ds_min_i64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x8a,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_min_i64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x8a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x8a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x8a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_i64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x8b,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x8c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x8c,0xd8,0xff,0x02,0x00,0x00]
+
+ds_max_i64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x8c,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_max_i64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x8c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x8c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x8c,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_i64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x8d,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x8e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x8e,0xd8,0xff,0x02,0x00,0x00]
+
+ds_min_u64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x8e,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_min_u64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x8e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x8e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x8e,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_u64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x8f,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x90,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x90,0xd8,0xff,0x02,0x00,0x00]
+
+ds_max_u64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x90,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_max_u64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x90,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x90,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x90,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_u64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x91,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x92,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x92,0xd8,0xff,0x02,0x00,0x00]
+
+ds_and_b64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x92,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_and_b64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x92,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x92,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x92,0xd8,0x01,0x02,0x00,0x00]
+
+ds_and_b64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x93,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x94,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x94,0xd8,0xff,0x02,0x00,0x00]
+
+ds_or_b64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x94,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_or_b64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x94,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x94,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x94,0xd8,0x01,0x02,0x00,0x00]
+
+ds_or_b64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x95,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x96,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x96,0xd8,0xff,0x02,0x00,0x00]
+
+ds_xor_b64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x96,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_xor_b64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x96,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x96,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x96,0xd8,0x01,0x02,0x00,0x00]
+
+ds_xor_b64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x97,0xd8,0x01,0x02,0x00,0x00]
+
+ds_mskor_b64 v1, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0x98,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b64 v255, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0x98,0xd8,0xff,0x02,0x03,0x00]
+
+ds_mskor_b64 v1, v[254:255], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0x98,0xd8,0x01,0xfe,0x03,0x00]
+
+ds_mskor_b64 v1, v[2:3], v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x98,0xd8,0x01,0x02,0xfe,0x00]
+
+ds_mskor_b64 v1, v[2:3], v[3:4]
+// CHECK: [0x00,0x00,0x98,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b64 v1, v[2:3], v[3:4] offset:0
+// CHECK: [0x00,0x00,0x98,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b64 v1, v[2:3], v[3:4] offset:4
+// CHECK: [0x04,0x00,0x98,0xd8,0x01,0x02,0x03,0x00]
+
+ds_mskor_b64 v1, v[2:3], v[3:4] offset:65535 gds
+// CHECK: [0xff,0xff,0x99,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write_b64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x9a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0x9a,0xd8,0xff,0x02,0x00,0x00]
+
+ds_write_b64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0x9a,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_write_b64 v1, v[2:3]
+// CHECK: [0x00,0x00,0x9a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0x9a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0x9a,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write_b64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0x9b,0xd8,0x01,0x02,0x00,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x9c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b64 v255, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x9c,0xd8,0xff,0x02,0x03,0x00]
+
+ds_write2_b64 v1, v[254:255], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x9c,0xd8,0x01,0xfe,0x03,0x00]
+
+ds_write2_b64 v1, v[2:3], v[254:255] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x9c,0xd8,0x01,0x02,0xfe,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4] offset1:255
+// CHECK: [0x00,0xff,0x9c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4] offset0:0 offset1:255
+// CHECK: [0x00,0xff,0x9c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4] offset0:16 offset1:255
+// CHECK: [0x10,0xff,0x9c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4] offset0:127
+// CHECK: [0x7f,0x00,0x9c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4] offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0x9c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4] offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0x9c,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0x9d,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x9e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v255, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x9e,0xd8,0xff,0x02,0x03,0x00]
+
+ds_write2st64_b64 v1, v[254:255], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x9e,0xd8,0x01,0xfe,0x03,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[254:255] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0x9e,0xd8,0x01,0x02,0xfe,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4] offset1:255
+// CHECK: [0x00,0xff,0x9e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:0 offset1:255
+// CHECK: [0x00,0xff,0x9e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:16 offset1:255
+// CHECK: [0x10,0xff,0x9e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:127
+// CHECK: [0x7f,0x00,0x9e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0x9e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0x9e,0xd8,0x01,0x02,0x03,0x00]
+
+ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0x9f,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_b64 v1, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xa0,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_b64 v255, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xa0,0xd8,0xff,0x02,0x03,0x00]
+
+ds_cmpst_b64 v1, v[254:255], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xa0,0xd8,0x01,0xfe,0x03,0x00]
+
+ds_cmpst_b64 v1, v[2:3], v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xa0,0xd8,0x01,0x02,0xfe,0x00]
+
+ds_cmpst_b64 v1, v[2:3], v[3:4]
+// CHECK: [0x00,0x00,0xa0,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_b64 v1, v[2:3], v[3:4] offset:0
+// CHECK: [0x00,0x00,0xa0,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_b64 v1, v[2:3], v[3:4] offset:4
+// CHECK: [0x04,0x00,0xa0,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_b64 v1, v[2:3], v[3:4] offset:65535 gds
+// CHECK: [0xff,0xff,0xa1,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_f64 v1, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xa2,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_f64 v255, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xa2,0xd8,0xff,0x02,0x03,0x00]
+
+ds_cmpst_f64 v1, v[254:255], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xa2,0xd8,0x01,0xfe,0x03,0x00]
+
+ds_cmpst_f64 v1, v[2:3], v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xa2,0xd8,0x01,0x02,0xfe,0x00]
+
+ds_cmpst_f64 v1, v[2:3], v[3:4]
+// CHECK: [0x00,0x00,0xa2,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_f64 v1, v[2:3], v[3:4] offset:0
+// CHECK: [0x00,0x00,0xa2,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_f64 v1, v[2:3], v[3:4] offset:4
+// CHECK: [0x04,0x00,0xa2,0xd8,0x01,0x02,0x03,0x00]
+
+ds_cmpst_f64 v1, v[2:3], v[3:4] offset:65535 gds
+// CHECK: [0xff,0xff,0xa3,0xd8,0x01,0x02,0x03,0x00]
+
+ds_min_f64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xa4,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_f64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xa4,0xd8,0xff,0x02,0x00,0x00]
+
+ds_min_f64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xa4,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_min_f64 v1, v[2:3]
+// CHECK: [0x00,0x00,0xa4,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_f64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xa4,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_f64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xa4,0xd8,0x01,0x02,0x00,0x00]
+
+ds_min_f64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xa5,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f64 v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xa6,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f64 v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xa6,0xd8,0xff,0x02,0x00,0x00]
+
+ds_max_f64 v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xa6,0xd8,0x01,0xfe,0x00,0x00]
+
+ds_max_f64 v1, v[2:3]
+// CHECK: [0x00,0x00,0xa6,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f64 v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xa6,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f64 v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xa6,0xd8,0x01,0x02,0x00,0x00]
+
+ds_max_f64 v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xa7,0xd8,0x01,0x02,0x00,0x00]
+
+ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc0,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_add_rtn_u64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc0,0xd8,0xff,0x02,0x00,0x05]
+
+ds_add_rtn_u64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xc0,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_add_rtn_u64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xc0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xc0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xc0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xc1,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc2,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc2,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_sub_rtn_u64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc2,0xd8,0xff,0x02,0x00,0x05]
+
+ds_sub_rtn_u64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xc2,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_sub_rtn_u64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xc2,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xc2,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xc2,0xd8,0x01,0x02,0x00,0x05]
+
+ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xc3,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc4,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_rsub_rtn_u64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc4,0xd8,0xff,0x02,0x00,0x05]
+
+ds_rsub_rtn_u64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xc4,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_rsub_rtn_u64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xc4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xc4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xc4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xc5,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc6,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_inc_rtn_u64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc6,0xd8,0xff,0x02,0x00,0x05]
+
+ds_inc_rtn_u64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xc6,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_inc_rtn_u64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xc6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xc6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xc6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xc7,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_dec_rtn_u64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xc8,0xd8,0xff,0x02,0x00,0x05]
+
+ds_dec_rtn_u64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xc8,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_dec_rtn_u64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05]
+
+ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xc9,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xca,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xca,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_min_rtn_i64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xca,0xd8,0xff,0x02,0x00,0x05]
+
+ds_min_rtn_i64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xca,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_min_rtn_i64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xca,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xca,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xca,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xcb,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_max_rtn_i64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xcc,0xd8,0xff,0x02,0x00,0x05]
+
+ds_max_rtn_i64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xcc,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_max_rtn_i64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xcd,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xce,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xce,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_min_rtn_u64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xce,0xd8,0xff,0x02,0x00,0x05]
+
+ds_min_rtn_u64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xce,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_min_rtn_u64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xce,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xce,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xce,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xcf,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd0,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_max_rtn_u64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd0,0xd8,0xff,0x02,0x00,0x05]
+
+ds_max_rtn_u64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xd0,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_max_rtn_u64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xd0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xd0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xd0,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xd1,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd2,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd2,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_and_rtn_b64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd2,0xd8,0xff,0x02,0x00,0x05]
+
+ds_and_rtn_b64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xd2,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_and_rtn_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xd2,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xd2,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xd2,0xd8,0x01,0x02,0x00,0x05]
+
+ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xd3,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd4,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_or_rtn_b64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd4,0xd8,0xff,0x02,0x00,0x05]
+
+ds_or_rtn_b64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xd4,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_or_rtn_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xd4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xd4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xd4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xd5,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd6,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_xor_rtn_b64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xd6,0xd8,0xff,0x02,0x00,0x05]
+
+ds_xor_rtn_b64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xd6,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_xor_rtn_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xd6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xd6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xd6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xd7,0xd8,0x01,0x02,0x00,0x05]
+
+ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xd8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b64 v[254:255], v1, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xd8,0xd8,0x01,0x02,0x03,0xfe]
+
+ds_mskor_rtn_b64 v[5:6], v255, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xd8,0xd8,0xff,0x02,0x03,0x05]
+
+ds_mskor_rtn_b64 v[5:6], v1, v[254:255], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xd8,0xd8,0x01,0xfe,0x03,0x05]
+
+ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xd8,0xd8,0x01,0x02,0xfe,0x05]
+
+ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4]
+// CHECK: [0x00,0x00,0xd8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:0
+// CHECK: [0x00,0x00,0xd8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:4
+// CHECK: [0x04,0x00,0xd8,0xd8,0x01,0x02,0x03,0x05]
+
+ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535 gds
+// CHECK: [0xff,0xff,0xd9,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xda,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xda,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_wrxchg_rtn_b64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xda,0xd8,0xff,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xda,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xda,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xda,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xda,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xdb,0xd8,0x01,0x02,0x00,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[252:255], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0x03,0xfc]
+
+ds_wrxchg2_rtn_b64 v[5:8], v255, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xdc,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[254:255], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xdc,0xd8,0x01,0xfe,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[254:255] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xdc,0xd8,0x01,0x02,0xfe,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255
+// CHECK: [0x00,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:0 offset1:255
+// CHECK: [0x00,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:16 offset1:255
+// CHECK: [0x10,0xff,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127
+// CHECK: [0x7f,0x00,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0xdc,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0xdd,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[252:255], v1, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xde,0xd8,0x01,0x02,0x03,0xfc]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v255, v[2:3], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xde,0xd8,0xff,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[254:255], v[3:4] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xde,0xd8,0x01,0xfe,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[254:255] offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xde,0xd8,0x01,0x02,0xfe,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset1:255
+// CHECK: [0x00,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:0 offset1:255
+// CHECK: [0x00,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:16 offset1:255
+// CHECK: [0x10,0xff,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127
+// CHECK: [0x7f,0x00,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0xde,0xd8,0x01,0x02,0x03,0x05]
+
+ds_wrxchg2st64_rtn_b64 v[5:8], v1, v[2:3], v[3:4] offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0xdf,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xe0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b64 v[254:255], v1, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xe0,0xd8,0x01,0x02,0x03,0xfe]
+
+ds_cmpst_rtn_b64 v[5:6], v255, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xe0,0xd8,0xff,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b64 v[5:6], v1, v[254:255], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xe0,0xd8,0x01,0xfe,0x03,0x05]
+
+ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xe0,0xd8,0x01,0x02,0xfe,0x05]
+
+ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4]
+// CHECK: [0x00,0x00,0xe0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:0
+// CHECK: [0x00,0x00,0xe0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:4
+// CHECK: [0x04,0x00,0xe0,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535 gds
+// CHECK: [0xff,0xff,0xe1,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xe2,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f64 v[254:255], v1, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xe2,0xd8,0x01,0x02,0x03,0xfe]
+
+ds_cmpst_rtn_f64 v[5:6], v255, v[2:3], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xe2,0xd8,0xff,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f64 v[5:6], v1, v[254:255], v[3:4] offset:65535
+// CHECK: [0xff,0xff,0xe2,0xd8,0x01,0xfe,0x03,0x05]
+
+ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xe2,0xd8,0x01,0x02,0xfe,0x05]
+
+ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[3:4]
+// CHECK: [0x00,0x00,0xe2,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[3:4] offset:0
+// CHECK: [0x00,0x00,0xe2,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[3:4] offset:4
+// CHECK: [0x04,0x00,0xe2,0xd8,0x01,0x02,0x03,0x05]
+
+ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[3:4] offset:65535 gds
+// CHECK: [0xff,0xff,0xe3,0xd8,0x01,0x02,0x03,0x05]
+
+ds_min_rtn_f64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xe4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_f64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xe4,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_min_rtn_f64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xe4,0xd8,0xff,0x02,0x00,0x05]
+
+ds_min_rtn_f64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xe4,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_min_rtn_f64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xe4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_f64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xe4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_f64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xe4,0xd8,0x01,0x02,0x00,0x05]
+
+ds_min_rtn_f64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xe5,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xe6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xe6,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_max_rtn_f64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xe6,0xd8,0xff,0x02,0x00,0x05]
+
+ds_max_rtn_f64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xe6,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_max_rtn_f64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xe6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xe6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xe6,0xd8,0x01,0x02,0x00,0x05]
+
+ds_max_rtn_f64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xe7,0xd8,0x01,0x02,0x00,0x05]
+
+ds_read_b64 v[5:6], v1 offset:65535
+// CHECK: [0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b64 v[254:255], v1 offset:65535
+// CHECK: [0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0xfe]
+
+ds_read_b64 v[5:6], v255 offset:65535
+// CHECK: [0xff,0xff,0xec,0xd8,0xff,0x00,0x00,0x05]
+
+ds_read_b64 v[5:6], v1
+// CHECK: [0x00,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b64 v[5:6], v1 offset:0
+// CHECK: [0x00,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b64 v[5:6], v1 offset:4
+// CHECK: [0x04,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read_b64 v[5:6], v1 offset:65535 gds
+// CHECK: [0xff,0xff,0xed,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[5:8], v1 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xee,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[252:255], v1 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xee,0xd8,0x01,0x00,0x00,0xfc]
+
+ds_read2_b64 v[5:8], v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xee,0xd8,0xff,0x00,0x00,0x05]
+
+ds_read2_b64 v[5:8], v1 offset1:255
+// CHECK: [0x00,0xff,0xee,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[5:8], v1 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0xee,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[5:8], v1 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0xee,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[5:8], v1 offset0:127
+// CHECK: [0x7f,0x00,0xee,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[5:8], v1 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0xee,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[5:8], v1 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0xee,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2_b64 v[5:8], v1 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0xef,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[5:8], v1 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[252:255], v1 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xf0,0xd8,0x01,0x00,0x00,0xfc]
+
+ds_read2st64_b64 v[5:8], v255 offset0:127 offset1:255
+// CHECK: [0x7f,0xff,0xf0,0xd8,0xff,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[5:8], v1 offset1:255
+// CHECK: [0x00,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[5:8], v1 offset0:0 offset1:255
+// CHECK: [0x00,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[5:8], v1 offset0:16 offset1:255
+// CHECK: [0x10,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[5:8], v1 offset0:127
+// CHECK: [0x7f,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[5:8], v1 offset0:127 offset1:0
+// CHECK: [0x7f,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[5:8], v1 offset0:127 offset1:1
+// CHECK: [0x7f,0x01,0xf0,0xd8,0x01,0x00,0x00,0x05]
+
+ds_read2st64_b64 v[5:8], v1 offset0:127 offset1:255 gds
+// CHECK: [0x7f,0xff,0xf1,0xd8,0x01,0x00,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[254:255], v1, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd8,0x01,0x02,0x00,0xfe]
+
+ds_condxchg32_rtn_b64 v[5:6], v255, v[2:3] offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd8,0xff,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[254:255] offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd8,0x01,0xfe,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3]
+// CHECK: [0x00,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:0
+// CHECK: [0x00,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:4
+// CHECK: [0x04,0x00,0xfc,0xd8,0x01,0x02,0x00,0x05]
+
+ds_condxchg32_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds
+// CHECK: [0xff,0xff,0xfd,0xd8,0x01,0x02,0x00,0x05]
+
+ds_add_src2_u32 v1 offset:65535
+// CHECK: [0xff,0xff,0x00,0xd9,0x01,0x00,0x00,0x00]
+
+ds_add_src2_u32 v255 offset:65535
+// CHECK: [0xff,0xff,0x00,0xd9,0xff,0x00,0x00,0x00]
+
+ds_add_src2_u32 v1
+// CHECK: [0x00,0x00,0x00,0xd9,0x01,0x00,0x00,0x00]
+
+ds_add_src2_u32 v1 offset:0
+// CHECK: [0x00,0x00,0x00,0xd9,0x01,0x00,0x00,0x00]
+
+ds_add_src2_u32 v1 offset:4
+// CHECK: [0x04,0x00,0x00,0xd9,0x01,0x00,0x00,0x00]
+
+ds_add_src2_u32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x01,0xd9,0x01,0x00,0x00,0x00]
+
+ds_sub_src2_u32 v1 offset:65535
+// CHECK: [0xff,0xff,0x02,0xd9,0x01,0x00,0x00,0x00]
+
+ds_sub_src2_u32 v255 offset:65535
+// CHECK: [0xff,0xff,0x02,0xd9,0xff,0x00,0x00,0x00]
+
+ds_sub_src2_u32 v1
+// CHECK: [0x00,0x00,0x02,0xd9,0x01,0x00,0x00,0x00]
+
+ds_sub_src2_u32 v1 offset:0
+// CHECK: [0x00,0x00,0x02,0xd9,0x01,0x00,0x00,0x00]
+
+ds_sub_src2_u32 v1 offset:4
+// CHECK: [0x04,0x00,0x02,0xd9,0x01,0x00,0x00,0x00]
+
+ds_sub_src2_u32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x03,0xd9,0x01,0x00,0x00,0x00]
+
+ds_rsub_src2_u32 v1 offset:65535
+// CHECK: [0xff,0xff,0x04,0xd9,0x01,0x00,0x00,0x00]
+
+ds_rsub_src2_u32 v255 offset:65535
+// CHECK: [0xff,0xff,0x04,0xd9,0xff,0x00,0x00,0x00]
+
+ds_rsub_src2_u32 v1
+// CHECK: [0x00,0x00,0x04,0xd9,0x01,0x00,0x00,0x00]
+
+ds_rsub_src2_u32 v1 offset:0
+// CHECK: [0x00,0x00,0x04,0xd9,0x01,0x00,0x00,0x00]
+
+ds_rsub_src2_u32 v1 offset:4
+// CHECK: [0x04,0x00,0x04,0xd9,0x01,0x00,0x00,0x00]
+
+ds_rsub_src2_u32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x05,0xd9,0x01,0x00,0x00,0x00]
+
+ds_inc_src2_u32 v1 offset:65535
+// CHECK: [0xff,0xff,0x06,0xd9,0x01,0x00,0x00,0x00]
+
+ds_inc_src2_u32 v255 offset:65535
+// CHECK: [0xff,0xff,0x06,0xd9,0xff,0x00,0x00,0x00]
+
+ds_inc_src2_u32 v1
+// CHECK: [0x00,0x00,0x06,0xd9,0x01,0x00,0x00,0x00]
+
+ds_inc_src2_u32 v1 offset:0
+// CHECK: [0x00,0x00,0x06,0xd9,0x01,0x00,0x00,0x00]
+
+ds_inc_src2_u32 v1 offset:4
+// CHECK: [0x04,0x00,0x06,0xd9,0x01,0x00,0x00,0x00]
+
+ds_inc_src2_u32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x07,0xd9,0x01,0x00,0x00,0x00]
+
+ds_dec_src2_u32 v1 offset:65535
+// CHECK: [0xff,0xff,0x08,0xd9,0x01,0x00,0x00,0x00]
+
+ds_dec_src2_u32 v255 offset:65535
+// CHECK: [0xff,0xff,0x08,0xd9,0xff,0x00,0x00,0x00]
+
+ds_dec_src2_u32 v1
+// CHECK: [0x00,0x00,0x08,0xd9,0x01,0x00,0x00,0x00]
+
+ds_dec_src2_u32 v1 offset:0
+// CHECK: [0x00,0x00,0x08,0xd9,0x01,0x00,0x00,0x00]
+
+ds_dec_src2_u32 v1 offset:4
+// CHECK: [0x04,0x00,0x08,0xd9,0x01,0x00,0x00,0x00]
+
+ds_dec_src2_u32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x09,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_i32 v1 offset:65535
+// CHECK: [0xff,0xff,0x0a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_i32 v255 offset:65535
+// CHECK: [0xff,0xff,0x0a,0xd9,0xff,0x00,0x00,0x00]
+
+ds_min_src2_i32 v1
+// CHECK: [0x00,0x00,0x0a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_i32 v1 offset:0
+// CHECK: [0x00,0x00,0x0a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_i32 v1 offset:4
+// CHECK: [0x04,0x00,0x0a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_i32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x0b,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_i32 v1 offset:65535
+// CHECK: [0xff,0xff,0x0c,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_i32 v255 offset:65535
+// CHECK: [0xff,0xff,0x0c,0xd9,0xff,0x00,0x00,0x00]
+
+ds_max_src2_i32 v1
+// CHECK: [0x00,0x00,0x0c,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_i32 v1 offset:0
+// CHECK: [0x00,0x00,0x0c,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_i32 v1 offset:4
+// CHECK: [0x04,0x00,0x0c,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_i32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x0d,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_u32 v1 offset:65535
+// CHECK: [0xff,0xff,0x0e,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_u32 v255 offset:65535
+// CHECK: [0xff,0xff,0x0e,0xd9,0xff,0x00,0x00,0x00]
+
+ds_min_src2_u32 v1
+// CHECK: [0x00,0x00,0x0e,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_u32 v1 offset:0
+// CHECK: [0x00,0x00,0x0e,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_u32 v1 offset:4
+// CHECK: [0x04,0x00,0x0e,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_u32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x0f,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_u32 v1 offset:65535
+// CHECK: [0xff,0xff,0x10,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_u32 v255 offset:65535
+// CHECK: [0xff,0xff,0x10,0xd9,0xff,0x00,0x00,0x00]
+
+ds_max_src2_u32 v1
+// CHECK: [0x00,0x00,0x10,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_u32 v1 offset:0
+// CHECK: [0x00,0x00,0x10,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_u32 v1 offset:4
+// CHECK: [0x04,0x00,0x10,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_u32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x11,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1 offset:65535
+// CHECK: [0xff,0xff,0x12,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v255 offset:65535
+// CHECK: [0xff,0xff,0x12,0xd9,0xff,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1
+// CHECK: [0x00,0x00,0x12,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1 offset:0
+// CHECK: [0x00,0x00,0x12,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1 offset:4
+// CHECK: [0x04,0x00,0x12,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x13,0xd9,0x01,0x00,0x00,0x00]
+
+ds_or_src2_b32 v1 offset:65535
+// CHECK: [0xff,0xff,0x14,0xd9,0x01,0x00,0x00,0x00]
+
+ds_or_src2_b32 v255 offset:65535
+// CHECK: [0xff,0xff,0x14,0xd9,0xff,0x00,0x00,0x00]
+
+ds_or_src2_b32 v1
+// CHECK: [0x00,0x00,0x14,0xd9,0x01,0x00,0x00,0x00]
+
+ds_or_src2_b32 v1 offset:0
+// CHECK: [0x00,0x00,0x14,0xd9,0x01,0x00,0x00,0x00]
+
+ds_or_src2_b32 v1 offset:4
+// CHECK: [0x04,0x00,0x14,0xd9,0x01,0x00,0x00,0x00]
+
+ds_or_src2_b32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x15,0xd9,0x01,0x00,0x00,0x00]
+
+ds_xor_src2_b32 v1 offset:65535
+// CHECK: [0xff,0xff,0x16,0xd9,0x01,0x00,0x00,0x00]
+
+ds_xor_src2_b32 v255 offset:65535
+// CHECK: [0xff,0xff,0x16,0xd9,0xff,0x00,0x00,0x00]
+
+ds_xor_src2_b32 v1
+// CHECK: [0x00,0x00,0x16,0xd9,0x01,0x00,0x00,0x00]
+
+ds_xor_src2_b32 v1 offset:0
+// CHECK: [0x00,0x00,0x16,0xd9,0x01,0x00,0x00,0x00]
+
+ds_xor_src2_b32 v1 offset:4
+// CHECK: [0x04,0x00,0x16,0xd9,0x01,0x00,0x00,0x00]
+
+ds_xor_src2_b32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x17,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v1 offset:65535
+// CHECK: [0xff,0xff,0x1a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v255 offset:65535
+// CHECK: [0xff,0xff,0x1a,0xd9,0xff,0x00,0x00,0x00]
+
+ds_write_src2_b32 v1
+// CHECK: [0x00,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v1 offset:0
+// CHECK: [0x00,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v1 offset:4
+// CHECK: [0x04,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x1b,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_f32 v1 offset:65535
+// CHECK: [0xff,0xff,0x24,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_f32 v255 offset:65535
+// CHECK: [0xff,0xff,0x24,0xd9,0xff,0x00,0x00,0x00]
+
+ds_min_src2_f32 v1
+// CHECK: [0x00,0x00,0x24,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_f32 v1 offset:0
+// CHECK: [0x00,0x00,0x24,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_f32 v1 offset:4
+// CHECK: [0x04,0x00,0x24,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_f32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x25,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_f32 v1 offset:65535
+// CHECK: [0xff,0xff,0x26,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_f32 v255 offset:65535
+// CHECK: [0xff,0xff,0x26,0xd9,0xff,0x00,0x00,0x00]
+
+ds_max_src2_f32 v1
+// CHECK: [0x00,0x00,0x26,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_f32 v1 offset:0
+// CHECK: [0x00,0x00,0x26,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_f32 v1 offset:4
+// CHECK: [0x04,0x00,0x26,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_f32 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x27,0xd9,0x01,0x00,0x00,0x00]
+
+ds_gws_sema_release_all offset:65535 gds
+// CHECK: [0xff,0xff,0x31,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_release_all gds
+// CHECK: [0x00,0x00,0x31,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_release_all offset:0 gds
+// CHECK: [0x00,0x00,0x31,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_release_all offset:4 gds
+// CHECK: [0x04,0x00,0x31,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_init v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x33,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_init v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x33,0xd9,0x00,0xff,0x00,0x00]
+
+ds_gws_init v1 gds
+// CHECK: [0x00,0x00,0x33,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_init v1 offset:0 gds
+// CHECK: [0x00,0x00,0x33,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_init v1 offset:4 gds
+// CHECK: [0x04,0x00,0x33,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_v offset:65535 gds
+// CHECK: [0xff,0xff,0x35,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_v gds
+// CHECK: [0x00,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_v offset:0 gds
+// CHECK: [0x00,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_v offset:4 gds
+// CHECK: [0x04,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_br v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x37,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_br v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x37,0xd9,0x00,0xff,0x00,0x00]
+
+ds_gws_sema_br v1 gds
+// CHECK: [0x00,0x00,0x37,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_br v1 offset:0 gds
+// CHECK: [0x00,0x00,0x37,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_br v1 offset:4 gds
+// CHECK: [0x04,0x00,0x37,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_sema_p offset:65535 gds
+// CHECK: [0xff,0xff,0x39,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_p gds
+// CHECK: [0x00,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_p offset:0 gds
+// CHECK: [0x00,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_sema_p offset:4 gds
+// CHECK: [0x04,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
+
+ds_gws_barrier v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x3b,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_barrier v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x3b,0xd9,0x00,0xff,0x00,0x00]
+
+ds_gws_barrier v1 gds
+// CHECK: [0x00,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_barrier v1 offset:0 gds
+// CHECK: [0x00,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00]
+
+ds_gws_barrier v1 offset:4 gds
+// CHECK: [0x04,0x00,0x3b,0xd9,0x00,0x01,0x00,0x00]
+
+ds_consume v5 offset:65535
+// CHECK: [0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0x05]
+
+ds_consume v255 offset:65535
+// CHECK: [0xff,0xff,0x7a,0xd9,0x00,0x00,0x00,0xff]
+
+ds_consume v5
+// CHECK: [0x00,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05]
+
+ds_consume v5 offset:0
+// CHECK: [0x00,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05]
+
+ds_consume v5 offset:4
+// CHECK: [0x04,0x00,0x7a,0xd9,0x00,0x00,0x00,0x05]
+
+ds_consume v5 offset:65535 gds
+// CHECK: [0xff,0xff,0x7b,0xd9,0x00,0x00,0x00,0x05]
+
+ds_append v5 offset:65535
+// CHECK: [0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0x05]
+
+ds_append v255 offset:65535
+// CHECK: [0xff,0xff,0x7c,0xd9,0x00,0x00,0x00,0xff]
+
+ds_append v5
+// CHECK: [0x00,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05]
+
+ds_append v5 offset:0
+// CHECK: [0x00,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05]
+
+ds_append v5 offset:4
+// CHECK: [0x04,0x00,0x7c,0xd9,0x00,0x00,0x00,0x05]
+
+ds_append v5 offset:65535 gds
+// CHECK: [0xff,0xff,0x7d,0xd9,0x00,0x00,0x00,0x05]
+
+ds_ordered_count v5, v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0x05]
+
+ds_ordered_count v255, v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x7f,0xd9,0x01,0x00,0x00,0xff]
+
+ds_ordered_count v5, v255 offset:65535 gds
+// CHECK: [0xff,0xff,0x7f,0xd9,0xff,0x00,0x00,0x05]
+
+ds_ordered_count v5, v1 gds
+// CHECK: [0x00,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05]
+
+ds_ordered_count v5, v1 offset:0 gds
+// CHECK: [0x00,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05]
+
+ds_ordered_count v5, v1 offset:4 gds
+// CHECK: [0x04,0x00,0x7f,0xd9,0x01,0x00,0x00,0x05]
+
+ds_add_src2_u64 v1 offset:65535
+// CHECK: [0xff,0xff,0x80,0xd9,0x01,0x00,0x00,0x00]
+
+ds_add_src2_u64 v255 offset:65535
+// CHECK: [0xff,0xff,0x80,0xd9,0xff,0x00,0x00,0x00]
+
+ds_add_src2_u64 v1
+// CHECK: [0x00,0x00,0x80,0xd9,0x01,0x00,0x00,0x00]
+
+ds_add_src2_u64 v1 offset:0
+// CHECK: [0x00,0x00,0x80,0xd9,0x01,0x00,0x00,0x00]
+
+ds_add_src2_u64 v1 offset:4
+// CHECK: [0x04,0x00,0x80,0xd9,0x01,0x00,0x00,0x00]
+
+ds_add_src2_u64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x81,0xd9,0x01,0x00,0x00,0x00]
+
+ds_sub_src2_u64 v1 offset:65535
+// CHECK: [0xff,0xff,0x82,0xd9,0x01,0x00,0x00,0x00]
+
+ds_sub_src2_u64 v255 offset:65535
+// CHECK: [0xff,0xff,0x82,0xd9,0xff,0x00,0x00,0x00]
+
+ds_sub_src2_u64 v1
+// CHECK: [0x00,0x00,0x82,0xd9,0x01,0x00,0x00,0x00]
+
+ds_sub_src2_u64 v1 offset:0
+// CHECK: [0x00,0x00,0x82,0xd9,0x01,0x00,0x00,0x00]
+
+ds_sub_src2_u64 v1 offset:4
+// CHECK: [0x04,0x00,0x82,0xd9,0x01,0x00,0x00,0x00]
+
+ds_sub_src2_u64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x83,0xd9,0x01,0x00,0x00,0x00]
+
+ds_rsub_src2_u64 v1 offset:65535
+// CHECK: [0xff,0xff,0x84,0xd9,0x01,0x00,0x00,0x00]
+
+ds_rsub_src2_u64 v255 offset:65535
+// CHECK: [0xff,0xff,0x84,0xd9,0xff,0x00,0x00,0x00]
+
+ds_rsub_src2_u64 v1
+// CHECK: [0x00,0x00,0x84,0xd9,0x01,0x00,0x00,0x00]
+
+ds_rsub_src2_u64 v1 offset:0
+// CHECK: [0x00,0x00,0x84,0xd9,0x01,0x00,0x00,0x00]
+
+ds_rsub_src2_u64 v1 offset:4
+// CHECK: [0x04,0x00,0x84,0xd9,0x01,0x00,0x00,0x00]
+
+ds_rsub_src2_u64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x85,0xd9,0x01,0x00,0x00,0x00]
+
+ds_inc_src2_u64 v1 offset:65535
+// CHECK: [0xff,0xff,0x86,0xd9,0x01,0x00,0x00,0x00]
+
+ds_inc_src2_u64 v255 offset:65535
+// CHECK: [0xff,0xff,0x86,0xd9,0xff,0x00,0x00,0x00]
+
+ds_inc_src2_u64 v1
+// CHECK: [0x00,0x00,0x86,0xd9,0x01,0x00,0x00,0x00]
+
+ds_inc_src2_u64 v1 offset:0
+// CHECK: [0x00,0x00,0x86,0xd9,0x01,0x00,0x00,0x00]
+
+ds_inc_src2_u64 v1 offset:4
+// CHECK: [0x04,0x00,0x86,0xd9,0x01,0x00,0x00,0x00]
+
+ds_inc_src2_u64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x87,0xd9,0x01,0x00,0x00,0x00]
+
+ds_dec_src2_u64 v1 offset:65535
+// CHECK: [0xff,0xff,0x88,0xd9,0x01,0x00,0x00,0x00]
+
+ds_dec_src2_u64 v255 offset:65535
+// CHECK: [0xff,0xff,0x88,0xd9,0xff,0x00,0x00,0x00]
+
+ds_dec_src2_u64 v1
+// CHECK: [0x00,0x00,0x88,0xd9,0x01,0x00,0x00,0x00]
+
+ds_dec_src2_u64 v1 offset:0
+// CHECK: [0x00,0x00,0x88,0xd9,0x01,0x00,0x00,0x00]
+
+ds_dec_src2_u64 v1 offset:4
+// CHECK: [0x04,0x00,0x88,0xd9,0x01,0x00,0x00,0x00]
+
+ds_dec_src2_u64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x89,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_i64 v1 offset:65535
+// CHECK: [0xff,0xff,0x8a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_i64 v255 offset:65535
+// CHECK: [0xff,0xff,0x8a,0xd9,0xff,0x00,0x00,0x00]
+
+ds_min_src2_i64 v1
+// CHECK: [0x00,0x00,0x8a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_i64 v1 offset:0
+// CHECK: [0x00,0x00,0x8a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_i64 v1 offset:4
+// CHECK: [0x04,0x00,0x8a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_i64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x8b,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_i64 v1 offset:65535
+// CHECK: [0xff,0xff,0x8c,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_i64 v255 offset:65535
+// CHECK: [0xff,0xff,0x8c,0xd9,0xff,0x00,0x00,0x00]
+
+ds_max_src2_i64 v1
+// CHECK: [0x00,0x00,0x8c,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_i64 v1 offset:0
+// CHECK: [0x00,0x00,0x8c,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_i64 v1 offset:4
+// CHECK: [0x04,0x00,0x8c,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_i64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x8d,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_u64 v1 offset:65535
+// CHECK: [0xff,0xff,0x8e,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_u64 v255 offset:65535
+// CHECK: [0xff,0xff,0x8e,0xd9,0xff,0x00,0x00,0x00]
+
+ds_min_src2_u64 v1
+// CHECK: [0x00,0x00,0x8e,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_u64 v1 offset:0
+// CHECK: [0x00,0x00,0x8e,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_u64 v1 offset:4
+// CHECK: [0x04,0x00,0x8e,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_u64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x8f,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_u64 v1 offset:65535
+// CHECK: [0xff,0xff,0x90,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_u64 v255 offset:65535
+// CHECK: [0xff,0xff,0x90,0xd9,0xff,0x00,0x00,0x00]
+
+ds_max_src2_u64 v1
+// CHECK: [0x00,0x00,0x90,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_u64 v1 offset:0
+// CHECK: [0x00,0x00,0x90,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_u64 v1 offset:4
+// CHECK: [0x04,0x00,0x90,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_u64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x91,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b64 v1 offset:65535
+// CHECK: [0xff,0xff,0x92,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b64 v255 offset:65535
+// CHECK: [0xff,0xff,0x92,0xd9,0xff,0x00,0x00,0x00]
+
+ds_and_src2_b64 v1
+// CHECK: [0x00,0x00,0x92,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b64 v1 offset:0
+// CHECK: [0x00,0x00,0x92,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b64 v1 offset:4
+// CHECK: [0x04,0x00,0x92,0xd9,0x01,0x00,0x00,0x00]
+
+ds_and_src2_b64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x93,0xd9,0x01,0x00,0x00,0x00]
+
+ds_or_src2_b64 v1 offset:65535
+// CHECK: [0xff,0xff,0x94,0xd9,0x01,0x00,0x00,0x00]
+
+ds_or_src2_b64 v255 offset:65535
+// CHECK: [0xff,0xff,0x94,0xd9,0xff,0x00,0x00,0x00]
+
+ds_or_src2_b64 v1
+// CHECK: [0x00,0x00,0x94,0xd9,0x01,0x00,0x00,0x00]
+
+ds_or_src2_b64 v1 offset:0
+// CHECK: [0x00,0x00,0x94,0xd9,0x01,0x00,0x00,0x00]
+
+ds_or_src2_b64 v1 offset:4
+// CHECK: [0x04,0x00,0x94,0xd9,0x01,0x00,0x00,0x00]
+
+ds_or_src2_b64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x95,0xd9,0x01,0x00,0x00,0x00]
+
+ds_xor_src2_b64 v1 offset:65535
+// CHECK: [0xff,0xff,0x96,0xd9,0x01,0x00,0x00,0x00]
+
+ds_xor_src2_b64 v255 offset:65535
+// CHECK: [0xff,0xff,0x96,0xd9,0xff,0x00,0x00,0x00]
+
+ds_xor_src2_b64 v1
+// CHECK: [0x00,0x00,0x96,0xd9,0x01,0x00,0x00,0x00]
+
+ds_xor_src2_b64 v1 offset:0
+// CHECK: [0x00,0x00,0x96,0xd9,0x01,0x00,0x00,0x00]
+
+ds_xor_src2_b64 v1 offset:4
+// CHECK: [0x04,0x00,0x96,0xd9,0x01,0x00,0x00,0x00]
+
+ds_xor_src2_b64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x97,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v1 offset:65535
+// CHECK: [0xff,0xff,0x9a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v255 offset:65535
+// CHECK: [0xff,0xff,0x9a,0xd9,0xff,0x00,0x00,0x00]
+
+ds_write_src2_b64 v1
+// CHECK: [0x00,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v1 offset:0
+// CHECK: [0x00,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v1 offset:4
+// CHECK: [0x04,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_src2_b64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0x9b,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_f64 v1 offset:65535
+// CHECK: [0xff,0xff,0xa4,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_f64 v255 offset:65535
+// CHECK: [0xff,0xff,0xa4,0xd9,0xff,0x00,0x00,0x00]
+
+ds_min_src2_f64 v1
+// CHECK: [0x00,0x00,0xa4,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_f64 v1 offset:0
+// CHECK: [0x00,0x00,0xa4,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_f64 v1 offset:4
+// CHECK: [0x04,0x00,0xa4,0xd9,0x01,0x00,0x00,0x00]
+
+ds_min_src2_f64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0xa5,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_f64 v1 offset:65535
+// CHECK: [0xff,0xff,0xa6,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_f64 v255 offset:65535
+// CHECK: [0xff,0xff,0xa6,0xd9,0xff,0x00,0x00,0x00]
+
+ds_max_src2_f64 v1
+// CHECK: [0x00,0x00,0xa6,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_f64 v1 offset:0
+// CHECK: [0x00,0x00,0xa6,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_f64 v1 offset:4
+// CHECK: [0x04,0x00,0xa6,0xd9,0x01,0x00,0x00,0x00]
+
+ds_max_src2_f64 v1 offset:65535 gds
+// CHECK: [0xff,0xff,0xa7,0xd9,0x01,0x00,0x00,0x00]
+
+ds_write_b96 v1, v[2:4] offset:65535
+// CHECK: [0xff,0xff,0xbc,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b96 v255, v[2:4] offset:65535
+// CHECK: [0xff,0xff,0xbc,0xd9,0xff,0x02,0x00,0x00]
+
+ds_write_b96 v1, v[253:255] offset:65535
+// CHECK: [0xff,0xff,0xbc,0xd9,0x01,0xfd,0x00,0x00]
+
+ds_write_b96 v1, v[2:4]
+// CHECK: [0x00,0x00,0xbc,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b96 v1, v[2:4] offset:0
+// CHECK: [0x00,0x00,0xbc,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b96 v1, v[2:4] offset:4
+// CHECK: [0x04,0x00,0xbc,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b96 v1, v[2:4] offset:65535 gds
+// CHECK: [0xff,0xff,0xbd,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b128 v1, v[2:5] offset:65535
+// CHECK: [0xff,0xff,0xbe,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b128 v255, v[2:5] offset:65535
+// CHECK: [0xff,0xff,0xbe,0xd9,0xff,0x02,0x00,0x00]
+
+ds_write_b128 v1, v[252:255] offset:65535
+// CHECK: [0xff,0xff,0xbe,0xd9,0x01,0xfc,0x00,0x00]
+
+ds_write_b128 v1, v[2:5]
+// CHECK: [0x00,0x00,0xbe,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b128 v1, v[2:5] offset:0
+// CHECK: [0x00,0x00,0xbe,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b128 v1, v[2:5] offset:4
+// CHECK: [0x04,0x00,0xbe,0xd9,0x01,0x02,0x00,0x00]
+
+ds_write_b128 v1, v[2:5] offset:65535 gds
+// CHECK: [0xff,0xff,0xbf,0xd9,0x01,0x02,0x00,0x00]
+
+ds_read_b96 v[5:7], v1 offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b96 v[253:255], v1 offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd9,0x01,0x00,0x00,0xfd]
+
+ds_read_b96 v[5:7], v255 offset:65535
+// CHECK: [0xff,0xff,0xfc,0xd9,0xff,0x00,0x00,0x05]
+
+ds_read_b96 v[5:7], v1
+// CHECK: [0x00,0x00,0xfc,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b96 v[5:7], v1 offset:0
+// CHECK: [0x00,0x00,0xfc,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b96 v[5:7], v1 offset:4
+// CHECK: [0x04,0x00,0xfc,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b96 v[5:7], v1 offset:65535 gds
+// CHECK: [0xff,0xff,0xfd,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b128 v[5:8], v1 offset:65535
+// CHECK: [0xff,0xff,0xfe,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b128 v[252:255], v1 offset:65535
+// CHECK: [0xff,0xff,0xfe,0xd9,0x01,0x00,0x00,0xfc]
+
+ds_read_b128 v[5:8], v255 offset:65535
+// CHECK: [0xff,0xff,0xfe,0xd9,0xff,0x00,0x00,0x05]
+
+ds_read_b128 v[5:8], v1
+// CHECK: [0x00,0x00,0xfe,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b128 v[5:8], v1 offset:0
+// CHECK: [0x00,0x00,0xfe,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b128 v[5:8], v1 offset:4
+// CHECK: [0x04,0x00,0xfe,0xd9,0x01,0x00,0x00,0x05]
+
+ds_read_b128 v[5:8], v1 offset:65535 gds
+// CHECK: [0xff,0xff,0xff,0xd9,0x01,0x00,0x00,0x05]
+
+exp mrt0, v0, v0, v0, v0
+// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrtz, v0, v0, v0, v0
+// CHECK: [0x8f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp null, v0, v0, v0, v0
+// CHECK: [0x9f,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp pos0, v0, v0, v0, v0
+// CHECK: [0xcf,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp param0, v0, v0, v0, v0
+// CHECK: [0x0f,0x02,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, v255, v0, v0, v0
+// CHECK: [0x0f,0x00,0x00,0xc4,0xff,0x00,0x00,0x00]
+
+exp mrt0, v0, v255, v0, v0
+// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0xff,0x00,0x00]
+
+exp mrt0, v0, v0, v255, v0
+// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0x00,0xff,0x00]
+
+exp mrt0, v0, v0, v0, v255
+// CHECK: [0x0f,0x00,0x00,0xc4,0x00,0x00,0x00,0xff]
+
+exp mrt0, v0, off, off, off
+// CHECK: [0x01,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, off, v0, off, off
+// CHECK: [0x02,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, v0, v0, off, off
+// CHECK: [0x03,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, off, off, v0, off
+// CHECK: [0x04,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, v0, off, v0, off
+// CHECK: [0x05,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, off, v0, v0, off
+// CHECK: [0x06,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, v0, v0, v0, off
+// CHECK: [0x07,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, off, off, off, v0
+// CHECK: [0x08,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, v0, off, off, v0
+// CHECK: [0x09,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, off, v0, off, v0
+// CHECK: [0x0a,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, v0, v0, off, v0
+// CHECK: [0x0b,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, off, off, v0, v0
+// CHECK: [0x0c,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, v0, off, v0, v0
+// CHECK: [0x0d,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, off, v0, v0, v0
+// CHECK: [0x0e,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, off, off, off, off
+// CHECK: [0x00,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+exp mrt0, v0, v0, v0, v0 vm
+// CHECK: [0x0f,0x10,0x00,0xc4,0x00,0x00,0x00,0x00]
+
+flat_load_ubyte v5, v[1:2]
+// CHECK: [0x00,0x00,0x40,0xdc,0x01,0x00,0x00,0x05]
+
+flat_load_sbyte v5, v[1:2]
+// CHECK: [0x00,0x00,0x44,0xdc,0x01,0x00,0x00,0x05]
+
+flat_load_ushort v5, v[1:2]
+// CHECK: [0x00,0x00,0x48,0xdc,0x01,0x00,0x00,0x05]
+
+flat_load_sshort v5, v[1:2]
+// CHECK: [0x00,0x00,0x4c,0xdc,0x01,0x00,0x00,0x05]
+
+flat_load_dword v5, v[1:2]
+// CHECK: [0x00,0x00,0x50,0xdc,0x01,0x00,0x00,0x05]
+
+flat_load_dwordx2 v[5:6], v[1:2]
+// CHECK: [0x00,0x00,0x54,0xdc,0x01,0x00,0x00,0x05]
+
+flat_load_dwordx3 v[5:7], v[1:2]
+// CHECK: [0x00,0x00,0x58,0xdc,0x01,0x00,0x00,0x05]
+
+flat_load_dwordx4 v[5:8], v[1:2]
+// CHECK: [0x00,0x00,0x5c,0xdc,0x01,0x00,0x00,0x05]
+
+flat_store_byte v[1:2], v2
+// CHECK: [0x00,0x00,0x60,0xdc,0x01,0x02,0x00,0x00]
+
+flat_store_short v[1:2], v2
+// CHECK: [0x00,0x00,0x68,0xdc,0x01,0x02,0x00,0x00]
+
+flat_store_dword v[1:2], v2
+// CHECK: [0x00,0x00,0x70,0xdc,0x01,0x02,0x00,0x00]
+
+flat_store_dwordx2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0x74,0xdc,0x01,0x02,0x00,0x00]
+
+flat_store_dwordx3 v[1:2], v[2:4]
+// CHECK: [0x00,0x00,0x78,0xdc,0x01,0x02,0x00,0x00]
+
+flat_store_dwordx4 v[1:2], v[2:5]
+// CHECK: [0x00,0x00,0x7c,0xdc,0x01,0x02,0x00,0x00]
+
+flat_atomic_swap v[1:2], v2
+// CHECK: [0x00,0x00,0x00,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_cmpswap v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0x04,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_add v[1:2], v2
+// CHECK: [0x00,0x00,0x08,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_sub v[1:2], v2
+// CHECK: [0x00,0x00,0x0c,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_smin v[1:2], v2
+// CHECK: [0x00,0x00,0x10,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_umin v[1:2], v2
+// CHECK: [0x00,0x00,0x14,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_smax v[1:2], v2
+// CHECK: [0x00,0x00,0x18,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_umax v[1:2], v2
+// CHECK: [0x00,0x00,0x1c,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_and v[1:2], v2
+// CHECK: [0x00,0x00,0x20,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_or v[1:2], v2
+// CHECK: [0x00,0x00,0x24,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_xor v[1:2], v2
+// CHECK: [0x00,0x00,0x28,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_inc v[1:2], v2
+// CHECK: [0x00,0x00,0x2c,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_dec v[1:2], v2
+// CHECK: [0x00,0x00,0x30,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_swap_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0x80,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_cmpswap_x2 v[1:2], v[2:5]
+// CHECK: [0x00,0x00,0x84,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_add_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0x88,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_sub_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0x8c,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_smin_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0x90,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_umin_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0x94,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_smax_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0x98,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_umax_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0x9c,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_and_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0xa0,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_or_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0xa4,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_xor_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0xa8,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_inc_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0xac,0xdd,0x01,0x02,0x00,0x00]
+
+flat_atomic_dec_x2 v[1:2], v[2:3]
+// CHECK: [0x00,0x00,0xb0,0xdd,0x01,0x02,0x00,0x00]
+
+image_load v5, v[1:4], s[8:15] dmask:0x1
+// CHECK: [0x00,0x01,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v252, v[1:4], s[8:15] dmask:0x1
+// CHECK: [0x00,0x01,0x00,0xf0,0x01,0xfc,0x02,0x00]
+
+image_load v5, v[252:255], s[8:15] dmask:0x1
+// CHECK: [0x00,0x01,0x00,0xf0,0xfc,0x05,0x02,0x00]
+
+image_load v5, v[1:4], s[12:19] dmask:0x1
+// CHECK: [0x00,0x01,0x00,0xf0,0x01,0x05,0x03,0x00]
+
+image_load v5, v[1:4], s[92:99] dmask:0x1
+// CHECK: [0x00,0x01,0x00,0xf0,0x01,0x05,0x17,0x00]
+
+image_load v5, v[1:4], s[8:15] dmask:0x2
+// CHECK: [0x00,0x02,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:6], v[1:4], s[8:15] dmask:0x3
+// CHECK: [0x00,0x03,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v5, v[1:4], s[8:15] dmask:0x4
+// CHECK: [0x00,0x04,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:6], v[1:4], s[8:15] dmask:0x5
+// CHECK: [0x00,0x05,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:6], v[1:4], s[8:15] dmask:0x6
+// CHECK: [0x00,0x06,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:7], v[1:4], s[8:15] dmask:0x7
+// CHECK: [0x00,0x07,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v5, v[1:4], s[8:15] dmask:0x8
+// CHECK: [0x00,0x08,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:6], v[1:4], s[8:15] dmask:0x9
+// CHECK: [0x00,0x09,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:6], v[1:4], s[8:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:7], v[1:4], s[8:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:6], v[1:4], s[8:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:7], v[1:4], s[8:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:7], v[1:4], s[8:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v[5:8], v[1:4], s[8:15] dmask:0xf
+// CHECK: [0x00,0x0f,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v5, v[1:4], s[8:15] dmask:0x0
+// CHECK: [0x00,0x00,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load v5, v[1:4], s[8:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x00,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v5, v[1:4], s[8:15] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v252, v[1:4], s[8:15] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf0,0x01,0xfc,0x02,0x00]
+
+image_load_mip v5, v[252:255], s[8:15] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf0,0xfc,0x05,0x02,0x00]
+
+image_load_mip v5, v[1:4], s[12:19] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf0,0x01,0x05,0x03,0x00]
+
+image_load_mip v5, v[1:4], s[92:99] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf0,0x01,0x05,0x17,0x00]
+
+image_load_mip v5, v[1:4], s[8:15] dmask:0x2
+// CHECK: [0x00,0x02,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:6], v[1:4], s[8:15] dmask:0x3
+// CHECK: [0x00,0x03,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v5, v[1:4], s[8:15] dmask:0x4
+// CHECK: [0x00,0x04,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:6], v[1:4], s[8:15] dmask:0x5
+// CHECK: [0x00,0x05,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:6], v[1:4], s[8:15] dmask:0x6
+// CHECK: [0x00,0x06,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:7], v[1:4], s[8:15] dmask:0x7
+// CHECK: [0x00,0x07,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v5, v[1:4], s[8:15] dmask:0x8
+// CHECK: [0x00,0x08,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:6], v[1:4], s[8:15] dmask:0x9
+// CHECK: [0x00,0x09,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:6], v[1:4], s[8:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:7], v[1:4], s[8:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:6], v[1:4], s[8:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:7], v[1:4], s[8:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:7], v[1:4], s[8:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v[5:8], v[1:4], s[8:15] dmask:0xf
+// CHECK: [0x00,0x0f,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v5, v[1:4], s[8:15] dmask:0x0
+// CHECK: [0x00,0x00,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_load_mip v5, v[1:4], s[8:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x04,0xf0,0x01,0x05,0x02,0x00]
+
+image_store v1, v[2:5], s[12:19] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v252, v[2:5], s[12:19] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x20,0xf0,0x02,0xfc,0x03,0x00]
+
+image_store v1, v[252:255], s[12:19] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x20,0xf0,0xfc,0x01,0x03,0x00]
+
+image_store v1, v[2:5], s[16:23] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x20,0xf0,0x02,0x01,0x04,0x00]
+
+image_store v1, v[2:5], s[92:99] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x20,0xf0,0x02,0x01,0x17,0x00]
+
+image_store v1, v[2:5], s[12:19] dmask:0x2 unorm
+// CHECK: [0x00,0x12,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:2], v[2:5], s[12:19] dmask:0x3 unorm
+// CHECK: [0x00,0x13,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v1, v[2:5], s[12:19] dmask:0x4 unorm
+// CHECK: [0x00,0x14,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:2], v[2:5], s[12:19] dmask:0x5 unorm
+// CHECK: [0x00,0x15,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:2], v[2:5], s[12:19] dmask:0x6 unorm
+// CHECK: [0x00,0x16,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:3], v[2:5], s[12:19] dmask:0x7 unorm
+// CHECK: [0x00,0x17,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v1, v[2:5], s[12:19] dmask:0x8 unorm
+// CHECK: [0x00,0x18,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:2], v[2:5], s[12:19] dmask:0x9 unorm
+// CHECK: [0x00,0x19,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:2], v[2:5], s[12:19] dmask:0xa unorm
+// CHECK: [0x00,0x1a,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:3], v[2:5], s[12:19] dmask:0xb unorm
+// CHECK: [0x00,0x1b,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:2], v[2:5], s[12:19] dmask:0xc unorm
+// CHECK: [0x00,0x1c,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:3], v[2:5], s[12:19] dmask:0xd unorm
+// CHECK: [0x00,0x1d,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:3], v[2:5], s[12:19] dmask:0xe unorm
+// CHECK: [0x00,0x1e,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v[1:4], v[2:5], s[12:19] dmask:0xf unorm
+// CHECK: [0x00,0x1f,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v1, v[2:5], s[12:19] dmask:0x0 unorm
+// CHECK: [0x00,0x10,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store v1, v[2:5], s[12:19] dmask:0x1 unorm glc
+// CHECK: [0x00,0x31,0x20,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v1, v[2:5], s[12:19] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v252, v[2:5], s[12:19] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x24,0xf0,0x02,0xfc,0x03,0x00]
+
+image_store_mip v1, v[252:255], s[12:19] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x24,0xf0,0xfc,0x01,0x03,0x00]
+
+image_store_mip v1, v[2:5], s[16:23] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x24,0xf0,0x02,0x01,0x04,0x00]
+
+image_store_mip v1, v[2:5], s[92:99] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x24,0xf0,0x02,0x01,0x17,0x00]
+
+image_store_mip v1, v[2:5], s[12:19] dmask:0x2 unorm
+// CHECK: [0x00,0x12,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:2], v[2:5], s[12:19] dmask:0x3 unorm
+// CHECK: [0x00,0x13,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v1, v[2:5], s[12:19] dmask:0x4 unorm
+// CHECK: [0x00,0x14,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:2], v[2:5], s[12:19] dmask:0x5 unorm
+// CHECK: [0x00,0x15,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:2], v[2:5], s[12:19] dmask:0x6 unorm
+// CHECK: [0x00,0x16,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:3], v[2:5], s[12:19] dmask:0x7 unorm
+// CHECK: [0x00,0x17,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v1, v[2:5], s[12:19] dmask:0x8 unorm
+// CHECK: [0x00,0x18,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:2], v[2:5], s[12:19] dmask:0x9 unorm
+// CHECK: [0x00,0x19,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:2], v[2:5], s[12:19] dmask:0xa unorm
+// CHECK: [0x00,0x1a,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:3], v[2:5], s[12:19] dmask:0xb unorm
+// CHECK: [0x00,0x1b,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:2], v[2:5], s[12:19] dmask:0xc unorm
+// CHECK: [0x00,0x1c,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:3], v[2:5], s[12:19] dmask:0xd unorm
+// CHECK: [0x00,0x1d,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:3], v[2:5], s[12:19] dmask:0xe unorm
+// CHECK: [0x00,0x1e,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v[1:4], v[2:5], s[12:19] dmask:0xf unorm
+// CHECK: [0x00,0x1f,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v1, v[2:5], s[12:19] dmask:0x0 unorm
+// CHECK: [0x00,0x10,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_store_mip v1, v[2:5], s[12:19] dmask:0x1 unorm glc
+// CHECK: [0x00,0x31,0x24,0xf0,0x02,0x01,0x03,0x00]
+
+image_get_resinfo v5, v1, s[8:15] dmask:0x1
+// CHECK: [0x00,0x01,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v252, v1, s[8:15] dmask:0x1
+// CHECK: [0x00,0x01,0x38,0xf0,0x01,0xfc,0x02,0x00]
+
+image_get_resinfo v5, v255, s[8:15] dmask:0x1
+// CHECK: [0x00,0x01,0x38,0xf0,0xff,0x05,0x02,0x00]
+
+image_get_resinfo v5, v1, s[12:19] dmask:0x1
+// CHECK: [0x00,0x01,0x38,0xf0,0x01,0x05,0x03,0x00]
+
+image_get_resinfo v5, v1, s[92:99] dmask:0x1
+// CHECK: [0x00,0x01,0x38,0xf0,0x01,0x05,0x17,0x00]
+
+image_get_resinfo v5, v1, s[8:15] dmask:0x2
+// CHECK: [0x00,0x02,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:6], v1, s[8:15] dmask:0x3
+// CHECK: [0x00,0x03,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v5, v1, s[8:15] dmask:0x4
+// CHECK: [0x00,0x04,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:6], v1, s[8:15] dmask:0x5
+// CHECK: [0x00,0x05,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:6], v1, s[8:15] dmask:0x6
+// CHECK: [0x00,0x06,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:7], v1, s[8:15] dmask:0x7
+// CHECK: [0x00,0x07,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v5, v1, s[8:15] dmask:0x8
+// CHECK: [0x00,0x08,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:6], v1, s[8:15] dmask:0x9
+// CHECK: [0x00,0x09,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:6], v1, s[8:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:7], v1, s[8:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:6], v1, s[8:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:7], v1, s[8:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:7], v1, s[8:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v[5:8], v1, s[8:15] dmask:0xf
+// CHECK: [0x00,0x0f,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v5, v1, s[8:15] dmask:0x0
+// CHECK: [0x00,0x00,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_get_resinfo v5, v1, s[8:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x38,0xf0,0x01,0x05,0x02,0x00]
+
+image_sample_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x84,0xf0,0x01,0xfc,0x62,0x00]
+
+image_sample_cl v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x84,0xf0,0xfc,0x05,0x62,0x00]
+
+image_sample_cl v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x84,0xf0,0x01,0x05,0x63,0x00]
+
+image_sample_cl v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x84,0xf0,0x01,0x05,0x77,0x00]
+
+image_sample_cl v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0x84,0xf0,0x01,0x05,0x82,0x00]
+
+image_sample_cl v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0x84,0xf0,0x01,0x05,0x02,0x03]
+
+image_sample_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0xf
+// CHECK: [0x00,0x0f,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x84,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x90,0xf0,0x01,0xfc,0x62,0x00]
+
+image_sample_l v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x90,0xf0,0xfc,0x05,0x62,0x00]
+
+image_sample_l v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x90,0xf0,0x01,0x05,0x63,0x00]
+
+image_sample_l v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x90,0xf0,0x01,0x05,0x77,0x00]
+
+image_sample_l v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0x90,0xf0,0x01,0x05,0x82,0x00]
+
+image_sample_l v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0x90,0xf0,0x01,0x05,0x02,0x03]
+
+image_sample_l v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v[5:8], v[1:4], s[8:15], s[12:15] dmask:0xf
+// CHECK: [0x00,0x0f,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_l v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x90,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x94,0xf0,0x01,0xfc,0x62,0x00]
+
+image_sample_b v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x94,0xf0,0xfc,0x05,0x62,0x00]
+
+image_sample_b v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x94,0xf0,0x01,0x05,0x63,0x00]
+
+image_sample_b v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x94,0xf0,0x01,0x05,0x77,0x00]
+
+image_sample_b v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0x94,0xf0,0x01,0x05,0x82,0x00]
+
+image_sample_b v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0x94,0xf0,0x01,0x05,0x02,0x03]
+
+image_sample_b v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v[5:8], v[1:4], s[8:15], s[12:15] dmask:0xf
+// CHECK: [0x00,0x0f,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_b v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x94,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xa0,0xf0,0x01,0xfc,0x62,0x00]
+
+image_sample_c v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xa0,0xf0,0xfc,0x05,0x62,0x00]
+
+image_sample_c v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x63,0x00]
+
+image_sample_c v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x77,0x00]
+
+image_sample_c v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x82,0x00]
+
+image_sample_c v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0xa0,0xf0,0x01,0x05,0x02,0x03]
+
+image_sample_c v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v[5:8], v[1:4], s[8:15], s[12:15] dmask:0xf
+// CHECK: [0x00,0x0f,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0xa0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xbc,0xf0,0x01,0xfc,0x62,0x00]
+
+image_sample_c_lz v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xbc,0xf0,0xfc,0x05,0x62,0x00]
+
+image_sample_c_lz v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x63,0x00]
+
+image_sample_c_lz v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x77,0x00]
+
+image_sample_c_lz v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x82,0x00]
+
+image_sample_c_lz v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0xbc,0xf0,0x01,0x05,0x02,0x03]
+
+image_sample_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v[5:8], v[1:4], s[8:15], s[12:15] dmask:0xf
+// CHECK: [0x00,0x0f,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0xbc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xc0,0xf0,0x01,0xfc,0x62,0x00]
+
+image_sample_o v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xc0,0xf0,0xfc,0x05,0x62,0x00]
+
+image_sample_o v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x63,0x00]
+
+image_sample_o v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x77,0x00]
+
+image_sample_o v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x82,0x00]
+
+image_sample_o v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0xc0,0xf0,0x01,0x05,0x02,0x03]
+
+image_sample_o v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0xf
+// CHECK: [0x00,0x0f,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0xc0,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xdc,0xf0,0x01,0xfc,0x62,0x00]
+
+image_sample_lz_o v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xdc,0xf0,0xfc,0x05,0x62,0x00]
+
+image_sample_lz_o v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x63,0x00]
+
+image_sample_lz_o v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x77,0x00]
+
+image_sample_lz_o v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x82,0x00]
+
+image_sample_lz_o v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0xdc,0xf0,0x01,0x05,0x02,0x03]
+
+image_sample_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v[5:8], v[1:4], s[8:15], s[12:15] dmask:0xf
+// CHECK: [0x00,0x0f,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_sample_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0xdc,0xf0,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf1,0x01,0xfc,0x62,0x00]
+
+image_gather4_cl v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf1,0xfc,0x05,0x62,0x00]
+
+image_gather4_cl v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x63,0x00]
+
+image_gather4_cl v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x77,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x82,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0x04,0xf1,0x01,0x05,0x02,0x03]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x1 glc
+// CHECK: [0x00,0x21,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x1 slc
+// CHECK: [0x00,0x01,0x04,0xf3,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x1 tfe
+// CHECK: [0x00,0x01,0x05,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
+// CHECK: [0x00,0x01,0x06,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_cl v5, v[1:4], s[8:15], s[12:15] dmask:0x1 da
+// CHECK: [0x00,0x41,0x04,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x10,0xf1,0x01,0xfc,0x62,0x00]
+
+image_gather4_l v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x10,0xf1,0xfc,0x05,0x62,0x00]
+
+image_gather4_l v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x63,0x00]
+
+image_gather4_l v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x77,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x82,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0x10,0xf1,0x01,0x05,0x02,0x03]
+
+image_gather4_l v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[12:15] dmask:0x1 glc
+// CHECK: [0x00,0x21,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[12:15] dmask:0x1 slc
+// CHECK: [0x00,0x01,0x10,0xf3,0x01,0x05,0x62,0x00]
+
+image_gather4_l v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x1 tfe
+// CHECK: [0x00,0x01,0x11,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
+// CHECK: [0x00,0x01,0x12,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_l v5, v[1:4], s[8:15], s[12:15] dmask:0x1 da
+// CHECK: [0x00,0x41,0x10,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x14,0xf1,0x01,0xfc,0x62,0x00]
+
+image_gather4_b v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x14,0xf1,0xfc,0x05,0x62,0x00]
+
+image_gather4_b v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x63,0x00]
+
+image_gather4_b v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x77,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x82,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0x14,0xf1,0x01,0x05,0x02,0x03]
+
+image_gather4_b v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[12:15] dmask:0x1 glc
+// CHECK: [0x00,0x21,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[12:15] dmask:0x1 slc
+// CHECK: [0x00,0x01,0x14,0xf3,0x01,0x05,0x62,0x00]
+
+image_gather4_b v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x1 tfe
+// CHECK: [0x00,0x01,0x15,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
+// CHECK: [0x00,0x01,0x16,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_b v5, v[1:4], s[8:15], s[12:15] dmask:0x1 da
+// CHECK: [0x00,0x41,0x14,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x20,0xf1,0x01,0xfc,0x62,0x00]
+
+image_gather4_c v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x20,0xf1,0xfc,0x05,0x62,0x00]
+
+image_gather4_c v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x63,0x00]
+
+image_gather4_c v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x77,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x82,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0x20,0xf1,0x01,0x05,0x02,0x03]
+
+image_gather4_c v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[12:15] dmask:0x1 glc
+// CHECK: [0x00,0x21,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[12:15] dmask:0x1 slc
+// CHECK: [0x00,0x01,0x20,0xf3,0x01,0x05,0x62,0x00]
+
+image_gather4_c v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x1 tfe
+// CHECK: [0x00,0x01,0x21,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
+// CHECK: [0x00,0x01,0x22,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c v5, v[1:4], s[8:15], s[12:15] dmask:0x1 da
+// CHECK: [0x00,0x41,0x20,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x3c,0xf1,0x01,0xfc,0x62,0x00]
+
+image_gather4_c_lz v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x3c,0xf1,0xfc,0x05,0x62,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x63,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x77,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x82,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0x3c,0xf1,0x01,0x05,0x02,0x03]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x1 glc
+// CHECK: [0x00,0x21,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x1 slc
+// CHECK: [0x00,0x01,0x3c,0xf3,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x1 tfe
+// CHECK: [0x00,0x01,0x3d,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
+// CHECK: [0x00,0x01,0x3e,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_c_lz v5, v[1:4], s[8:15], s[12:15] dmask:0x1 da
+// CHECK: [0x00,0x41,0x3c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x40,0xf1,0x01,0xfc,0x62,0x00]
+
+image_gather4_o v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x40,0xf1,0xfc,0x05,0x62,0x00]
+
+image_gather4_o v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x63,0x00]
+
+image_gather4_o v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x77,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x82,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0x40,0xf1,0x01,0x05,0x02,0x03]
+
+image_gather4_o v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 glc
+// CHECK: [0x00,0x21,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 slc
+// CHECK: [0x00,0x01,0x40,0xf3,0x01,0x05,0x62,0x00]
+
+image_gather4_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x1 tfe
+// CHECK: [0x00,0x01,0x41,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
+// CHECK: [0x00,0x01,0x42,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 da
+// CHECK: [0x00,0x41,0x40,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v252, v[1:4], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x5c,0xf1,0x01,0xfc,0x62,0x00]
+
+image_gather4_lz_o v5, v[252:255], s[8:15], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x5c,0xf1,0xfc,0x05,0x62,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[12:19], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x63,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[92:99], s[12:15] dmask:0x1
+// CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x77,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[16:19] dmask:0x1
+// CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x82,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[96:99] dmask:0x1
+// CHECK: [0x00,0x01,0x5c,0xf1,0x01,0x05,0x02,0x03]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x2
+// CHECK: [0x00,0x02,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x3
+// CHECK: [0x00,0x03,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x4
+// CHECK: [0x00,0x04,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x5
+// CHECK: [0x00,0x05,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x6
+// CHECK: [0x00,0x06,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0x7
+// CHECK: [0x00,0x07,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x8
+// CHECK: [0x00,0x08,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x9
+// CHECK: [0x00,0x09,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xa
+// CHECK: [0x00,0x0a,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xb
+// CHECK: [0x00,0x0b,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0xc
+// CHECK: [0x00,0x0c,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xd
+// CHECK: [0x00,0x0d,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:7], v[1:4], s[8:15], s[12:15] dmask:0xe
+// CHECK: [0x00,0x0e,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x0
+// CHECK: [0x00,0x00,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 unorm
+// CHECK: [0x00,0x11,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 glc
+// CHECK: [0x00,0x21,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 slc
+// CHECK: [0x00,0x01,0x5c,0xf3,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v[5:6], v[1:4], s[8:15], s[12:15] dmask:0x1 tfe
+// CHECK: [0x00,0x01,0x5d,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 lwe
+// CHECK: [0x00,0x01,0x5e,0xf1,0x01,0x05,0x62,0x00]
+
+image_gather4_lz_o v5, v[1:4], s[8:15], s[12:15] dmask:0x1 da
+// CHECK: [0x00,0x41,0x5c,0xf1,0x01,0x05,0x62,0x00]
+
+buffer_load_format_x v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_x v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe0,0x00,0xff,0x02,0x03]
+
+buffer_load_format_x v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_format_x v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_format_x v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_format_x v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_format_x v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_format_x v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_format_x v5, off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_format_x v5, off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_format_x v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x00,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_x v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x00,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_x v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x00,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_x v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x00,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_x v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x00,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_x v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x00,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_x v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x02,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xy v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xy v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe0,0x00,0xfe,0x02,0x03]
+
+buffer_load_format_xy v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_format_xy v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_format_xy v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_format_xy v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_format_xy v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_format_xy v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_format_xy v[5:6], off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_format_xy v[5:6], off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_format_xy v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x04,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xy v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x04,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xy v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x04,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xy v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x04,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xy v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x04,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xy v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x04,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xy v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x06,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyz v[253:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe0,0x00,0xfd,0x02,0x03]
+
+buffer_load_format_xyz v[5:7], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_format_xyz v[5:7], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_format_xyz v[5:7], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x08,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyz v[5:7], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x08,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x08,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x08,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x08,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x08,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyz v[5:7], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x0a,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyzw v[252:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe0,0x00,0xfc,0x02,0x03]
+
+buffer_load_format_xyzw v[5:8], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_format_xyzw v[5:8], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_format_xyzw v[5:8], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x0c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyzw v[5:8], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x0c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x0c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x0c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x0c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x0c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_format_xyzw v[5:8], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x0e,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_store_format_x v1, off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_x v255, off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe0,0x00,0xff,0x03,0x04]
+
+buffer_store_format_x v1, off, s[16:19], s4 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x04,0x04]
+
+buffer_store_format_x v1, off, s[96:99], s4 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x18,0x04]
+
+buffer_store_format_x v1, off, s[12:15], s101 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x65]
+
+buffer_store_format_x v1, off, s[12:15], m0 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x7c]
+
+buffer_store_format_x v1, off, s[12:15], 0 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x80]
+
+buffer_store_format_x v1, off, s[12:15], -1 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0xc1]
+
+buffer_store_format_x v1, off, s[12:15], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0xf0]
+
+buffer_store_format_x v1, off, s[12:15], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0xf7]
+
+buffer_store_format_x v1, v0, s[12:15], s4 idxen offset:4095
+// CHECK: [0xff,0x2f,0x10,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_x v1, v0, s[12:15], s4 offen offset:4095
+// CHECK: [0xff,0x1f,0x10,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_x v1, off, s[12:15], s4
+// CHECK: [0x00,0x00,0x10,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_x v1, off, s[12:15], s4 offset:0
+// CHECK: [0x00,0x00,0x10,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_x v1, off, s[12:15], s4 offset:7
+// CHECK: [0x07,0x00,0x10,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_x v1, off, s[12:15], s4 offset:4095 glc
+// CHECK: [0xff,0x4f,0x10,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_x v1, off, s[12:15], s4 offset:4095 slc
+// CHECK: [0xff,0x0f,0x12,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xy v[1:2], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xy v[254:255], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe0,0x00,0xfe,0x03,0x04]
+
+buffer_store_format_xy v[1:2], off, s[16:19], s4 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x04,0x04]
+
+buffer_store_format_xy v[1:2], off, s[96:99], s4 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x18,0x04]
+
+buffer_store_format_xy v[1:2], off, s[12:15], s101 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x65]
+
+buffer_store_format_xy v[1:2], off, s[12:15], m0 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x7c]
+
+buffer_store_format_xy v[1:2], off, s[12:15], 0 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x80]
+
+buffer_store_format_xy v[1:2], off, s[12:15], -1 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0xc1]
+
+buffer_store_format_xy v[1:2], off, s[12:15], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0xf0]
+
+buffer_store_format_xy v[1:2], off, s[12:15], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0xf7]
+
+buffer_store_format_xy v[1:2], v0, s[12:15], s4 idxen offset:4095
+// CHECK: [0xff,0x2f,0x14,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xy v[1:2], v0, s[12:15], s4 offen offset:4095
+// CHECK: [0xff,0x1f,0x14,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xy v[1:2], off, s[12:15], s4
+// CHECK: [0x00,0x00,0x14,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xy v[1:2], off, s[12:15], s4 offset:0
+// CHECK: [0x00,0x00,0x14,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xy v[1:2], off, s[12:15], s4 offset:7
+// CHECK: [0x07,0x00,0x14,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xy v[1:2], off, s[12:15], s4 offset:4095 glc
+// CHECK: [0xff,0x4f,0x14,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xy v[1:2], off, s[12:15], s4 offset:4095 slc
+// CHECK: [0xff,0x0f,0x16,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyz v[253:255], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe0,0x00,0xfd,0x03,0x04]
+
+buffer_store_format_xyz v[1:3], off, s[16:19], s4 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x04,0x04]
+
+buffer_store_format_xyz v[1:3], off, s[96:99], s4 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x18,0x04]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], s101 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x65]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], m0 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x7c]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], 0 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x80]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], -1 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0xc1]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0xf0]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0xf7]
+
+buffer_store_format_xyz v[1:3], v0, s[12:15], s4 idxen offset:4095
+// CHECK: [0xff,0x2f,0x18,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyz v[1:3], v0, s[12:15], s4 offen offset:4095
+// CHECK: [0xff,0x1f,0x18,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], s4
+// CHECK: [0x00,0x00,0x18,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], s4 offset:0
+// CHECK: [0x00,0x00,0x18,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], s4 offset:7
+// CHECK: [0x07,0x00,0x18,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], s4 offset:4095 glc
+// CHECK: [0xff,0x4f,0x18,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyz v[1:3], off, s[12:15], s4 offset:4095 slc
+// CHECK: [0xff,0x0f,0x1a,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyzw v[252:255], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe0,0x00,0xfc,0x03,0x04]
+
+buffer_store_format_xyzw v[1:4], off, s[16:19], s4 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x04,0x04]
+
+buffer_store_format_xyzw v[1:4], off, s[96:99], s4 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x18,0x04]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], s101 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x65]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], m0 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x7c]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], 0 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x80]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], -1 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0xc1]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0xf0]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0xf7]
+
+buffer_store_format_xyzw v[1:4], v0, s[12:15], s4 idxen offset:4095
+// CHECK: [0xff,0x2f,0x1c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyzw v[1:4], v0, s[12:15], s4 offen offset:4095
+// CHECK: [0xff,0x1f,0x1c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], s4
+// CHECK: [0x00,0x00,0x1c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], s4 offset:0
+// CHECK: [0x00,0x00,0x1c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], s4 offset:7
+// CHECK: [0x07,0x00,0x1c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], s4 offset:4095 glc
+// CHECK: [0xff,0x4f,0x1c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_format_xyzw v[1:4], off, s[12:15], s4 offset:4095 slc
+// CHECK: [0xff,0x0f,0x1e,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_load_ubyte v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ubyte v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x40,0xe0,0x00,0xff,0x02,0x03]
+
+buffer_load_ubyte v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_ubyte v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_ubyte v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_ubyte v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_ubyte v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_ubyte v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_ubyte v5, off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_ubyte v5, off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_ubyte v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x40,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ubyte v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x40,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ubyte v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x40,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ubyte v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x40,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ubyte v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x40,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ubyte v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x40,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ubyte v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x42,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sbyte v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sbyte v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x44,0xe0,0x00,0xff,0x02,0x03]
+
+buffer_load_sbyte v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_sbyte v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_sbyte v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_sbyte v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_sbyte v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_sbyte v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_sbyte v5, off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_sbyte v5, off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_sbyte v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x44,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sbyte v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x44,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sbyte v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x44,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sbyte v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x44,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sbyte v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x44,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sbyte v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x44,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sbyte v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x46,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ushort v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ushort v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x48,0xe0,0x00,0xff,0x02,0x03]
+
+buffer_load_ushort v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_ushort v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_ushort v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_ushort v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_ushort v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_ushort v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_ushort v5, off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_ushort v5, off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_ushort v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x48,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ushort v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x48,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ushort v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x48,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ushort v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x48,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ushort v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x48,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ushort v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x48,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_ushort v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x4a,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sshort v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sshort v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x4c,0xe0,0x00,0xff,0x02,0x03]
+
+buffer_load_sshort v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_sshort v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_sshort v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_sshort v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_sshort v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_sshort v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_sshort v5, off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_sshort v5, off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_sshort v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x4c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sshort v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x4c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sshort v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x4c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sshort v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x4c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sshort v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x4c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sshort v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x4c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_sshort v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x4e,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dword v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dword v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x50,0xe0,0x00,0xff,0x02,0x03]
+
+buffer_load_dword v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_dword v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_dword v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_dword v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_dword v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_dword v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_dword v5, off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_dword v5, off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_dword v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x50,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dword v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x50,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dword v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x50,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dword v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x50,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dword v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x50,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dword v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x50,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dword v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x52,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x54,0xe0,0x00,0xfe,0x02,0x03]
+
+buffer_load_dwordx2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_dwordx2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_dwordx2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x54,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x54,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x54,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x54,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x54,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x54,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x56,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx3 v[253:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x58,0xe0,0x00,0xfd,0x02,0x03]
+
+buffer_load_dwordx3 v[5:7], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_dwordx3 v[5:7], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_dwordx3 v[5:7], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x58,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx3 v[5:7], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x58,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x58,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x58,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x58,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x58,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx3 v[5:7], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x5a,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx4 v[252:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x5c,0xe0,0x00,0xfc,0x02,0x03]
+
+buffer_load_dwordx4 v[5:8], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x03,0x03]
+
+buffer_load_dwordx4 v[5:8], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x18,0x03]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x65]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x7c]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x80]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0xc1]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0xf0]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0xf7]
+
+buffer_load_dwordx4 v[5:8], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x5c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx4 v[5:8], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x5c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x5c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x5c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x5c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x5c,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_load_dwordx4 v[5:8], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x5e,0xe0,0x00,0x05,0x02,0x03]
+
+buffer_store_byte v1, off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_byte v255, off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x60,0xe0,0x00,0xff,0x03,0x04]
+
+buffer_store_byte v1, off, s[16:19], s4 offset:4095
+// CHECK: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x04,0x04]
+
+buffer_store_byte v1, off, s[96:99], s4 offset:4095
+// CHECK: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x18,0x04]
+
+buffer_store_byte v1, off, s[12:15], s101 offset:4095
+// CHECK: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x65]
+
+buffer_store_byte v1, off, s[12:15], m0 offset:4095
+// CHECK: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x7c]
+
+buffer_store_byte v1, off, s[12:15], 0 offset:4095
+// CHECK: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x80]
+
+buffer_store_byte v1, off, s[12:15], -1 offset:4095
+// CHECK: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0xc1]
+
+buffer_store_byte v1, off, s[12:15], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0xf0]
+
+buffer_store_byte v1, off, s[12:15], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0xf7]
+
+buffer_store_byte v1, v0, s[12:15], s4 idxen offset:4095
+// CHECK: [0xff,0x2f,0x60,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_byte v1, v0, s[12:15], s4 offen offset:4095
+// CHECK: [0xff,0x1f,0x60,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_byte v1, off, s[12:15], s4
+// CHECK: [0x00,0x00,0x60,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_byte v1, off, s[12:15], s4 offset:0
+// CHECK: [0x00,0x00,0x60,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_byte v1, off, s[12:15], s4 offset:7
+// CHECK: [0x07,0x00,0x60,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_byte v1, off, s[12:15], s4 offset:4095 glc
+// CHECK: [0xff,0x4f,0x60,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_byte v1, off, s[12:15], s4 offset:4095 slc
+// CHECK: [0xff,0x0f,0x62,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_short v1, off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_short v255, off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x68,0xe0,0x00,0xff,0x03,0x04]
+
+buffer_store_short v1, off, s[16:19], s4 offset:4095
+// CHECK: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x04,0x04]
+
+buffer_store_short v1, off, s[96:99], s4 offset:4095
+// CHECK: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x18,0x04]
+
+buffer_store_short v1, off, s[12:15], s101 offset:4095
+// CHECK: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x65]
+
+buffer_store_short v1, off, s[12:15], m0 offset:4095
+// CHECK: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x7c]
+
+buffer_store_short v1, off, s[12:15], 0 offset:4095
+// CHECK: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x80]
+
+buffer_store_short v1, off, s[12:15], -1 offset:4095
+// CHECK: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0xc1]
+
+buffer_store_short v1, off, s[12:15], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0xf0]
+
+buffer_store_short v1, off, s[12:15], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0xf7]
+
+buffer_store_short v1, v0, s[12:15], s4 idxen offset:4095
+// CHECK: [0xff,0x2f,0x68,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_short v1, v0, s[12:15], s4 offen offset:4095
+// CHECK: [0xff,0x1f,0x68,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_short v1, off, s[12:15], s4
+// CHECK: [0x00,0x00,0x68,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_short v1, off, s[12:15], s4 offset:0
+// CHECK: [0x00,0x00,0x68,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_short v1, off, s[12:15], s4 offset:7
+// CHECK: [0x07,0x00,0x68,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_short v1, off, s[12:15], s4 offset:4095 glc
+// CHECK: [0xff,0x4f,0x68,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_short v1, off, s[12:15], s4 offset:4095 slc
+// CHECK: [0xff,0x0f,0x6a,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dword v1, off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dword v255, off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x70,0xe0,0x00,0xff,0x03,0x04]
+
+buffer_store_dword v1, off, s[16:19], s4 offset:4095
+// CHECK: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x04,0x04]
+
+buffer_store_dword v1, off, s[96:99], s4 offset:4095
+// CHECK: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x18,0x04]
+
+buffer_store_dword v1, off, s[12:15], s101 offset:4095
+// CHECK: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x65]
+
+buffer_store_dword v1, off, s[12:15], m0 offset:4095
+// CHECK: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x7c]
+
+buffer_store_dword v1, off, s[12:15], 0 offset:4095
+// CHECK: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x80]
+
+buffer_store_dword v1, off, s[12:15], -1 offset:4095
+// CHECK: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0xc1]
+
+buffer_store_dword v1, off, s[12:15], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0xf0]
+
+buffer_store_dword v1, off, s[12:15], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0xf7]
+
+buffer_store_dword v1, v0, s[12:15], s4 idxen offset:4095
+// CHECK: [0xff,0x2f,0x70,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dword v1, v0, s[12:15], s4 offen offset:4095
+// CHECK: [0xff,0x1f,0x70,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dword v1, off, s[12:15], s4
+// CHECK: [0x00,0x00,0x70,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dword v1, off, s[12:15], s4 offset:0
+// CHECK: [0x00,0x00,0x70,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dword v1, off, s[12:15], s4 offset:7
+// CHECK: [0x07,0x00,0x70,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dword v1, off, s[12:15], s4 offset:4095 glc
+// CHECK: [0xff,0x4f,0x70,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dword v1, off, s[12:15], s4 offset:4095 slc
+// CHECK: [0xff,0x0f,0x72,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx2 v[254:255], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x74,0xe0,0x00,0xfe,0x03,0x04]
+
+buffer_store_dwordx2 v[1:2], off, s[16:19], s4 offset:4095
+// CHECK: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x04,0x04]
+
+buffer_store_dwordx2 v[1:2], off, s[96:99], s4 offset:4095
+// CHECK: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x18,0x04]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], s101 offset:4095
+// CHECK: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x65]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], m0 offset:4095
+// CHECK: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x7c]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], 0 offset:4095
+// CHECK: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x80]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], -1 offset:4095
+// CHECK: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0xc1]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0xf0]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0xf7]
+
+buffer_store_dwordx2 v[1:2], v0, s[12:15], s4 idxen offset:4095
+// CHECK: [0xff,0x2f,0x74,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx2 v[1:2], v0, s[12:15], s4 offen offset:4095
+// CHECK: [0xff,0x1f,0x74,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], s4
+// CHECK: [0x00,0x00,0x74,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], s4 offset:0
+// CHECK: [0x00,0x00,0x74,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], s4 offset:7
+// CHECK: [0x07,0x00,0x74,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], s4 offset:4095 glc
+// CHECK: [0xff,0x4f,0x74,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx2 v[1:2], off, s[12:15], s4 offset:4095 slc
+// CHECK: [0xff,0x0f,0x76,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx3 v[253:255], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x78,0xe0,0x00,0xfd,0x03,0x04]
+
+buffer_store_dwordx3 v[1:3], off, s[16:19], s4 offset:4095
+// CHECK: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x04,0x04]
+
+buffer_store_dwordx3 v[1:3], off, s[96:99], s4 offset:4095
+// CHECK: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x18,0x04]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], s101 offset:4095
+// CHECK: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x65]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], m0 offset:4095
+// CHECK: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x7c]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], 0 offset:4095
+// CHECK: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x80]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], -1 offset:4095
+// CHECK: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0xc1]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0xf0]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0xf7]
+
+buffer_store_dwordx3 v[1:3], v0, s[12:15], s4 idxen offset:4095
+// CHECK: [0xff,0x2f,0x78,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx3 v[1:3], v0, s[12:15], s4 offen offset:4095
+// CHECK: [0xff,0x1f,0x78,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], s4
+// CHECK: [0x00,0x00,0x78,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], s4 offset:0
+// CHECK: [0x00,0x00,0x78,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], s4 offset:7
+// CHECK: [0x07,0x00,0x78,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], s4 offset:4095 glc
+// CHECK: [0xff,0x4f,0x78,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx3 v[1:3], off, s[12:15], s4 offset:4095 slc
+// CHECK: [0xff,0x0f,0x7a,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx4 v[252:255], off, s[12:15], s4 offset:4095
+// CHECK: [0xff,0x0f,0x7c,0xe0,0x00,0xfc,0x03,0x04]
+
+buffer_store_dwordx4 v[1:4], off, s[16:19], s4 offset:4095
+// CHECK: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x04,0x04]
+
+buffer_store_dwordx4 v[1:4], off, s[96:99], s4 offset:4095
+// CHECK: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x18,0x04]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], s101 offset:4095
+// CHECK: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x65]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], m0 offset:4095
+// CHECK: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x7c]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], 0 offset:4095
+// CHECK: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x80]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], -1 offset:4095
+// CHECK: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0xc1]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], 0.5 offset:4095
+// CHECK: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0xf0]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], -4.0 offset:4095
+// CHECK: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0xf7]
+
+buffer_store_dwordx4 v[1:4], v0, s[12:15], s4 idxen offset:4095
+// CHECK: [0xff,0x2f,0x7c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx4 v[1:4], v0, s[12:15], s4 offen offset:4095
+// CHECK: [0xff,0x1f,0x7c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], s4
+// CHECK: [0x00,0x00,0x7c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], s4 offset:0
+// CHECK: [0x00,0x00,0x7c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], s4 offset:7
+// CHECK: [0x07,0x00,0x7c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], s4 offset:4095 glc
+// CHECK: [0xff,0x4f,0x7c,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_store_dwordx4 v[1:4], off, s[12:15], s4 offset:4095 slc
+// CHECK: [0xff,0x0f,0x7e,0xe0,0x00,0x01,0x03,0x04]
+
+buffer_wbinvl1
+// CHECK: [0x00,0x00,0xf8,0xe0,0x00,0x00,0x00,0x00]
+
+buffer_wbinvl1_vol
+// CHECK: [0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00]
+
+buffer_atomic_swap v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_swap v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_swap v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_swap v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_swap v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_swap v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_swap v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_swap v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x00,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x00,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x00,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x00,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x00,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x00,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x02,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_cmpswap v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_cmpswap v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_cmpswap v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_cmpswap v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_cmpswap v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_cmpswap v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_cmpswap v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x04,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x04,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x04,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x04,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x04,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x04,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x06,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_add v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_add v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_add v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_add v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_add v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_add v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_add v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x08,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x08,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x08,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x08,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x08,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x08,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x0a,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_sub v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_sub v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_sub v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_sub v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_sub v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_sub v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_sub v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x0c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x0c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x0c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x0e,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_smin v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_smin v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_smin v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_smin v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_smin v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_smin v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_smin v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x10,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x10,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x10,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x10,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x10,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x10,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x12,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_umin v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_umin v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_umin v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_umin v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_umin v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_umin v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_umin v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x14,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x14,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x14,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x14,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x14,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x14,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x16,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_smax v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_smax v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_smax v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_smax v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_smax v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_smax v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_smax v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x18,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x18,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x18,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x18,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x18,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x18,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x1a,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_umax v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_umax v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_umax v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_umax v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_umax v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_umax v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_umax v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x1c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x1c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x1c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x1e,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x20,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_and v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_and v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_and v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_and v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_and v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_and v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_and v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x20,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x20,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x20,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x20,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x20,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x20,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x22,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x24,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_or v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_or v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_or v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_or v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_or v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_or v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_or v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x24,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x24,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x24,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x24,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x24,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x24,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x26,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x28,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_xor v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_xor v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_xor v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_xor v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_xor v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_xor v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_xor v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x28,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x28,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x28,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x28,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x28,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x28,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x2a,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_inc v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_inc v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_inc v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_inc v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_inc v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_inc v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_inc v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x2c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x2c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x2c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x2e,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec v5, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec v255, off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x30,0xe1,0x00,0xff,0x02,0x03]
+
+buffer_atomic_dec v5, off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_dec v5, off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_dec v5, off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_dec v5, off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_dec v5, off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_dec v5, off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_dec v5, v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x30,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec v5, v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x30,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec v5, off, s[8:11], s3
+// CHECK: [0x00,0x00,0x30,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec v5, off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x30,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec v5, off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x30,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec v5, off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x30,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec v5, off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x32,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x80,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_swap_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_swap_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_swap_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_swap_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_swap_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_swap_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_swap_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x80,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x80,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x80,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x80,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x80,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x80,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x82,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_x2 v[252:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x84,0xe1,0x00,0xfc,0x02,0x03]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_cmpswap_x2 v[5:8], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x84,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_x2 v[5:8], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x84,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x84,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x84,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x84,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x84,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x86,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x88,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_add_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_add_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_add_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_add_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_add_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_add_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_add_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x88,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x88,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x88,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x88,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x88,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x88,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x8a,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_sub_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_sub_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_sub_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_sub_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_sub_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_sub_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_sub_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x8c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x8c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x8c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x8c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x8c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x8c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x8e,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x90,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_smin_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_smin_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_smin_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_smin_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_smin_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_smin_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_smin_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x90,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x90,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x90,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x90,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x90,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x90,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x92,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x94,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_umin_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_umin_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_umin_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_umin_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_umin_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_umin_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_umin_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x94,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x94,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x94,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x94,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x94,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x94,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x96,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x98,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_smax_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_smax_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_smax_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_smax_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_smax_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_smax_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_smax_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x98,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x98,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x98,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x98,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x98,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x98,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x9a,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_umax_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_umax_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_umax_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_umax_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_umax_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_umax_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_umax_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0x9c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0x9c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0x9c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0x9c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0x9c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0x9c,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0x9e,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_and_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_and_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_and_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_and_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_and_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_and_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_and_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0xa0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0xa0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0xa0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0xa0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0xa0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0xa0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0xa2,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_or_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_or_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_or_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_or_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_or_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_or_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_or_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0xa4,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0xa4,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0xa4,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0xa4,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0xa4,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0xa4,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0xa6,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_xor_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_xor_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_xor_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_xor_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_xor_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_xor_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_xor_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0xa8,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0xa8,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0xa8,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0xa8,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0xa8,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0xa8,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0xaa,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0xac,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_inc_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_inc_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_inc_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_inc_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_inc_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_inc_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_inc_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0xac,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0xac,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0xac,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0xac,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0xac,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0xac,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0xae,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec_x2 v[254:255], off, s[8:11], s3 offset:4095
+// CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0xfe,0x02,0x03]
+
+buffer_atomic_dec_x2 v[5:6], off, s[12:15], s3 offset:4095
+// CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x03,0x03]
+
+buffer_atomic_dec_x2 v[5:6], off, s[96:99], s3 offset:4095
+// CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x18,0x03]
+
+buffer_atomic_dec_x2 v[5:6], off, s[8:11], s101 offset:4095
+// CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x65]
+
+buffer_atomic_dec_x2 v[5:6], off, s[8:11], m0 offset:4095
+// CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x7c]
+
+buffer_atomic_dec_x2 v[5:6], off, s[8:11], 0 offset:4095
+// CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x80]
+
+buffer_atomic_dec_x2 v[5:6], off, s[8:11], -1 offset:4095
+// CHECK: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0xc1]
+
+buffer_atomic_dec_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095
+// CHECK: [0xff,0x2f,0xb0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec_x2 v[5:6], v0, s[8:11], s3 offen offset:4095
+// CHECK: [0xff,0x1f,0xb0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3
+// CHECK: [0x00,0x00,0xb0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 offset:0
+// CHECK: [0x00,0x00,0xb0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 offset:7
+// CHECK: [0x07,0x00,0xb0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 offset:4095 glc
+// CHECK: [0xff,0x4f,0xb0,0xe1,0x00,0x05,0x02,0x03]
+
+buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 offset:4095 slc
+// CHECK: [0xff,0x0f,0xb2,0xe1,0x00,0x05,0x02,0x03]
+
+s_load_dword s5, s[2:3], s0
+// CHECK: [0x41,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword s101, s[2:3], s0
+// CHECK: [0x41,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword flat_scratch_lo, s[2:3], s0
+// CHECK: [0x81,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword flat_scratch_hi, s[2:3], s0
+// CHECK: [0xc1,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword vcc_lo, s[2:3], s0
+// CHECK: [0x81,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword vcc_hi, s[2:3], s0
+// CHECK: [0xc1,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword s5, s[4:5], s0
+// CHECK: [0x42,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword s5, s[100:101], s0
+// CHECK: [0x72,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword s5, flat_scratch, s0
+// CHECK: [0x73,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword s5, vcc, s0
+// CHECK: [0x75,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword s5, s[2:3], s101
+// CHECK: [0x41,0x01,0x00,0xc0,0x65,0x00,0x00,0x00]
+
+s_load_dword s5, s[2:3], flat_scratch_lo
+// CHECK: [0x41,0x01,0x00,0xc0,0x66,0x00,0x00,0x00]
+
+s_load_dword s5, s[2:3], flat_scratch_hi
+// CHECK: [0x41,0x01,0x00,0xc0,0x67,0x00,0x00,0x00]
+
+s_load_dword s5, s[2:3], vcc_lo
+// CHECK: [0x41,0x01,0x00,0xc0,0x6a,0x00,0x00,0x00]
+
+s_load_dword s5, s[2:3], vcc_hi
+// CHECK: [0x41,0x01,0x00,0xc0,0x6b,0x00,0x00,0x00]
+
+s_load_dword s5, s[2:3], m0
+// CHECK: [0x41,0x01,0x00,0xc0,0x7c,0x00,0x00,0x00]
+
+s_load_dword s5, s[2:3], 0x0
+// CHECK: [0x41,0x01,0x02,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dword s5, s[2:3], s0 glc
+// CHECK: [0x41,0x01,0x01,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[2:3], s0
+// CHECK: [0x81,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 s[12:13], s[2:3], s0
+// CHECK: [0x01,0x03,0x04,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 s[100:101], s[2:3], s0
+// CHECK: [0x01,0x19,0x04,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 flat_scratch, s[2:3], s0
+// CHECK: [0x81,0x19,0x04,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 vcc, s[2:3], s0
+// CHECK: [0x81,0x1a,0x04,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[4:5], s0
+// CHECK: [0x82,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[100:101], s0
+// CHECK: [0xb2,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], flat_scratch, s0
+// CHECK: [0xb3,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], vcc, s0
+// CHECK: [0xb5,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[2:3], s101
+// CHECK: [0x81,0x02,0x04,0xc0,0x65,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[2:3], flat_scratch_lo
+// CHECK: [0x81,0x02,0x04,0xc0,0x66,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[2:3], flat_scratch_hi
+// CHECK: [0x81,0x02,0x04,0xc0,0x67,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[2:3], vcc_lo
+// CHECK: [0x81,0x02,0x04,0xc0,0x6a,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[2:3], vcc_hi
+// CHECK: [0x81,0x02,0x04,0xc0,0x6b,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[2:3], m0
+// CHECK: [0x81,0x02,0x04,0xc0,0x7c,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[2:3], 0x0
+// CHECK: [0x81,0x02,0x06,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx2 s[10:11], s[2:3], s0 glc
+// CHECK: [0x81,0x02,0x05,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[2:3], s0
+// CHECK: [0x01,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx4 s[24:27], s[2:3], s0
+// CHECK: [0x01,0x06,0x08,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx4 s[96:99], s[2:3], s0
+// CHECK: [0x01,0x18,0x08,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[4:5], s0
+// CHECK: [0x02,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[100:101], s0
+// CHECK: [0x32,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], flat_scratch, s0
+// CHECK: [0x33,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], vcc, s0
+// CHECK: [0x35,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[2:3], s101
+// CHECK: [0x01,0x05,0x08,0xc0,0x65,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[2:3], flat_scratch_lo
+// CHECK: [0x01,0x05,0x08,0xc0,0x66,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[2:3], flat_scratch_hi
+// CHECK: [0x01,0x05,0x08,0xc0,0x67,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[2:3], vcc_lo
+// CHECK: [0x01,0x05,0x08,0xc0,0x6a,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[2:3], vcc_hi
+// CHECK: [0x01,0x05,0x08,0xc0,0x6b,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[2:3], m0
+// CHECK: [0x01,0x05,0x08,0xc0,0x7c,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[2:3], 0x0
+// CHECK: [0x01,0x05,0x0a,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx4 s[20:23], s[2:3], s0 glc
+// CHECK: [0x01,0x05,0x09,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[2:3], s0
+// CHECK: [0x01,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx8 s[24:31], s[2:3], s0
+// CHECK: [0x01,0x06,0x0c,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx8 s[92:99], s[2:3], s0
+// CHECK: [0x01,0x17,0x0c,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[4:5], s0
+// CHECK: [0x02,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[100:101], s0
+// CHECK: [0x32,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], flat_scratch, s0
+// CHECK: [0x33,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], vcc, s0
+// CHECK: [0x35,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[2:3], s101
+// CHECK: [0x01,0x05,0x0c,0xc0,0x65,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[2:3], flat_scratch_lo
+// CHECK: [0x01,0x05,0x0c,0xc0,0x66,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[2:3], flat_scratch_hi
+// CHECK: [0x01,0x05,0x0c,0xc0,0x67,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[2:3], vcc_lo
+// CHECK: [0x01,0x05,0x0c,0xc0,0x6a,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[2:3], vcc_hi
+// CHECK: [0x01,0x05,0x0c,0xc0,0x6b,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[2:3], m0
+// CHECK: [0x01,0x05,0x0c,0xc0,0x7c,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[2:3], 0x0
+// CHECK: [0x01,0x05,0x0e,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx8 s[20:27], s[2:3], s0 glc
+// CHECK: [0x01,0x05,0x0d,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[2:3], s0
+// CHECK: [0x01,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx16 s[24:39], s[2:3], s0
+// CHECK: [0x01,0x06,0x10,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx16 s[84:99], s[2:3], s0
+// CHECK: [0x01,0x15,0x10,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[4:5], s0
+// CHECK: [0x02,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[100:101], s0
+// CHECK: [0x32,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], flat_scratch, s0
+// CHECK: [0x33,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], vcc, s0
+// CHECK: [0x35,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[2:3], s101
+// CHECK: [0x01,0x05,0x10,0xc0,0x65,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[2:3], flat_scratch_lo
+// CHECK: [0x01,0x05,0x10,0xc0,0x66,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[2:3], flat_scratch_hi
+// CHECK: [0x01,0x05,0x10,0xc0,0x67,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[2:3], vcc_lo
+// CHECK: [0x01,0x05,0x10,0xc0,0x6a,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[2:3], vcc_hi
+// CHECK: [0x01,0x05,0x10,0xc0,0x6b,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[2:3], m0
+// CHECK: [0x01,0x05,0x10,0xc0,0x7c,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[2:3], 0x0
+// CHECK: [0x01,0x05,0x12,0xc0,0x00,0x00,0x00,0x00]
+
+s_load_dwordx16 s[20:35], s[2:3], s0 glc
+// CHECK: [0x01,0x05,0x11,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[4:7], s0
+// CHECK: [0x42,0x01,0x20,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dword s101, s[4:7], s0
+// CHECK: [0x42,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dword flat_scratch_lo, s[4:7], s0
+// CHECK: [0x82,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dword flat_scratch_hi, s[4:7], s0
+// CHECK: [0xc2,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dword vcc_lo, s[4:7], s0
+// CHECK: [0x82,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dword vcc_hi, s[4:7], s0
+// CHECK: [0xc2,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[8:11], s0
+// CHECK: [0x44,0x01,0x20,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[96:99], s0
+// CHECK: [0x70,0x01,0x20,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[4:7], s101
+// CHECK: [0x42,0x01,0x20,0xc0,0x65,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[4:7], flat_scratch_lo
+// CHECK: [0x42,0x01,0x20,0xc0,0x66,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[4:7], flat_scratch_hi
+// CHECK: [0x42,0x01,0x20,0xc0,0x67,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[4:7], vcc_lo
+// CHECK: [0x42,0x01,0x20,0xc0,0x6a,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[4:7], vcc_hi
+// CHECK: [0x42,0x01,0x20,0xc0,0x6b,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[4:7], m0
+// CHECK: [0x42,0x01,0x20,0xc0,0x7c,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[4:7], 0x0
+// CHECK: [0x42,0x01,0x22,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dword s5, s[4:7], s0 glc
+// CHECK: [0x42,0x01,0x21,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[4:7], s0
+// CHECK: [0x82,0x02,0x24,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[12:13], s[4:7], s0
+// CHECK: [0x02,0x03,0x24,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[100:101], s[4:7], s0
+// CHECK: [0x02,0x19,0x24,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 flat_scratch, s[4:7], s0
+// CHECK: [0x82,0x19,0x24,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 vcc, s[4:7], s0
+// CHECK: [0x82,0x1a,0x24,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[8:11], s0
+// CHECK: [0x84,0x02,0x24,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[96:99], s0
+// CHECK: [0xb0,0x02,0x24,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[4:7], s101
+// CHECK: [0x82,0x02,0x24,0xc0,0x65,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[4:7], flat_scratch_lo
+// CHECK: [0x82,0x02,0x24,0xc0,0x66,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[4:7], flat_scratch_hi
+// CHECK: [0x82,0x02,0x24,0xc0,0x67,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[4:7], vcc_lo
+// CHECK: [0x82,0x02,0x24,0xc0,0x6a,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[4:7], vcc_hi
+// CHECK: [0x82,0x02,0x24,0xc0,0x6b,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[4:7], m0
+// CHECK: [0x82,0x02,0x24,0xc0,0x7c,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[4:7], 0x0
+// CHECK: [0x82,0x02,0x26,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx2 s[10:11], s[4:7], s0 glc
+// CHECK: [0x82,0x02,0x25,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[4:7], s0
+// CHECK: [0x02,0x05,0x28,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[24:27], s[4:7], s0
+// CHECK: [0x02,0x06,0x28,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[96:99], s[4:7], s0
+// CHECK: [0x02,0x18,0x28,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[8:11], s0
+// CHECK: [0x04,0x05,0x28,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[96:99], s0
+// CHECK: [0x30,0x05,0x28,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[4:7], s101
+// CHECK: [0x02,0x05,0x28,0xc0,0x65,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[4:7], flat_scratch_lo
+// CHECK: [0x02,0x05,0x28,0xc0,0x66,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[4:7], flat_scratch_hi
+// CHECK: [0x02,0x05,0x28,0xc0,0x67,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[4:7], vcc_lo
+// CHECK: [0x02,0x05,0x28,0xc0,0x6a,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[4:7], vcc_hi
+// CHECK: [0x02,0x05,0x28,0xc0,0x6b,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[4:7], m0
+// CHECK: [0x02,0x05,0x28,0xc0,0x7c,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[4:7], 0x0
+// CHECK: [0x02,0x05,0x2a,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx4 s[20:23], s[4:7], s0 glc
+// CHECK: [0x02,0x05,0x29,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[4:7], s0
+// CHECK: [0x02,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[24:31], s[4:7], s0
+// CHECK: [0x02,0x06,0x2c,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[92:99], s[4:7], s0
+// CHECK: [0x02,0x17,0x2c,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[8:11], s0
+// CHECK: [0x04,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[96:99], s0
+// CHECK: [0x30,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[4:7], s101
+// CHECK: [0x02,0x05,0x2c,0xc0,0x65,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[4:7], flat_scratch_lo
+// CHECK: [0x02,0x05,0x2c,0xc0,0x66,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[4:7], flat_scratch_hi
+// CHECK: [0x02,0x05,0x2c,0xc0,0x67,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[4:7], vcc_lo
+// CHECK: [0x02,0x05,0x2c,0xc0,0x6a,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[4:7], vcc_hi
+// CHECK: [0x02,0x05,0x2c,0xc0,0x6b,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[4:7], m0
+// CHECK: [0x02,0x05,0x2c,0xc0,0x7c,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[4:7], 0x0
+// CHECK: [0x02,0x05,0x2e,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx8 s[20:27], s[4:7], s0 glc
+// CHECK: [0x02,0x05,0x2d,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[4:7], s0
+// CHECK: [0x02,0x05,0x30,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[24:39], s[4:7], s0
+// CHECK: [0x02,0x06,0x30,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[84:99], s[4:7], s0
+// CHECK: [0x02,0x15,0x30,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[8:11], s0
+// CHECK: [0x04,0x05,0x30,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[96:99], s0
+// CHECK: [0x30,0x05,0x30,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[4:7], s101
+// CHECK: [0x02,0x05,0x30,0xc0,0x65,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[4:7], flat_scratch_lo
+// CHECK: [0x02,0x05,0x30,0xc0,0x66,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[4:7], flat_scratch_hi
+// CHECK: [0x02,0x05,0x30,0xc0,0x67,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[4:7], vcc_lo
+// CHECK: [0x02,0x05,0x30,0xc0,0x6a,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[4:7], vcc_hi
+// CHECK: [0x02,0x05,0x30,0xc0,0x6b,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[4:7], m0
+// CHECK: [0x02,0x05,0x30,0xc0,0x7c,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[4:7], 0x0
+// CHECK: [0x02,0x05,0x32,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_load_dwordx16 s[20:35], s[4:7], s0 glc
+// CHECK: [0x02,0x05,0x31,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword s1, s[4:5], s0
+// CHECK: [0x42,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword s101, s[4:5], s0
+// CHECK: [0x42,0x19,0x40,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword flat_scratch_lo, s[4:5], s0
+// CHECK: [0x82,0x19,0x40,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword flat_scratch_hi, s[4:5], s0
+// CHECK: [0xc2,0x19,0x40,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword vcc_lo, s[4:5], s0
+// CHECK: [0x82,0x1a,0x40,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword vcc_hi, s[4:5], s0
+// CHECK: [0xc2,0x1a,0x40,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword s1, s[6:7], s0
+// CHECK: [0x43,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword s1, s[100:101], s0
+// CHECK: [0x72,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword s1, flat_scratch, s0
+// CHECK: [0x73,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword s1, vcc, s0
+// CHECK: [0x75,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword s1, s[4:5], s101
+// CHECK: [0x42,0x00,0x40,0xc0,0x65,0x00,0x00,0x00]
+
+s_store_dword s1, s[4:5], flat_scratch_lo
+// CHECK: [0x42,0x00,0x40,0xc0,0x66,0x00,0x00,0x00]
+
+s_store_dword s1, s[4:5], flat_scratch_hi
+// CHECK: [0x42,0x00,0x40,0xc0,0x67,0x00,0x00,0x00]
+
+s_store_dword s1, s[4:5], vcc_lo
+// CHECK: [0x42,0x00,0x40,0xc0,0x6a,0x00,0x00,0x00]
+
+s_store_dword s1, s[4:5], vcc_hi
+// CHECK: [0x42,0x00,0x40,0xc0,0x6b,0x00,0x00,0x00]
+
+s_store_dword s1, s[4:5], m0
+// CHECK: [0x42,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
+
+s_store_dword s1, s[4:5], 0x0
+// CHECK: [0x42,0x00,0x42,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dword s1, s[4:5], s0 glc
+// CHECK: [0x42,0x00,0x41,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[4:5], s0
+// CHECK: [0x82,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 s[4:5], s[4:5], s0
+// CHECK: [0x02,0x01,0x44,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 s[100:101], s[4:5], s0
+// CHECK: [0x02,0x19,0x44,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 flat_scratch, s[4:5], s0
+// CHECK: [0x82,0x19,0x44,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 vcc, s[4:5], s0
+// CHECK: [0x82,0x1a,0x44,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[6:7], s0
+// CHECK: [0x83,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[100:101], s0
+// CHECK: [0xb2,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], flat_scratch, s0
+// CHECK: [0xb3,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], vcc, s0
+// CHECK: [0xb5,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[4:5], s101
+// CHECK: [0x82,0x00,0x44,0xc0,0x65,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[4:5], flat_scratch_lo
+// CHECK: [0x82,0x00,0x44,0xc0,0x66,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[4:5], flat_scratch_hi
+// CHECK: [0x82,0x00,0x44,0xc0,0x67,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[4:5], vcc_lo
+// CHECK: [0x82,0x00,0x44,0xc0,0x6a,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[4:5], vcc_hi
+// CHECK: [0x82,0x00,0x44,0xc0,0x6b,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[4:5], m0
+// CHECK: [0x82,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[4:5], 0x0
+// CHECK: [0x82,0x00,0x46,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx2 s[2:3], s[4:5], s0 glc
+// CHECK: [0x82,0x00,0x45,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[4:5], s0
+// CHECK: [0x02,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx4 s[8:11], s[4:5], s0
+// CHECK: [0x02,0x02,0x48,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx4 s[96:99], s[4:5], s0
+// CHECK: [0x02,0x18,0x48,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[6:7], s0
+// CHECK: [0x03,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[100:101], s0
+// CHECK: [0x32,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], flat_scratch, s0
+// CHECK: [0x33,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], vcc, s0
+// CHECK: [0x35,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[4:5], s101
+// CHECK: [0x02,0x01,0x48,0xc0,0x65,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[4:5], flat_scratch_lo
+// CHECK: [0x02,0x01,0x48,0xc0,0x66,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[4:5], flat_scratch_hi
+// CHECK: [0x02,0x01,0x48,0xc0,0x67,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[4:5], vcc_lo
+// CHECK: [0x02,0x01,0x48,0xc0,0x6a,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[4:5], vcc_hi
+// CHECK: [0x02,0x01,0x48,0xc0,0x6b,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[4:5], m0
+// CHECK: [0x02,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[4:5], 0x0
+// CHECK: [0x02,0x01,0x4a,0xc0,0x00,0x00,0x00,0x00]
+
+s_store_dwordx4 s[4:7], s[4:5], s0 glc
+// CHECK: [0x02,0x01,0x49,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[8:11], s0
+// CHECK: [0x44,0x00,0x60,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dword s101, s[8:11], s0
+// CHECK: [0x44,0x19,0x60,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dword flat_scratch_lo, s[8:11], s0
+// CHECK: [0x84,0x19,0x60,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dword flat_scratch_hi, s[8:11], s0
+// CHECK: [0xc4,0x19,0x60,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dword vcc_lo, s[8:11], s0
+// CHECK: [0x84,0x1a,0x60,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dword vcc_hi, s[8:11], s0
+// CHECK: [0xc4,0x1a,0x60,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[12:15], s0
+// CHECK: [0x46,0x00,0x60,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[96:99], s0
+// CHECK: [0x70,0x00,0x60,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[8:11], s101
+// CHECK: [0x44,0x00,0x60,0xc0,0x65,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[8:11], flat_scratch_lo
+// CHECK: [0x44,0x00,0x60,0xc0,0x66,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[8:11], flat_scratch_hi
+// CHECK: [0x44,0x00,0x60,0xc0,0x67,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[8:11], vcc_lo
+// CHECK: [0x44,0x00,0x60,0xc0,0x6a,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[8:11], vcc_hi
+// CHECK: [0x44,0x00,0x60,0xc0,0x6b,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[8:11], m0
+// CHECK: [0x44,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[8:11], 0x0
+// CHECK: [0x44,0x00,0x62,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dword s1, s[8:11], s0 glc
+// CHECK: [0x44,0x00,0x61,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[8:11], s0
+// CHECK: [0x84,0x00,0x64,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[4:5], s[8:11], s0
+// CHECK: [0x04,0x01,0x64,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[100:101], s[8:11], s0
+// CHECK: [0x04,0x19,0x64,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 flat_scratch, s[8:11], s0
+// CHECK: [0x84,0x19,0x64,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 vcc, s[8:11], s0
+// CHECK: [0x84,0x1a,0x64,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[12:15], s0
+// CHECK: [0x86,0x00,0x64,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[96:99], s0
+// CHECK: [0xb0,0x00,0x64,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[8:11], s101
+// CHECK: [0x84,0x00,0x64,0xc0,0x65,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[8:11], flat_scratch_lo
+// CHECK: [0x84,0x00,0x64,0xc0,0x66,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[8:11], flat_scratch_hi
+// CHECK: [0x84,0x00,0x64,0xc0,0x67,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[8:11], vcc_lo
+// CHECK: [0x84,0x00,0x64,0xc0,0x6a,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[8:11], vcc_hi
+// CHECK: [0x84,0x00,0x64,0xc0,0x6b,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[8:11], m0
+// CHECK: [0x84,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[8:11], 0x0
+// CHECK: [0x84,0x00,0x66,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx2 s[2:3], s[8:11], s0 glc
+// CHECK: [0x84,0x00,0x65,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[8:11], s0
+// CHECK: [0x04,0x01,0x68,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[8:11], s[8:11], s0
+// CHECK: [0x04,0x02,0x68,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[96:99], s[8:11], s0
+// CHECK: [0x04,0x18,0x68,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[12:15], s0
+// CHECK: [0x06,0x01,0x68,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[96:99], s0
+// CHECK: [0x30,0x01,0x68,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[8:11], s101
+// CHECK: [0x04,0x01,0x68,0xc0,0x65,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[8:11], flat_scratch_lo
+// CHECK: [0x04,0x01,0x68,0xc0,0x66,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[8:11], flat_scratch_hi
+// CHECK: [0x04,0x01,0x68,0xc0,0x67,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[8:11], vcc_lo
+// CHECK: [0x04,0x01,0x68,0xc0,0x6a,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[8:11], vcc_hi
+// CHECK: [0x04,0x01,0x68,0xc0,0x6b,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[8:11], m0
+// CHECK: [0x04,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[8:11], 0x0
+// CHECK: [0x04,0x01,0x6a,0xc0,0x00,0x00,0x00,0x00]
+
+s_buffer_store_dwordx4 s[4:7], s[8:11], s0 glc
+// CHECK: [0x04,0x01,0x69,0xc0,0x00,0x00,0x00,0x00]
+
+s_dcache_inv
+// CHECK: [0x00,0x00,0x80,0xc0,0x00,0x00,0x00,0x00]
+
+s_dcache_wb
+// CHECK: [0x00,0x00,0x84,0xc0,0x00,0x00,0x00,0x00]
+
+s_dcache_inv_vol
+// CHECK: [0x00,0x00,0x88,0xc0,0x00,0x00,0x00,0x00]
+
+s_dcache_wb_vol
+// CHECK: [0x00,0x00,0x8c,0xc0,0x00,0x00,0x00,0x00]
+
+s_memtime s[10:11]
+// CHECK: [0x80,0x02,0x90,0xc0,0x00,0x00,0x00,0x00]
+
+s_memtime s[12:13]
+// CHECK: [0x00,0x03,0x90,0xc0,0x00,0x00,0x00,0x00]
+
+s_memtime s[100:101]
+// CHECK: [0x00,0x19,0x90,0xc0,0x00,0x00,0x00,0x00]
+
+s_memtime flat_scratch
+// CHECK: [0x80,0x19,0x90,0xc0,0x00,0x00,0x00,0x00]
+
+s_memtime vcc
+// CHECK: [0x80,0x1a,0x90,0xc0,0x00,0x00,0x00,0x00]
+
+s_memrealtime s[10:11]
+// CHECK: [0x80,0x02,0x94,0xc0,0x00,0x00,0x00,0x00]
+
+s_memrealtime s[12:13]
+// CHECK: [0x00,0x03,0x94,0xc0,0x00,0x00,0x00,0x00]
+
+s_memrealtime s[100:101]
+// CHECK: [0x00,0x19,0x94,0xc0,0x00,0x00,0x00,0x00]
+
+s_memrealtime flat_scratch
+// CHECK: [0x80,0x19,0x94,0xc0,0x00,0x00,0x00,0x00]
+
+s_memrealtime vcc
+// CHECK: [0x80,0x1a,0x94,0xc0,0x00,0x00,0x00,0x00]
+
+s_mov_b32 s5, s1
+// CHECK: [0x01,0x00,0x85,0xbe]
+
+s_mov_b32 s101, s1
+// CHECK: [0x01,0x00,0xe5,0xbe]
+
+s_mov_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x00,0xe6,0xbe]
+
+s_mov_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x00,0xe7,0xbe]
+
+s_mov_b32 vcc_lo, s1
+// CHECK: [0x01,0x00,0xea,0xbe]
+
+s_mov_b32 vcc_hi, s1
+// CHECK: [0x01,0x00,0xeb,0xbe]
+
+s_mov_b32 m0, s1
+// CHECK: [0x01,0x00,0xfc,0xbe]
+
+s_mov_b32 exec_lo, s1
+// CHECK: [0x01,0x00,0xfe,0xbe]
+
+s_mov_b32 exec_hi, s1
+// CHECK: [0x01,0x00,0xff,0xbe]
+
+s_mov_b32 s5, s101
+// CHECK: [0x65,0x00,0x85,0xbe]
+
+s_mov_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x00,0x85,0xbe]
+
+s_mov_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x00,0x85,0xbe]
+
+s_mov_b32 s5, vcc_lo
+// CHECK: [0x6a,0x00,0x85,0xbe]
+
+s_mov_b32 s5, vcc_hi
+// CHECK: [0x6b,0x00,0x85,0xbe]
+
+s_mov_b32 s5, m0
+// CHECK: [0x7c,0x00,0x85,0xbe]
+
+s_mov_b32 s5, exec_lo
+// CHECK: [0x7e,0x00,0x85,0xbe]
+
+s_mov_b32 s5, exec_hi
+// CHECK: [0x7f,0x00,0x85,0xbe]
+
+s_mov_b32 s5, 0
+// CHECK: [0x80,0x00,0x85,0xbe]
+
+s_mov_b32 s5, -1
+// CHECK: [0xc1,0x00,0x85,0xbe]
+
+s_mov_b32 s5, 0.5
+// CHECK: [0xf0,0x00,0x85,0xbe]
+
+s_mov_b32 s5, -4.0
+// CHECK: [0xf7,0x00,0x85,0xbe]
+
+s_mov_b32 s5, 0xaf123456
+// CHECK: [0xff,0x00,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_mov_b32 s5, 0x3f717273
+// CHECK: [0xff,0x00,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_mov_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x01,0x8a,0xbe]
+
+s_mov_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x01,0x8c,0xbe]
+
+s_mov_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x01,0xe4,0xbe]
+
+s_mov_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x01,0xe6,0xbe]
+
+s_mov_b64 vcc, s[2:3]
+// CHECK: [0x02,0x01,0xea,0xbe]
+
+s_mov_b64 exec, s[2:3]
+// CHECK: [0x02,0x01,0xfe,0xbe]
+
+s_mov_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x01,0x8a,0xbe]
+
+s_mov_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x01,0x8a,0xbe]
+
+s_mov_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x01,0x8a,0xbe]
+
+s_mov_b64 s[10:11], vcc
+// CHECK: [0x6a,0x01,0x8a,0xbe]
+
+s_mov_b64 s[10:11], exec
+// CHECK: [0x7e,0x01,0x8a,0xbe]
+
+s_mov_b64 s[10:11], 0
+// CHECK: [0x80,0x01,0x8a,0xbe]
+
+s_mov_b64 s[10:11], -1
+// CHECK: [0xc1,0x01,0x8a,0xbe]
+
+s_mov_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x01,0x8a,0xbe]
+
+s_mov_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x01,0x8a,0xbe]
+
+s_mov_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x01,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_mov_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x01,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_cmov_b32 s5, s1
+// CHECK: [0x01,0x02,0x85,0xbe]
+
+s_cmov_b32 s101, s1
+// CHECK: [0x01,0x02,0xe5,0xbe]
+
+s_cmov_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x02,0xe6,0xbe]
+
+s_cmov_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x02,0xe7,0xbe]
+
+s_cmov_b32 vcc_lo, s1
+// CHECK: [0x01,0x02,0xea,0xbe]
+
+s_cmov_b32 vcc_hi, s1
+// CHECK: [0x01,0x02,0xeb,0xbe]
+
+s_cmov_b32 m0, s1
+// CHECK: [0x01,0x02,0xfc,0xbe]
+
+s_cmov_b32 exec_lo, s1
+// CHECK: [0x01,0x02,0xfe,0xbe]
+
+s_cmov_b32 exec_hi, s1
+// CHECK: [0x01,0x02,0xff,0xbe]
+
+s_cmov_b32 s5, s101
+// CHECK: [0x65,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, vcc_lo
+// CHECK: [0x6a,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, vcc_hi
+// CHECK: [0x6b,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, m0
+// CHECK: [0x7c,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, exec_lo
+// CHECK: [0x7e,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, exec_hi
+// CHECK: [0x7f,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, 0
+// CHECK: [0x80,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, -1
+// CHECK: [0xc1,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, 0.5
+// CHECK: [0xf0,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, -4.0
+// CHECK: [0xf7,0x02,0x85,0xbe]
+
+s_cmov_b32 s5, 0xaf123456
+// CHECK: [0xff,0x02,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_cmov_b32 s5, 0x3f717273
+// CHECK: [0xff,0x02,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_cmov_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x03,0x8a,0xbe]
+
+s_cmov_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x03,0x8c,0xbe]
+
+s_cmov_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x03,0xe4,0xbe]
+
+s_cmov_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x03,0xe6,0xbe]
+
+s_cmov_b64 vcc, s[2:3]
+// CHECK: [0x02,0x03,0xea,0xbe]
+
+s_cmov_b64 exec, s[2:3]
+// CHECK: [0x02,0x03,0xfe,0xbe]
+
+s_cmov_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x03,0x8a,0xbe]
+
+s_cmov_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x03,0x8a,0xbe]
+
+s_cmov_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x03,0x8a,0xbe]
+
+s_cmov_b64 s[10:11], vcc
+// CHECK: [0x6a,0x03,0x8a,0xbe]
+
+s_cmov_b64 s[10:11], exec
+// CHECK: [0x7e,0x03,0x8a,0xbe]
+
+s_cmov_b64 s[10:11], 0
+// CHECK: [0x80,0x03,0x8a,0xbe]
+
+s_cmov_b64 s[10:11], -1
+// CHECK: [0xc1,0x03,0x8a,0xbe]
+
+s_cmov_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x03,0x8a,0xbe]
+
+s_cmov_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x03,0x8a,0xbe]
+
+s_cmov_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x03,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_cmov_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x03,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_not_b32 s5, s1
+// CHECK: [0x01,0x04,0x85,0xbe]
+
+s_not_b32 s101, s1
+// CHECK: [0x01,0x04,0xe5,0xbe]
+
+s_not_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x04,0xe6,0xbe]
+
+s_not_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x04,0xe7,0xbe]
+
+s_not_b32 vcc_lo, s1
+// CHECK: [0x01,0x04,0xea,0xbe]
+
+s_not_b32 vcc_hi, s1
+// CHECK: [0x01,0x04,0xeb,0xbe]
+
+s_not_b32 m0, s1
+// CHECK: [0x01,0x04,0xfc,0xbe]
+
+s_not_b32 exec_lo, s1
+// CHECK: [0x01,0x04,0xfe,0xbe]
+
+s_not_b32 exec_hi, s1
+// CHECK: [0x01,0x04,0xff,0xbe]
+
+s_not_b32 s5, s101
+// CHECK: [0x65,0x04,0x85,0xbe]
+
+s_not_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x04,0x85,0xbe]
+
+s_not_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x04,0x85,0xbe]
+
+s_not_b32 s5, vcc_lo
+// CHECK: [0x6a,0x04,0x85,0xbe]
+
+s_not_b32 s5, vcc_hi
+// CHECK: [0x6b,0x04,0x85,0xbe]
+
+s_not_b32 s5, m0
+// CHECK: [0x7c,0x04,0x85,0xbe]
+
+s_not_b32 s5, exec_lo
+// CHECK: [0x7e,0x04,0x85,0xbe]
+
+s_not_b32 s5, exec_hi
+// CHECK: [0x7f,0x04,0x85,0xbe]
+
+s_not_b32 s5, 0
+// CHECK: [0x80,0x04,0x85,0xbe]
+
+s_not_b32 s5, -1
+// CHECK: [0xc1,0x04,0x85,0xbe]
+
+s_not_b32 s5, 0.5
+// CHECK: [0xf0,0x04,0x85,0xbe]
+
+s_not_b32 s5, -4.0
+// CHECK: [0xf7,0x04,0x85,0xbe]
+
+s_not_b32 s5, 0xaf123456
+// CHECK: [0xff,0x04,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_not_b32 s5, 0x3f717273
+// CHECK: [0xff,0x04,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_not_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x05,0x8a,0xbe]
+
+s_not_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x05,0x8c,0xbe]
+
+s_not_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x05,0xe4,0xbe]
+
+s_not_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x05,0xe6,0xbe]
+
+s_not_b64 vcc, s[2:3]
+// CHECK: [0x02,0x05,0xea,0xbe]
+
+s_not_b64 exec, s[2:3]
+// CHECK: [0x02,0x05,0xfe,0xbe]
+
+s_not_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x05,0x8a,0xbe]
+
+s_not_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x05,0x8a,0xbe]
+
+s_not_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x05,0x8a,0xbe]
+
+s_not_b64 s[10:11], vcc
+// CHECK: [0x6a,0x05,0x8a,0xbe]
+
+s_not_b64 s[10:11], exec
+// CHECK: [0x7e,0x05,0x8a,0xbe]
+
+s_not_b64 s[10:11], 0
+// CHECK: [0x80,0x05,0x8a,0xbe]
+
+s_not_b64 s[10:11], -1
+// CHECK: [0xc1,0x05,0x8a,0xbe]
+
+s_not_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x05,0x8a,0xbe]
+
+s_not_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x05,0x8a,0xbe]
+
+s_not_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x05,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_not_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x05,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_wqm_b32 s5, s1
+// CHECK: [0x01,0x06,0x85,0xbe]
+
+s_wqm_b32 s101, s1
+// CHECK: [0x01,0x06,0xe5,0xbe]
+
+s_wqm_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x06,0xe6,0xbe]
+
+s_wqm_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x06,0xe7,0xbe]
+
+s_wqm_b32 vcc_lo, s1
+// CHECK: [0x01,0x06,0xea,0xbe]
+
+s_wqm_b32 vcc_hi, s1
+// CHECK: [0x01,0x06,0xeb,0xbe]
+
+s_wqm_b32 m0, s1
+// CHECK: [0x01,0x06,0xfc,0xbe]
+
+s_wqm_b32 exec_lo, s1
+// CHECK: [0x01,0x06,0xfe,0xbe]
+
+s_wqm_b32 exec_hi, s1
+// CHECK: [0x01,0x06,0xff,0xbe]
+
+s_wqm_b32 s5, s101
+// CHECK: [0x65,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, vcc_lo
+// CHECK: [0x6a,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, vcc_hi
+// CHECK: [0x6b,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, m0
+// CHECK: [0x7c,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, exec_lo
+// CHECK: [0x7e,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, exec_hi
+// CHECK: [0x7f,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, 0
+// CHECK: [0x80,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, -1
+// CHECK: [0xc1,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, 0.5
+// CHECK: [0xf0,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, -4.0
+// CHECK: [0xf7,0x06,0x85,0xbe]
+
+s_wqm_b32 s5, 0xaf123456
+// CHECK: [0xff,0x06,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_wqm_b32 s5, 0x3f717273
+// CHECK: [0xff,0x06,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_wqm_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x07,0x8a,0xbe]
+
+s_wqm_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x07,0x8c,0xbe]
+
+s_wqm_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x07,0xe4,0xbe]
+
+s_wqm_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x07,0xe6,0xbe]
+
+s_wqm_b64 vcc, s[2:3]
+// CHECK: [0x02,0x07,0xea,0xbe]
+
+s_wqm_b64 exec, s[2:3]
+// CHECK: [0x02,0x07,0xfe,0xbe]
+
+s_wqm_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x07,0x8a,0xbe]
+
+s_wqm_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x07,0x8a,0xbe]
+
+s_wqm_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x07,0x8a,0xbe]
+
+s_wqm_b64 s[10:11], vcc
+// CHECK: [0x6a,0x07,0x8a,0xbe]
+
+s_wqm_b64 s[10:11], exec
+// CHECK: [0x7e,0x07,0x8a,0xbe]
+
+s_wqm_b64 s[10:11], 0
+// CHECK: [0x80,0x07,0x8a,0xbe]
+
+s_wqm_b64 s[10:11], -1
+// CHECK: [0xc1,0x07,0x8a,0xbe]
+
+s_wqm_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x07,0x8a,0xbe]
+
+s_wqm_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x07,0x8a,0xbe]
+
+s_wqm_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x07,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_wqm_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x07,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_brev_b32 s5, s1
+// CHECK: [0x01,0x08,0x85,0xbe]
+
+s_brev_b32 s101, s1
+// CHECK: [0x01,0x08,0xe5,0xbe]
+
+s_brev_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x08,0xe6,0xbe]
+
+s_brev_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x08,0xe7,0xbe]
+
+s_brev_b32 vcc_lo, s1
+// CHECK: [0x01,0x08,0xea,0xbe]
+
+s_brev_b32 vcc_hi, s1
+// CHECK: [0x01,0x08,0xeb,0xbe]
+
+s_brev_b32 m0, s1
+// CHECK: [0x01,0x08,0xfc,0xbe]
+
+s_brev_b32 exec_lo, s1
+// CHECK: [0x01,0x08,0xfe,0xbe]
+
+s_brev_b32 exec_hi, s1
+// CHECK: [0x01,0x08,0xff,0xbe]
+
+s_brev_b32 s5, s101
+// CHECK: [0x65,0x08,0x85,0xbe]
+
+s_brev_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x08,0x85,0xbe]
+
+s_brev_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x08,0x85,0xbe]
+
+s_brev_b32 s5, vcc_lo
+// CHECK: [0x6a,0x08,0x85,0xbe]
+
+s_brev_b32 s5, vcc_hi
+// CHECK: [0x6b,0x08,0x85,0xbe]
+
+s_brev_b32 s5, m0
+// CHECK: [0x7c,0x08,0x85,0xbe]
+
+s_brev_b32 s5, exec_lo
+// CHECK: [0x7e,0x08,0x85,0xbe]
+
+s_brev_b32 s5, exec_hi
+// CHECK: [0x7f,0x08,0x85,0xbe]
+
+s_brev_b32 s5, 0
+// CHECK: [0x80,0x08,0x85,0xbe]
+
+s_brev_b32 s5, -1
+// CHECK: [0xc1,0x08,0x85,0xbe]
+
+s_brev_b32 s5, 0.5
+// CHECK: [0xf0,0x08,0x85,0xbe]
+
+s_brev_b32 s5, -4.0
+// CHECK: [0xf7,0x08,0x85,0xbe]
+
+s_brev_b32 s5, 0xaf123456
+// CHECK: [0xff,0x08,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_brev_b32 s5, 0x3f717273
+// CHECK: [0xff,0x08,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_brev_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x09,0x8a,0xbe]
+
+s_brev_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x09,0x8c,0xbe]
+
+s_brev_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x09,0xe4,0xbe]
+
+s_brev_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x09,0xe6,0xbe]
+
+s_brev_b64 vcc, s[2:3]
+// CHECK: [0x02,0x09,0xea,0xbe]
+
+s_brev_b64 exec, s[2:3]
+// CHECK: [0x02,0x09,0xfe,0xbe]
+
+s_brev_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x09,0x8a,0xbe]
+
+s_brev_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x09,0x8a,0xbe]
+
+s_brev_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x09,0x8a,0xbe]
+
+s_brev_b64 s[10:11], vcc
+// CHECK: [0x6a,0x09,0x8a,0xbe]
+
+s_brev_b64 s[10:11], exec
+// CHECK: [0x7e,0x09,0x8a,0xbe]
+
+s_brev_b64 s[10:11], 0
+// CHECK: [0x80,0x09,0x8a,0xbe]
+
+s_brev_b64 s[10:11], -1
+// CHECK: [0xc1,0x09,0x8a,0xbe]
+
+s_brev_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x09,0x8a,0xbe]
+
+s_brev_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x09,0x8a,0xbe]
+
+s_brev_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x09,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_brev_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x09,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_bcnt0_i32_b32 s5, s1
+// CHECK: [0x01,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s101, s1
+// CHECK: [0x01,0x0a,0xe5,0xbe]
+
+s_bcnt0_i32_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x0a,0xe6,0xbe]
+
+s_bcnt0_i32_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x0a,0xe7,0xbe]
+
+s_bcnt0_i32_b32 vcc_lo, s1
+// CHECK: [0x01,0x0a,0xea,0xbe]
+
+s_bcnt0_i32_b32 vcc_hi, s1
+// CHECK: [0x01,0x0a,0xeb,0xbe]
+
+s_bcnt0_i32_b32 m0, s1
+// CHECK: [0x01,0x0a,0xfc,0xbe]
+
+s_bcnt0_i32_b32 exec_lo, s1
+// CHECK: [0x01,0x0a,0xfe,0xbe]
+
+s_bcnt0_i32_b32 exec_hi, s1
+// CHECK: [0x01,0x0a,0xff,0xbe]
+
+s_bcnt0_i32_b32 s5, s101
+// CHECK: [0x65,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, vcc_lo
+// CHECK: [0x6a,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, vcc_hi
+// CHECK: [0x6b,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, m0
+// CHECK: [0x7c,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, exec_lo
+// CHECK: [0x7e,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, exec_hi
+// CHECK: [0x7f,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, 0
+// CHECK: [0x80,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, -1
+// CHECK: [0xc1,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, 0.5
+// CHECK: [0xf0,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, -4.0
+// CHECK: [0xf7,0x0a,0x85,0xbe]
+
+s_bcnt0_i32_b32 s5, 0xaf123456
+// CHECK: [0xff,0x0a,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_bcnt0_i32_b32 s5, 0x3f717273
+// CHECK: [0xff,0x0a,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_bcnt0_i32_b64 s5, s[2:3]
+// CHECK: [0x02,0x0b,0x85,0xbe]
+
+s_bcnt0_i32_b64 s101, s[2:3]
+// CHECK: [0x02,0x0b,0xe5,0xbe]
+
+s_bcnt0_i32_b64 flat_scratch_lo, s[2:3]
+// CHECK: [0x02,0x0b,0xe6,0xbe]
+
+s_bcnt0_i32_b64 flat_scratch_hi, s[2:3]
+// CHECK: [0x02,0x0b,0xe7,0xbe]
+
+s_bcnt0_i32_b64 vcc_lo, s[2:3]
+// CHECK: [0x02,0x0b,0xea,0xbe]
+
+s_bcnt0_i32_b64 vcc_hi, s[2:3]
+// CHECK: [0x02,0x0b,0xeb,0xbe]
+
+s_bcnt0_i32_b64 m0, s[2:3]
+// CHECK: [0x02,0x0b,0xfc,0xbe]
+
+s_bcnt0_i32_b64 exec_lo, s[2:3]
+// CHECK: [0x02,0x0b,0xfe,0xbe]
+
+s_bcnt0_i32_b64 exec_hi, s[2:3]
+// CHECK: [0x02,0x0b,0xff,0xbe]
+
+s_bcnt0_i32_b64 s5, s[4:5]
+// CHECK: [0x04,0x0b,0x85,0xbe]
+
+s_bcnt0_i32_b64 s5, s[100:101]
+// CHECK: [0x64,0x0b,0x85,0xbe]
+
+s_bcnt0_i32_b64 s5, flat_scratch
+// CHECK: [0x66,0x0b,0x85,0xbe]
+
+s_bcnt0_i32_b64 s5, vcc
+// CHECK: [0x6a,0x0b,0x85,0xbe]
+
+s_bcnt0_i32_b64 s5, exec
+// CHECK: [0x7e,0x0b,0x85,0xbe]
+
+s_bcnt0_i32_b64 s5, 0
+// CHECK: [0x80,0x0b,0x85,0xbe]
+
+s_bcnt0_i32_b64 s5, -1
+// CHECK: [0xc1,0x0b,0x85,0xbe]
+
+s_bcnt0_i32_b64 s5, 0.5
+// CHECK: [0xf0,0x0b,0x85,0xbe]
+
+s_bcnt0_i32_b64 s5, -4.0
+// CHECK: [0xf7,0x0b,0x85,0xbe]
+
+s_bcnt0_i32_b64 s5, 0xaf123456
+// CHECK: [0xff,0x0b,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_bcnt0_i32_b64 s5, 0x3f717273
+// CHECK: [0xff,0x0b,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_bcnt1_i32_b32 s5, s1
+// CHECK: [0x01,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s101, s1
+// CHECK: [0x01,0x0c,0xe5,0xbe]
+
+s_bcnt1_i32_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x0c,0xe6,0xbe]
+
+s_bcnt1_i32_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x0c,0xe7,0xbe]
+
+s_bcnt1_i32_b32 vcc_lo, s1
+// CHECK: [0x01,0x0c,0xea,0xbe]
+
+s_bcnt1_i32_b32 vcc_hi, s1
+// CHECK: [0x01,0x0c,0xeb,0xbe]
+
+s_bcnt1_i32_b32 m0, s1
+// CHECK: [0x01,0x0c,0xfc,0xbe]
+
+s_bcnt1_i32_b32 exec_lo, s1
+// CHECK: [0x01,0x0c,0xfe,0xbe]
+
+s_bcnt1_i32_b32 exec_hi, s1
+// CHECK: [0x01,0x0c,0xff,0xbe]
+
+s_bcnt1_i32_b32 s5, s101
+// CHECK: [0x65,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, vcc_lo
+// CHECK: [0x6a,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, vcc_hi
+// CHECK: [0x6b,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, m0
+// CHECK: [0x7c,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, exec_lo
+// CHECK: [0x7e,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, exec_hi
+// CHECK: [0x7f,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, 0
+// CHECK: [0x80,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, -1
+// CHECK: [0xc1,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, 0.5
+// CHECK: [0xf0,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, -4.0
+// CHECK: [0xf7,0x0c,0x85,0xbe]
+
+s_bcnt1_i32_b32 s5, 0xaf123456
+// CHECK: [0xff,0x0c,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_bcnt1_i32_b32 s5, 0x3f717273
+// CHECK: [0xff,0x0c,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_bcnt1_i32_b64 s5, s[2:3]
+// CHECK: [0x02,0x0d,0x85,0xbe]
+
+s_bcnt1_i32_b64 s101, s[2:3]
+// CHECK: [0x02,0x0d,0xe5,0xbe]
+
+s_bcnt1_i32_b64 flat_scratch_lo, s[2:3]
+// CHECK: [0x02,0x0d,0xe6,0xbe]
+
+s_bcnt1_i32_b64 flat_scratch_hi, s[2:3]
+// CHECK: [0x02,0x0d,0xe7,0xbe]
+
+s_bcnt1_i32_b64 vcc_lo, s[2:3]
+// CHECK: [0x02,0x0d,0xea,0xbe]
+
+s_bcnt1_i32_b64 vcc_hi, s[2:3]
+// CHECK: [0x02,0x0d,0xeb,0xbe]
+
+s_bcnt1_i32_b64 m0, s[2:3]
+// CHECK: [0x02,0x0d,0xfc,0xbe]
+
+s_bcnt1_i32_b64 exec_lo, s[2:3]
+// CHECK: [0x02,0x0d,0xfe,0xbe]
+
+s_bcnt1_i32_b64 exec_hi, s[2:3]
+// CHECK: [0x02,0x0d,0xff,0xbe]
+
+s_bcnt1_i32_b64 s5, s[4:5]
+// CHECK: [0x04,0x0d,0x85,0xbe]
+
+s_bcnt1_i32_b64 s5, s[100:101]
+// CHECK: [0x64,0x0d,0x85,0xbe]
+
+s_bcnt1_i32_b64 s5, flat_scratch
+// CHECK: [0x66,0x0d,0x85,0xbe]
+
+s_bcnt1_i32_b64 s5, vcc
+// CHECK: [0x6a,0x0d,0x85,0xbe]
+
+s_bcnt1_i32_b64 s5, exec
+// CHECK: [0x7e,0x0d,0x85,0xbe]
+
+s_bcnt1_i32_b64 s5, 0
+// CHECK: [0x80,0x0d,0x85,0xbe]
+
+s_bcnt1_i32_b64 s5, -1
+// CHECK: [0xc1,0x0d,0x85,0xbe]
+
+s_bcnt1_i32_b64 s5, 0.5
+// CHECK: [0xf0,0x0d,0x85,0xbe]
+
+s_bcnt1_i32_b64 s5, -4.0
+// CHECK: [0xf7,0x0d,0x85,0xbe]
+
+s_bcnt1_i32_b64 s5, 0xaf123456
+// CHECK: [0xff,0x0d,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_bcnt1_i32_b64 s5, 0x3f717273
+// CHECK: [0xff,0x0d,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_ff0_i32_b32 s5, s1
+// CHECK: [0x01,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s101, s1
+// CHECK: [0x01,0x0e,0xe5,0xbe]
+
+s_ff0_i32_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x0e,0xe6,0xbe]
+
+s_ff0_i32_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x0e,0xe7,0xbe]
+
+s_ff0_i32_b32 vcc_lo, s1
+// CHECK: [0x01,0x0e,0xea,0xbe]
+
+s_ff0_i32_b32 vcc_hi, s1
+// CHECK: [0x01,0x0e,0xeb,0xbe]
+
+s_ff0_i32_b32 m0, s1
+// CHECK: [0x01,0x0e,0xfc,0xbe]
+
+s_ff0_i32_b32 exec_lo, s1
+// CHECK: [0x01,0x0e,0xfe,0xbe]
+
+s_ff0_i32_b32 exec_hi, s1
+// CHECK: [0x01,0x0e,0xff,0xbe]
+
+s_ff0_i32_b32 s5, s101
+// CHECK: [0x65,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, vcc_lo
+// CHECK: [0x6a,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, vcc_hi
+// CHECK: [0x6b,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, m0
+// CHECK: [0x7c,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, exec_lo
+// CHECK: [0x7e,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, exec_hi
+// CHECK: [0x7f,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, 0
+// CHECK: [0x80,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, -1
+// CHECK: [0xc1,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, 0.5
+// CHECK: [0xf0,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, -4.0
+// CHECK: [0xf7,0x0e,0x85,0xbe]
+
+s_ff0_i32_b32 s5, 0xaf123456
+// CHECK: [0xff,0x0e,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_ff0_i32_b32 s5, 0x3f717273
+// CHECK: [0xff,0x0e,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_ff0_i32_b64 s5, s[2:3]
+// CHECK: [0x02,0x0f,0x85,0xbe]
+
+s_ff0_i32_b64 s101, s[2:3]
+// CHECK: [0x02,0x0f,0xe5,0xbe]
+
+s_ff0_i32_b64 flat_scratch_lo, s[2:3]
+// CHECK: [0x02,0x0f,0xe6,0xbe]
+
+s_ff0_i32_b64 flat_scratch_hi, s[2:3]
+// CHECK: [0x02,0x0f,0xe7,0xbe]
+
+s_ff0_i32_b64 vcc_lo, s[2:3]
+// CHECK: [0x02,0x0f,0xea,0xbe]
+
+s_ff0_i32_b64 vcc_hi, s[2:3]
+// CHECK: [0x02,0x0f,0xeb,0xbe]
+
+s_ff0_i32_b64 m0, s[2:3]
+// CHECK: [0x02,0x0f,0xfc,0xbe]
+
+s_ff0_i32_b64 exec_lo, s[2:3]
+// CHECK: [0x02,0x0f,0xfe,0xbe]
+
+s_ff0_i32_b64 exec_hi, s[2:3]
+// CHECK: [0x02,0x0f,0xff,0xbe]
+
+s_ff0_i32_b64 s5, s[4:5]
+// CHECK: [0x04,0x0f,0x85,0xbe]
+
+s_ff0_i32_b64 s5, s[100:101]
+// CHECK: [0x64,0x0f,0x85,0xbe]
+
+s_ff0_i32_b64 s5, flat_scratch
+// CHECK: [0x66,0x0f,0x85,0xbe]
+
+s_ff0_i32_b64 s5, vcc
+// CHECK: [0x6a,0x0f,0x85,0xbe]
+
+s_ff0_i32_b64 s5, exec
+// CHECK: [0x7e,0x0f,0x85,0xbe]
+
+s_ff0_i32_b64 s5, 0
+// CHECK: [0x80,0x0f,0x85,0xbe]
+
+s_ff0_i32_b64 s5, -1
+// CHECK: [0xc1,0x0f,0x85,0xbe]
+
+s_ff0_i32_b64 s5, 0.5
+// CHECK: [0xf0,0x0f,0x85,0xbe]
+
+s_ff0_i32_b64 s5, -4.0
+// CHECK: [0xf7,0x0f,0x85,0xbe]
+
+s_ff0_i32_b64 s5, 0xaf123456
+// CHECK: [0xff,0x0f,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_ff0_i32_b64 s5, 0x3f717273
+// CHECK: [0xff,0x0f,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_ff1_i32_b32 s5, s1
+// CHECK: [0x01,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s101, s1
+// CHECK: [0x01,0x10,0xe5,0xbe]
+
+s_ff1_i32_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x10,0xe6,0xbe]
+
+s_ff1_i32_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x10,0xe7,0xbe]
+
+s_ff1_i32_b32 vcc_lo, s1
+// CHECK: [0x01,0x10,0xea,0xbe]
+
+s_ff1_i32_b32 vcc_hi, s1
+// CHECK: [0x01,0x10,0xeb,0xbe]
+
+s_ff1_i32_b32 m0, s1
+// CHECK: [0x01,0x10,0xfc,0xbe]
+
+s_ff1_i32_b32 exec_lo, s1
+// CHECK: [0x01,0x10,0xfe,0xbe]
+
+s_ff1_i32_b32 exec_hi, s1
+// CHECK: [0x01,0x10,0xff,0xbe]
+
+s_ff1_i32_b32 s5, s101
+// CHECK: [0x65,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, vcc_lo
+// CHECK: [0x6a,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, vcc_hi
+// CHECK: [0x6b,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, m0
+// CHECK: [0x7c,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, exec_lo
+// CHECK: [0x7e,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, exec_hi
+// CHECK: [0x7f,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, 0
+// CHECK: [0x80,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, -1
+// CHECK: [0xc1,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, 0.5
+// CHECK: [0xf0,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, -4.0
+// CHECK: [0xf7,0x10,0x85,0xbe]
+
+s_ff1_i32_b32 s5, 0xaf123456
+// CHECK: [0xff,0x10,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_ff1_i32_b32 s5, 0x3f717273
+// CHECK: [0xff,0x10,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_ff1_i32_b64 s5, s[2:3]
+// CHECK: [0x02,0x11,0x85,0xbe]
+
+s_ff1_i32_b64 s101, s[2:3]
+// CHECK: [0x02,0x11,0xe5,0xbe]
+
+s_ff1_i32_b64 flat_scratch_lo, s[2:3]
+// CHECK: [0x02,0x11,0xe6,0xbe]
+
+s_ff1_i32_b64 flat_scratch_hi, s[2:3]
+// CHECK: [0x02,0x11,0xe7,0xbe]
+
+s_ff1_i32_b64 vcc_lo, s[2:3]
+// CHECK: [0x02,0x11,0xea,0xbe]
+
+s_ff1_i32_b64 vcc_hi, s[2:3]
+// CHECK: [0x02,0x11,0xeb,0xbe]
+
+s_ff1_i32_b64 m0, s[2:3]
+// CHECK: [0x02,0x11,0xfc,0xbe]
+
+s_ff1_i32_b64 exec_lo, s[2:3]
+// CHECK: [0x02,0x11,0xfe,0xbe]
+
+s_ff1_i32_b64 exec_hi, s[2:3]
+// CHECK: [0x02,0x11,0xff,0xbe]
+
+s_ff1_i32_b64 s5, s[4:5]
+// CHECK: [0x04,0x11,0x85,0xbe]
+
+s_ff1_i32_b64 s5, s[100:101]
+// CHECK: [0x64,0x11,0x85,0xbe]
+
+s_ff1_i32_b64 s5, flat_scratch
+// CHECK: [0x66,0x11,0x85,0xbe]
+
+s_ff1_i32_b64 s5, vcc
+// CHECK: [0x6a,0x11,0x85,0xbe]
+
+s_ff1_i32_b64 s5, exec
+// CHECK: [0x7e,0x11,0x85,0xbe]
+
+s_ff1_i32_b64 s5, 0
+// CHECK: [0x80,0x11,0x85,0xbe]
+
+s_ff1_i32_b64 s5, -1
+// CHECK: [0xc1,0x11,0x85,0xbe]
+
+s_ff1_i32_b64 s5, 0.5
+// CHECK: [0xf0,0x11,0x85,0xbe]
+
+s_ff1_i32_b64 s5, -4.0
+// CHECK: [0xf7,0x11,0x85,0xbe]
+
+s_ff1_i32_b64 s5, 0xaf123456
+// CHECK: [0xff,0x11,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_ff1_i32_b64 s5, 0x3f717273
+// CHECK: [0xff,0x11,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_flbit_i32_b32 s5, s1
+// CHECK: [0x01,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s101, s1
+// CHECK: [0x01,0x12,0xe5,0xbe]
+
+s_flbit_i32_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x12,0xe6,0xbe]
+
+s_flbit_i32_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x12,0xe7,0xbe]
+
+s_flbit_i32_b32 vcc_lo, s1
+// CHECK: [0x01,0x12,0xea,0xbe]
+
+s_flbit_i32_b32 vcc_hi, s1
+// CHECK: [0x01,0x12,0xeb,0xbe]
+
+s_flbit_i32_b32 m0, s1
+// CHECK: [0x01,0x12,0xfc,0xbe]
+
+s_flbit_i32_b32 exec_lo, s1
+// CHECK: [0x01,0x12,0xfe,0xbe]
+
+s_flbit_i32_b32 exec_hi, s1
+// CHECK: [0x01,0x12,0xff,0xbe]
+
+s_flbit_i32_b32 s5, s101
+// CHECK: [0x65,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, vcc_lo
+// CHECK: [0x6a,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, vcc_hi
+// CHECK: [0x6b,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, m0
+// CHECK: [0x7c,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, exec_lo
+// CHECK: [0x7e,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, exec_hi
+// CHECK: [0x7f,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, 0
+// CHECK: [0x80,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, -1
+// CHECK: [0xc1,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, 0.5
+// CHECK: [0xf0,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, -4.0
+// CHECK: [0xf7,0x12,0x85,0xbe]
+
+s_flbit_i32_b32 s5, 0xaf123456
+// CHECK: [0xff,0x12,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_flbit_i32_b32 s5, 0x3f717273
+// CHECK: [0xff,0x12,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_flbit_i32_b64 s5, s[2:3]
+// CHECK: [0x02,0x13,0x85,0xbe]
+
+s_flbit_i32_b64 s101, s[2:3]
+// CHECK: [0x02,0x13,0xe5,0xbe]
+
+s_flbit_i32_b64 flat_scratch_lo, s[2:3]
+// CHECK: [0x02,0x13,0xe6,0xbe]
+
+s_flbit_i32_b64 flat_scratch_hi, s[2:3]
+// CHECK: [0x02,0x13,0xe7,0xbe]
+
+s_flbit_i32_b64 vcc_lo, s[2:3]
+// CHECK: [0x02,0x13,0xea,0xbe]
+
+s_flbit_i32_b64 vcc_hi, s[2:3]
+// CHECK: [0x02,0x13,0xeb,0xbe]
+
+s_flbit_i32_b64 m0, s[2:3]
+// CHECK: [0x02,0x13,0xfc,0xbe]
+
+s_flbit_i32_b64 exec_lo, s[2:3]
+// CHECK: [0x02,0x13,0xfe,0xbe]
+
+s_flbit_i32_b64 exec_hi, s[2:3]
+// CHECK: [0x02,0x13,0xff,0xbe]
+
+s_flbit_i32_b64 s5, s[4:5]
+// CHECK: [0x04,0x13,0x85,0xbe]
+
+s_flbit_i32_b64 s5, s[100:101]
+// CHECK: [0x64,0x13,0x85,0xbe]
+
+s_flbit_i32_b64 s5, flat_scratch
+// CHECK: [0x66,0x13,0x85,0xbe]
+
+s_flbit_i32_b64 s5, vcc
+// CHECK: [0x6a,0x13,0x85,0xbe]
+
+s_flbit_i32_b64 s5, exec
+// CHECK: [0x7e,0x13,0x85,0xbe]
+
+s_flbit_i32_b64 s5, 0
+// CHECK: [0x80,0x13,0x85,0xbe]
+
+s_flbit_i32_b64 s5, -1
+// CHECK: [0xc1,0x13,0x85,0xbe]
+
+s_flbit_i32_b64 s5, 0.5
+// CHECK: [0xf0,0x13,0x85,0xbe]
+
+s_flbit_i32_b64 s5, -4.0
+// CHECK: [0xf7,0x13,0x85,0xbe]
+
+s_flbit_i32_b64 s5, 0xaf123456
+// CHECK: [0xff,0x13,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_flbit_i32_b64 s5, 0x3f717273
+// CHECK: [0xff,0x13,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_flbit_i32 s5, s1
+// CHECK: [0x01,0x14,0x85,0xbe]
+
+s_flbit_i32 s101, s1
+// CHECK: [0x01,0x14,0xe5,0xbe]
+
+s_flbit_i32 flat_scratch_lo, s1
+// CHECK: [0x01,0x14,0xe6,0xbe]
+
+s_flbit_i32 flat_scratch_hi, s1
+// CHECK: [0x01,0x14,0xe7,0xbe]
+
+s_flbit_i32 vcc_lo, s1
+// CHECK: [0x01,0x14,0xea,0xbe]
+
+s_flbit_i32 vcc_hi, s1
+// CHECK: [0x01,0x14,0xeb,0xbe]
+
+s_flbit_i32 m0, s1
+// CHECK: [0x01,0x14,0xfc,0xbe]
+
+s_flbit_i32 exec_lo, s1
+// CHECK: [0x01,0x14,0xfe,0xbe]
+
+s_flbit_i32 exec_hi, s1
+// CHECK: [0x01,0x14,0xff,0xbe]
+
+s_flbit_i32 s5, s101
+// CHECK: [0x65,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, flat_scratch_lo
+// CHECK: [0x66,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, flat_scratch_hi
+// CHECK: [0x67,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, vcc_lo
+// CHECK: [0x6a,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, vcc_hi
+// CHECK: [0x6b,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, m0
+// CHECK: [0x7c,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, exec_lo
+// CHECK: [0x7e,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, exec_hi
+// CHECK: [0x7f,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, 0
+// CHECK: [0x80,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, -1
+// CHECK: [0xc1,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, 0.5
+// CHECK: [0xf0,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, -4.0
+// CHECK: [0xf7,0x14,0x85,0xbe]
+
+s_flbit_i32 s5, 0xaf123456
+// CHECK: [0xff,0x14,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_flbit_i32 s5, 0x3f717273
+// CHECK: [0xff,0x14,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_flbit_i32_i64 s5, s[2:3]
+// CHECK: [0x02,0x15,0x85,0xbe]
+
+s_flbit_i32_i64 s101, s[2:3]
+// CHECK: [0x02,0x15,0xe5,0xbe]
+
+s_flbit_i32_i64 flat_scratch_lo, s[2:3]
+// CHECK: [0x02,0x15,0xe6,0xbe]
+
+s_flbit_i32_i64 flat_scratch_hi, s[2:3]
+// CHECK: [0x02,0x15,0xe7,0xbe]
+
+s_flbit_i32_i64 vcc_lo, s[2:3]
+// CHECK: [0x02,0x15,0xea,0xbe]
+
+s_flbit_i32_i64 vcc_hi, s[2:3]
+// CHECK: [0x02,0x15,0xeb,0xbe]
+
+s_flbit_i32_i64 m0, s[2:3]
+// CHECK: [0x02,0x15,0xfc,0xbe]
+
+s_flbit_i32_i64 exec_lo, s[2:3]
+// CHECK: [0x02,0x15,0xfe,0xbe]
+
+s_flbit_i32_i64 exec_hi, s[2:3]
+// CHECK: [0x02,0x15,0xff,0xbe]
+
+s_flbit_i32_i64 s5, s[4:5]
+// CHECK: [0x04,0x15,0x85,0xbe]
+
+s_flbit_i32_i64 s5, s[100:101]
+// CHECK: [0x64,0x15,0x85,0xbe]
+
+s_flbit_i32_i64 s5, flat_scratch
+// CHECK: [0x66,0x15,0x85,0xbe]
+
+s_flbit_i32_i64 s5, vcc
+// CHECK: [0x6a,0x15,0x85,0xbe]
+
+s_flbit_i32_i64 s5, exec
+// CHECK: [0x7e,0x15,0x85,0xbe]
+
+s_flbit_i32_i64 s5, 0
+// CHECK: [0x80,0x15,0x85,0xbe]
+
+s_flbit_i32_i64 s5, -1
+// CHECK: [0xc1,0x15,0x85,0xbe]
+
+s_flbit_i32_i64 s5, 0.5
+// CHECK: [0xf0,0x15,0x85,0xbe]
+
+s_flbit_i32_i64 s5, -4.0
+// CHECK: [0xf7,0x15,0x85,0xbe]
+
+s_flbit_i32_i64 s5, 0xaf123456
+// CHECK: [0xff,0x15,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_flbit_i32_i64 s5, 0x3f717273
+// CHECK: [0xff,0x15,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_sext_i32_i8 s5, s1
+// CHECK: [0x01,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s101, s1
+// CHECK: [0x01,0x16,0xe5,0xbe]
+
+s_sext_i32_i8 flat_scratch_lo, s1
+// CHECK: [0x01,0x16,0xe6,0xbe]
+
+s_sext_i32_i8 flat_scratch_hi, s1
+// CHECK: [0x01,0x16,0xe7,0xbe]
+
+s_sext_i32_i8 vcc_lo, s1
+// CHECK: [0x01,0x16,0xea,0xbe]
+
+s_sext_i32_i8 vcc_hi, s1
+// CHECK: [0x01,0x16,0xeb,0xbe]
+
+s_sext_i32_i8 m0, s1
+// CHECK: [0x01,0x16,0xfc,0xbe]
+
+s_sext_i32_i8 exec_lo, s1
+// CHECK: [0x01,0x16,0xfe,0xbe]
+
+s_sext_i32_i8 exec_hi, s1
+// CHECK: [0x01,0x16,0xff,0xbe]
+
+s_sext_i32_i8 s5, s101
+// CHECK: [0x65,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, flat_scratch_lo
+// CHECK: [0x66,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, flat_scratch_hi
+// CHECK: [0x67,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, vcc_lo
+// CHECK: [0x6a,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, vcc_hi
+// CHECK: [0x6b,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, m0
+// CHECK: [0x7c,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, exec_lo
+// CHECK: [0x7e,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, exec_hi
+// CHECK: [0x7f,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, 0
+// CHECK: [0x80,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, -1
+// CHECK: [0xc1,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, 0.5
+// CHECK: [0xf0,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, -4.0
+// CHECK: [0xf7,0x16,0x85,0xbe]
+
+s_sext_i32_i8 s5, 0x71
+// CHECK: [0xff,0x16,0x85,0xbe,0x71,0x00,0x00,0x00]
+
+s_sext_i32_i8 s5, 0xf0
+// CHECK: [0xff,0x16,0x85,0xbe,0xf0,0x00,0x00,0x00]
+
+s_sext_i32_i16 s5, s1
+// CHECK: [0x01,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s101, s1
+// CHECK: [0x01,0x17,0xe5,0xbe]
+
+s_sext_i32_i16 flat_scratch_lo, s1
+// CHECK: [0x01,0x17,0xe6,0xbe]
+
+s_sext_i32_i16 flat_scratch_hi, s1
+// CHECK: [0x01,0x17,0xe7,0xbe]
+
+s_sext_i32_i16 vcc_lo, s1
+// CHECK: [0x01,0x17,0xea,0xbe]
+
+s_sext_i32_i16 vcc_hi, s1
+// CHECK: [0x01,0x17,0xeb,0xbe]
+
+s_sext_i32_i16 m0, s1
+// CHECK: [0x01,0x17,0xfc,0xbe]
+
+s_sext_i32_i16 exec_lo, s1
+// CHECK: [0x01,0x17,0xfe,0xbe]
+
+s_sext_i32_i16 exec_hi, s1
+// CHECK: [0x01,0x17,0xff,0xbe]
+
+s_sext_i32_i16 s5, s101
+// CHECK: [0x65,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, flat_scratch_lo
+// CHECK: [0x66,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, flat_scratch_hi
+// CHECK: [0x67,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, vcc_lo
+// CHECK: [0x6a,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, vcc_hi
+// CHECK: [0x6b,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, m0
+// CHECK: [0x7c,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, exec_lo
+// CHECK: [0x7e,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, exec_hi
+// CHECK: [0x7f,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, 0
+// CHECK: [0x80,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, -1
+// CHECK: [0xc1,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, 0.5
+// CHECK: [0xf0,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, -4.0
+// CHECK: [0xf7,0x17,0x85,0xbe]
+
+s_sext_i32_i16 s5, 0xfe0b
+// CHECK: [0xff,0x17,0x85,0xbe,0x0b,0xfe,0x00,0x00]
+
+s_sext_i32_i16 s5, 0x3456
+// CHECK: [0xff,0x17,0x85,0xbe,0x56,0x34,0x00,0x00]
+
+s_bitset0_b32 s5, s1
+// CHECK: [0x01,0x18,0x85,0xbe]
+
+s_bitset0_b32 s101, s1
+// CHECK: [0x01,0x18,0xe5,0xbe]
+
+s_bitset0_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x18,0xe6,0xbe]
+
+s_bitset0_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x18,0xe7,0xbe]
+
+s_bitset0_b32 vcc_lo, s1
+// CHECK: [0x01,0x18,0xea,0xbe]
+
+s_bitset0_b32 vcc_hi, s1
+// CHECK: [0x01,0x18,0xeb,0xbe]
+
+s_bitset0_b32 m0, s1
+// CHECK: [0x01,0x18,0xfc,0xbe]
+
+s_bitset0_b32 exec_lo, s1
+// CHECK: [0x01,0x18,0xfe,0xbe]
+
+s_bitset0_b32 exec_hi, s1
+// CHECK: [0x01,0x18,0xff,0xbe]
+
+s_bitset0_b32 s5, s101
+// CHECK: [0x65,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, vcc_lo
+// CHECK: [0x6a,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, vcc_hi
+// CHECK: [0x6b,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, m0
+// CHECK: [0x7c,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, exec_lo
+// CHECK: [0x7e,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, exec_hi
+// CHECK: [0x7f,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, 0
+// CHECK: [0x80,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, -1
+// CHECK: [0xc1,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, 0.5
+// CHECK: [0xf0,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, -4.0
+// CHECK: [0xf7,0x18,0x85,0xbe]
+
+s_bitset0_b32 s5, 0xaf123456
+// CHECK: [0xff,0x18,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_bitset0_b32 s5, 0x3f717273
+// CHECK: [0xff,0x18,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_bitset0_b64 s[10:11], s1
+// CHECK: [0x01,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[12:13], s1
+// CHECK: [0x01,0x19,0x8c,0xbe]
+
+s_bitset0_b64 s[100:101], s1
+// CHECK: [0x01,0x19,0xe4,0xbe]
+
+s_bitset0_b64 flat_scratch, s1
+// CHECK: [0x01,0x19,0xe6,0xbe]
+
+s_bitset0_b64 vcc, s1
+// CHECK: [0x01,0x19,0xea,0xbe]
+
+s_bitset0_b64 exec, s1
+// CHECK: [0x01,0x19,0xfe,0xbe]
+
+s_bitset0_b64 s[10:11], s101
+// CHECK: [0x65,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], flat_scratch_lo
+// CHECK: [0x66,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], flat_scratch_hi
+// CHECK: [0x67,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], vcc_lo
+// CHECK: [0x6a,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], vcc_hi
+// CHECK: [0x6b,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], m0
+// CHECK: [0x7c,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], exec_lo
+// CHECK: [0x7e,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], exec_hi
+// CHECK: [0x7f,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], 0
+// CHECK: [0x80,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], -1
+// CHECK: [0xc1,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x19,0x8a,0xbe]
+
+s_bitset0_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x19,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_bitset0_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x19,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_bitset1_b32 s5, s1
+// CHECK: [0x01,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s101, s1
+// CHECK: [0x01,0x1a,0xe5,0xbe]
+
+s_bitset1_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x1a,0xe6,0xbe]
+
+s_bitset1_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x1a,0xe7,0xbe]
+
+s_bitset1_b32 vcc_lo, s1
+// CHECK: [0x01,0x1a,0xea,0xbe]
+
+s_bitset1_b32 vcc_hi, s1
+// CHECK: [0x01,0x1a,0xeb,0xbe]
+
+s_bitset1_b32 m0, s1
+// CHECK: [0x01,0x1a,0xfc,0xbe]
+
+s_bitset1_b32 exec_lo, s1
+// CHECK: [0x01,0x1a,0xfe,0xbe]
+
+s_bitset1_b32 exec_hi, s1
+// CHECK: [0x01,0x1a,0xff,0xbe]
+
+s_bitset1_b32 s5, s101
+// CHECK: [0x65,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, vcc_lo
+// CHECK: [0x6a,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, vcc_hi
+// CHECK: [0x6b,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, m0
+// CHECK: [0x7c,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, exec_lo
+// CHECK: [0x7e,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, exec_hi
+// CHECK: [0x7f,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, 0
+// CHECK: [0x80,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, -1
+// CHECK: [0xc1,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, 0.5
+// CHECK: [0xf0,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, -4.0
+// CHECK: [0xf7,0x1a,0x85,0xbe]
+
+s_bitset1_b32 s5, 0xaf123456
+// CHECK: [0xff,0x1a,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_bitset1_b32 s5, 0x3f717273
+// CHECK: [0xff,0x1a,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_bitset1_b64 s[10:11], s1
+// CHECK: [0x01,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[12:13], s1
+// CHECK: [0x01,0x1b,0x8c,0xbe]
+
+s_bitset1_b64 s[100:101], s1
+// CHECK: [0x01,0x1b,0xe4,0xbe]
+
+s_bitset1_b64 flat_scratch, s1
+// CHECK: [0x01,0x1b,0xe6,0xbe]
+
+s_bitset1_b64 vcc, s1
+// CHECK: [0x01,0x1b,0xea,0xbe]
+
+s_bitset1_b64 exec, s1
+// CHECK: [0x01,0x1b,0xfe,0xbe]
+
+s_bitset1_b64 s[10:11], s101
+// CHECK: [0x65,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], flat_scratch_lo
+// CHECK: [0x66,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], flat_scratch_hi
+// CHECK: [0x67,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], vcc_lo
+// CHECK: [0x6a,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], vcc_hi
+// CHECK: [0x6b,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], m0
+// CHECK: [0x7c,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], exec_lo
+// CHECK: [0x7e,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], exec_hi
+// CHECK: [0x7f,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], 0
+// CHECK: [0x80,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], -1
+// CHECK: [0xc1,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x1b,0x8a,0xbe]
+
+s_bitset1_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x1b,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_bitset1_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x1b,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_getpc_b64 s[10:11]
+// CHECK: [0x00,0x1c,0x8a,0xbe]
+
+s_getpc_b64 s[12:13]
+// CHECK: [0x00,0x1c,0x8c,0xbe]
+
+s_getpc_b64 s[100:101]
+// CHECK: [0x00,0x1c,0xe4,0xbe]
+
+s_getpc_b64 flat_scratch
+// CHECK: [0x00,0x1c,0xe6,0xbe]
+
+s_getpc_b64 vcc
+// CHECK: [0x00,0x1c,0xea,0xbe]
+
+s_getpc_b64 exec
+// CHECK: [0x00,0x1c,0xfe,0xbe]
+
+s_setpc_b64 s[2:3]
+// CHECK: [0x02,0x1d,0x80,0xbe]
+
+s_setpc_b64 s[4:5]
+// CHECK: [0x04,0x1d,0x80,0xbe]
+
+s_setpc_b64 s[100:101]
+// CHECK: [0x64,0x1d,0x80,0xbe]
+
+s_setpc_b64 flat_scratch
+// CHECK: [0x66,0x1d,0x80,0xbe]
+
+s_setpc_b64 vcc
+// CHECK: [0x6a,0x1d,0x80,0xbe]
+
+s_swappc_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x1e,0x8a,0xbe]
+
+s_swappc_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x1e,0x8c,0xbe]
+
+s_swappc_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x1e,0xe4,0xbe]
+
+s_swappc_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x1e,0xe6,0xbe]
+
+s_swappc_b64 vcc, s[2:3]
+// CHECK: [0x02,0x1e,0xea,0xbe]
+
+s_swappc_b64 exec, s[2:3]
+// CHECK: [0x02,0x1e,0xfe,0xbe]
+
+s_swappc_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x1e,0x8a,0xbe]
+
+s_swappc_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x1e,0x8a,0xbe]
+
+s_swappc_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x1e,0x8a,0xbe]
+
+s_swappc_b64 s[10:11], vcc
+// CHECK: [0x6a,0x1e,0x8a,0xbe]
+
+s_rfe_b64 s[2:3]
+// CHECK: [0x02,0x1f,0x80,0xbe]
+
+s_rfe_b64 s[4:5]
+// CHECK: [0x04,0x1f,0x80,0xbe]
+
+s_rfe_b64 s[100:101]
+// CHECK: [0x64,0x1f,0x80,0xbe]
+
+s_rfe_b64 flat_scratch
+// CHECK: [0x66,0x1f,0x80,0xbe]
+
+s_rfe_b64 vcc
+// CHECK: [0x6a,0x1f,0x80,0xbe]
+
+s_and_saveexec_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x20,0x8a,0xbe]
+
+s_and_saveexec_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x20,0x8c,0xbe]
+
+s_and_saveexec_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x20,0xe4,0xbe]
+
+s_and_saveexec_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x20,0xe6,0xbe]
+
+s_and_saveexec_b64 vcc, s[2:3]
+// CHECK: [0x02,0x20,0xea,0xbe]
+
+s_and_saveexec_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x20,0x8a,0xbe]
+
+s_and_saveexec_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x20,0x8a,0xbe]
+
+s_and_saveexec_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x20,0x8a,0xbe]
+
+s_and_saveexec_b64 s[10:11], vcc
+// CHECK: [0x6a,0x20,0x8a,0xbe]
+
+s_and_saveexec_b64 s[10:11], exec
+// CHECK: [0x7e,0x20,0x8a,0xbe]
+
+s_and_saveexec_b64 s[10:11], 0
+// CHECK: [0x80,0x20,0x8a,0xbe]
+
+s_and_saveexec_b64 s[10:11], -1
+// CHECK: [0xc1,0x20,0x8a,0xbe]
+
+s_and_saveexec_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x20,0x8a,0xbe]
+
+s_and_saveexec_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x20,0x8a,0xbe]
+
+s_and_saveexec_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x20,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_and_saveexec_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x20,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_or_saveexec_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x21,0x8a,0xbe]
+
+s_or_saveexec_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x21,0x8c,0xbe]
+
+s_or_saveexec_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x21,0xe4,0xbe]
+
+s_or_saveexec_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x21,0xe6,0xbe]
+
+s_or_saveexec_b64 vcc, s[2:3]
+// CHECK: [0x02,0x21,0xea,0xbe]
+
+s_or_saveexec_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x21,0x8a,0xbe]
+
+s_or_saveexec_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x21,0x8a,0xbe]
+
+s_or_saveexec_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x21,0x8a,0xbe]
+
+s_or_saveexec_b64 s[10:11], vcc
+// CHECK: [0x6a,0x21,0x8a,0xbe]
+
+s_or_saveexec_b64 s[10:11], exec
+// CHECK: [0x7e,0x21,0x8a,0xbe]
+
+s_or_saveexec_b64 s[10:11], 0
+// CHECK: [0x80,0x21,0x8a,0xbe]
+
+s_or_saveexec_b64 s[10:11], -1
+// CHECK: [0xc1,0x21,0x8a,0xbe]
+
+s_or_saveexec_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x21,0x8a,0xbe]
+
+s_or_saveexec_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x21,0x8a,0xbe]
+
+s_or_saveexec_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x21,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_or_saveexec_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x21,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_xor_saveexec_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x22,0x8a,0xbe]
+
+s_xor_saveexec_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x22,0x8c,0xbe]
+
+s_xor_saveexec_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x22,0xe4,0xbe]
+
+s_xor_saveexec_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x22,0xe6,0xbe]
+
+s_xor_saveexec_b64 vcc, s[2:3]
+// CHECK: [0x02,0x22,0xea,0xbe]
+
+s_xor_saveexec_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x22,0x8a,0xbe]
+
+s_xor_saveexec_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x22,0x8a,0xbe]
+
+s_xor_saveexec_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x22,0x8a,0xbe]
+
+s_xor_saveexec_b64 s[10:11], vcc
+// CHECK: [0x6a,0x22,0x8a,0xbe]
+
+s_xor_saveexec_b64 s[10:11], exec
+// CHECK: [0x7e,0x22,0x8a,0xbe]
+
+s_xor_saveexec_b64 s[10:11], 0
+// CHECK: [0x80,0x22,0x8a,0xbe]
+
+s_xor_saveexec_b64 s[10:11], -1
+// CHECK: [0xc1,0x22,0x8a,0xbe]
+
+s_xor_saveexec_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x22,0x8a,0xbe]
+
+s_xor_saveexec_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x22,0x8a,0xbe]
+
+s_xor_saveexec_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x22,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_xor_saveexec_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x22,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_andn2_saveexec_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x23,0x8a,0xbe]
+
+s_andn2_saveexec_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x23,0x8c,0xbe]
+
+s_andn2_saveexec_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x23,0xe4,0xbe]
+
+s_andn2_saveexec_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x23,0xe6,0xbe]
+
+s_andn2_saveexec_b64 vcc, s[2:3]
+// CHECK: [0x02,0x23,0xea,0xbe]
+
+s_andn2_saveexec_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x23,0x8a,0xbe]
+
+s_andn2_saveexec_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x23,0x8a,0xbe]
+
+s_andn2_saveexec_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x23,0x8a,0xbe]
+
+s_andn2_saveexec_b64 s[10:11], vcc
+// CHECK: [0x6a,0x23,0x8a,0xbe]
+
+s_andn2_saveexec_b64 s[10:11], exec
+// CHECK: [0x7e,0x23,0x8a,0xbe]
+
+s_andn2_saveexec_b64 s[10:11], 0
+// CHECK: [0x80,0x23,0x8a,0xbe]
+
+s_andn2_saveexec_b64 s[10:11], -1
+// CHECK: [0xc1,0x23,0x8a,0xbe]
+
+s_andn2_saveexec_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x23,0x8a,0xbe]
+
+s_andn2_saveexec_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x23,0x8a,0xbe]
+
+s_andn2_saveexec_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x23,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_andn2_saveexec_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x23,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_orn2_saveexec_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x24,0x8a,0xbe]
+
+s_orn2_saveexec_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x24,0x8c,0xbe]
+
+s_orn2_saveexec_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x24,0xe4,0xbe]
+
+s_orn2_saveexec_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x24,0xe6,0xbe]
+
+s_orn2_saveexec_b64 vcc, s[2:3]
+// CHECK: [0x02,0x24,0xea,0xbe]
+
+s_orn2_saveexec_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x24,0x8a,0xbe]
+
+s_orn2_saveexec_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x24,0x8a,0xbe]
+
+s_orn2_saveexec_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x24,0x8a,0xbe]
+
+s_orn2_saveexec_b64 s[10:11], vcc
+// CHECK: [0x6a,0x24,0x8a,0xbe]
+
+s_orn2_saveexec_b64 s[10:11], exec
+// CHECK: [0x7e,0x24,0x8a,0xbe]
+
+s_orn2_saveexec_b64 s[10:11], 0
+// CHECK: [0x80,0x24,0x8a,0xbe]
+
+s_orn2_saveexec_b64 s[10:11], -1
+// CHECK: [0xc1,0x24,0x8a,0xbe]
+
+s_orn2_saveexec_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x24,0x8a,0xbe]
+
+s_orn2_saveexec_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x24,0x8a,0xbe]
+
+s_orn2_saveexec_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x24,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_orn2_saveexec_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x24,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_nand_saveexec_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x25,0x8a,0xbe]
+
+s_nand_saveexec_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x25,0x8c,0xbe]
+
+s_nand_saveexec_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x25,0xe4,0xbe]
+
+s_nand_saveexec_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x25,0xe6,0xbe]
+
+s_nand_saveexec_b64 vcc, s[2:3]
+// CHECK: [0x02,0x25,0xea,0xbe]
+
+s_nand_saveexec_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x25,0x8a,0xbe]
+
+s_nand_saveexec_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x25,0x8a,0xbe]
+
+s_nand_saveexec_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x25,0x8a,0xbe]
+
+s_nand_saveexec_b64 s[10:11], vcc
+// CHECK: [0x6a,0x25,0x8a,0xbe]
+
+s_nand_saveexec_b64 s[10:11], exec
+// CHECK: [0x7e,0x25,0x8a,0xbe]
+
+s_nand_saveexec_b64 s[10:11], 0
+// CHECK: [0x80,0x25,0x8a,0xbe]
+
+s_nand_saveexec_b64 s[10:11], -1
+// CHECK: [0xc1,0x25,0x8a,0xbe]
+
+s_nand_saveexec_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x25,0x8a,0xbe]
+
+s_nand_saveexec_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x25,0x8a,0xbe]
+
+s_nand_saveexec_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x25,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_nand_saveexec_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x25,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_nor_saveexec_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x26,0x8a,0xbe]
+
+s_nor_saveexec_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x26,0x8c,0xbe]
+
+s_nor_saveexec_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x26,0xe4,0xbe]
+
+s_nor_saveexec_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x26,0xe6,0xbe]
+
+s_nor_saveexec_b64 vcc, s[2:3]
+// CHECK: [0x02,0x26,0xea,0xbe]
+
+s_nor_saveexec_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x26,0x8a,0xbe]
+
+s_nor_saveexec_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x26,0x8a,0xbe]
+
+s_nor_saveexec_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x26,0x8a,0xbe]
+
+s_nor_saveexec_b64 s[10:11], vcc
+// CHECK: [0x6a,0x26,0x8a,0xbe]
+
+s_nor_saveexec_b64 s[10:11], exec
+// CHECK: [0x7e,0x26,0x8a,0xbe]
+
+s_nor_saveexec_b64 s[10:11], 0
+// CHECK: [0x80,0x26,0x8a,0xbe]
+
+s_nor_saveexec_b64 s[10:11], -1
+// CHECK: [0xc1,0x26,0x8a,0xbe]
+
+s_nor_saveexec_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x26,0x8a,0xbe]
+
+s_nor_saveexec_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x26,0x8a,0xbe]
+
+s_nor_saveexec_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x26,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_nor_saveexec_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x26,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_xnor_saveexec_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x27,0x8a,0xbe]
+
+s_xnor_saveexec_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x27,0x8c,0xbe]
+
+s_xnor_saveexec_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x27,0xe4,0xbe]
+
+s_xnor_saveexec_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x27,0xe6,0xbe]
+
+s_xnor_saveexec_b64 vcc, s[2:3]
+// CHECK: [0x02,0x27,0xea,0xbe]
+
+s_xnor_saveexec_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x27,0x8a,0xbe]
+
+s_xnor_saveexec_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x27,0x8a,0xbe]
+
+s_xnor_saveexec_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x27,0x8a,0xbe]
+
+s_xnor_saveexec_b64 s[10:11], vcc
+// CHECK: [0x6a,0x27,0x8a,0xbe]
+
+s_xnor_saveexec_b64 s[10:11], exec
+// CHECK: [0x7e,0x27,0x8a,0xbe]
+
+s_xnor_saveexec_b64 s[10:11], 0
+// CHECK: [0x80,0x27,0x8a,0xbe]
+
+s_xnor_saveexec_b64 s[10:11], -1
+// CHECK: [0xc1,0x27,0x8a,0xbe]
+
+s_xnor_saveexec_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x27,0x8a,0xbe]
+
+s_xnor_saveexec_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x27,0x8a,0xbe]
+
+s_xnor_saveexec_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x27,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_xnor_saveexec_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x27,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_quadmask_b32 s5, s1
+// CHECK: [0x01,0x28,0x85,0xbe]
+
+s_quadmask_b32 s101, s1
+// CHECK: [0x01,0x28,0xe5,0xbe]
+
+s_quadmask_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x28,0xe6,0xbe]
+
+s_quadmask_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x28,0xe7,0xbe]
+
+s_quadmask_b32 vcc_lo, s1
+// CHECK: [0x01,0x28,0xea,0xbe]
+
+s_quadmask_b32 vcc_hi, s1
+// CHECK: [0x01,0x28,0xeb,0xbe]
+
+s_quadmask_b32 m0, s1
+// CHECK: [0x01,0x28,0xfc,0xbe]
+
+s_quadmask_b32 exec_lo, s1
+// CHECK: [0x01,0x28,0xfe,0xbe]
+
+s_quadmask_b32 exec_hi, s1
+// CHECK: [0x01,0x28,0xff,0xbe]
+
+s_quadmask_b32 s5, s101
+// CHECK: [0x65,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, vcc_lo
+// CHECK: [0x6a,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, vcc_hi
+// CHECK: [0x6b,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, m0
+// CHECK: [0x7c,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, exec_lo
+// CHECK: [0x7e,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, exec_hi
+// CHECK: [0x7f,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, 0
+// CHECK: [0x80,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, -1
+// CHECK: [0xc1,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, 0.5
+// CHECK: [0xf0,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, -4.0
+// CHECK: [0xf7,0x28,0x85,0xbe]
+
+s_quadmask_b32 s5, 0xaf123456
+// CHECK: [0xff,0x28,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_quadmask_b32 s5, 0x3f717273
+// CHECK: [0xff,0x28,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_quadmask_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x29,0x8a,0xbe]
+
+s_quadmask_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x29,0x8c,0xbe]
+
+s_quadmask_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x29,0xe4,0xbe]
+
+s_quadmask_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x29,0xe6,0xbe]
+
+s_quadmask_b64 vcc, s[2:3]
+// CHECK: [0x02,0x29,0xea,0xbe]
+
+s_quadmask_b64 exec, s[2:3]
+// CHECK: [0x02,0x29,0xfe,0xbe]
+
+s_quadmask_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x29,0x8a,0xbe]
+
+s_quadmask_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x29,0x8a,0xbe]
+
+s_quadmask_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x29,0x8a,0xbe]
+
+s_quadmask_b64 s[10:11], vcc
+// CHECK: [0x6a,0x29,0x8a,0xbe]
+
+s_quadmask_b64 s[10:11], exec
+// CHECK: [0x7e,0x29,0x8a,0xbe]
+
+s_quadmask_b64 s[10:11], 0
+// CHECK: [0x80,0x29,0x8a,0xbe]
+
+s_quadmask_b64 s[10:11], -1
+// CHECK: [0xc1,0x29,0x8a,0xbe]
+
+s_quadmask_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x29,0x8a,0xbe]
+
+s_quadmask_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x29,0x8a,0xbe]
+
+s_quadmask_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x29,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_quadmask_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x29,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_movrels_b32 s5, s1
+// CHECK: [0x01,0x2a,0x85,0xbe]
+
+s_movrels_b32 s101, s1
+// CHECK: [0x01,0x2a,0xe5,0xbe]
+
+s_movrels_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x2a,0xe6,0xbe]
+
+s_movrels_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x2a,0xe7,0xbe]
+
+s_movrels_b32 vcc_lo, s1
+// CHECK: [0x01,0x2a,0xea,0xbe]
+
+s_movrels_b32 vcc_hi, s1
+// CHECK: [0x01,0x2a,0xeb,0xbe]
+
+s_movrels_b32 m0, s1
+// CHECK: [0x01,0x2a,0xfc,0xbe]
+
+s_movrels_b32 exec_lo, s1
+// CHECK: [0x01,0x2a,0xfe,0xbe]
+
+s_movrels_b32 exec_hi, s1
+// CHECK: [0x01,0x2a,0xff,0xbe]
+
+s_movrels_b32 s5, s101
+// CHECK: [0x65,0x2a,0x85,0xbe]
+
+s_movrels_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x2a,0x85,0xbe]
+
+s_movrels_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x2a,0x85,0xbe]
+
+s_movrels_b32 s5, vcc_lo
+// CHECK: [0x6a,0x2a,0x85,0xbe]
+
+s_movrels_b32 s5, vcc_hi
+// CHECK: [0x6b,0x2a,0x85,0xbe]
+
+s_movrels_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x2b,0x8a,0xbe]
+
+s_movrels_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x2b,0x8c,0xbe]
+
+s_movrels_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x2b,0xe4,0xbe]
+
+s_movrels_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x2b,0xe6,0xbe]
+
+s_movrels_b64 vcc, s[2:3]
+// CHECK: [0x02,0x2b,0xea,0xbe]
+
+s_movrels_b64 exec, s[2:3]
+// CHECK: [0x02,0x2b,0xfe,0xbe]
+
+s_movrels_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x2b,0x8a,0xbe]
+
+s_movrels_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x2b,0x8a,0xbe]
+
+s_movrels_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x2b,0x8a,0xbe]
+
+s_movrels_b64 s[10:11], vcc
+// CHECK: [0x6a,0x2b,0x8a,0xbe]
+
+s_movreld_b32 s5, s1
+// CHECK: [0x01,0x2c,0x85,0xbe]
+
+s_movreld_b32 s101, s1
+// CHECK: [0x01,0x2c,0xe5,0xbe]
+
+s_movreld_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x2c,0xe6,0xbe]
+
+s_movreld_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x2c,0xe7,0xbe]
+
+s_movreld_b32 vcc_lo, s1
+// CHECK: [0x01,0x2c,0xea,0xbe]
+
+s_movreld_b32 vcc_hi, s1
+// CHECK: [0x01,0x2c,0xeb,0xbe]
+
+s_movreld_b32 s5, s101
+// CHECK: [0x65,0x2c,0x85,0xbe]
+
+s_movreld_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x2c,0x85,0xbe]
+
+s_movreld_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x2c,0x85,0xbe]
+
+s_movreld_b32 s5, vcc_lo
+// CHECK: [0x6a,0x2c,0x85,0xbe]
+
+s_movreld_b32 s5, vcc_hi
+// CHECK: [0x6b,0x2c,0x85,0xbe]
+
+s_movreld_b32 s5, m0
+// CHECK: [0x7c,0x2c,0x85,0xbe]
+
+s_movreld_b32 s5, 0
+// CHECK: [0x80,0x2c,0x85,0xbe]
+
+s_movreld_b32 s5, -1
+// CHECK: [0xc1,0x2c,0x85,0xbe]
+
+s_movreld_b32 s5, 0.5
+// CHECK: [0xf0,0x2c,0x85,0xbe]
+
+s_movreld_b32 s5, -4.0
+// CHECK: [0xf7,0x2c,0x85,0xbe]
+
+s_movreld_b32 s5, 0xaf123456
+// CHECK: [0xff,0x2c,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_movreld_b32 s5, 0x3f717273
+// CHECK: [0xff,0x2c,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_movreld_b64 s[10:11], s[2:3]
+// CHECK: [0x02,0x2d,0x8a,0xbe]
+
+s_movreld_b64 s[12:13], s[2:3]
+// CHECK: [0x02,0x2d,0x8c,0xbe]
+
+s_movreld_b64 s[100:101], s[2:3]
+// CHECK: [0x02,0x2d,0xe4,0xbe]
+
+s_movreld_b64 flat_scratch, s[2:3]
+// CHECK: [0x02,0x2d,0xe6,0xbe]
+
+s_movreld_b64 vcc, s[2:3]
+// CHECK: [0x02,0x2d,0xea,0xbe]
+
+s_movreld_b64 s[10:11], s[4:5]
+// CHECK: [0x04,0x2d,0x8a,0xbe]
+
+s_movreld_b64 s[10:11], s[100:101]
+// CHECK: [0x64,0x2d,0x8a,0xbe]
+
+s_movreld_b64 s[10:11], flat_scratch
+// CHECK: [0x66,0x2d,0x8a,0xbe]
+
+s_movreld_b64 s[10:11], vcc
+// CHECK: [0x6a,0x2d,0x8a,0xbe]
+
+s_movreld_b64 s[10:11], 0
+// CHECK: [0x80,0x2d,0x8a,0xbe]
+
+s_movreld_b64 s[10:11], -1
+// CHECK: [0xc1,0x2d,0x8a,0xbe]
+
+s_movreld_b64 s[10:11], 0.5
+// CHECK: [0xf0,0x2d,0x8a,0xbe]
+
+s_movreld_b64 s[10:11], -4.0
+// CHECK: [0xf7,0x2d,0x8a,0xbe]
+
+s_movreld_b64 s[10:11], 0xaf123456
+// CHECK: [0xff,0x2d,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+
+s_movreld_b64 s[10:11], 0x3f717273
+// CHECK: [0xff,0x2d,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+
+s_cbranch_join s1
+// CHECK: [0x01,0x2e,0x80,0xbe]
+
+s_cbranch_join s101
+// CHECK: [0x65,0x2e,0x80,0xbe]
+
+s_cbranch_join flat_scratch_lo
+// CHECK: [0x66,0x2e,0x80,0xbe]
+
+s_cbranch_join flat_scratch_hi
+// CHECK: [0x67,0x2e,0x80,0xbe]
+
+s_cbranch_join vcc_lo
+// CHECK: [0x6a,0x2e,0x80,0xbe]
+
+s_cbranch_join vcc_hi
+// CHECK: [0x6b,0x2e,0x80,0xbe]
+
+s_abs_i32 s5, s1
+// CHECK: [0x01,0x30,0x85,0xbe]
+
+s_abs_i32 s101, s1
+// CHECK: [0x01,0x30,0xe5,0xbe]
+
+s_abs_i32 flat_scratch_lo, s1
+// CHECK: [0x01,0x30,0xe6,0xbe]
+
+s_abs_i32 flat_scratch_hi, s1
+// CHECK: [0x01,0x30,0xe7,0xbe]
+
+s_abs_i32 vcc_lo, s1
+// CHECK: [0x01,0x30,0xea,0xbe]
+
+s_abs_i32 vcc_hi, s1
+// CHECK: [0x01,0x30,0xeb,0xbe]
+
+s_abs_i32 m0, s1
+// CHECK: [0x01,0x30,0xfc,0xbe]
+
+s_abs_i32 exec_lo, s1
+// CHECK: [0x01,0x30,0xfe,0xbe]
+
+s_abs_i32 exec_hi, s1
+// CHECK: [0x01,0x30,0xff,0xbe]
+
+s_abs_i32 s5, s101
+// CHECK: [0x65,0x30,0x85,0xbe]
+
+s_abs_i32 s5, flat_scratch_lo
+// CHECK: [0x66,0x30,0x85,0xbe]
+
+s_abs_i32 s5, flat_scratch_hi
+// CHECK: [0x67,0x30,0x85,0xbe]
+
+s_abs_i32 s5, vcc_lo
+// CHECK: [0x6a,0x30,0x85,0xbe]
+
+s_abs_i32 s5, vcc_hi
+// CHECK: [0x6b,0x30,0x85,0xbe]
+
+s_abs_i32 s5, m0
+// CHECK: [0x7c,0x30,0x85,0xbe]
+
+s_abs_i32 s5, exec_lo
+// CHECK: [0x7e,0x30,0x85,0xbe]
+
+s_abs_i32 s5, exec_hi
+// CHECK: [0x7f,0x30,0x85,0xbe]
+
+s_abs_i32 s5, 0
+// CHECK: [0x80,0x30,0x85,0xbe]
+
+s_abs_i32 s5, -1
+// CHECK: [0xc1,0x30,0x85,0xbe]
+
+s_abs_i32 s5, 0.5
+// CHECK: [0xf0,0x30,0x85,0xbe]
+
+s_abs_i32 s5, -4.0
+// CHECK: [0xf7,0x30,0x85,0xbe]
+
+s_abs_i32 s5, 0xaf123456
+// CHECK: [0xff,0x30,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_abs_i32 s5, 0x3f717273
+// CHECK: [0xff,0x30,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_mov_fed_b32 s5, s1
+// CHECK: [0x01,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s101, s1
+// CHECK: [0x01,0x31,0xe5,0xbe]
+
+s_mov_fed_b32 flat_scratch_lo, s1
+// CHECK: [0x01,0x31,0xe6,0xbe]
+
+s_mov_fed_b32 flat_scratch_hi, s1
+// CHECK: [0x01,0x31,0xe7,0xbe]
+
+s_mov_fed_b32 vcc_lo, s1
+// CHECK: [0x01,0x31,0xea,0xbe]
+
+s_mov_fed_b32 vcc_hi, s1
+// CHECK: [0x01,0x31,0xeb,0xbe]
+
+s_mov_fed_b32 m0, s1
+// CHECK: [0x01,0x31,0xfc,0xbe]
+
+s_mov_fed_b32 exec_lo, s1
+// CHECK: [0x01,0x31,0xfe,0xbe]
+
+s_mov_fed_b32 exec_hi, s1
+// CHECK: [0x01,0x31,0xff,0xbe]
+
+s_mov_fed_b32 s5, s101
+// CHECK: [0x65,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, flat_scratch_lo
+// CHECK: [0x66,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, flat_scratch_hi
+// CHECK: [0x67,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, vcc_lo
+// CHECK: [0x6a,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, vcc_hi
+// CHECK: [0x6b,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, m0
+// CHECK: [0x7c,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, exec_lo
+// CHECK: [0x7e,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, exec_hi
+// CHECK: [0x7f,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, 0
+// CHECK: [0x80,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, -1
+// CHECK: [0xc1,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, 0.5
+// CHECK: [0xf0,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, -4.0
+// CHECK: [0xf7,0x31,0x85,0xbe]
+
+s_mov_fed_b32 s5, 0xaf123456
+// CHECK: [0xff,0x31,0x85,0xbe,0x56,0x34,0x12,0xaf]
+
+s_mov_fed_b32 s5, 0x3f717273
+// CHECK: [0xff,0x31,0x85,0xbe,0x73,0x72,0x71,0x3f]
+
+s_set_gpr_idx_idx s1
+// CHECK: [0x01,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx s101
+// CHECK: [0x65,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx flat_scratch_lo
+// CHECK: [0x66,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx flat_scratch_hi
+// CHECK: [0x67,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx vcc_lo
+// CHECK: [0x6a,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx vcc_hi
+// CHECK: [0x6b,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx m0
+// CHECK: [0x7c,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx 0
+// CHECK: [0x80,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx -1
+// CHECK: [0xc1,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx 0.5
+// CHECK: [0xf0,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx -4.0
+// CHECK: [0xf7,0x32,0x80,0xbe]
+
+s_set_gpr_idx_idx 0xaf123456
+// CHECK: [0xff,0x32,0x80,0xbe,0x56,0x34,0x12,0xaf]
+
+s_set_gpr_idx_idx 0x3f717273
+// CHECK: [0xff,0x32,0x80,0xbe,0x73,0x72,0x71,0x3f]
+
+s_add_u32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x80]
+
+s_add_u32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x80]
+
+s_add_u32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x80]
+
+s_add_u32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x80]
+
+s_add_u32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x80]
+
+s_add_u32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x80]
+
+s_add_u32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x80]
+
+s_add_u32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x80]
+
+s_add_u32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x80]
+
+s_add_u32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x80]
+
+s_add_u32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x80]
+
+s_add_u32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x80]
+
+s_add_u32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x80]
+
+s_add_u32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x80]
+
+s_add_u32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x80]
+
+s_add_u32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x80]
+
+s_add_u32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x80]
+
+s_add_u32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x80]
+
+s_add_u32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x80]
+
+s_add_u32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x80]
+
+s_add_u32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x80]
+
+s_add_u32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x80,0x56,0x34,0x12,0xaf]
+
+s_add_u32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x80,0x73,0x72,0x71,0x3f]
+
+s_add_u32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x80]
+
+s_add_u32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x80]
+
+s_add_u32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x80]
+
+s_add_u32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x80]
+
+s_add_u32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x80]
+
+s_add_u32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x80]
+
+s_add_u32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x80]
+
+s_add_u32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x80]
+
+s_add_u32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x80]
+
+s_add_u32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x80]
+
+s_add_u32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x80]
+
+s_add_u32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x80]
+
+s_add_u32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x80,0x56,0x34,0x12,0xaf]
+
+s_add_u32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x80,0x73,0x72,0x71,0x3f]
+
+s_sub_u32 s5, s1, s2
+// CHECK: [0x01,0x02,0x85,0x80]
+
+s_sub_u32 s101, s1, s2
+// CHECK: [0x01,0x02,0xe5,0x80]
+
+s_sub_u32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0xe6,0x80]
+
+s_sub_u32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0xe7,0x80]
+
+s_sub_u32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0xea,0x80]
+
+s_sub_u32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0xeb,0x80]
+
+s_sub_u32 m0, s1, s2
+// CHECK: [0x01,0x02,0xfc,0x80]
+
+s_sub_u32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0xfe,0x80]
+
+s_sub_u32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0xff,0x80]
+
+s_sub_u32 s5, s101, s2
+// CHECK: [0x65,0x02,0x85,0x80]
+
+s_sub_u32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x85,0x80]
+
+s_sub_u32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x85,0x80]
+
+s_sub_u32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x85,0x80]
+
+s_sub_u32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x85,0x80]
+
+s_sub_u32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x85,0x80]
+
+s_sub_u32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x85,0x80]
+
+s_sub_u32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x85,0x80]
+
+s_sub_u32 s5, 0, s2
+// CHECK: [0x80,0x02,0x85,0x80]
+
+s_sub_u32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x85,0x80]
+
+s_sub_u32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x85,0x80]
+
+s_sub_u32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x85,0x80]
+
+s_sub_u32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x85,0x80,0x56,0x34,0x12,0xaf]
+
+s_sub_u32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x85,0x80,0x73,0x72,0x71,0x3f]
+
+s_sub_u32 s5, s1, s101
+// CHECK: [0x01,0x65,0x85,0x80]
+
+s_sub_u32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x85,0x80]
+
+s_sub_u32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x85,0x80]
+
+s_sub_u32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x85,0x80]
+
+s_sub_u32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x85,0x80]
+
+s_sub_u32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x85,0x80]
+
+s_sub_u32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x85,0x80]
+
+s_sub_u32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x85,0x80]
+
+s_sub_u32 s5, s1, 0
+// CHECK: [0x01,0x80,0x85,0x80]
+
+s_sub_u32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x85,0x80]
+
+s_sub_u32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x85,0x80]
+
+s_sub_u32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x85,0x80]
+
+s_sub_u32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x85,0x80,0x56,0x34,0x12,0xaf]
+
+s_sub_u32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x85,0x80,0x73,0x72,0x71,0x3f]
+
+s_add_i32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x81]
+
+s_add_i32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x81]
+
+s_add_i32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x81]
+
+s_add_i32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x81]
+
+s_add_i32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x81]
+
+s_add_i32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x81]
+
+s_add_i32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x81]
+
+s_add_i32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x81]
+
+s_add_i32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x81]
+
+s_add_i32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x81]
+
+s_add_i32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x81]
+
+s_add_i32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x81]
+
+s_add_i32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x81]
+
+s_add_i32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x81]
+
+s_add_i32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x81]
+
+s_add_i32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x81]
+
+s_add_i32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x81]
+
+s_add_i32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x81]
+
+s_add_i32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x81]
+
+s_add_i32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x81]
+
+s_add_i32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x81]
+
+s_add_i32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x81,0x56,0x34,0x12,0xaf]
+
+s_add_i32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x81,0x73,0x72,0x71,0x3f]
+
+s_add_i32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x81]
+
+s_add_i32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x81]
+
+s_add_i32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x81]
+
+s_add_i32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x81]
+
+s_add_i32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x81]
+
+s_add_i32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x81]
+
+s_add_i32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x81]
+
+s_add_i32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x81]
+
+s_add_i32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x81]
+
+s_add_i32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x81]
+
+s_add_i32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x81]
+
+s_add_i32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x81]
+
+s_add_i32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x81,0x56,0x34,0x12,0xaf]
+
+s_add_i32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x81,0x73,0x72,0x71,0x3f]
+
+s_sub_i32 s5, s1, s2
+// CHECK: [0x01,0x02,0x85,0x81]
+
+s_sub_i32 s101, s1, s2
+// CHECK: [0x01,0x02,0xe5,0x81]
+
+s_sub_i32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0xe6,0x81]
+
+s_sub_i32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0xe7,0x81]
+
+s_sub_i32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0xea,0x81]
+
+s_sub_i32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0xeb,0x81]
+
+s_sub_i32 m0, s1, s2
+// CHECK: [0x01,0x02,0xfc,0x81]
+
+s_sub_i32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0xfe,0x81]
+
+s_sub_i32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0xff,0x81]
+
+s_sub_i32 s5, s101, s2
+// CHECK: [0x65,0x02,0x85,0x81]
+
+s_sub_i32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x85,0x81]
+
+s_sub_i32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x85,0x81]
+
+s_sub_i32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x85,0x81]
+
+s_sub_i32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x85,0x81]
+
+s_sub_i32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x85,0x81]
+
+s_sub_i32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x85,0x81]
+
+s_sub_i32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x85,0x81]
+
+s_sub_i32 s5, 0, s2
+// CHECK: [0x80,0x02,0x85,0x81]
+
+s_sub_i32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x85,0x81]
+
+s_sub_i32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x85,0x81]
+
+s_sub_i32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x85,0x81]
+
+s_sub_i32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x85,0x81,0x56,0x34,0x12,0xaf]
+
+s_sub_i32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x85,0x81,0x73,0x72,0x71,0x3f]
+
+s_sub_i32 s5, s1, s101
+// CHECK: [0x01,0x65,0x85,0x81]
+
+s_sub_i32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x85,0x81]
+
+s_sub_i32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x85,0x81]
+
+s_sub_i32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x85,0x81]
+
+s_sub_i32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x85,0x81]
+
+s_sub_i32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x85,0x81]
+
+s_sub_i32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x85,0x81]
+
+s_sub_i32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x85,0x81]
+
+s_sub_i32 s5, s1, 0
+// CHECK: [0x01,0x80,0x85,0x81]
+
+s_sub_i32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x85,0x81]
+
+s_sub_i32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x85,0x81]
+
+s_sub_i32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x85,0x81]
+
+s_sub_i32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x85,0x81,0x56,0x34,0x12,0xaf]
+
+s_sub_i32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x85,0x81,0x73,0x72,0x71,0x3f]
+
+s_addc_u32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x82]
+
+s_addc_u32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x82]
+
+s_addc_u32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x82]
+
+s_addc_u32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x82]
+
+s_addc_u32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x82]
+
+s_addc_u32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x82]
+
+s_addc_u32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x82]
+
+s_addc_u32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x82]
+
+s_addc_u32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x82]
+
+s_addc_u32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x82]
+
+s_addc_u32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x82]
+
+s_addc_u32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x82]
+
+s_addc_u32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x82]
+
+s_addc_u32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x82]
+
+s_addc_u32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x82]
+
+s_addc_u32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x82]
+
+s_addc_u32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x82]
+
+s_addc_u32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x82]
+
+s_addc_u32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x82]
+
+s_addc_u32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x82]
+
+s_addc_u32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x82]
+
+s_addc_u32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x82,0x56,0x34,0x12,0xaf]
+
+s_addc_u32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x82,0x73,0x72,0x71,0x3f]
+
+s_addc_u32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x82]
+
+s_addc_u32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x82]
+
+s_addc_u32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x82]
+
+s_addc_u32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x82]
+
+s_addc_u32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x82]
+
+s_addc_u32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x82]
+
+s_addc_u32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x82]
+
+s_addc_u32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x82]
+
+s_addc_u32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x82]
+
+s_addc_u32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x82]
+
+s_addc_u32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x82]
+
+s_addc_u32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x82]
+
+s_addc_u32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x82,0x56,0x34,0x12,0xaf]
+
+s_addc_u32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x82,0x73,0x72,0x71,0x3f]
+
+s_subb_u32 s5, s1, s2
+// CHECK: [0x01,0x02,0x85,0x82]
+
+s_subb_u32 s101, s1, s2
+// CHECK: [0x01,0x02,0xe5,0x82]
+
+s_subb_u32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0xe6,0x82]
+
+s_subb_u32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0xe7,0x82]
+
+s_subb_u32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0xea,0x82]
+
+s_subb_u32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0xeb,0x82]
+
+s_subb_u32 m0, s1, s2
+// CHECK: [0x01,0x02,0xfc,0x82]
+
+s_subb_u32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0xfe,0x82]
+
+s_subb_u32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0xff,0x82]
+
+s_subb_u32 s5, s101, s2
+// CHECK: [0x65,0x02,0x85,0x82]
+
+s_subb_u32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x85,0x82]
+
+s_subb_u32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x85,0x82]
+
+s_subb_u32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x85,0x82]
+
+s_subb_u32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x85,0x82]
+
+s_subb_u32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x85,0x82]
+
+s_subb_u32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x85,0x82]
+
+s_subb_u32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x85,0x82]
+
+s_subb_u32 s5, 0, s2
+// CHECK: [0x80,0x02,0x85,0x82]
+
+s_subb_u32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x85,0x82]
+
+s_subb_u32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x85,0x82]
+
+s_subb_u32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x85,0x82]
+
+s_subb_u32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x85,0x82,0x56,0x34,0x12,0xaf]
+
+s_subb_u32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x85,0x82,0x73,0x72,0x71,0x3f]
+
+s_subb_u32 s5, s1, s101
+// CHECK: [0x01,0x65,0x85,0x82]
+
+s_subb_u32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x85,0x82]
+
+s_subb_u32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x85,0x82]
+
+s_subb_u32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x85,0x82]
+
+s_subb_u32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x85,0x82]
+
+s_subb_u32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x85,0x82]
+
+s_subb_u32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x85,0x82]
+
+s_subb_u32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x85,0x82]
+
+s_subb_u32 s5, s1, 0
+// CHECK: [0x01,0x80,0x85,0x82]
+
+s_subb_u32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x85,0x82]
+
+s_subb_u32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x85,0x82]
+
+s_subb_u32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x85,0x82]
+
+s_subb_u32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x85,0x82,0x56,0x34,0x12,0xaf]
+
+s_subb_u32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x85,0x82,0x73,0x72,0x71,0x3f]
+
+s_min_i32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x83]
+
+s_min_i32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x83]
+
+s_min_i32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x83]
+
+s_min_i32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x83]
+
+s_min_i32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x83]
+
+s_min_i32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x83]
+
+s_min_i32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x83]
+
+s_min_i32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x83]
+
+s_min_i32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x83]
+
+s_min_i32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x83]
+
+s_min_i32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x83]
+
+s_min_i32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x83]
+
+s_min_i32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x83]
+
+s_min_i32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x83]
+
+s_min_i32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x83]
+
+s_min_i32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x83]
+
+s_min_i32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x83]
+
+s_min_i32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x83]
+
+s_min_i32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x83]
+
+s_min_i32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x83]
+
+s_min_i32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x83]
+
+s_min_i32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x83,0x56,0x34,0x12,0xaf]
+
+s_min_i32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x83,0x73,0x72,0x71,0x3f]
+
+s_min_i32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x83]
+
+s_min_i32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x83]
+
+s_min_i32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x83]
+
+s_min_i32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x83]
+
+s_min_i32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x83]
+
+s_min_i32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x83]
+
+s_min_i32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x83]
+
+s_min_i32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x83]
+
+s_min_i32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x83]
+
+s_min_i32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x83]
+
+s_min_i32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x83]
+
+s_min_i32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x83]
+
+s_min_i32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x83,0x56,0x34,0x12,0xaf]
+
+s_min_i32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x83,0x73,0x72,0x71,0x3f]
+
+s_min_u32 s5, s1, s2
+// CHECK: [0x01,0x02,0x85,0x83]
+
+s_min_u32 s101, s1, s2
+// CHECK: [0x01,0x02,0xe5,0x83]
+
+s_min_u32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0xe6,0x83]
+
+s_min_u32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0xe7,0x83]
+
+s_min_u32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0xea,0x83]
+
+s_min_u32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0xeb,0x83]
+
+s_min_u32 m0, s1, s2
+// CHECK: [0x01,0x02,0xfc,0x83]
+
+s_min_u32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0xfe,0x83]
+
+s_min_u32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0xff,0x83]
+
+s_min_u32 s5, s101, s2
+// CHECK: [0x65,0x02,0x85,0x83]
+
+s_min_u32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x85,0x83]
+
+s_min_u32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x85,0x83]
+
+s_min_u32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x85,0x83]
+
+s_min_u32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x85,0x83]
+
+s_min_u32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x85,0x83]
+
+s_min_u32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x85,0x83]
+
+s_min_u32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x85,0x83]
+
+s_min_u32 s5, 0, s2
+// CHECK: [0x80,0x02,0x85,0x83]
+
+s_min_u32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x85,0x83]
+
+s_min_u32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x85,0x83]
+
+s_min_u32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x85,0x83]
+
+s_min_u32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x85,0x83,0x56,0x34,0x12,0xaf]
+
+s_min_u32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x85,0x83,0x73,0x72,0x71,0x3f]
+
+s_min_u32 s5, s1, s101
+// CHECK: [0x01,0x65,0x85,0x83]
+
+s_min_u32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x85,0x83]
+
+s_min_u32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x85,0x83]
+
+s_min_u32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x85,0x83]
+
+s_min_u32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x85,0x83]
+
+s_min_u32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x85,0x83]
+
+s_min_u32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x85,0x83]
+
+s_min_u32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x85,0x83]
+
+s_min_u32 s5, s1, 0
+// CHECK: [0x01,0x80,0x85,0x83]
+
+s_min_u32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x85,0x83]
+
+s_min_u32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x85,0x83]
+
+s_min_u32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x85,0x83]
+
+s_min_u32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x85,0x83,0x56,0x34,0x12,0xaf]
+
+s_min_u32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x85,0x83,0x73,0x72,0x71,0x3f]
+
+s_max_i32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x84]
+
+s_max_i32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x84]
+
+s_max_i32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x84]
+
+s_max_i32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x84]
+
+s_max_i32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x84]
+
+s_max_i32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x84]
+
+s_max_i32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x84]
+
+s_max_i32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x84]
+
+s_max_i32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x84]
+
+s_max_i32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x84]
+
+s_max_i32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x84]
+
+s_max_i32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x84]
+
+s_max_i32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x84]
+
+s_max_i32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x84]
+
+s_max_i32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x84]
+
+s_max_i32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x84]
+
+s_max_i32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x84]
+
+s_max_i32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x84]
+
+s_max_i32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x84]
+
+s_max_i32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x84]
+
+s_max_i32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x84]
+
+s_max_i32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x84,0x56,0x34,0x12,0xaf]
+
+s_max_i32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x84,0x73,0x72,0x71,0x3f]
+
+s_max_i32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x84]
+
+s_max_i32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x84]
+
+s_max_i32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x84]
+
+s_max_i32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x84]
+
+s_max_i32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x84]
+
+s_max_i32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x84]
+
+s_max_i32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x84]
+
+s_max_i32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x84]
+
+s_max_i32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x84]
+
+s_max_i32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x84]
+
+s_max_i32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x84]
+
+s_max_i32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x84]
+
+s_max_i32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x84,0x56,0x34,0x12,0xaf]
+
+s_max_i32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x84,0x73,0x72,0x71,0x3f]
+
+s_max_u32 s5, s1, s2
+// CHECK: [0x01,0x02,0x85,0x84]
+
+s_max_u32 s101, s1, s2
+// CHECK: [0x01,0x02,0xe5,0x84]
+
+s_max_u32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0xe6,0x84]
+
+s_max_u32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0xe7,0x84]
+
+s_max_u32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0xea,0x84]
+
+s_max_u32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0xeb,0x84]
+
+s_max_u32 m0, s1, s2
+// CHECK: [0x01,0x02,0xfc,0x84]
+
+s_max_u32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0xfe,0x84]
+
+s_max_u32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0xff,0x84]
+
+s_max_u32 s5, s101, s2
+// CHECK: [0x65,0x02,0x85,0x84]
+
+s_max_u32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x85,0x84]
+
+s_max_u32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x85,0x84]
+
+s_max_u32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x85,0x84]
+
+s_max_u32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x85,0x84]
+
+s_max_u32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x85,0x84]
+
+s_max_u32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x85,0x84]
+
+s_max_u32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x85,0x84]
+
+s_max_u32 s5, 0, s2
+// CHECK: [0x80,0x02,0x85,0x84]
+
+s_max_u32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x85,0x84]
+
+s_max_u32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x85,0x84]
+
+s_max_u32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x85,0x84]
+
+s_max_u32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x85,0x84,0x56,0x34,0x12,0xaf]
+
+s_max_u32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x85,0x84,0x73,0x72,0x71,0x3f]
+
+s_max_u32 s5, s1, s101
+// CHECK: [0x01,0x65,0x85,0x84]
+
+s_max_u32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x85,0x84]
+
+s_max_u32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x85,0x84]
+
+s_max_u32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x85,0x84]
+
+s_max_u32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x85,0x84]
+
+s_max_u32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x85,0x84]
+
+s_max_u32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x85,0x84]
+
+s_max_u32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x85,0x84]
+
+s_max_u32 s5, s1, 0
+// CHECK: [0x01,0x80,0x85,0x84]
+
+s_max_u32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x85,0x84]
+
+s_max_u32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x85,0x84]
+
+s_max_u32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x85,0x84]
+
+s_max_u32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x85,0x84,0x56,0x34,0x12,0xaf]
+
+s_max_u32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x85,0x84,0x73,0x72,0x71,0x3f]
+
+s_cselect_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x85]
+
+s_cselect_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x85]
+
+s_cselect_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x85]
+
+s_cselect_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x85]
+
+s_cselect_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x85]
+
+s_cselect_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x85]
+
+s_cselect_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x85]
+
+s_cselect_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x85]
+
+s_cselect_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x85]
+
+s_cselect_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x85]
+
+s_cselect_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x85]
+
+s_cselect_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x85]
+
+s_cselect_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x85]
+
+s_cselect_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x85]
+
+s_cselect_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x85]
+
+s_cselect_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x85]
+
+s_cselect_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x85]
+
+s_cselect_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x85]
+
+s_cselect_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x85]
+
+s_cselect_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x85]
+
+s_cselect_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x85]
+
+s_cselect_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x85,0x56,0x34,0x12,0xaf]
+
+s_cselect_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x85,0x73,0x72,0x71,0x3f]
+
+s_cselect_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x85]
+
+s_cselect_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x85]
+
+s_cselect_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x85]
+
+s_cselect_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x85]
+
+s_cselect_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x85]
+
+s_cselect_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x85]
+
+s_cselect_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x85]
+
+s_cselect_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x85]
+
+s_cselect_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x85]
+
+s_cselect_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x85]
+
+s_cselect_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x85]
+
+s_cselect_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x85]
+
+s_cselect_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x85,0x56,0x34,0x12,0xaf]
+
+s_cselect_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x85,0x73,0x72,0x71,0x3f]
+
+s_cselect_b64 s[10:11], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8a,0x85]
+
+s_cselect_b64 s[12:13], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8c,0x85]
+
+s_cselect_b64 s[100:101], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe4,0x85]
+
+s_cselect_b64 flat_scratch, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe6,0x85]
+
+s_cselect_b64 vcc, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xea,0x85]
+
+s_cselect_b64 exec, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xfe,0x85]
+
+s_cselect_b64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x8a,0x85]
+
+s_cselect_b64 s[10:11], s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x8a,0x85]
+
+s_cselect_b64 s[10:11], flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x8a,0x85]
+
+s_cselect_b64 s[10:11], vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x8a,0x85]
+
+s_cselect_b64 s[10:11], exec, s[4:5]
+// CHECK: [0x7e,0x04,0x8a,0x85]
+
+s_cselect_b64 s[10:11], 0, s[4:5]
+// CHECK: [0x80,0x04,0x8a,0x85]
+
+s_cselect_b64 s[10:11], -1, s[4:5]
+// CHECK: [0xc1,0x04,0x8a,0x85]
+
+s_cselect_b64 s[10:11], 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x8a,0x85]
+
+s_cselect_b64 s[10:11], -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x8a,0x85]
+
+s_cselect_b64 s[10:11], 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x85,0x56,0x34,0x12,0xaf]
+
+s_cselect_b64 s[10:11], 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x85,0x73,0x72,0x71,0x3f]
+
+s_cselect_b64 s[10:11], s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x8a,0x85]
+
+s_cselect_b64 s[10:11], s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x8a,0x85]
+
+s_cselect_b64 s[10:11], s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x8a,0x85]
+
+s_cselect_b64 s[10:11], s[2:3], vcc
+// CHECK: [0x02,0x6a,0x8a,0x85]
+
+s_cselect_b64 s[10:11], s[2:3], exec
+// CHECK: [0x02,0x7e,0x8a,0x85]
+
+s_cselect_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x85]
+
+s_cselect_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x85]
+
+s_cselect_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x85]
+
+s_cselect_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x85]
+
+s_cselect_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x85,0x56,0x34,0x12,0xaf]
+
+s_cselect_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x85,0x73,0x72,0x71,0x3f]
+
+s_and_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x86]
+
+s_and_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x86]
+
+s_and_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x86]
+
+s_and_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x86]
+
+s_and_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x86]
+
+s_and_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x86]
+
+s_and_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x86]
+
+s_and_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x86]
+
+s_and_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x86]
+
+s_and_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x86]
+
+s_and_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x86]
+
+s_and_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x86]
+
+s_and_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x86]
+
+s_and_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x86]
+
+s_and_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x86]
+
+s_and_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x86]
+
+s_and_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x86]
+
+s_and_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x86]
+
+s_and_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x86]
+
+s_and_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x86]
+
+s_and_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x86]
+
+s_and_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x86,0x56,0x34,0x12,0xaf]
+
+s_and_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x86,0x73,0x72,0x71,0x3f]
+
+s_and_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x86]
+
+s_and_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x86]
+
+s_and_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x86]
+
+s_and_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x86]
+
+s_and_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x86]
+
+s_and_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x86]
+
+s_and_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x86]
+
+s_and_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x86]
+
+s_and_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x86]
+
+s_and_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x86]
+
+s_and_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x86]
+
+s_and_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x86]
+
+s_and_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x86,0x56,0x34,0x12,0xaf]
+
+s_and_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x86,0x73,0x72,0x71,0x3f]
+
+s_and_b64 s[10:11], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8a,0x86]
+
+s_and_b64 s[12:13], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8c,0x86]
+
+s_and_b64 s[100:101], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe4,0x86]
+
+s_and_b64 flat_scratch, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe6,0x86]
+
+s_and_b64 vcc, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xea,0x86]
+
+s_and_b64 exec, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xfe,0x86]
+
+s_and_b64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x8a,0x86]
+
+s_and_b64 s[10:11], s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x8a,0x86]
+
+s_and_b64 s[10:11], flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x8a,0x86]
+
+s_and_b64 s[10:11], vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x8a,0x86]
+
+s_and_b64 s[10:11], exec, s[4:5]
+// CHECK: [0x7e,0x04,0x8a,0x86]
+
+s_and_b64 s[10:11], 0, s[4:5]
+// CHECK: [0x80,0x04,0x8a,0x86]
+
+s_and_b64 s[10:11], -1, s[4:5]
+// CHECK: [0xc1,0x04,0x8a,0x86]
+
+s_and_b64 s[10:11], 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x8a,0x86]
+
+s_and_b64 s[10:11], -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x8a,0x86]
+
+s_and_b64 s[10:11], 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x86,0x56,0x34,0x12,0xaf]
+
+s_and_b64 s[10:11], 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x86,0x73,0x72,0x71,0x3f]
+
+s_and_b64 s[10:11], s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x8a,0x86]
+
+s_and_b64 s[10:11], s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x8a,0x86]
+
+s_and_b64 s[10:11], s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x8a,0x86]
+
+s_and_b64 s[10:11], s[2:3], vcc
+// CHECK: [0x02,0x6a,0x8a,0x86]
+
+s_and_b64 s[10:11], s[2:3], exec
+// CHECK: [0x02,0x7e,0x8a,0x86]
+
+s_and_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x86]
+
+s_and_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x86]
+
+s_and_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x86]
+
+s_and_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x86]
+
+s_and_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x86,0x56,0x34,0x12,0xaf]
+
+s_and_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x86,0x73,0x72,0x71,0x3f]
+
+s_or_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x87]
+
+s_or_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x87]
+
+s_or_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x87]
+
+s_or_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x87]
+
+s_or_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x87]
+
+s_or_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x87]
+
+s_or_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x87]
+
+s_or_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x87]
+
+s_or_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x87]
+
+s_or_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x87]
+
+s_or_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x87]
+
+s_or_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x87]
+
+s_or_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x87]
+
+s_or_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x87]
+
+s_or_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x87]
+
+s_or_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x87]
+
+s_or_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x87]
+
+s_or_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x87]
+
+s_or_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x87]
+
+s_or_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x87]
+
+s_or_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x87]
+
+s_or_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x87,0x56,0x34,0x12,0xaf]
+
+s_or_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x87,0x73,0x72,0x71,0x3f]
+
+s_or_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x87]
+
+s_or_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x87]
+
+s_or_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x87]
+
+s_or_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x87]
+
+s_or_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x87]
+
+s_or_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x87]
+
+s_or_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x87]
+
+s_or_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x87]
+
+s_or_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x87]
+
+s_or_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x87]
+
+s_or_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x87]
+
+s_or_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x87]
+
+s_or_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x87,0x56,0x34,0x12,0xaf]
+
+s_or_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x87,0x73,0x72,0x71,0x3f]
+
+s_or_b64 s[10:11], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8a,0x87]
+
+s_or_b64 s[12:13], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8c,0x87]
+
+s_or_b64 s[100:101], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe4,0x87]
+
+s_or_b64 flat_scratch, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe6,0x87]
+
+s_or_b64 vcc, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xea,0x87]
+
+s_or_b64 exec, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xfe,0x87]
+
+s_or_b64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x8a,0x87]
+
+s_or_b64 s[10:11], s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x8a,0x87]
+
+s_or_b64 s[10:11], flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x8a,0x87]
+
+s_or_b64 s[10:11], vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x8a,0x87]
+
+s_or_b64 s[10:11], exec, s[4:5]
+// CHECK: [0x7e,0x04,0x8a,0x87]
+
+s_or_b64 s[10:11], 0, s[4:5]
+// CHECK: [0x80,0x04,0x8a,0x87]
+
+s_or_b64 s[10:11], -1, s[4:5]
+// CHECK: [0xc1,0x04,0x8a,0x87]
+
+s_or_b64 s[10:11], 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x8a,0x87]
+
+s_or_b64 s[10:11], -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x8a,0x87]
+
+s_or_b64 s[10:11], 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x87,0x56,0x34,0x12,0xaf]
+
+s_or_b64 s[10:11], 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x87,0x73,0x72,0x71,0x3f]
+
+s_or_b64 s[10:11], s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x8a,0x87]
+
+s_or_b64 s[10:11], s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x8a,0x87]
+
+s_or_b64 s[10:11], s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x8a,0x87]
+
+s_or_b64 s[10:11], s[2:3], vcc
+// CHECK: [0x02,0x6a,0x8a,0x87]
+
+s_or_b64 s[10:11], s[2:3], exec
+// CHECK: [0x02,0x7e,0x8a,0x87]
+
+s_or_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x87]
+
+s_or_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x87]
+
+s_or_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x87]
+
+s_or_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x87]
+
+s_or_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x87,0x56,0x34,0x12,0xaf]
+
+s_or_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x87,0x73,0x72,0x71,0x3f]
+
+s_xor_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x88]
+
+s_xor_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x88]
+
+s_xor_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x88]
+
+s_xor_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x88]
+
+s_xor_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x88]
+
+s_xor_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x88]
+
+s_xor_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x88]
+
+s_xor_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x88]
+
+s_xor_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x88]
+
+s_xor_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x88]
+
+s_xor_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x88]
+
+s_xor_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x88]
+
+s_xor_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x88]
+
+s_xor_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x88]
+
+s_xor_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x88]
+
+s_xor_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x88]
+
+s_xor_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x88]
+
+s_xor_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x88]
+
+s_xor_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x88]
+
+s_xor_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x88]
+
+s_xor_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x88]
+
+s_xor_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x88,0x56,0x34,0x12,0xaf]
+
+s_xor_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x88,0x73,0x72,0x71,0x3f]
+
+s_xor_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x88]
+
+s_xor_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x88]
+
+s_xor_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x88]
+
+s_xor_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x88]
+
+s_xor_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x88]
+
+s_xor_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x88]
+
+s_xor_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x88]
+
+s_xor_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x88]
+
+s_xor_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x88]
+
+s_xor_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x88]
+
+s_xor_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x88]
+
+s_xor_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x88]
+
+s_xor_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x88,0x56,0x34,0x12,0xaf]
+
+s_xor_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x88,0x73,0x72,0x71,0x3f]
+
+s_xor_b64 s[10:11], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8a,0x88]
+
+s_xor_b64 s[12:13], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8c,0x88]
+
+s_xor_b64 s[100:101], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe4,0x88]
+
+s_xor_b64 flat_scratch, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe6,0x88]
+
+s_xor_b64 vcc, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xea,0x88]
+
+s_xor_b64 exec, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xfe,0x88]
+
+s_xor_b64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x8a,0x88]
+
+s_xor_b64 s[10:11], s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x8a,0x88]
+
+s_xor_b64 s[10:11], flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x8a,0x88]
+
+s_xor_b64 s[10:11], vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x8a,0x88]
+
+s_xor_b64 s[10:11], exec, s[4:5]
+// CHECK: [0x7e,0x04,0x8a,0x88]
+
+s_xor_b64 s[10:11], 0, s[4:5]
+// CHECK: [0x80,0x04,0x8a,0x88]
+
+s_xor_b64 s[10:11], -1, s[4:5]
+// CHECK: [0xc1,0x04,0x8a,0x88]
+
+s_xor_b64 s[10:11], 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x8a,0x88]
+
+s_xor_b64 s[10:11], -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x8a,0x88]
+
+s_xor_b64 s[10:11], 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x88,0x56,0x34,0x12,0xaf]
+
+s_xor_b64 s[10:11], 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x88,0x73,0x72,0x71,0x3f]
+
+s_xor_b64 s[10:11], s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x8a,0x88]
+
+s_xor_b64 s[10:11], s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x8a,0x88]
+
+s_xor_b64 s[10:11], s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x8a,0x88]
+
+s_xor_b64 s[10:11], s[2:3], vcc
+// CHECK: [0x02,0x6a,0x8a,0x88]
+
+s_xor_b64 s[10:11], s[2:3], exec
+// CHECK: [0x02,0x7e,0x8a,0x88]
+
+s_xor_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x88]
+
+s_xor_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x88]
+
+s_xor_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x88]
+
+s_xor_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x88]
+
+s_xor_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x88,0x56,0x34,0x12,0xaf]
+
+s_xor_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x88,0x73,0x72,0x71,0x3f]
+
+s_andn2_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x89]
+
+s_andn2_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x89]
+
+s_andn2_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x89]
+
+s_andn2_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x89]
+
+s_andn2_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x89]
+
+s_andn2_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x89]
+
+s_andn2_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x89]
+
+s_andn2_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x89]
+
+s_andn2_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x89]
+
+s_andn2_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x89]
+
+s_andn2_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x89]
+
+s_andn2_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x89]
+
+s_andn2_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x89]
+
+s_andn2_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x89]
+
+s_andn2_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x89]
+
+s_andn2_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x89]
+
+s_andn2_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x89]
+
+s_andn2_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x89]
+
+s_andn2_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x89]
+
+s_andn2_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x89]
+
+s_andn2_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x89]
+
+s_andn2_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x89,0x56,0x34,0x12,0xaf]
+
+s_andn2_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x89,0x73,0x72,0x71,0x3f]
+
+s_andn2_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x89]
+
+s_andn2_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x89]
+
+s_andn2_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x89]
+
+s_andn2_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x89]
+
+s_andn2_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x89]
+
+s_andn2_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x89]
+
+s_andn2_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x89]
+
+s_andn2_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x89]
+
+s_andn2_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x89]
+
+s_andn2_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x89]
+
+s_andn2_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x89]
+
+s_andn2_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x89]
+
+s_andn2_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x89,0x56,0x34,0x12,0xaf]
+
+s_andn2_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x89,0x73,0x72,0x71,0x3f]
+
+s_andn2_b64 s[10:11], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8a,0x89]
+
+s_andn2_b64 s[12:13], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8c,0x89]
+
+s_andn2_b64 s[100:101], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe4,0x89]
+
+s_andn2_b64 flat_scratch, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe6,0x89]
+
+s_andn2_b64 vcc, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xea,0x89]
+
+s_andn2_b64 exec, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xfe,0x89]
+
+s_andn2_b64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x8a,0x89]
+
+s_andn2_b64 s[10:11], s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x8a,0x89]
+
+s_andn2_b64 s[10:11], flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x8a,0x89]
+
+s_andn2_b64 s[10:11], vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x8a,0x89]
+
+s_andn2_b64 s[10:11], exec, s[4:5]
+// CHECK: [0x7e,0x04,0x8a,0x89]
+
+s_andn2_b64 s[10:11], 0, s[4:5]
+// CHECK: [0x80,0x04,0x8a,0x89]
+
+s_andn2_b64 s[10:11], -1, s[4:5]
+// CHECK: [0xc1,0x04,0x8a,0x89]
+
+s_andn2_b64 s[10:11], 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x8a,0x89]
+
+s_andn2_b64 s[10:11], -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x8a,0x89]
+
+s_andn2_b64 s[10:11], 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x89,0x56,0x34,0x12,0xaf]
+
+s_andn2_b64 s[10:11], 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x89,0x73,0x72,0x71,0x3f]
+
+s_andn2_b64 s[10:11], s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x8a,0x89]
+
+s_andn2_b64 s[10:11], s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x8a,0x89]
+
+s_andn2_b64 s[10:11], s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x8a,0x89]
+
+s_andn2_b64 s[10:11], s[2:3], vcc
+// CHECK: [0x02,0x6a,0x8a,0x89]
+
+s_andn2_b64 s[10:11], s[2:3], exec
+// CHECK: [0x02,0x7e,0x8a,0x89]
+
+s_andn2_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x89]
+
+s_andn2_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x89]
+
+s_andn2_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x89]
+
+s_andn2_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x89]
+
+s_andn2_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x89,0x56,0x34,0x12,0xaf]
+
+s_andn2_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x89,0x73,0x72,0x71,0x3f]
+
+s_orn2_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x8a]
+
+s_orn2_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x8a]
+
+s_orn2_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x8a]
+
+s_orn2_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x8a]
+
+s_orn2_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x8a]
+
+s_orn2_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x8a]
+
+s_orn2_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x8a]
+
+s_orn2_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x8a]
+
+s_orn2_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x8a]
+
+s_orn2_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x8a]
+
+s_orn2_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x8a,0x56,0x34,0x12,0xaf]
+
+s_orn2_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x8a,0x73,0x72,0x71,0x3f]
+
+s_orn2_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x8a]
+
+s_orn2_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x8a]
+
+s_orn2_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x8a]
+
+s_orn2_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x8a]
+
+s_orn2_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x8a]
+
+s_orn2_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x8a]
+
+s_orn2_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x8a]
+
+s_orn2_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x8a]
+
+s_orn2_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x8a]
+
+s_orn2_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x8a]
+
+s_orn2_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x8a]
+
+s_orn2_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x8a]
+
+s_orn2_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x8a,0x56,0x34,0x12,0xaf]
+
+s_orn2_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x8a,0x73,0x72,0x71,0x3f]
+
+s_orn2_b64 s[10:11], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8a,0x8a]
+
+s_orn2_b64 s[12:13], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8c,0x8a]
+
+s_orn2_b64 s[100:101], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe4,0x8a]
+
+s_orn2_b64 flat_scratch, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe6,0x8a]
+
+s_orn2_b64 vcc, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xea,0x8a]
+
+s_orn2_b64 exec, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xfe,0x8a]
+
+s_orn2_b64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], exec, s[4:5]
+// CHECK: [0x7e,0x04,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], 0, s[4:5]
+// CHECK: [0x80,0x04,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], -1, s[4:5]
+// CHECK: [0xc1,0x04,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x8a,0x56,0x34,0x12,0xaf]
+
+s_orn2_b64 s[10:11], 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x8a,0x73,0x72,0x71,0x3f]
+
+s_orn2_b64 s[10:11], s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], s[2:3], vcc
+// CHECK: [0x02,0x6a,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], s[2:3], exec
+// CHECK: [0x02,0x7e,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x8a]
+
+s_orn2_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x8a,0x56,0x34,0x12,0xaf]
+
+s_orn2_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x8a,0x73,0x72,0x71,0x3f]
+
+s_nand_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x8b]
+
+s_nand_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x8b]
+
+s_nand_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x8b]
+
+s_nand_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x8b]
+
+s_nand_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x8b]
+
+s_nand_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x8b]
+
+s_nand_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x8b]
+
+s_nand_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x8b]
+
+s_nand_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x8b]
+
+s_nand_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x8b]
+
+s_nand_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x8b]
+
+s_nand_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x8b]
+
+s_nand_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x8b]
+
+s_nand_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x8b]
+
+s_nand_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x8b]
+
+s_nand_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x8b]
+
+s_nand_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x8b]
+
+s_nand_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x8b]
+
+s_nand_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x8b]
+
+s_nand_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x8b]
+
+s_nand_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x8b]
+
+s_nand_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x8b,0x56,0x34,0x12,0xaf]
+
+s_nand_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x8b,0x73,0x72,0x71,0x3f]
+
+s_nand_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x8b]
+
+s_nand_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x8b]
+
+s_nand_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x8b]
+
+s_nand_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x8b]
+
+s_nand_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x8b]
+
+s_nand_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x8b]
+
+s_nand_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x8b]
+
+s_nand_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x8b]
+
+s_nand_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x8b]
+
+s_nand_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x8b]
+
+s_nand_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x8b]
+
+s_nand_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x8b]
+
+s_nand_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x8b,0x56,0x34,0x12,0xaf]
+
+s_nand_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x8b,0x73,0x72,0x71,0x3f]
+
+s_nand_b64 s[10:11], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8a,0x8b]
+
+s_nand_b64 s[12:13], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8c,0x8b]
+
+s_nand_b64 s[100:101], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe4,0x8b]
+
+s_nand_b64 flat_scratch, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe6,0x8b]
+
+s_nand_b64 vcc, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xea,0x8b]
+
+s_nand_b64 exec, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xfe,0x8b]
+
+s_nand_b64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x8a,0x8b]
+
+s_nand_b64 s[10:11], s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x8a,0x8b]
+
+s_nand_b64 s[10:11], flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x8a,0x8b]
+
+s_nand_b64 s[10:11], vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x8a,0x8b]
+
+s_nand_b64 s[10:11], exec, s[4:5]
+// CHECK: [0x7e,0x04,0x8a,0x8b]
+
+s_nand_b64 s[10:11], 0, s[4:5]
+// CHECK: [0x80,0x04,0x8a,0x8b]
+
+s_nand_b64 s[10:11], -1, s[4:5]
+// CHECK: [0xc1,0x04,0x8a,0x8b]
+
+s_nand_b64 s[10:11], 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x8a,0x8b]
+
+s_nand_b64 s[10:11], -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x8a,0x8b]
+
+s_nand_b64 s[10:11], 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x8b,0x56,0x34,0x12,0xaf]
+
+s_nand_b64 s[10:11], 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x8b,0x73,0x72,0x71,0x3f]
+
+s_nand_b64 s[10:11], s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x8a,0x8b]
+
+s_nand_b64 s[10:11], s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x8a,0x8b]
+
+s_nand_b64 s[10:11], s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x8a,0x8b]
+
+s_nand_b64 s[10:11], s[2:3], vcc
+// CHECK: [0x02,0x6a,0x8a,0x8b]
+
+s_nand_b64 s[10:11], s[2:3], exec
+// CHECK: [0x02,0x7e,0x8a,0x8b]
+
+s_nand_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x8b]
+
+s_nand_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x8b]
+
+s_nand_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x8b]
+
+s_nand_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x8b]
+
+s_nand_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x8b,0x56,0x34,0x12,0xaf]
+
+s_nand_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x8b,0x73,0x72,0x71,0x3f]
+
+s_nor_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x8c]
+
+s_nor_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x8c]
+
+s_nor_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x8c]
+
+s_nor_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x8c]
+
+s_nor_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x8c]
+
+s_nor_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x8c]
+
+s_nor_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x8c]
+
+s_nor_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x8c]
+
+s_nor_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x8c]
+
+s_nor_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x8c]
+
+s_nor_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x8c]
+
+s_nor_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x8c]
+
+s_nor_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x8c]
+
+s_nor_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x8c]
+
+s_nor_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x8c]
+
+s_nor_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x8c]
+
+s_nor_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x8c]
+
+s_nor_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x8c]
+
+s_nor_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x8c]
+
+s_nor_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x8c]
+
+s_nor_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x8c]
+
+s_nor_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x8c,0x56,0x34,0x12,0xaf]
+
+s_nor_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x8c,0x73,0x72,0x71,0x3f]
+
+s_nor_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x8c]
+
+s_nor_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x8c]
+
+s_nor_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x8c]
+
+s_nor_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x8c]
+
+s_nor_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x8c]
+
+s_nor_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x8c]
+
+s_nor_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x8c]
+
+s_nor_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x8c]
+
+s_nor_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x8c]
+
+s_nor_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x8c]
+
+s_nor_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x8c]
+
+s_nor_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x8c]
+
+s_nor_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x8c,0x56,0x34,0x12,0xaf]
+
+s_nor_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x8c,0x73,0x72,0x71,0x3f]
+
+s_nor_b64 s[10:11], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8a,0x8c]
+
+s_nor_b64 s[12:13], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8c,0x8c]
+
+s_nor_b64 s[100:101], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe4,0x8c]
+
+s_nor_b64 flat_scratch, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe6,0x8c]
+
+s_nor_b64 vcc, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xea,0x8c]
+
+s_nor_b64 exec, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xfe,0x8c]
+
+s_nor_b64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x8a,0x8c]
+
+s_nor_b64 s[10:11], s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x8a,0x8c]
+
+s_nor_b64 s[10:11], flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x8a,0x8c]
+
+s_nor_b64 s[10:11], vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x8a,0x8c]
+
+s_nor_b64 s[10:11], exec, s[4:5]
+// CHECK: [0x7e,0x04,0x8a,0x8c]
+
+s_nor_b64 s[10:11], 0, s[4:5]
+// CHECK: [0x80,0x04,0x8a,0x8c]
+
+s_nor_b64 s[10:11], -1, s[4:5]
+// CHECK: [0xc1,0x04,0x8a,0x8c]
+
+s_nor_b64 s[10:11], 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x8a,0x8c]
+
+s_nor_b64 s[10:11], -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x8a,0x8c]
+
+s_nor_b64 s[10:11], 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x8c,0x56,0x34,0x12,0xaf]
+
+s_nor_b64 s[10:11], 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x8c,0x73,0x72,0x71,0x3f]
+
+s_nor_b64 s[10:11], s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x8a,0x8c]
+
+s_nor_b64 s[10:11], s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x8a,0x8c]
+
+s_nor_b64 s[10:11], s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x8a,0x8c]
+
+s_nor_b64 s[10:11], s[2:3], vcc
+// CHECK: [0x02,0x6a,0x8a,0x8c]
+
+s_nor_b64 s[10:11], s[2:3], exec
+// CHECK: [0x02,0x7e,0x8a,0x8c]
+
+s_nor_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x8c]
+
+s_nor_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x8c]
+
+s_nor_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x8c]
+
+s_nor_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x8c]
+
+s_nor_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x8c,0x56,0x34,0x12,0xaf]
+
+s_nor_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x8c,0x73,0x72,0x71,0x3f]
+
+s_xnor_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x8d]
+
+s_xnor_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x8d]
+
+s_xnor_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x8d]
+
+s_xnor_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x8d]
+
+s_xnor_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x8d]
+
+s_xnor_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x8d]
+
+s_xnor_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x8d]
+
+s_xnor_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x8d]
+
+s_xnor_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x8d]
+
+s_xnor_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x8d]
+
+s_xnor_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x8d,0x56,0x34,0x12,0xaf]
+
+s_xnor_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x8d,0x73,0x72,0x71,0x3f]
+
+s_xnor_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x8d]
+
+s_xnor_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x8d]
+
+s_xnor_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x8d]
+
+s_xnor_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x8d]
+
+s_xnor_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x8d]
+
+s_xnor_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x8d]
+
+s_xnor_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x8d]
+
+s_xnor_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x8d]
+
+s_xnor_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x8d]
+
+s_xnor_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x8d]
+
+s_xnor_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x8d]
+
+s_xnor_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x8d]
+
+s_xnor_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x8d,0x56,0x34,0x12,0xaf]
+
+s_xnor_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x8d,0x73,0x72,0x71,0x3f]
+
+s_xnor_b64 s[10:11], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8a,0x8d]
+
+s_xnor_b64 s[12:13], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x8c,0x8d]
+
+s_xnor_b64 s[100:101], s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe4,0x8d]
+
+s_xnor_b64 flat_scratch, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xe6,0x8d]
+
+s_xnor_b64 vcc, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xea,0x8d]
+
+s_xnor_b64 exec, s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0xfe,0x8d]
+
+s_xnor_b64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], exec, s[4:5]
+// CHECK: [0x7e,0x04,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], 0, s[4:5]
+// CHECK: [0x80,0x04,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], -1, s[4:5]
+// CHECK: [0xc1,0x04,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x8d,0x56,0x34,0x12,0xaf]
+
+s_xnor_b64 s[10:11], 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x8a,0x8d,0x73,0x72,0x71,0x3f]
+
+s_xnor_b64 s[10:11], s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], s[2:3], vcc
+// CHECK: [0x02,0x6a,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], s[2:3], exec
+// CHECK: [0x02,0x7e,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x8d]
+
+s_xnor_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x8d,0x56,0x34,0x12,0xaf]
+
+s_xnor_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x8d,0x73,0x72,0x71,0x3f]
+
+s_lshl_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x8e]
+
+s_lshl_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x8e]
+
+s_lshl_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x8e]
+
+s_lshl_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x8e]
+
+s_lshl_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x8e]
+
+s_lshl_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x8e]
+
+s_lshl_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x8e]
+
+s_lshl_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x8e]
+
+s_lshl_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x8e]
+
+s_lshl_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x8e]
+
+s_lshl_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x8e,0x56,0x34,0x12,0xaf]
+
+s_lshl_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x8e,0x73,0x72,0x71,0x3f]
+
+s_lshl_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x8e]
+
+s_lshl_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x8e]
+
+s_lshl_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x8e]
+
+s_lshl_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x8e]
+
+s_lshl_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x8e]
+
+s_lshl_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x8e]
+
+s_lshl_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x8e]
+
+s_lshl_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x8e]
+
+s_lshl_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x8e]
+
+s_lshl_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x8e]
+
+s_lshl_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x8e]
+
+s_lshl_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x8e]
+
+s_lshl_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x8e,0x56,0x34,0x12,0xaf]
+
+s_lshl_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x8e,0x73,0x72,0x71,0x3f]
+
+s_lshl_b64 s[10:11], s[2:3], s2
+// CHECK: [0x02,0x02,0x8a,0x8e]
+
+s_lshl_b64 s[12:13], s[2:3], s2
+// CHECK: [0x02,0x02,0x8c,0x8e]
+
+s_lshl_b64 s[100:101], s[2:3], s2
+// CHECK: [0x02,0x02,0xe4,0x8e]
+
+s_lshl_b64 flat_scratch, s[2:3], s2
+// CHECK: [0x02,0x02,0xe6,0x8e]
+
+s_lshl_b64 vcc, s[2:3], s2
+// CHECK: [0x02,0x02,0xea,0x8e]
+
+s_lshl_b64 exec, s[2:3], s2
+// CHECK: [0x02,0x02,0xfe,0x8e]
+
+s_lshl_b64 s[10:11], s[4:5], s2
+// CHECK: [0x04,0x02,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[100:101], s2
+// CHECK: [0x64,0x02,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], flat_scratch, s2
+// CHECK: [0x66,0x02,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], vcc, s2
+// CHECK: [0x6a,0x02,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], exec, s2
+// CHECK: [0x7e,0x02,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], 0, s2
+// CHECK: [0x80,0x02,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], -1, s2
+// CHECK: [0xc1,0x02,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], 0.5, s2
+// CHECK: [0xf0,0x02,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], -4.0, s2
+// CHECK: [0xf7,0x02,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], 0xaf123456, s2
+// CHECK: [0xff,0x02,0x8a,0x8e,0x56,0x34,0x12,0xaf]
+
+s_lshl_b64 s[10:11], 0x3f717273, s2
+// CHECK: [0xff,0x02,0x8a,0x8e,0x73,0x72,0x71,0x3f]
+
+s_lshl_b64 s[10:11], s[2:3], s101
+// CHECK: [0x02,0x65,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], flat_scratch_lo
+// CHECK: [0x02,0x66,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], flat_scratch_hi
+// CHECK: [0x02,0x67,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], vcc_lo
+// CHECK: [0x02,0x6a,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], vcc_hi
+// CHECK: [0x02,0x6b,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], m0
+// CHECK: [0x02,0x7c,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], exec_lo
+// CHECK: [0x02,0x7e,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], exec_hi
+// CHECK: [0x02,0x7f,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x8e]
+
+s_lshl_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x8e,0x56,0x34,0x12,0xaf]
+
+s_lshl_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x8e,0x73,0x72,0x71,0x3f]
+
+s_lshr_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x8f]
+
+s_lshr_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x8f]
+
+s_lshr_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x8f]
+
+s_lshr_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x8f]
+
+s_lshr_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x8f]
+
+s_lshr_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x8f]
+
+s_lshr_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x8f]
+
+s_lshr_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x8f]
+
+s_lshr_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x8f]
+
+s_lshr_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x8f]
+
+s_lshr_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x8f,0x56,0x34,0x12,0xaf]
+
+s_lshr_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x8f,0x73,0x72,0x71,0x3f]
+
+s_lshr_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x8f]
+
+s_lshr_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x8f]
+
+s_lshr_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x8f]
+
+s_lshr_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x8f]
+
+s_lshr_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x8f]
+
+s_lshr_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x8f]
+
+s_lshr_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x8f]
+
+s_lshr_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x8f]
+
+s_lshr_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x8f]
+
+s_lshr_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x8f]
+
+s_lshr_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x8f]
+
+s_lshr_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x8f]
+
+s_lshr_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x8f,0x56,0x34,0x12,0xaf]
+
+s_lshr_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x8f,0x73,0x72,0x71,0x3f]
+
+s_lshr_b64 s[10:11], s[2:3], s2
+// CHECK: [0x02,0x02,0x8a,0x8f]
+
+s_lshr_b64 s[12:13], s[2:3], s2
+// CHECK: [0x02,0x02,0x8c,0x8f]
+
+s_lshr_b64 s[100:101], s[2:3], s2
+// CHECK: [0x02,0x02,0xe4,0x8f]
+
+s_lshr_b64 flat_scratch, s[2:3], s2
+// CHECK: [0x02,0x02,0xe6,0x8f]
+
+s_lshr_b64 vcc, s[2:3], s2
+// CHECK: [0x02,0x02,0xea,0x8f]
+
+s_lshr_b64 exec, s[2:3], s2
+// CHECK: [0x02,0x02,0xfe,0x8f]
+
+s_lshr_b64 s[10:11], s[4:5], s2
+// CHECK: [0x04,0x02,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[100:101], s2
+// CHECK: [0x64,0x02,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], flat_scratch, s2
+// CHECK: [0x66,0x02,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], vcc, s2
+// CHECK: [0x6a,0x02,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], exec, s2
+// CHECK: [0x7e,0x02,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], 0, s2
+// CHECK: [0x80,0x02,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], -1, s2
+// CHECK: [0xc1,0x02,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], 0.5, s2
+// CHECK: [0xf0,0x02,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], -4.0, s2
+// CHECK: [0xf7,0x02,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], 0xaf123456, s2
+// CHECK: [0xff,0x02,0x8a,0x8f,0x56,0x34,0x12,0xaf]
+
+s_lshr_b64 s[10:11], 0x3f717273, s2
+// CHECK: [0xff,0x02,0x8a,0x8f,0x73,0x72,0x71,0x3f]
+
+s_lshr_b64 s[10:11], s[2:3], s101
+// CHECK: [0x02,0x65,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], flat_scratch_lo
+// CHECK: [0x02,0x66,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], flat_scratch_hi
+// CHECK: [0x02,0x67,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], vcc_lo
+// CHECK: [0x02,0x6a,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], vcc_hi
+// CHECK: [0x02,0x6b,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], m0
+// CHECK: [0x02,0x7c,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], exec_lo
+// CHECK: [0x02,0x7e,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], exec_hi
+// CHECK: [0x02,0x7f,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x8f]
+
+s_lshr_b64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x8f,0x56,0x34,0x12,0xaf]
+
+s_lshr_b64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x8f,0x73,0x72,0x71,0x3f]
+
+s_ashr_i32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x90]
+
+s_ashr_i32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x90]
+
+s_ashr_i32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x90]
+
+s_ashr_i32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x90]
+
+s_ashr_i32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x90]
+
+s_ashr_i32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x90]
+
+s_ashr_i32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x90]
+
+s_ashr_i32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x90]
+
+s_ashr_i32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x90]
+
+s_ashr_i32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x90]
+
+s_ashr_i32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x90]
+
+s_ashr_i32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x90]
+
+s_ashr_i32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x90]
+
+s_ashr_i32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x90]
+
+s_ashr_i32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x90]
+
+s_ashr_i32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x90]
+
+s_ashr_i32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x90]
+
+s_ashr_i32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x90]
+
+s_ashr_i32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x90]
+
+s_ashr_i32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x90]
+
+s_ashr_i32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x90]
+
+s_ashr_i32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x90,0x56,0x34,0x12,0xaf]
+
+s_ashr_i32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x90,0x73,0x72,0x71,0x3f]
+
+s_ashr_i32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x90]
+
+s_ashr_i32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x90]
+
+s_ashr_i32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x90]
+
+s_ashr_i32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x90]
+
+s_ashr_i32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x90]
+
+s_ashr_i32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x90]
+
+s_ashr_i32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x90]
+
+s_ashr_i32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x90]
+
+s_ashr_i32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x90]
+
+s_ashr_i32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x90]
+
+s_ashr_i32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x90]
+
+s_ashr_i32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x90]
+
+s_ashr_i32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x90,0x56,0x34,0x12,0xaf]
+
+s_ashr_i32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x90,0x73,0x72,0x71,0x3f]
+
+s_ashr_i64 s[10:11], s[2:3], s2
+// CHECK: [0x02,0x02,0x8a,0x90]
+
+s_ashr_i64 s[12:13], s[2:3], s2
+// CHECK: [0x02,0x02,0x8c,0x90]
+
+s_ashr_i64 s[100:101], s[2:3], s2
+// CHECK: [0x02,0x02,0xe4,0x90]
+
+s_ashr_i64 flat_scratch, s[2:3], s2
+// CHECK: [0x02,0x02,0xe6,0x90]
+
+s_ashr_i64 vcc, s[2:3], s2
+// CHECK: [0x02,0x02,0xea,0x90]
+
+s_ashr_i64 exec, s[2:3], s2
+// CHECK: [0x02,0x02,0xfe,0x90]
+
+s_ashr_i64 s[10:11], s[4:5], s2
+// CHECK: [0x04,0x02,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[100:101], s2
+// CHECK: [0x64,0x02,0x8a,0x90]
+
+s_ashr_i64 s[10:11], flat_scratch, s2
+// CHECK: [0x66,0x02,0x8a,0x90]
+
+s_ashr_i64 s[10:11], vcc, s2
+// CHECK: [0x6a,0x02,0x8a,0x90]
+
+s_ashr_i64 s[10:11], exec, s2
+// CHECK: [0x7e,0x02,0x8a,0x90]
+
+s_ashr_i64 s[10:11], 0, s2
+// CHECK: [0x80,0x02,0x8a,0x90]
+
+s_ashr_i64 s[10:11], -1, s2
+// CHECK: [0xc1,0x02,0x8a,0x90]
+
+s_ashr_i64 s[10:11], 0.5, s2
+// CHECK: [0xf0,0x02,0x8a,0x90]
+
+s_ashr_i64 s[10:11], -4.0, s2
+// CHECK: [0xf7,0x02,0x8a,0x90]
+
+s_ashr_i64 s[10:11], 0xaf123456, s2
+// CHECK: [0xff,0x02,0x8a,0x90,0x56,0x34,0x12,0xaf]
+
+s_ashr_i64 s[10:11], 0x3f717273, s2
+// CHECK: [0xff,0x02,0x8a,0x90,0x73,0x72,0x71,0x3f]
+
+s_ashr_i64 s[10:11], s[2:3], s101
+// CHECK: [0x02,0x65,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], flat_scratch_lo
+// CHECK: [0x02,0x66,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], flat_scratch_hi
+// CHECK: [0x02,0x67,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], vcc_lo
+// CHECK: [0x02,0x6a,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], vcc_hi
+// CHECK: [0x02,0x6b,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], m0
+// CHECK: [0x02,0x7c,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], exec_lo
+// CHECK: [0x02,0x7e,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], exec_hi
+// CHECK: [0x02,0x7f,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x90]
+
+s_ashr_i64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x90,0x56,0x34,0x12,0xaf]
+
+s_ashr_i64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x90,0x73,0x72,0x71,0x3f]
+
+s_bfm_b32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x91]
+
+s_bfm_b32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x91]
+
+s_bfm_b32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x91]
+
+s_bfm_b32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x91]
+
+s_bfm_b32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x91]
+
+s_bfm_b32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x91]
+
+s_bfm_b32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x91]
+
+s_bfm_b32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x91]
+
+s_bfm_b32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x91]
+
+s_bfm_b32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x91]
+
+s_bfm_b32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x91]
+
+s_bfm_b32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x91]
+
+s_bfm_b32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x91]
+
+s_bfm_b32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x91]
+
+s_bfm_b32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x91]
+
+s_bfm_b32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x91]
+
+s_bfm_b32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x91]
+
+s_bfm_b32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x91]
+
+s_bfm_b32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x91]
+
+s_bfm_b32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x91]
+
+s_bfm_b32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x91]
+
+s_bfm_b32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x91,0x56,0x34,0x12,0xaf]
+
+s_bfm_b32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x91,0x73,0x72,0x71,0x3f]
+
+s_bfm_b32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x91]
+
+s_bfm_b32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x91]
+
+s_bfm_b32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x91]
+
+s_bfm_b32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x91]
+
+s_bfm_b32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x91]
+
+s_bfm_b32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x91]
+
+s_bfm_b32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x91]
+
+s_bfm_b32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x91]
+
+s_bfm_b32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x91]
+
+s_bfm_b32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x91]
+
+s_bfm_b32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x91]
+
+s_bfm_b32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x91]
+
+s_bfm_b32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x91,0x56,0x34,0x12,0xaf]
+
+s_bfm_b32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x91,0x73,0x72,0x71,0x3f]
+
+s_bfm_b64 s[10:11], s1, s2
+// CHECK: [0x01,0x02,0x8a,0x91]
+
+s_bfm_b64 s[12:13], s1, s2
+// CHECK: [0x01,0x02,0x8c,0x91]
+
+s_bfm_b64 s[100:101], s1, s2
+// CHECK: [0x01,0x02,0xe4,0x91]
+
+s_bfm_b64 flat_scratch, s1, s2
+// CHECK: [0x01,0x02,0xe6,0x91]
+
+s_bfm_b64 vcc, s1, s2
+// CHECK: [0x01,0x02,0xea,0x91]
+
+s_bfm_b64 exec, s1, s2
+// CHECK: [0x01,0x02,0xfe,0x91]
+
+s_bfm_b64 s[10:11], s101, s2
+// CHECK: [0x65,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], vcc_lo, s2
+// CHECK: [0x6a,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], vcc_hi, s2
+// CHECK: [0x6b,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], m0, s2
+// CHECK: [0x7c,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], exec_lo, s2
+// CHECK: [0x7e,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], exec_hi, s2
+// CHECK: [0x7f,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], 0, s2
+// CHECK: [0x80,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], -1, s2
+// CHECK: [0xc1,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], 0.5, s2
+// CHECK: [0xf0,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], -4.0, s2
+// CHECK: [0xf7,0x02,0x8a,0x91]
+
+s_bfm_b64 s[10:11], 0xaf123456, s2
+// CHECK: [0xff,0x02,0x8a,0x91,0x56,0x34,0x12,0xaf]
+
+s_bfm_b64 s[10:11], 0x3f717273, s2
+// CHECK: [0xff,0x02,0x8a,0x91,0x73,0x72,0x71,0x3f]
+
+s_bfm_b64 s[10:11], s1, s101
+// CHECK: [0x01,0x65,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, vcc_lo
+// CHECK: [0x01,0x6a,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, vcc_hi
+// CHECK: [0x01,0x6b,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, m0
+// CHECK: [0x01,0x7c,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, exec_lo
+// CHECK: [0x01,0x7e,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, exec_hi
+// CHECK: [0x01,0x7f,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, 0
+// CHECK: [0x01,0x80,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, -1
+// CHECK: [0x01,0xc1,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, 0.5
+// CHECK: [0x01,0xf0,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, -4.0
+// CHECK: [0x01,0xf7,0x8a,0x91]
+
+s_bfm_b64 s[10:11], s1, 0xaf123456
+// CHECK: [0x01,0xff,0x8a,0x91,0x56,0x34,0x12,0xaf]
+
+s_bfm_b64 s[10:11], s1, 0x3f717273
+// CHECK: [0x01,0xff,0x8a,0x91,0x73,0x72,0x71,0x3f]
+
+s_mul_i32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x92]
+
+s_mul_i32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x92]
+
+s_mul_i32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x92]
+
+s_mul_i32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x92]
+
+s_mul_i32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x92]
+
+s_mul_i32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x92]
+
+s_mul_i32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x92]
+
+s_mul_i32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x92]
+
+s_mul_i32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x92]
+
+s_mul_i32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x92]
+
+s_mul_i32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x92]
+
+s_mul_i32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x92]
+
+s_mul_i32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x92]
+
+s_mul_i32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x92]
+
+s_mul_i32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x92]
+
+s_mul_i32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x92]
+
+s_mul_i32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x92]
+
+s_mul_i32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x92]
+
+s_mul_i32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x92]
+
+s_mul_i32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x92]
+
+s_mul_i32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x92]
+
+s_mul_i32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x92,0x56,0x34,0x12,0xaf]
+
+s_mul_i32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x92,0x73,0x72,0x71,0x3f]
+
+s_mul_i32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x92]
+
+s_mul_i32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x92]
+
+s_mul_i32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x92]
+
+s_mul_i32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x92]
+
+s_mul_i32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x92]
+
+s_mul_i32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x92]
+
+s_mul_i32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x92]
+
+s_mul_i32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x92]
+
+s_mul_i32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x92]
+
+s_mul_i32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x92]
+
+s_mul_i32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x92]
+
+s_mul_i32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x92]
+
+s_mul_i32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x92,0x56,0x34,0x12,0xaf]
+
+s_mul_i32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x92,0x73,0x72,0x71,0x3f]
+
+s_bfe_u32 s5, s1, s2
+// CHECK: [0x01,0x02,0x85,0x92]
+
+s_bfe_u32 s101, s1, s2
+// CHECK: [0x01,0x02,0xe5,0x92]
+
+s_bfe_u32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0xe6,0x92]
+
+s_bfe_u32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0xe7,0x92]
+
+s_bfe_u32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0xea,0x92]
+
+s_bfe_u32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0xeb,0x92]
+
+s_bfe_u32 m0, s1, s2
+// CHECK: [0x01,0x02,0xfc,0x92]
+
+s_bfe_u32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0xfe,0x92]
+
+s_bfe_u32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0xff,0x92]
+
+s_bfe_u32 s5, s101, s2
+// CHECK: [0x65,0x02,0x85,0x92]
+
+s_bfe_u32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x85,0x92]
+
+s_bfe_u32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x85,0x92]
+
+s_bfe_u32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x85,0x92]
+
+s_bfe_u32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x85,0x92]
+
+s_bfe_u32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x85,0x92]
+
+s_bfe_u32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x85,0x92]
+
+s_bfe_u32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x85,0x92]
+
+s_bfe_u32 s5, 0, s2
+// CHECK: [0x80,0x02,0x85,0x92]
+
+s_bfe_u32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x85,0x92]
+
+s_bfe_u32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x85,0x92]
+
+s_bfe_u32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x85,0x92]
+
+s_bfe_u32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x85,0x92,0x56,0x34,0x12,0xaf]
+
+s_bfe_u32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x85,0x92,0x73,0x72,0x71,0x3f]
+
+s_bfe_u32 s5, s1, s101
+// CHECK: [0x01,0x65,0x85,0x92]
+
+s_bfe_u32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x85,0x92]
+
+s_bfe_u32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x85,0x92]
+
+s_bfe_u32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x85,0x92]
+
+s_bfe_u32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x85,0x92]
+
+s_bfe_u32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x85,0x92]
+
+s_bfe_u32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x85,0x92]
+
+s_bfe_u32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x85,0x92]
+
+s_bfe_u32 s5, s1, 0
+// CHECK: [0x01,0x80,0x85,0x92]
+
+s_bfe_u32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x85,0x92]
+
+s_bfe_u32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x85,0x92]
+
+s_bfe_u32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x85,0x92]
+
+s_bfe_u32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x85,0x92,0x56,0x34,0x12,0xaf]
+
+s_bfe_u32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x85,0x92,0x73,0x72,0x71,0x3f]
+
+s_bfe_i32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x93]
+
+s_bfe_i32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x93]
+
+s_bfe_i32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x93]
+
+s_bfe_i32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x93]
+
+s_bfe_i32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x93]
+
+s_bfe_i32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x93]
+
+s_bfe_i32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x93]
+
+s_bfe_i32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x93]
+
+s_bfe_i32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x93]
+
+s_bfe_i32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x93]
+
+s_bfe_i32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x93]
+
+s_bfe_i32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x93]
+
+s_bfe_i32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x93]
+
+s_bfe_i32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x93]
+
+s_bfe_i32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x93]
+
+s_bfe_i32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x93]
+
+s_bfe_i32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x93]
+
+s_bfe_i32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x93]
+
+s_bfe_i32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x93]
+
+s_bfe_i32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x93]
+
+s_bfe_i32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x93]
+
+s_bfe_i32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x93,0x56,0x34,0x12,0xaf]
+
+s_bfe_i32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x93,0x73,0x72,0x71,0x3f]
+
+s_bfe_i32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x93]
+
+s_bfe_i32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x93]
+
+s_bfe_i32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x93]
+
+s_bfe_i32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x93]
+
+s_bfe_i32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x93]
+
+s_bfe_i32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x93]
+
+s_bfe_i32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x93]
+
+s_bfe_i32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x93]
+
+s_bfe_i32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x93]
+
+s_bfe_i32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x93]
+
+s_bfe_i32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x93]
+
+s_bfe_i32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x93]
+
+s_bfe_i32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x93,0x56,0x34,0x12,0xaf]
+
+s_bfe_i32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x93,0x73,0x72,0x71,0x3f]
+
+s_bfe_u64 s[10:11], s[2:3], s2
+// CHECK: [0x02,0x02,0x8a,0x93]
+
+s_bfe_u64 s[12:13], s[2:3], s2
+// CHECK: [0x02,0x02,0x8c,0x93]
+
+s_bfe_u64 s[100:101], s[2:3], s2
+// CHECK: [0x02,0x02,0xe4,0x93]
+
+s_bfe_u64 flat_scratch, s[2:3], s2
+// CHECK: [0x02,0x02,0xe6,0x93]
+
+s_bfe_u64 vcc, s[2:3], s2
+// CHECK: [0x02,0x02,0xea,0x93]
+
+s_bfe_u64 exec, s[2:3], s2
+// CHECK: [0x02,0x02,0xfe,0x93]
+
+s_bfe_u64 s[10:11], s[4:5], s2
+// CHECK: [0x04,0x02,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[100:101], s2
+// CHECK: [0x64,0x02,0x8a,0x93]
+
+s_bfe_u64 s[10:11], flat_scratch, s2
+// CHECK: [0x66,0x02,0x8a,0x93]
+
+s_bfe_u64 s[10:11], vcc, s2
+// CHECK: [0x6a,0x02,0x8a,0x93]
+
+s_bfe_u64 s[10:11], exec, s2
+// CHECK: [0x7e,0x02,0x8a,0x93]
+
+s_bfe_u64 s[10:11], 0, s2
+// CHECK: [0x80,0x02,0x8a,0x93]
+
+s_bfe_u64 s[10:11], -1, s2
+// CHECK: [0xc1,0x02,0x8a,0x93]
+
+s_bfe_u64 s[10:11], 0.5, s2
+// CHECK: [0xf0,0x02,0x8a,0x93]
+
+s_bfe_u64 s[10:11], -4.0, s2
+// CHECK: [0xf7,0x02,0x8a,0x93]
+
+s_bfe_u64 s[10:11], 0xaf123456, s2
+// CHECK: [0xff,0x02,0x8a,0x93,0x56,0x34,0x12,0xaf]
+
+s_bfe_u64 s[10:11], 0x3f717273, s2
+// CHECK: [0xff,0x02,0x8a,0x93,0x73,0x72,0x71,0x3f]
+
+s_bfe_u64 s[10:11], s[2:3], s101
+// CHECK: [0x02,0x65,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], flat_scratch_lo
+// CHECK: [0x02,0x66,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], flat_scratch_hi
+// CHECK: [0x02,0x67,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], vcc_lo
+// CHECK: [0x02,0x6a,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], vcc_hi
+// CHECK: [0x02,0x6b,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], m0
+// CHECK: [0x02,0x7c,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], exec_lo
+// CHECK: [0x02,0x7e,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], exec_hi
+// CHECK: [0x02,0x7f,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x8a,0x93]
+
+s_bfe_u64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x8a,0x93,0x56,0x34,0x12,0xaf]
+
+s_bfe_u64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x8a,0x93,0x73,0x72,0x71,0x3f]
+
+s_bfe_i64 s[10:11], s[2:3], s2
+// CHECK: [0x02,0x02,0x0a,0x94]
+
+s_bfe_i64 s[12:13], s[2:3], s2
+// CHECK: [0x02,0x02,0x0c,0x94]
+
+s_bfe_i64 s[100:101], s[2:3], s2
+// CHECK: [0x02,0x02,0x64,0x94]
+
+s_bfe_i64 flat_scratch, s[2:3], s2
+// CHECK: [0x02,0x02,0x66,0x94]
+
+s_bfe_i64 vcc, s[2:3], s2
+// CHECK: [0x02,0x02,0x6a,0x94]
+
+s_bfe_i64 exec, s[2:3], s2
+// CHECK: [0x02,0x02,0x7e,0x94]
+
+s_bfe_i64 s[10:11], s[4:5], s2
+// CHECK: [0x04,0x02,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[100:101], s2
+// CHECK: [0x64,0x02,0x0a,0x94]
+
+s_bfe_i64 s[10:11], flat_scratch, s2
+// CHECK: [0x66,0x02,0x0a,0x94]
+
+s_bfe_i64 s[10:11], vcc, s2
+// CHECK: [0x6a,0x02,0x0a,0x94]
+
+s_bfe_i64 s[10:11], exec, s2
+// CHECK: [0x7e,0x02,0x0a,0x94]
+
+s_bfe_i64 s[10:11], 0, s2
+// CHECK: [0x80,0x02,0x0a,0x94]
+
+s_bfe_i64 s[10:11], -1, s2
+// CHECK: [0xc1,0x02,0x0a,0x94]
+
+s_bfe_i64 s[10:11], 0.5, s2
+// CHECK: [0xf0,0x02,0x0a,0x94]
+
+s_bfe_i64 s[10:11], -4.0, s2
+// CHECK: [0xf7,0x02,0x0a,0x94]
+
+s_bfe_i64 s[10:11], 0xaf123456, s2
+// CHECK: [0xff,0x02,0x0a,0x94,0x56,0x34,0x12,0xaf]
+
+s_bfe_i64 s[10:11], 0x3f717273, s2
+// CHECK: [0xff,0x02,0x0a,0x94,0x73,0x72,0x71,0x3f]
+
+s_bfe_i64 s[10:11], s[2:3], s101
+// CHECK: [0x02,0x65,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], flat_scratch_lo
+// CHECK: [0x02,0x66,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], flat_scratch_hi
+// CHECK: [0x02,0x67,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], vcc_lo
+// CHECK: [0x02,0x6a,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], vcc_hi
+// CHECK: [0x02,0x6b,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], m0
+// CHECK: [0x02,0x7c,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], exec_lo
+// CHECK: [0x02,0x7e,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], exec_hi
+// CHECK: [0x02,0x7f,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], 0
+// CHECK: [0x02,0x80,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], -1
+// CHECK: [0x02,0xc1,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x0a,0x94]
+
+s_bfe_i64 s[10:11], s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x0a,0x94,0x56,0x34,0x12,0xaf]
+
+s_bfe_i64 s[10:11], s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x0a,0x94,0x73,0x72,0x71,0x3f]
+
+s_cbranch_g_fork s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x80,0x94]
+
+s_cbranch_g_fork s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x80,0x94]
+
+s_cbranch_g_fork s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x80,0x94]
+
+s_cbranch_g_fork flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x80,0x94]
+
+s_cbranch_g_fork vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x80,0x94]
+
+s_cbranch_g_fork exec, s[4:5]
+// CHECK: [0x7e,0x04,0x80,0x94]
+
+s_cbranch_g_fork 0, s[4:5]
+// CHECK: [0x80,0x04,0x80,0x94]
+
+s_cbranch_g_fork -1, s[4:5]
+// CHECK: [0xc1,0x04,0x80,0x94]
+
+s_cbranch_g_fork 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x80,0x94]
+
+s_cbranch_g_fork -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], vcc
+// CHECK: [0x02,0x6a,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], exec
+// CHECK: [0x02,0x7e,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], 0
+// CHECK: [0x02,0x80,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], -1
+// CHECK: [0x02,0xc1,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x80,0x94]
+
+s_cbranch_g_fork s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x80,0x94]
+
+s_absdiff_i32 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x95]
+
+s_absdiff_i32 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x95]
+
+s_absdiff_i32 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x95]
+
+s_absdiff_i32 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x95]
+
+s_absdiff_i32 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x95]
+
+s_absdiff_i32 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x95]
+
+s_absdiff_i32 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x95]
+
+s_absdiff_i32 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x95]
+
+s_absdiff_i32 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x95]
+
+s_absdiff_i32 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x95]
+
+s_absdiff_i32 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x95,0x56,0x34,0x12,0xaf]
+
+s_absdiff_i32 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x95,0x73,0x72,0x71,0x3f]
+
+s_absdiff_i32 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x95]
+
+s_absdiff_i32 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x95]
+
+s_absdiff_i32 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x95]
+
+s_absdiff_i32 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x95]
+
+s_absdiff_i32 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x95]
+
+s_absdiff_i32 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x95]
+
+s_absdiff_i32 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x95]
+
+s_absdiff_i32 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x95]
+
+s_absdiff_i32 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x95]
+
+s_absdiff_i32 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x95]
+
+s_absdiff_i32 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x95]
+
+s_absdiff_i32 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x95]
+
+s_absdiff_i32 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x95,0x56,0x34,0x12,0xaf]
+
+s_absdiff_i32 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x95,0x73,0x72,0x71,0x3f]
+
+s_rfe_restore_b64 s[2:3], s2
+// CHECK: [0x02,0x02,0x80,0x95]
+
+s_rfe_restore_b64 s[4:5], s2
+// CHECK: [0x04,0x02,0x80,0x95]
+
+s_rfe_restore_b64 s[100:101], s2
+// CHECK: [0x64,0x02,0x80,0x95]
+
+s_rfe_restore_b64 flat_scratch, s2
+// CHECK: [0x66,0x02,0x80,0x95]
+
+s_rfe_restore_b64 vcc, s2
+// CHECK: [0x6a,0x02,0x80,0x95]
+
+s_rfe_restore_b64 exec, s2
+// CHECK: [0x7e,0x02,0x80,0x95]
+
+s_rfe_restore_b64 0, s2
+// CHECK: [0x80,0x02,0x80,0x95]
+
+s_rfe_restore_b64 -1, s2
+// CHECK: [0xc1,0x02,0x80,0x95]
+
+s_rfe_restore_b64 0.5, s2
+// CHECK: [0xf0,0x02,0x80,0x95]
+
+s_rfe_restore_b64 -4.0, s2
+// CHECK: [0xf7,0x02,0x80,0x95]
+
+s_rfe_restore_b64 0xaf123456, s2
+// CHECK: [0xff,0x02,0x80,0x95,0x56,0x34,0x12,0xaf]
+
+s_rfe_restore_b64 0x3f717273, s2
+// CHECK: [0xff,0x02,0x80,0x95,0x73,0x72,0x71,0x3f]
+
+s_rfe_restore_b64 s[2:3], s101
+// CHECK: [0x02,0x65,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], flat_scratch_lo
+// CHECK: [0x02,0x66,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], flat_scratch_hi
+// CHECK: [0x02,0x67,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], vcc_lo
+// CHECK: [0x02,0x6a,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], vcc_hi
+// CHECK: [0x02,0x6b,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], m0
+// CHECK: [0x02,0x7c,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], exec_lo
+// CHECK: [0x02,0x7e,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], exec_hi
+// CHECK: [0x02,0x7f,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], 0
+// CHECK: [0x02,0x80,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], -1
+// CHECK: [0x02,0xc1,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x80,0x95]
+
+s_rfe_restore_b64 s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x80,0x95,0x56,0x34,0x12,0xaf]
+
+s_rfe_restore_b64 s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x80,0x95,0x73,0x72,0x71,0x3f]
+
+s_pack_ll_b32_b16 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x99]
+
+s_pack_ll_b32_b16 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x99]
+
+s_pack_ll_b32_b16 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x99]
+
+s_pack_ll_b32_b16 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x99]
+
+s_pack_ll_b32_b16 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x99]
+
+s_pack_ll_b32_b16 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x99]
+
+s_pack_ll_b32_b16 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x99]
+
+s_pack_ll_b32_b16 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x99]
+
+s_pack_ll_b32_b16 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, 0xfe0b, s2
+// CHECK: [0xff,0x02,0x05,0x99,0x0b,0xfe,0x00,0x00]
+
+s_pack_ll_b32_b16 s5, 0x3456, s2
+// CHECK: [0xff,0x02,0x05,0x99,0x56,0x34,0x00,0x00]
+
+s_pack_ll_b32_b16 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x99]
+
+s_pack_ll_b32_b16 s5, s1, 0xfe0b
+// CHECK: [0x01,0xff,0x05,0x99,0x0b,0xfe,0x00,0x00]
+
+s_pack_ll_b32_b16 s5, s1, 0x3456
+// CHECK: [0x01,0xff,0x05,0x99,0x56,0x34,0x00,0x00]
+
+s_pack_lh_b32_b16 s5, s1, s2
+// CHECK: [0x01,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s101, s1, s2
+// CHECK: [0x01,0x02,0xe5,0x99]
+
+s_pack_lh_b32_b16 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0xe6,0x99]
+
+s_pack_lh_b32_b16 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0xe7,0x99]
+
+s_pack_lh_b32_b16 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0xea,0x99]
+
+s_pack_lh_b32_b16 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0xeb,0x99]
+
+s_pack_lh_b32_b16 m0, s1, s2
+// CHECK: [0x01,0x02,0xfc,0x99]
+
+s_pack_lh_b32_b16 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0xfe,0x99]
+
+s_pack_lh_b32_b16 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0xff,0x99]
+
+s_pack_lh_b32_b16 s5, s101, s2
+// CHECK: [0x65,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, m0, s2
+// CHECK: [0x7c,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, 0, s2
+// CHECK: [0x80,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, -1, s2
+// CHECK: [0xc1,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, 0xfe0b, s2
+// CHECK: [0xff,0x02,0x85,0x99,0x0b,0xfe,0x00,0x00]
+
+s_pack_lh_b32_b16 s5, 0x3456, s2
+// CHECK: [0xff,0x02,0x85,0x99,0x56,0x34,0x00,0x00]
+
+s_pack_lh_b32_b16 s5, s1, s101
+// CHECK: [0x01,0x65,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, m0
+// CHECK: [0x01,0x7c,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, 0
+// CHECK: [0x01,0x80,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, -1
+// CHECK: [0x01,0xc1,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x85,0x99]
+
+s_pack_lh_b32_b16 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x85,0x99,0x56,0x34,0x12,0xaf]
+
+s_pack_lh_b32_b16 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x85,0x99,0x73,0x72,0x71,0x3f]
+
+s_pack_hh_b32_b16 s5, s1, s2
+// CHECK: [0x01,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s101, s1, s2
+// CHECK: [0x01,0x02,0x65,0x9a]
+
+s_pack_hh_b32_b16 flat_scratch_lo, s1, s2
+// CHECK: [0x01,0x02,0x66,0x9a]
+
+s_pack_hh_b32_b16 flat_scratch_hi, s1, s2
+// CHECK: [0x01,0x02,0x67,0x9a]
+
+s_pack_hh_b32_b16 vcc_lo, s1, s2
+// CHECK: [0x01,0x02,0x6a,0x9a]
+
+s_pack_hh_b32_b16 vcc_hi, s1, s2
+// CHECK: [0x01,0x02,0x6b,0x9a]
+
+s_pack_hh_b32_b16 m0, s1, s2
+// CHECK: [0x01,0x02,0x7c,0x9a]
+
+s_pack_hh_b32_b16 exec_lo, s1, s2
+// CHECK: [0x01,0x02,0x7e,0x9a]
+
+s_pack_hh_b32_b16 exec_hi, s1, s2
+// CHECK: [0x01,0x02,0x7f,0x9a]
+
+s_pack_hh_b32_b16 s5, s101, s2
+// CHECK: [0x65,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, m0, s2
+// CHECK: [0x7c,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, 0, s2
+// CHECK: [0x80,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, -1, s2
+// CHECK: [0xc1,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0x9a,0x56,0x34,0x12,0xaf]
+
+s_pack_hh_b32_b16 s5, 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0x9a,0x73,0x72,0x71,0x3f]
+
+s_pack_hh_b32_b16 s5, s1, s101
+// CHECK: [0x01,0x65,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, m0
+// CHECK: [0x01,0x7c,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, 0
+// CHECK: [0x01,0x80,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, -1
+// CHECK: [0x01,0xc1,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0x9a]
+
+s_pack_hh_b32_b16 s5, s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0x9a,0x56,0x34,0x12,0xaf]
+
+s_pack_hh_b32_b16 s5, s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0x9a,0x73,0x72,0x71,0x3f]
+
+s_cmp_eq_i32 s1, s2
+// CHECK: [0x01,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 s101, s2
+// CHECK: [0x65,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 m0, s2
+// CHECK: [0x7c,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 0, s2
+// CHECK: [0x80,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 -1, s2
+// CHECK: [0xc1,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 0.5, s2
+// CHECK: [0xf0,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 -4.0, s2
+// CHECK: [0xf7,0x02,0x00,0xbf]
+
+s_cmp_eq_i32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x00,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_eq_i32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x00,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_eq_i32 s1, s101
+// CHECK: [0x01,0x65,0x00,0xbf]
+
+s_cmp_eq_i32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x00,0xbf]
+
+s_cmp_eq_i32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x00,0xbf]
+
+s_cmp_eq_i32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x00,0xbf]
+
+s_cmp_eq_i32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x00,0xbf]
+
+s_cmp_eq_i32 s1, m0
+// CHECK: [0x01,0x7c,0x00,0xbf]
+
+s_cmp_eq_i32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x00,0xbf]
+
+s_cmp_eq_i32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x00,0xbf]
+
+s_cmp_eq_i32 s1, 0
+// CHECK: [0x01,0x80,0x00,0xbf]
+
+s_cmp_eq_i32 s1, -1
+// CHECK: [0x01,0xc1,0x00,0xbf]
+
+s_cmp_eq_i32 s1, 0.5
+// CHECK: [0x01,0xf0,0x00,0xbf]
+
+s_cmp_eq_i32 s1, -4.0
+// CHECK: [0x01,0xf7,0x00,0xbf]
+
+s_cmp_eq_i32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x00,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_eq_i32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x00,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_lg_i32 s1, s2
+// CHECK: [0x01,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 s101, s2
+// CHECK: [0x65,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 m0, s2
+// CHECK: [0x7c,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 0, s2
+// CHECK: [0x80,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 -1, s2
+// CHECK: [0xc1,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 0.5, s2
+// CHECK: [0xf0,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 -4.0, s2
+// CHECK: [0xf7,0x02,0x01,0xbf]
+
+s_cmp_lg_i32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x01,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_lg_i32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x01,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_lg_i32 s1, s101
+// CHECK: [0x01,0x65,0x01,0xbf]
+
+s_cmp_lg_i32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x01,0xbf]
+
+s_cmp_lg_i32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x01,0xbf]
+
+s_cmp_lg_i32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x01,0xbf]
+
+s_cmp_lg_i32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x01,0xbf]
+
+s_cmp_lg_i32 s1, m0
+// CHECK: [0x01,0x7c,0x01,0xbf]
+
+s_cmp_lg_i32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x01,0xbf]
+
+s_cmp_lg_i32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x01,0xbf]
+
+s_cmp_lg_i32 s1, 0
+// CHECK: [0x01,0x80,0x01,0xbf]
+
+s_cmp_lg_i32 s1, -1
+// CHECK: [0x01,0xc1,0x01,0xbf]
+
+s_cmp_lg_i32 s1, 0.5
+// CHECK: [0x01,0xf0,0x01,0xbf]
+
+s_cmp_lg_i32 s1, -4.0
+// CHECK: [0x01,0xf7,0x01,0xbf]
+
+s_cmp_lg_i32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x01,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_lg_i32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x01,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_gt_i32 s1, s2
+// CHECK: [0x01,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 s101, s2
+// CHECK: [0x65,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 m0, s2
+// CHECK: [0x7c,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 0, s2
+// CHECK: [0x80,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 -1, s2
+// CHECK: [0xc1,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 0.5, s2
+// CHECK: [0xf0,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 -4.0, s2
+// CHECK: [0xf7,0x02,0x02,0xbf]
+
+s_cmp_gt_i32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x02,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_gt_i32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x02,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_gt_i32 s1, s101
+// CHECK: [0x01,0x65,0x02,0xbf]
+
+s_cmp_gt_i32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x02,0xbf]
+
+s_cmp_gt_i32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x02,0xbf]
+
+s_cmp_gt_i32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x02,0xbf]
+
+s_cmp_gt_i32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x02,0xbf]
+
+s_cmp_gt_i32 s1, m0
+// CHECK: [0x01,0x7c,0x02,0xbf]
+
+s_cmp_gt_i32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x02,0xbf]
+
+s_cmp_gt_i32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x02,0xbf]
+
+s_cmp_gt_i32 s1, 0
+// CHECK: [0x01,0x80,0x02,0xbf]
+
+s_cmp_gt_i32 s1, -1
+// CHECK: [0x01,0xc1,0x02,0xbf]
+
+s_cmp_gt_i32 s1, 0.5
+// CHECK: [0x01,0xf0,0x02,0xbf]
+
+s_cmp_gt_i32 s1, -4.0
+// CHECK: [0x01,0xf7,0x02,0xbf]
+
+s_cmp_gt_i32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x02,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_gt_i32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x02,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_ge_i32 s1, s2
+// CHECK: [0x01,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 s101, s2
+// CHECK: [0x65,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 m0, s2
+// CHECK: [0x7c,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 0, s2
+// CHECK: [0x80,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 -1, s2
+// CHECK: [0xc1,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 0.5, s2
+// CHECK: [0xf0,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 -4.0, s2
+// CHECK: [0xf7,0x02,0x03,0xbf]
+
+s_cmp_ge_i32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x03,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_ge_i32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x03,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_ge_i32 s1, s101
+// CHECK: [0x01,0x65,0x03,0xbf]
+
+s_cmp_ge_i32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x03,0xbf]
+
+s_cmp_ge_i32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x03,0xbf]
+
+s_cmp_ge_i32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x03,0xbf]
+
+s_cmp_ge_i32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x03,0xbf]
+
+s_cmp_ge_i32 s1, m0
+// CHECK: [0x01,0x7c,0x03,0xbf]
+
+s_cmp_ge_i32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x03,0xbf]
+
+s_cmp_ge_i32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x03,0xbf]
+
+s_cmp_ge_i32 s1, 0
+// CHECK: [0x01,0x80,0x03,0xbf]
+
+s_cmp_ge_i32 s1, -1
+// CHECK: [0x01,0xc1,0x03,0xbf]
+
+s_cmp_ge_i32 s1, 0.5
+// CHECK: [0x01,0xf0,0x03,0xbf]
+
+s_cmp_ge_i32 s1, -4.0
+// CHECK: [0x01,0xf7,0x03,0xbf]
+
+s_cmp_ge_i32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x03,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_ge_i32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x03,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_lt_i32 s1, s2
+// CHECK: [0x01,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 s101, s2
+// CHECK: [0x65,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 m0, s2
+// CHECK: [0x7c,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 0, s2
+// CHECK: [0x80,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 -1, s2
+// CHECK: [0xc1,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 0.5, s2
+// CHECK: [0xf0,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 -4.0, s2
+// CHECK: [0xf7,0x02,0x04,0xbf]
+
+s_cmp_lt_i32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x04,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_lt_i32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x04,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_lt_i32 s1, s101
+// CHECK: [0x01,0x65,0x04,0xbf]
+
+s_cmp_lt_i32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x04,0xbf]
+
+s_cmp_lt_i32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x04,0xbf]
+
+s_cmp_lt_i32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x04,0xbf]
+
+s_cmp_lt_i32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x04,0xbf]
+
+s_cmp_lt_i32 s1, m0
+// CHECK: [0x01,0x7c,0x04,0xbf]
+
+s_cmp_lt_i32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x04,0xbf]
+
+s_cmp_lt_i32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x04,0xbf]
+
+s_cmp_lt_i32 s1, 0
+// CHECK: [0x01,0x80,0x04,0xbf]
+
+s_cmp_lt_i32 s1, -1
+// CHECK: [0x01,0xc1,0x04,0xbf]
+
+s_cmp_lt_i32 s1, 0.5
+// CHECK: [0x01,0xf0,0x04,0xbf]
+
+s_cmp_lt_i32 s1, -4.0
+// CHECK: [0x01,0xf7,0x04,0xbf]
+
+s_cmp_lt_i32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x04,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_lt_i32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x04,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_le_i32 s1, s2
+// CHECK: [0x01,0x02,0x05,0xbf]
+
+s_cmp_le_i32 s101, s2
+// CHECK: [0x65,0x02,0x05,0xbf]
+
+s_cmp_le_i32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x05,0xbf]
+
+s_cmp_le_i32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x05,0xbf]
+
+s_cmp_le_i32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x05,0xbf]
+
+s_cmp_le_i32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x05,0xbf]
+
+s_cmp_le_i32 m0, s2
+// CHECK: [0x7c,0x02,0x05,0xbf]
+
+s_cmp_le_i32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x05,0xbf]
+
+s_cmp_le_i32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x05,0xbf]
+
+s_cmp_le_i32 0, s2
+// CHECK: [0x80,0x02,0x05,0xbf]
+
+s_cmp_le_i32 -1, s2
+// CHECK: [0xc1,0x02,0x05,0xbf]
+
+s_cmp_le_i32 0.5, s2
+// CHECK: [0xf0,0x02,0x05,0xbf]
+
+s_cmp_le_i32 -4.0, s2
+// CHECK: [0xf7,0x02,0x05,0xbf]
+
+s_cmp_le_i32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x05,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_le_i32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x05,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_le_i32 s1, s101
+// CHECK: [0x01,0x65,0x05,0xbf]
+
+s_cmp_le_i32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x05,0xbf]
+
+s_cmp_le_i32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x05,0xbf]
+
+s_cmp_le_i32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x05,0xbf]
+
+s_cmp_le_i32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x05,0xbf]
+
+s_cmp_le_i32 s1, m0
+// CHECK: [0x01,0x7c,0x05,0xbf]
+
+s_cmp_le_i32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x05,0xbf]
+
+s_cmp_le_i32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x05,0xbf]
+
+s_cmp_le_i32 s1, 0
+// CHECK: [0x01,0x80,0x05,0xbf]
+
+s_cmp_le_i32 s1, -1
+// CHECK: [0x01,0xc1,0x05,0xbf]
+
+s_cmp_le_i32 s1, 0.5
+// CHECK: [0x01,0xf0,0x05,0xbf]
+
+s_cmp_le_i32 s1, -4.0
+// CHECK: [0x01,0xf7,0x05,0xbf]
+
+s_cmp_le_i32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x05,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_le_i32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x05,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_eq_u32 s1, s2
+// CHECK: [0x01,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 s101, s2
+// CHECK: [0x65,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 m0, s2
+// CHECK: [0x7c,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 0, s2
+// CHECK: [0x80,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 -1, s2
+// CHECK: [0xc1,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 0.5, s2
+// CHECK: [0xf0,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 -4.0, s2
+// CHECK: [0xf7,0x02,0x06,0xbf]
+
+s_cmp_eq_u32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x06,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_eq_u32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x06,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_eq_u32 s1, s101
+// CHECK: [0x01,0x65,0x06,0xbf]
+
+s_cmp_eq_u32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x06,0xbf]
+
+s_cmp_eq_u32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x06,0xbf]
+
+s_cmp_eq_u32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x06,0xbf]
+
+s_cmp_eq_u32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x06,0xbf]
+
+s_cmp_eq_u32 s1, m0
+// CHECK: [0x01,0x7c,0x06,0xbf]
+
+s_cmp_eq_u32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x06,0xbf]
+
+s_cmp_eq_u32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x06,0xbf]
+
+s_cmp_eq_u32 s1, 0
+// CHECK: [0x01,0x80,0x06,0xbf]
+
+s_cmp_eq_u32 s1, -1
+// CHECK: [0x01,0xc1,0x06,0xbf]
+
+s_cmp_eq_u32 s1, 0.5
+// CHECK: [0x01,0xf0,0x06,0xbf]
+
+s_cmp_eq_u32 s1, -4.0
+// CHECK: [0x01,0xf7,0x06,0xbf]
+
+s_cmp_eq_u32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x06,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_eq_u32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x06,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_lg_u32 s1, s2
+// CHECK: [0x01,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 s101, s2
+// CHECK: [0x65,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 m0, s2
+// CHECK: [0x7c,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 0, s2
+// CHECK: [0x80,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 -1, s2
+// CHECK: [0xc1,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 0.5, s2
+// CHECK: [0xf0,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 -4.0, s2
+// CHECK: [0xf7,0x02,0x07,0xbf]
+
+s_cmp_lg_u32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x07,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_lg_u32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x07,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_lg_u32 s1, s101
+// CHECK: [0x01,0x65,0x07,0xbf]
+
+s_cmp_lg_u32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x07,0xbf]
+
+s_cmp_lg_u32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x07,0xbf]
+
+s_cmp_lg_u32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x07,0xbf]
+
+s_cmp_lg_u32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x07,0xbf]
+
+s_cmp_lg_u32 s1, m0
+// CHECK: [0x01,0x7c,0x07,0xbf]
+
+s_cmp_lg_u32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x07,0xbf]
+
+s_cmp_lg_u32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x07,0xbf]
+
+s_cmp_lg_u32 s1, 0
+// CHECK: [0x01,0x80,0x07,0xbf]
+
+s_cmp_lg_u32 s1, -1
+// CHECK: [0x01,0xc1,0x07,0xbf]
+
+s_cmp_lg_u32 s1, 0.5
+// CHECK: [0x01,0xf0,0x07,0xbf]
+
+s_cmp_lg_u32 s1, -4.0
+// CHECK: [0x01,0xf7,0x07,0xbf]
+
+s_cmp_lg_u32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x07,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_lg_u32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x07,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_gt_u32 s1, s2
+// CHECK: [0x01,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 s101, s2
+// CHECK: [0x65,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 m0, s2
+// CHECK: [0x7c,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 0, s2
+// CHECK: [0x80,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 -1, s2
+// CHECK: [0xc1,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 0.5, s2
+// CHECK: [0xf0,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 -4.0, s2
+// CHECK: [0xf7,0x02,0x08,0xbf]
+
+s_cmp_gt_u32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x08,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_gt_u32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x08,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_gt_u32 s1, s101
+// CHECK: [0x01,0x65,0x08,0xbf]
+
+s_cmp_gt_u32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x08,0xbf]
+
+s_cmp_gt_u32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x08,0xbf]
+
+s_cmp_gt_u32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x08,0xbf]
+
+s_cmp_gt_u32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x08,0xbf]
+
+s_cmp_gt_u32 s1, m0
+// CHECK: [0x01,0x7c,0x08,0xbf]
+
+s_cmp_gt_u32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x08,0xbf]
+
+s_cmp_gt_u32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x08,0xbf]
+
+s_cmp_gt_u32 s1, 0
+// CHECK: [0x01,0x80,0x08,0xbf]
+
+s_cmp_gt_u32 s1, -1
+// CHECK: [0x01,0xc1,0x08,0xbf]
+
+s_cmp_gt_u32 s1, 0.5
+// CHECK: [0x01,0xf0,0x08,0xbf]
+
+s_cmp_gt_u32 s1, -4.0
+// CHECK: [0x01,0xf7,0x08,0xbf]
+
+s_cmp_gt_u32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x08,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_gt_u32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x08,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_ge_u32 s1, s2
+// CHECK: [0x01,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 s101, s2
+// CHECK: [0x65,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 m0, s2
+// CHECK: [0x7c,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 0, s2
+// CHECK: [0x80,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 -1, s2
+// CHECK: [0xc1,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 0.5, s2
+// CHECK: [0xf0,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 -4.0, s2
+// CHECK: [0xf7,0x02,0x09,0xbf]
+
+s_cmp_ge_u32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x09,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_ge_u32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x09,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_ge_u32 s1, s101
+// CHECK: [0x01,0x65,0x09,0xbf]
+
+s_cmp_ge_u32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x09,0xbf]
+
+s_cmp_ge_u32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x09,0xbf]
+
+s_cmp_ge_u32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x09,0xbf]
+
+s_cmp_ge_u32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x09,0xbf]
+
+s_cmp_ge_u32 s1, m0
+// CHECK: [0x01,0x7c,0x09,0xbf]
+
+s_cmp_ge_u32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x09,0xbf]
+
+s_cmp_ge_u32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x09,0xbf]
+
+s_cmp_ge_u32 s1, 0
+// CHECK: [0x01,0x80,0x09,0xbf]
+
+s_cmp_ge_u32 s1, -1
+// CHECK: [0x01,0xc1,0x09,0xbf]
+
+s_cmp_ge_u32 s1, 0.5
+// CHECK: [0x01,0xf0,0x09,0xbf]
+
+s_cmp_ge_u32 s1, -4.0
+// CHECK: [0x01,0xf7,0x09,0xbf]
+
+s_cmp_ge_u32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x09,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_ge_u32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x09,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_lt_u32 s1, s2
+// CHECK: [0x01,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 s101, s2
+// CHECK: [0x65,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 m0, s2
+// CHECK: [0x7c,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 0, s2
+// CHECK: [0x80,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 -1, s2
+// CHECK: [0xc1,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 0.5, s2
+// CHECK: [0xf0,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 -4.0, s2
+// CHECK: [0xf7,0x02,0x0a,0xbf]
+
+s_cmp_lt_u32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x0a,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_lt_u32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x0a,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_lt_u32 s1, s101
+// CHECK: [0x01,0x65,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, m0
+// CHECK: [0x01,0x7c,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, 0
+// CHECK: [0x01,0x80,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, -1
+// CHECK: [0x01,0xc1,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, 0.5
+// CHECK: [0x01,0xf0,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, -4.0
+// CHECK: [0x01,0xf7,0x0a,0xbf]
+
+s_cmp_lt_u32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x0a,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_lt_u32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x0a,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_le_u32 s1, s2
+// CHECK: [0x01,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 s101, s2
+// CHECK: [0x65,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 m0, s2
+// CHECK: [0x7c,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 0, s2
+// CHECK: [0x80,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 -1, s2
+// CHECK: [0xc1,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 0.5, s2
+// CHECK: [0xf0,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 -4.0, s2
+// CHECK: [0xf7,0x02,0x0b,0xbf]
+
+s_cmp_le_u32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x0b,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_le_u32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x0b,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_le_u32 s1, s101
+// CHECK: [0x01,0x65,0x0b,0xbf]
+
+s_cmp_le_u32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x0b,0xbf]
+
+s_cmp_le_u32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x0b,0xbf]
+
+s_cmp_le_u32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x0b,0xbf]
+
+s_cmp_le_u32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x0b,0xbf]
+
+s_cmp_le_u32 s1, m0
+// CHECK: [0x01,0x7c,0x0b,0xbf]
+
+s_cmp_le_u32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x0b,0xbf]
+
+s_cmp_le_u32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x0b,0xbf]
+
+s_cmp_le_u32 s1, 0
+// CHECK: [0x01,0x80,0x0b,0xbf]
+
+s_cmp_le_u32 s1, -1
+// CHECK: [0x01,0xc1,0x0b,0xbf]
+
+s_cmp_le_u32 s1, 0.5
+// CHECK: [0x01,0xf0,0x0b,0xbf]
+
+s_cmp_le_u32 s1, -4.0
+// CHECK: [0x01,0xf7,0x0b,0xbf]
+
+s_cmp_le_u32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x0b,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_le_u32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x0b,0xbf,0x73,0x72,0x71,0x3f]
+
+s_bitcmp0_b32 s1, s2
+// CHECK: [0x01,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 s101, s2
+// CHECK: [0x65,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 m0, s2
+// CHECK: [0x7c,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 0, s2
+// CHECK: [0x80,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 -1, s2
+// CHECK: [0xc1,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 0.5, s2
+// CHECK: [0xf0,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 -4.0, s2
+// CHECK: [0xf7,0x02,0x0c,0xbf]
+
+s_bitcmp0_b32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x0c,0xbf,0x56,0x34,0x12,0xaf]
+
+s_bitcmp0_b32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x0c,0xbf,0x73,0x72,0x71,0x3f]
+
+s_bitcmp0_b32 s1, s101
+// CHECK: [0x01,0x65,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, m0
+// CHECK: [0x01,0x7c,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, 0
+// CHECK: [0x01,0x80,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, -1
+// CHECK: [0x01,0xc1,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, 0.5
+// CHECK: [0x01,0xf0,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, -4.0
+// CHECK: [0x01,0xf7,0x0c,0xbf]
+
+s_bitcmp0_b32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x0c,0xbf,0x56,0x34,0x12,0xaf]
+
+s_bitcmp0_b32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x0c,0xbf,0x73,0x72,0x71,0x3f]
+
+s_bitcmp1_b32 s1, s2
+// CHECK: [0x01,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 s101, s2
+// CHECK: [0x65,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 vcc_lo, s2
+// CHECK: [0x6a,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 vcc_hi, s2
+// CHECK: [0x6b,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 m0, s2
+// CHECK: [0x7c,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 exec_lo, s2
+// CHECK: [0x7e,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 exec_hi, s2
+// CHECK: [0x7f,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 0, s2
+// CHECK: [0x80,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 -1, s2
+// CHECK: [0xc1,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 0.5, s2
+// CHECK: [0xf0,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 -4.0, s2
+// CHECK: [0xf7,0x02,0x0d,0xbf]
+
+s_bitcmp1_b32 0xaf123456, s2
+// CHECK: [0xff,0x02,0x0d,0xbf,0x56,0x34,0x12,0xaf]
+
+s_bitcmp1_b32 0x3f717273, s2
+// CHECK: [0xff,0x02,0x0d,0xbf,0x73,0x72,0x71,0x3f]
+
+s_bitcmp1_b32 s1, s101
+// CHECK: [0x01,0x65,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, vcc_lo
+// CHECK: [0x01,0x6a,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, vcc_hi
+// CHECK: [0x01,0x6b,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, m0
+// CHECK: [0x01,0x7c,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, exec_lo
+// CHECK: [0x01,0x7e,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, exec_hi
+// CHECK: [0x01,0x7f,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, 0
+// CHECK: [0x01,0x80,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, -1
+// CHECK: [0x01,0xc1,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, 0.5
+// CHECK: [0x01,0xf0,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, -4.0
+// CHECK: [0x01,0xf7,0x0d,0xbf]
+
+s_bitcmp1_b32 s1, 0xaf123456
+// CHECK: [0x01,0xff,0x0d,0xbf,0x56,0x34,0x12,0xaf]
+
+s_bitcmp1_b32 s1, 0x3f717273
+// CHECK: [0x01,0xff,0x0d,0xbf,0x73,0x72,0x71,0x3f]
+
+s_bitcmp0_b64 s[2:3], s2
+// CHECK: [0x02,0x02,0x0e,0xbf]
+
+s_bitcmp0_b64 s[4:5], s2
+// CHECK: [0x04,0x02,0x0e,0xbf]
+
+s_bitcmp0_b64 s[100:101], s2
+// CHECK: [0x64,0x02,0x0e,0xbf]
+
+s_bitcmp0_b64 flat_scratch, s2
+// CHECK: [0x66,0x02,0x0e,0xbf]
+
+s_bitcmp0_b64 vcc, s2
+// CHECK: [0x6a,0x02,0x0e,0xbf]
+
+s_bitcmp0_b64 exec, s2
+// CHECK: [0x7e,0x02,0x0e,0xbf]
+
+s_bitcmp0_b64 0, s2
+// CHECK: [0x80,0x02,0x0e,0xbf]
+
+s_bitcmp0_b64 -1, s2
+// CHECK: [0xc1,0x02,0x0e,0xbf]
+
+s_bitcmp0_b64 0.5, s2
+// CHECK: [0xf0,0x02,0x0e,0xbf]
+
+s_bitcmp0_b64 -4.0, s2
+// CHECK: [0xf7,0x02,0x0e,0xbf]
+
+s_bitcmp0_b64 0xaf123456, s2
+// CHECK: [0xff,0x02,0x0e,0xbf,0x56,0x34,0x12,0xaf]
+
+s_bitcmp0_b64 0x3f717273, s2
+// CHECK: [0xff,0x02,0x0e,0xbf,0x73,0x72,0x71,0x3f]
+
+s_bitcmp0_b64 s[2:3], s101
+// CHECK: [0x02,0x65,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], flat_scratch_lo
+// CHECK: [0x02,0x66,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], flat_scratch_hi
+// CHECK: [0x02,0x67,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], vcc_lo
+// CHECK: [0x02,0x6a,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], vcc_hi
+// CHECK: [0x02,0x6b,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], m0
+// CHECK: [0x02,0x7c,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], exec_lo
+// CHECK: [0x02,0x7e,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], exec_hi
+// CHECK: [0x02,0x7f,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], 0
+// CHECK: [0x02,0x80,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], -1
+// CHECK: [0x02,0xc1,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x0e,0xbf]
+
+s_bitcmp0_b64 s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x0e,0xbf,0x56,0x34,0x12,0xaf]
+
+s_bitcmp0_b64 s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x0e,0xbf,0x73,0x72,0x71,0x3f]
+
+s_bitcmp1_b64 s[2:3], s2
+// CHECK: [0x02,0x02,0x0f,0xbf]
+
+s_bitcmp1_b64 s[4:5], s2
+// CHECK: [0x04,0x02,0x0f,0xbf]
+
+s_bitcmp1_b64 s[100:101], s2
+// CHECK: [0x64,0x02,0x0f,0xbf]
+
+s_bitcmp1_b64 flat_scratch, s2
+// CHECK: [0x66,0x02,0x0f,0xbf]
+
+s_bitcmp1_b64 vcc, s2
+// CHECK: [0x6a,0x02,0x0f,0xbf]
+
+s_bitcmp1_b64 exec, s2
+// CHECK: [0x7e,0x02,0x0f,0xbf]
+
+s_bitcmp1_b64 0, s2
+// CHECK: [0x80,0x02,0x0f,0xbf]
+
+s_bitcmp1_b64 -1, s2
+// CHECK: [0xc1,0x02,0x0f,0xbf]
+
+s_bitcmp1_b64 0.5, s2
+// CHECK: [0xf0,0x02,0x0f,0xbf]
+
+s_bitcmp1_b64 -4.0, s2
+// CHECK: [0xf7,0x02,0x0f,0xbf]
+
+s_bitcmp1_b64 0xaf123456, s2
+// CHECK: [0xff,0x02,0x0f,0xbf,0x56,0x34,0x12,0xaf]
+
+s_bitcmp1_b64 0x3f717273, s2
+// CHECK: [0xff,0x02,0x0f,0xbf,0x73,0x72,0x71,0x3f]
+
+s_bitcmp1_b64 s[2:3], s101
+// CHECK: [0x02,0x65,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], flat_scratch_lo
+// CHECK: [0x02,0x66,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], flat_scratch_hi
+// CHECK: [0x02,0x67,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], vcc_lo
+// CHECK: [0x02,0x6a,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], vcc_hi
+// CHECK: [0x02,0x6b,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], m0
+// CHECK: [0x02,0x7c,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], exec_lo
+// CHECK: [0x02,0x7e,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], exec_hi
+// CHECK: [0x02,0x7f,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], 0
+// CHECK: [0x02,0x80,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], -1
+// CHECK: [0x02,0xc1,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x0f,0xbf]
+
+s_bitcmp1_b64 s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x0f,0xbf,0x56,0x34,0x12,0xaf]
+
+s_bitcmp1_b64 s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x0f,0xbf,0x73,0x72,0x71,0x3f]
+
+s_setvskip s1, s2
+// CHECK: [0x01,0x02,0x10,0xbf]
+
+s_setvskip s101, s2
+// CHECK: [0x65,0x02,0x10,0xbf]
+
+s_setvskip flat_scratch_lo, s2
+// CHECK: [0x66,0x02,0x10,0xbf]
+
+s_setvskip flat_scratch_hi, s2
+// CHECK: [0x67,0x02,0x10,0xbf]
+
+s_setvskip vcc_lo, s2
+// CHECK: [0x6a,0x02,0x10,0xbf]
+
+s_setvskip vcc_hi, s2
+// CHECK: [0x6b,0x02,0x10,0xbf]
+
+s_setvskip m0, s2
+// CHECK: [0x7c,0x02,0x10,0xbf]
+
+s_setvskip exec_lo, s2
+// CHECK: [0x7e,0x02,0x10,0xbf]
+
+s_setvskip exec_hi, s2
+// CHECK: [0x7f,0x02,0x10,0xbf]
+
+s_setvskip 0, s2
+// CHECK: [0x80,0x02,0x10,0xbf]
+
+s_setvskip -1, s2
+// CHECK: [0xc1,0x02,0x10,0xbf]
+
+s_setvskip 0.5, s2
+// CHECK: [0xf0,0x02,0x10,0xbf]
+
+s_setvskip -4.0, s2
+// CHECK: [0xf7,0x02,0x10,0xbf]
+
+s_setvskip 0xaf123456, s2
+// CHECK: [0xff,0x02,0x10,0xbf,0x56,0x34,0x12,0xaf]
+
+s_setvskip 0x3f717273, s2
+// CHECK: [0xff,0x02,0x10,0xbf,0x73,0x72,0x71,0x3f]
+
+s_setvskip s1, s101
+// CHECK: [0x01,0x65,0x10,0xbf]
+
+s_setvskip s1, flat_scratch_lo
+// CHECK: [0x01,0x66,0x10,0xbf]
+
+s_setvskip s1, flat_scratch_hi
+// CHECK: [0x01,0x67,0x10,0xbf]
+
+s_setvskip s1, vcc_lo
+// CHECK: [0x01,0x6a,0x10,0xbf]
+
+s_setvskip s1, vcc_hi
+// CHECK: [0x01,0x6b,0x10,0xbf]
+
+s_setvskip s1, m0
+// CHECK: [0x01,0x7c,0x10,0xbf]
+
+s_setvskip s1, exec_lo
+// CHECK: [0x01,0x7e,0x10,0xbf]
+
+s_setvskip s1, exec_hi
+// CHECK: [0x01,0x7f,0x10,0xbf]
+
+s_setvskip s1, 0
+// CHECK: [0x01,0x80,0x10,0xbf]
+
+s_setvskip s1, -1
+// CHECK: [0x01,0xc1,0x10,0xbf]
+
+s_setvskip s1, 0.5
+// CHECK: [0x01,0xf0,0x10,0xbf]
+
+s_setvskip s1, -4.0
+// CHECK: [0x01,0xf7,0x10,0xbf]
+
+s_setvskip s1, 0xaf123456
+// CHECK: [0x01,0xff,0x10,0xbf,0x56,0x34,0x12,0xaf]
+
+s_setvskip s1, 0x3f717273
+// CHECK: [0x01,0xff,0x10,0xbf,0x73,0x72,0x71,0x3f]
+
+s_set_gpr_idx_on s1, 0x0
+// CHECK: [0x01,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on s101, 0x0
+// CHECK: [0x65,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on flat_scratch_lo, 0x0
+// CHECK: [0x66,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on flat_scratch_hi, 0x0
+// CHECK: [0x67,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on vcc_lo, 0x0
+// CHECK: [0x6a,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on vcc_hi, 0x0
+// CHECK: [0x6b,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on m0, 0x0
+// CHECK: [0x7c,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on 0, 0x0
+// CHECK: [0x80,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on -1, 0x0
+// CHECK: [0xc1,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on 0.5, 0x0
+// CHECK: [0xf0,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on -4.0, 0x0
+// CHECK: [0xf7,0x00,0x11,0xbf]
+
+s_set_gpr_idx_on 0xaf123456, 0x0
+// CHECK: [0xff,0x00,0x11,0xbf,0x56,0x34,0x12,0xaf]
+
+s_set_gpr_idx_on 0x3f717273, 0x0
+// CHECK: [0xff,0x00,0x11,0xbf,0x73,0x72,0x71,0x3f]
+
+s_set_gpr_idx_on s1, 0x1
+// CHECK: [0x01,0x01,0x11,0xbf]
+
+s_set_gpr_idx_on s1, 0xF
+// CHECK: [0x01,0x0f,0x11,0xbf]
+
+s_cmp_eq_u64 s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x12,0xbf]
+
+s_cmp_eq_u64 s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x12,0xbf]
+
+s_cmp_eq_u64 s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x12,0xbf]
+
+s_cmp_eq_u64 flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x12,0xbf]
+
+s_cmp_eq_u64 vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x12,0xbf]
+
+s_cmp_eq_u64 exec, s[4:5]
+// CHECK: [0x7e,0x04,0x12,0xbf]
+
+s_cmp_eq_u64 0, s[4:5]
+// CHECK: [0x80,0x04,0x12,0xbf]
+
+s_cmp_eq_u64 -1, s[4:5]
+// CHECK: [0xc1,0x04,0x12,0xbf]
+
+s_cmp_eq_u64 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x12,0xbf]
+
+s_cmp_eq_u64 -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x12,0xbf]
+
+s_cmp_eq_u64 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x12,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_eq_u64 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x12,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_eq_u64 s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x12,0xbf]
+
+s_cmp_eq_u64 s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x12,0xbf]
+
+s_cmp_eq_u64 s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x12,0xbf]
+
+s_cmp_eq_u64 s[2:3], vcc
+// CHECK: [0x02,0x6a,0x12,0xbf]
+
+s_cmp_eq_u64 s[2:3], exec
+// CHECK: [0x02,0x7e,0x12,0xbf]
+
+s_cmp_eq_u64 s[2:3], 0
+// CHECK: [0x02,0x80,0x12,0xbf]
+
+s_cmp_eq_u64 s[2:3], -1
+// CHECK: [0x02,0xc1,0x12,0xbf]
+
+s_cmp_eq_u64 s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x12,0xbf]
+
+s_cmp_eq_u64 s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x12,0xbf]
+
+s_cmp_eq_u64 s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x12,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_eq_u64 s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x12,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_lg_u64 s[2:3], s[4:5]
+// CHECK: [0x02,0x04,0x13,0xbf]
+
+s_cmp_lg_u64 s[4:5], s[4:5]
+// CHECK: [0x04,0x04,0x13,0xbf]
+
+s_cmp_lg_u64 s[100:101], s[4:5]
+// CHECK: [0x64,0x04,0x13,0xbf]
+
+s_cmp_lg_u64 flat_scratch, s[4:5]
+// CHECK: [0x66,0x04,0x13,0xbf]
+
+s_cmp_lg_u64 vcc, s[4:5]
+// CHECK: [0x6a,0x04,0x13,0xbf]
+
+s_cmp_lg_u64 exec, s[4:5]
+// CHECK: [0x7e,0x04,0x13,0xbf]
+
+s_cmp_lg_u64 0, s[4:5]
+// CHECK: [0x80,0x04,0x13,0xbf]
+
+s_cmp_lg_u64 -1, s[4:5]
+// CHECK: [0xc1,0x04,0x13,0xbf]
+
+s_cmp_lg_u64 0.5, s[4:5]
+// CHECK: [0xf0,0x04,0x13,0xbf]
+
+s_cmp_lg_u64 -4.0, s[4:5]
+// CHECK: [0xf7,0x04,0x13,0xbf]
+
+s_cmp_lg_u64 0xaf123456, s[4:5]
+// CHECK: [0xff,0x04,0x13,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_lg_u64 0x3f717273, s[4:5]
+// CHECK: [0xff,0x04,0x13,0xbf,0x73,0x72,0x71,0x3f]
+
+s_cmp_lg_u64 s[2:3], s[6:7]
+// CHECK: [0x02,0x06,0x13,0xbf]
+
+s_cmp_lg_u64 s[2:3], s[100:101]
+// CHECK: [0x02,0x64,0x13,0xbf]
+
+s_cmp_lg_u64 s[2:3], flat_scratch
+// CHECK: [0x02,0x66,0x13,0xbf]
+
+s_cmp_lg_u64 s[2:3], vcc
+// CHECK: [0x02,0x6a,0x13,0xbf]
+
+s_cmp_lg_u64 s[2:3], exec
+// CHECK: [0x02,0x7e,0x13,0xbf]
+
+s_cmp_lg_u64 s[2:3], 0
+// CHECK: [0x02,0x80,0x13,0xbf]
+
+s_cmp_lg_u64 s[2:3], -1
+// CHECK: [0x02,0xc1,0x13,0xbf]
+
+s_cmp_lg_u64 s[2:3], 0.5
+// CHECK: [0x02,0xf0,0x13,0xbf]
+
+s_cmp_lg_u64 s[2:3], -4.0
+// CHECK: [0x02,0xf7,0x13,0xbf]
+
+s_cmp_lg_u64 s[2:3], 0xaf123456
+// CHECK: [0x02,0xff,0x13,0xbf,0x56,0x34,0x12,0xaf]
+
+s_cmp_lg_u64 s[2:3], 0x3f717273
+// CHECK: [0x02,0xff,0x13,0xbf,0x73,0x72,0x71,0x3f]
+
+s_movk_i32 s5, 0x3141
+// CHECK: [0x41,0x31,0x05,0xb0]
+
+s_movk_i32 s101, 0x3141
+// CHECK: [0x41,0x31,0x65,0xb0]
+
+s_movk_i32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0x66,0xb0]
+
+s_movk_i32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0x67,0xb0]
+
+s_movk_i32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0x6a,0xb0]
+
+s_movk_i32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0x6b,0xb0]
+
+s_movk_i32 m0, 0x3141
+// CHECK: [0x41,0x31,0x7c,0xb0]
+
+s_movk_i32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0x7e,0xb0]
+
+s_movk_i32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0x7f,0xb0]
+
+s_movk_i32 s5, 0xc1d1
+// CHECK: [0xd1,0xc1,0x05,0xb0]
+
+s_cmovk_i32 s5, 0x3141
+// CHECK: [0x41,0x31,0x85,0xb0]
+
+s_cmovk_i32 s101, 0x3141
+// CHECK: [0x41,0x31,0xe5,0xb0]
+
+s_cmovk_i32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0xe6,0xb0]
+
+s_cmovk_i32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0xe7,0xb0]
+
+s_cmovk_i32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0xea,0xb0]
+
+s_cmovk_i32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0xeb,0xb0]
+
+s_cmovk_i32 m0, 0x3141
+// CHECK: [0x41,0x31,0xfc,0xb0]
+
+s_cmovk_i32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0xfe,0xb0]
+
+s_cmovk_i32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0xff,0xb0]
+
+s_cmovk_i32 s5, 0xc1d1
+// CHECK: [0xd1,0xc1,0x85,0xb0]
+
+s_cmpk_eq_i32 s1, 0x3141
+// CHECK: [0x41,0x31,0x01,0xb1]
+
+s_cmpk_eq_i32 s101, 0x3141
+// CHECK: [0x41,0x31,0x65,0xb1]
+
+s_cmpk_eq_i32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0x66,0xb1]
+
+s_cmpk_eq_i32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0x67,0xb1]
+
+s_cmpk_eq_i32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0x6a,0xb1]
+
+s_cmpk_eq_i32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0x6b,0xb1]
+
+s_cmpk_eq_i32 m0, 0x3141
+// CHECK: [0x41,0x31,0x7c,0xb1]
+
+s_cmpk_eq_i32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0x7e,0xb1]
+
+s_cmpk_eq_i32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0x7f,0xb1]
+
+s_cmpk_eq_i32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x01,0xb1]
+
+s_cmpk_lg_i32 s1, 0x3141
+// CHECK: [0x41,0x31,0x81,0xb1]
+
+s_cmpk_lg_i32 s101, 0x3141
+// CHECK: [0x41,0x31,0xe5,0xb1]
+
+s_cmpk_lg_i32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0xe6,0xb1]
+
+s_cmpk_lg_i32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0xe7,0xb1]
+
+s_cmpk_lg_i32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0xea,0xb1]
+
+s_cmpk_lg_i32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0xeb,0xb1]
+
+s_cmpk_lg_i32 m0, 0x3141
+// CHECK: [0x41,0x31,0xfc,0xb1]
+
+s_cmpk_lg_i32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0xfe,0xb1]
+
+s_cmpk_lg_i32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0xff,0xb1]
+
+s_cmpk_lg_i32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x81,0xb1]
+
+s_cmpk_gt_i32 s1, 0x3141
+// CHECK: [0x41,0x31,0x01,0xb2]
+
+s_cmpk_gt_i32 s101, 0x3141
+// CHECK: [0x41,0x31,0x65,0xb2]
+
+s_cmpk_gt_i32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0x66,0xb2]
+
+s_cmpk_gt_i32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0x67,0xb2]
+
+s_cmpk_gt_i32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0x6a,0xb2]
+
+s_cmpk_gt_i32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0x6b,0xb2]
+
+s_cmpk_gt_i32 m0, 0x3141
+// CHECK: [0x41,0x31,0x7c,0xb2]
+
+s_cmpk_gt_i32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0x7e,0xb2]
+
+s_cmpk_gt_i32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0x7f,0xb2]
+
+s_cmpk_gt_i32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x01,0xb2]
+
+s_cmpk_ge_i32 s1, 0x3141
+// CHECK: [0x41,0x31,0x81,0xb2]
+
+s_cmpk_ge_i32 s101, 0x3141
+// CHECK: [0x41,0x31,0xe5,0xb2]
+
+s_cmpk_ge_i32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0xe6,0xb2]
+
+s_cmpk_ge_i32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0xe7,0xb2]
+
+s_cmpk_ge_i32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0xea,0xb2]
+
+s_cmpk_ge_i32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0xeb,0xb2]
+
+s_cmpk_ge_i32 m0, 0x3141
+// CHECK: [0x41,0x31,0xfc,0xb2]
+
+s_cmpk_ge_i32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0xfe,0xb2]
+
+s_cmpk_ge_i32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0xff,0xb2]
+
+s_cmpk_ge_i32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x81,0xb2]
+
+s_cmpk_lt_i32 s1, 0x3141
+// CHECK: [0x41,0x31,0x01,0xb3]
+
+s_cmpk_lt_i32 s101, 0x3141
+// CHECK: [0x41,0x31,0x65,0xb3]
+
+s_cmpk_lt_i32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0x66,0xb3]
+
+s_cmpk_lt_i32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0x67,0xb3]
+
+s_cmpk_lt_i32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0x6a,0xb3]
+
+s_cmpk_lt_i32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0x6b,0xb3]
+
+s_cmpk_lt_i32 m0, 0x3141
+// CHECK: [0x41,0x31,0x7c,0xb3]
+
+s_cmpk_lt_i32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0x7e,0xb3]
+
+s_cmpk_lt_i32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0x7f,0xb3]
+
+s_cmpk_lt_i32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x01,0xb3]
+
+s_cmpk_le_i32 s1, 0x3141
+// CHECK: [0x41,0x31,0x81,0xb3]
+
+s_cmpk_le_i32 s101, 0x3141
+// CHECK: [0x41,0x31,0xe5,0xb3]
+
+s_cmpk_le_i32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0xe6,0xb3]
+
+s_cmpk_le_i32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0xe7,0xb3]
+
+s_cmpk_le_i32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0xea,0xb3]
+
+s_cmpk_le_i32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0xeb,0xb3]
+
+s_cmpk_le_i32 m0, 0x3141
+// CHECK: [0x41,0x31,0xfc,0xb3]
+
+s_cmpk_le_i32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0xfe,0xb3]
+
+s_cmpk_le_i32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0xff,0xb3]
+
+s_cmpk_le_i32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x81,0xb3]
+
+s_cmpk_eq_u32 s1, 0x3141
+// CHECK: [0x41,0x31,0x01,0xb4]
+
+s_cmpk_eq_u32 s101, 0x3141
+// CHECK: [0x41,0x31,0x65,0xb4]
+
+s_cmpk_eq_u32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0x66,0xb4]
+
+s_cmpk_eq_u32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0x67,0xb4]
+
+s_cmpk_eq_u32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0x6a,0xb4]
+
+s_cmpk_eq_u32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0x6b,0xb4]
+
+s_cmpk_eq_u32 m0, 0x3141
+// CHECK: [0x41,0x31,0x7c,0xb4]
+
+s_cmpk_eq_u32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0x7e,0xb4]
+
+s_cmpk_eq_u32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0x7f,0xb4]
+
+s_cmpk_eq_u32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x01,0xb4]
+
+s_cmpk_lg_u32 s1, 0x3141
+// CHECK: [0x41,0x31,0x81,0xb4]
+
+s_cmpk_lg_u32 s101, 0x3141
+// CHECK: [0x41,0x31,0xe5,0xb4]
+
+s_cmpk_lg_u32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0xe6,0xb4]
+
+s_cmpk_lg_u32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0xe7,0xb4]
+
+s_cmpk_lg_u32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0xea,0xb4]
+
+s_cmpk_lg_u32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0xeb,0xb4]
+
+s_cmpk_lg_u32 m0, 0x3141
+// CHECK: [0x41,0x31,0xfc,0xb4]
+
+s_cmpk_lg_u32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0xfe,0xb4]
+
+s_cmpk_lg_u32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0xff,0xb4]
+
+s_cmpk_lg_u32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x81,0xb4]
+
+s_cmpk_gt_u32 s1, 0x3141
+// CHECK: [0x41,0x31,0x01,0xb5]
+
+s_cmpk_gt_u32 s101, 0x3141
+// CHECK: [0x41,0x31,0x65,0xb5]
+
+s_cmpk_gt_u32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0x66,0xb5]
+
+s_cmpk_gt_u32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0x67,0xb5]
+
+s_cmpk_gt_u32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0x6a,0xb5]
+
+s_cmpk_gt_u32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0x6b,0xb5]
+
+s_cmpk_gt_u32 m0, 0x3141
+// CHECK: [0x41,0x31,0x7c,0xb5]
+
+s_cmpk_gt_u32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0x7e,0xb5]
+
+s_cmpk_gt_u32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0x7f,0xb5]
+
+s_cmpk_gt_u32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x01,0xb5]
+
+s_cmpk_ge_u32 s1, 0x3141
+// CHECK: [0x41,0x31,0x81,0xb5]
+
+s_cmpk_ge_u32 s101, 0x3141
+// CHECK: [0x41,0x31,0xe5,0xb5]
+
+s_cmpk_ge_u32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0xe6,0xb5]
+
+s_cmpk_ge_u32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0xe7,0xb5]
+
+s_cmpk_ge_u32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0xea,0xb5]
+
+s_cmpk_ge_u32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0xeb,0xb5]
+
+s_cmpk_ge_u32 m0, 0x3141
+// CHECK: [0x41,0x31,0xfc,0xb5]
+
+s_cmpk_ge_u32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0xfe,0xb5]
+
+s_cmpk_ge_u32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0xff,0xb5]
+
+s_cmpk_ge_u32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x81,0xb5]
+
+s_cmpk_lt_u32 s1, 0x3141
+// CHECK: [0x41,0x31,0x01,0xb6]
+
+s_cmpk_lt_u32 s101, 0x3141
+// CHECK: [0x41,0x31,0x65,0xb6]
+
+s_cmpk_lt_u32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0x66,0xb6]
+
+s_cmpk_lt_u32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0x67,0xb6]
+
+s_cmpk_lt_u32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0x6a,0xb6]
+
+s_cmpk_lt_u32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0x6b,0xb6]
+
+s_cmpk_lt_u32 m0, 0x3141
+// CHECK: [0x41,0x31,0x7c,0xb6]
+
+s_cmpk_lt_u32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0x7e,0xb6]
+
+s_cmpk_lt_u32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0x7f,0xb6]
+
+s_cmpk_lt_u32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x01,0xb6]
+
+s_cmpk_le_u32 s1, 0x3141
+// CHECK: [0x41,0x31,0x81,0xb6]
+
+s_cmpk_le_u32 s101, 0x3141
+// CHECK: [0x41,0x31,0xe5,0xb6]
+
+s_cmpk_le_u32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0xe6,0xb6]
+
+s_cmpk_le_u32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0xe7,0xb6]
+
+s_cmpk_le_u32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0xea,0xb6]
+
+s_cmpk_le_u32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0xeb,0xb6]
+
+s_cmpk_le_u32 m0, 0x3141
+// CHECK: [0x41,0x31,0xfc,0xb6]
+
+s_cmpk_le_u32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0xfe,0xb6]
+
+s_cmpk_le_u32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0xff,0xb6]
+
+s_cmpk_le_u32 s1, 0xc1d1
+// CHECK: [0xd1,0xc1,0x81,0xb6]
+
+s_addk_i32 s5, 0x3141
+// CHECK: [0x41,0x31,0x05,0xb7]
+
+s_addk_i32 s101, 0x3141
+// CHECK: [0x41,0x31,0x65,0xb7]
+
+s_addk_i32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0x66,0xb7]
+
+s_addk_i32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0x67,0xb7]
+
+s_addk_i32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0x6a,0xb7]
+
+s_addk_i32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0x6b,0xb7]
+
+s_addk_i32 m0, 0x3141
+// CHECK: [0x41,0x31,0x7c,0xb7]
+
+s_addk_i32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0x7e,0xb7]
+
+s_addk_i32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0x7f,0xb7]
+
+s_addk_i32 s5, 0xc1d1
+// CHECK: [0xd1,0xc1,0x05,0xb7]
+
+s_mulk_i32 s5, 0x3141
+// CHECK: [0x41,0x31,0x85,0xb7]
+
+s_mulk_i32 s101, 0x3141
+// CHECK: [0x41,0x31,0xe5,0xb7]
+
+s_mulk_i32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0xe6,0xb7]
+
+s_mulk_i32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0xe7,0xb7]
+
+s_mulk_i32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0xea,0xb7]
+
+s_mulk_i32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0xeb,0xb7]
+
+s_mulk_i32 m0, 0x3141
+// CHECK: [0x41,0x31,0xfc,0xb7]
+
+s_mulk_i32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0xfe,0xb7]
+
+s_mulk_i32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0xff,0xb7]
+
+s_mulk_i32 s5, 0xc1d1
+// CHECK: [0xd1,0xc1,0x85,0xb7]
+
+s_cbranch_i_fork s[2:3], 12609
+// CHECK: [0x41,0x31,0x02,0xb8]
+
+s_cbranch_i_fork s[4:5], 12609
+// CHECK: [0x41,0x31,0x04,0xb8]
+
+s_cbranch_i_fork s[100:101], 12609
+// CHECK: [0x41,0x31,0x64,0xb8]
+
+s_cbranch_i_fork flat_scratch, 12609
+// CHECK: [0x41,0x31,0x66,0xb8]
+
+s_cbranch_i_fork vcc, 12609
+// CHECK: [0x41,0x31,0x6a,0xb8]
+
+s_cbranch_i_fork exec, 12609
+// CHECK: [0x41,0x31,0x7e,0xb8]
+
+s_cbranch_i_fork s[2:3], 49617
+// CHECK: [0xd1,0xc1,0x02,0xb8]
+
+s_getreg_b32 s5, 0x3141
+// CHECK: [0x41,0x31,0x85,0xb8]
+
+s_getreg_b32 s101, 0x3141
+// CHECK: [0x41,0x31,0xe5,0xb8]
+
+s_getreg_b32 flat_scratch_lo, 0x3141
+// CHECK: [0x41,0x31,0xe6,0xb8]
+
+s_getreg_b32 flat_scratch_hi, 0x3141
+// CHECK: [0x41,0x31,0xe7,0xb8]
+
+s_getreg_b32 vcc_lo, 0x3141
+// CHECK: [0x41,0x31,0xea,0xb8]
+
+s_getreg_b32 vcc_hi, 0x3141
+// CHECK: [0x41,0x31,0xeb,0xb8]
+
+s_getreg_b32 m0, 0x3141
+// CHECK: [0x41,0x31,0xfc,0xb8]
+
+s_getreg_b32 exec_lo, 0x3141
+// CHECK: [0x41,0x31,0xfe,0xb8]
+
+s_getreg_b32 exec_hi, 0x3141
+// CHECK: [0x41,0x31,0xff,0xb8]
+
+s_getreg_b32 s5, 0xc1d1
+// CHECK: [0xd1,0xc1,0x85,0xb8]
+
+s_setreg_b32 0x3141, s1
+// CHECK: [0x41,0x31,0x01,0xb9]
+
+s_setreg_b32 0xc1d1, s1
+// CHECK: [0xd1,0xc1,0x01,0xb9]
+
+s_setreg_b32 0x3141, s101
+// CHECK: [0x41,0x31,0x65,0xb9]
+
+s_setreg_b32 0x3141, flat_scratch_lo
+// CHECK: [0x41,0x31,0x66,0xb9]
+
+s_setreg_b32 0x3141, flat_scratch_hi
+// CHECK: [0x41,0x31,0x67,0xb9]
+
+s_setreg_b32 0x3141, vcc_lo
+// CHECK: [0x41,0x31,0x6a,0xb9]
+
+s_setreg_b32 0x3141, vcc_hi
+// CHECK: [0x41,0x31,0x6b,0xb9]
+
+s_setreg_b32 0x3141, m0
+// CHECK: [0x41,0x31,0x7c,0xb9]
+
+s_setreg_b32 0x3141, exec_lo
+// CHECK: [0x41,0x31,0x7e,0xb9]
+
+s_setreg_b32 0x3141, exec_hi
+// CHECK: [0x41,0x31,0x7f,0xb9]
+
+s_setreg_imm32_b32 0x3141, 0x11213141
+// CHECK: [0x41,0x31,0x00,0xba,0x41,0x31,0x21,0x11]
+
+s_setreg_imm32_b32 0xc1d1, 0x11213141
+// CHECK: [0xd1,0xc1,0x00,0xba,0x41,0x31,0x21,0x11]
+
+s_setreg_imm32_b32 0x3141, 0xa1b1c1d1
+// CHECK: [0x41,0x31,0x00,0xba,0xd1,0xc1,0xb1,0xa1]
+
+s_nop 0x3141
+// CHECK: [0x41,0x31,0x80,0xbf]
+
+s_nop 0xc1d1
+// CHECK: [0xd1,0xc1,0x80,0xbf]
+
+s_endpgm
+// CHECK: [0x00,0x00,0x81,0xbf]
+
+s_branch 12609
+// CHECK: [0x41,0x31,0x82,0xbf]
+
+s_branch 49617
+// CHECK: [0xd1,0xc1,0x82,0xbf]
+
+s_wakeup
+// CHECK: [0x00,0x00,0x83,0xbf]
+
+s_cbranch_scc0 12609
+// CHECK: [0x41,0x31,0x84,0xbf]
+
+s_cbranch_scc0 49617
+// CHECK: [0xd1,0xc1,0x84,0xbf]
+
+s_cbranch_scc1 12609
+// CHECK: [0x41,0x31,0x85,0xbf]
+
+s_cbranch_scc1 49617
+// CHECK: [0xd1,0xc1,0x85,0xbf]
+
+s_cbranch_vccz 12609
+// CHECK: [0x41,0x31,0x86,0xbf]
+
+s_cbranch_vccz 49617
+// CHECK: [0xd1,0xc1,0x86,0xbf]
+
+s_cbranch_vccnz 12609
+// CHECK: [0x41,0x31,0x87,0xbf]
+
+s_cbranch_vccnz 49617
+// CHECK: [0xd1,0xc1,0x87,0xbf]
+
+s_cbranch_execz 12609
+// CHECK: [0x41,0x31,0x88,0xbf]
+
+s_cbranch_execz 49617
+// CHECK: [0xd1,0xc1,0x88,0xbf]
+
+s_cbranch_execnz 12609
+// CHECK: [0x41,0x31,0x89,0xbf]
+
+s_cbranch_execnz 49617
+// CHECK: [0xd1,0xc1,0x89,0xbf]
+
+s_barrier
+// CHECK: [0x00,0x00,0x8a,0xbf]
+
+s_setkill 0x3141
+// CHECK: [0x41,0x31,0x8b,0xbf]
+
+s_setkill 0xc1d1
+// CHECK: [0xd1,0xc1,0x8b,0xbf]
+
+s_waitcnt 0x3141
+// CHECK: [0x41,0x31,0x8c,0xbf]
+
+s_waitcnt 0xc1d1
+// CHECK: [0xd1,0xc1,0x8c,0xbf]
+
+s_sethalt 0x3141
+// CHECK: [0x41,0x31,0x8d,0xbf]
+
+s_sethalt 0xc1d1
+// CHECK: [0xd1,0xc1,0x8d,0xbf]
+
+s_sleep 0x3141
+// CHECK: [0x41,0x31,0x8e,0xbf]
+
+s_sleep 0xc1d1
+// CHECK: [0xd1,0xc1,0x8e,0xbf]
+
+s_setprio 0x3141
+// CHECK: [0x41,0x31,0x8f,0xbf]
+
+s_setprio 0xc1d1
+// CHECK: [0xd1,0xc1,0x8f,0xbf]
+
+s_sendmsg 0x3141
+// CHECK: [0x41,0x31,0x90,0xbf]
+
+s_sendmsg 0xc1d1
+// CHECK: [0xd1,0xc1,0x90,0xbf]
+
+s_sendmsghalt 0x3141
+// CHECK: [0x41,0x31,0x91,0xbf]
+
+s_sendmsghalt 0xc1d1
+// CHECK: [0xd1,0xc1,0x91,0xbf]
+
+s_trap 0x3141
+// CHECK: [0x41,0x31,0x92,0xbf]
+
+s_trap 0xc1d1
+// CHECK: [0xd1,0xc1,0x92,0xbf]
+
+s_icache_inv
+// CHECK: [0x00,0x00,0x93,0xbf]
+
+s_incperflevel 0x3141
+// CHECK: [0x41,0x31,0x94,0xbf]
+
+s_incperflevel 0xc1d1
+// CHECK: [0xd1,0xc1,0x94,0xbf]
+
+s_decperflevel 0x3141
+// CHECK: [0x41,0x31,0x95,0xbf]
+
+s_decperflevel 0xc1d1
+// CHECK: [0xd1,0xc1,0x95,0xbf]
+
+s_ttracedata
+// CHECK: [0x00,0x00,0x96,0xbf]
+
+s_cbranch_cdbgsys 12609
+// CHECK: [0x41,0x31,0x97,0xbf]
+
+s_cbranch_cdbgsys 49617
+// CHECK: [0xd1,0xc1,0x97,0xbf]
+
+s_cbranch_cdbguser 12609
+// CHECK: [0x41,0x31,0x98,0xbf]
+
+s_cbranch_cdbguser 49617
+// CHECK: [0xd1,0xc1,0x98,0xbf]
+
+s_cbranch_cdbgsys_or_user 12609
+// CHECK: [0x41,0x31,0x99,0xbf]
+
+s_cbranch_cdbgsys_or_user 49617
+// CHECK: [0xd1,0xc1,0x99,0xbf]
+
+s_cbranch_cdbgsys_and_user 12609
+// CHECK: [0x41,0x31,0x9a,0xbf]
+
+s_cbranch_cdbgsys_and_user 49617
+// CHECK: [0xd1,0xc1,0x9a,0xbf]
+
+s_endpgm_saved
+// CHECK: [0x00,0x00,0x9b,0xbf]
+
+s_set_gpr_idx_off
+// CHECK: [0x00,0x00,0x9c,0xbf]
+
+s_set_gpr_idx_mode 0x0
+// CHECK: [0x00,0x00,0x9d,0xbf]
+
+s_set_gpr_idx_mode 0x1
+// CHECK: [0x01,0x00,0x9d,0xbf]
+
+s_set_gpr_idx_mode 0xF
+// CHECK: [0x0f,0x00,0x9d,0xbf]
+
+v_interp_p1_f32 v5, v1, attr0.x
+// CHECK: [0x01,0x00,0x14,0xd4]
+
+v_interp_p1_f32 v255, v1, attr0.x
+// CHECK: [0x01,0x00,0xfc,0xd7]
+
+v_interp_p1_f32 v5, v255, attr0.x
+// CHECK: [0xff,0x00,0x14,0xd4]
+
+v_interp_p1_f32 v5, v1, attr1.x
+// CHECK: [0x01,0x04,0x14,0xd4]
+
+v_interp_p1_f32 v5, v1, attr31.x
+// CHECK: [0x01,0x7c,0x14,0xd4]
+
+v_interp_p1_f32 v5, v1, attr32.x
+// CHECK: [0x01,0x80,0x14,0xd4]
+
+v_interp_p1_f32 v5, v1, attr0.y
+// CHECK: [0x01,0x01,0x14,0xd4]
+
+v_interp_p1_f32 v5, v1, attr0.z
+// CHECK: [0x01,0x02,0x14,0xd4]
+
+v_interp_p1_f32 v5, v1, attr0.w
+// CHECK: [0x01,0x03,0x14,0xd4]
+
+v_interp_p2_f32 v5, v1, attr0.x
+// CHECK: [0x01,0x00,0x15,0xd4]
+
+v_interp_p2_f32 v255, v1, attr0.x
+// CHECK: [0x01,0x00,0xfd,0xd7]
+
+v_interp_p2_f32 v5, v255, attr0.x
+// CHECK: [0xff,0x00,0x15,0xd4]
+
+v_interp_p2_f32 v5, v1, attr1.x
+// CHECK: [0x01,0x04,0x15,0xd4]
+
+v_interp_p2_f32 v5, v1, attr31.x
+// CHECK: [0x01,0x7c,0x15,0xd4]
+
+v_interp_p2_f32 v5, v1, attr32.x
+// CHECK: [0x01,0x80,0x15,0xd4]
+
+v_interp_p2_f32 v5, v1, attr0.y
+// CHECK: [0x01,0x01,0x15,0xd4]
+
+v_interp_p2_f32 v5, v1, attr0.z
+// CHECK: [0x01,0x02,0x15,0xd4]
+
+v_interp_p2_f32 v5, v1, attr0.w
+// CHECK: [0x01,0x03,0x15,0xd4]
+
+v_interp_mov_f32 v5, p10, attr0.x
+// CHECK: [0x00,0x00,0x16,0xd4]
+
+v_interp_mov_f32 v255, p10, attr0.x
+// CHECK: [0x00,0x00,0xfe,0xd7]
+
+v_interp_mov_f32 v5, p20, attr0.x
+// CHECK: [0x01,0x00,0x16,0xd4]
+
+v_interp_mov_f32 v5, p0, attr0.x
+// CHECK: [0x02,0x00,0x16,0xd4]
+
+v_interp_mov_f32 v5, p10, attr1.x
+// CHECK: [0x00,0x04,0x16,0xd4]
+
+v_interp_mov_f32 v5, p10, attr31.x
+// CHECK: [0x00,0x7c,0x16,0xd4]
+
+v_interp_mov_f32 v5, p10, attr32.x
+// CHECK: [0x00,0x80,0x16,0xd4]
+
+v_interp_mov_f32 v5, p10, attr0.y
+// CHECK: [0x00,0x01,0x16,0xd4]
+
+v_interp_mov_f32 v5, p10, attr0.z
+// CHECK: [0x00,0x02,0x16,0xd4]
+
+v_interp_mov_f32 v5, p10, attr0.w
+// CHECK: [0x00,0x03,0x16,0xd4]
+
+v_nop
+// CHECK: [0x00,0x00,0x00,0x7e]
+
+v_nop_e64
+// CHECK: [0x00,0x00,0x40,0xd1,0x00,0x00,0x00,0x00]
+
+v_mov_b32 v5, s1
+// CHECK: [0x01,0x02,0x0a,0x7e]
+
+v_mov_b32 v255, s1
+// CHECK: [0x01,0x02,0xfe,0x7f]
+
+v_mov_b32 v5, s101
+// CHECK: [0x65,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, flat_scratch_lo
+// CHECK: [0x66,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, flat_scratch_hi
+// CHECK: [0x67,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, vcc_lo
+// CHECK: [0x6a,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, vcc_hi
+// CHECK: [0x6b,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, m0
+// CHECK: [0x7c,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, exec_lo
+// CHECK: [0x7e,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, exec_hi
+// CHECK: [0x7f,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, 0
+// CHECK: [0x80,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, -1
+// CHECK: [0xc1,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, 0.5
+// CHECK: [0xf0,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, -4.0
+// CHECK: [0xf7,0x02,0x0a,0x7e]
+
+v_mov_b32 v5, 0xaf123456
+// CHECK: [0xff,0x02,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_mov_b32 v5, 0x3f717273
+// CHECK: [0xff,0x02,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_mov_b32 v5, v1
+// CHECK: [0x01,0x03,0x0a,0x7e]
+
+v_mov_b32 v5, v255
+// CHECK: [0xff,0x03,0x0a,0x7e]
+
+v_mov_b32_e64 v5, s1
+// CHECK: [0x05,0x00,0x41,0xd1,0x01,0x00,0x00,0x00]
+
+v_mov_b32_e64 v255, s1
+// CHECK: [0xff,0x00,0x41,0xd1,0x01,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, s101
+// CHECK: [0x05,0x00,0x41,0xd1,0x65,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x41,0xd1,0x66,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x41,0xd1,0x67,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x41,0xd1,0x6a,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x41,0xd1,0x6b,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, m0
+// CHECK: [0x05,0x00,0x41,0xd1,0x7c,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x41,0xd1,0x7e,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x41,0xd1,0x7f,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, 0
+// CHECK: [0x05,0x00,0x41,0xd1,0x80,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, -1
+// CHECK: [0x05,0x00,0x41,0xd1,0xc1,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x41,0xd1,0xf0,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x41,0xd1,0xf7,0x00,0x00,0x00]
+
+v_mov_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x41,0xd1,0x01,0x01,0x00,0x00]
+
+v_mov_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x41,0xd1,0xff,0x01,0x00,0x00]
+
+v_readfirstlane_b32 s5, v1
+// CHECK: [0x01,0x05,0x0a,0x7e]
+
+v_readfirstlane_b32 s101, v1
+// CHECK: [0x01,0x05,0xca,0x7e]
+
+v_readfirstlane_b32 flat_scratch_lo, v1
+// CHECK: [0x01,0x05,0xcc,0x7e]
+
+v_readfirstlane_b32 flat_scratch_hi, v1
+// CHECK: [0x01,0x05,0xce,0x7e]
+
+v_readfirstlane_b32 s5, v255
+// CHECK: [0xff,0x05,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, s[2:3]
+// CHECK: [0x02,0x06,0x0a,0x7e]
+
+v_cvt_i32_f64 v255, s[2:3]
+// CHECK: [0x02,0x06,0xfe,0x7f]
+
+v_cvt_i32_f64 v5, s[4:5]
+// CHECK: [0x04,0x06,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, s[100:101]
+// CHECK: [0x64,0x06,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, flat_scratch
+// CHECK: [0x66,0x06,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, vcc
+// CHECK: [0x6a,0x06,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, exec
+// CHECK: [0x7e,0x06,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, 0
+// CHECK: [0x80,0x06,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, -1
+// CHECK: [0xc1,0x06,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, 0.5
+// CHECK: [0xf0,0x06,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, -4.0
+// CHECK: [0xf7,0x06,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, 0xaf123456
+// CHECK: [0xff,0x06,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_i32_f64 v5, 0x3f717273
+// CHECK: [0xff,0x06,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_i32_f64 v5, v[1:2]
+// CHECK: [0x01,0x07,0x0a,0x7e]
+
+v_cvt_i32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x07,0x0a,0x7e]
+
+v_cvt_i32_f64_e64 v5, s[2:3]
+// CHECK: [0x05,0x00,0x43,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v255, s[2:3]
+// CHECK: [0xff,0x00,0x43,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, s[4:5]
+// CHECK: [0x05,0x00,0x43,0xd1,0x04,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, s[100:101]
+// CHECK: [0x05,0x00,0x43,0xd1,0x64,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, flat_scratch
+// CHECK: [0x05,0x00,0x43,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, vcc
+// CHECK: [0x05,0x00,0x43,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, exec
+// CHECK: [0x05,0x00,0x43,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, 0
+// CHECK: [0x05,0x00,0x43,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, -1
+// CHECK: [0x05,0x00,0x43,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x43,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x43,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, v[254:255]
+// CHECK: [0x05,0x00,0x43,0xd1,0xfe,0x01,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, -s[2:3]
+// CHECK: [0x05,0x00,0x43,0xd1,0x02,0x00,0x00,0x20]
+
+v_cvt_i32_f64_e64 v5, |s[2:3]|
+// CHECK: [0x05,0x01,0x43,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_i32_f64_e64 v5, s[2:3] clamp
+// CHECK: [0x05,0x80,0x43,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_f64_i32 v[5:6], s1
+// CHECK: [0x01,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[254:255], s1
+// CHECK: [0x01,0x08,0xfc,0x7f]
+
+v_cvt_f64_i32 v[5:6], s101
+// CHECK: [0x65,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], flat_scratch_lo
+// CHECK: [0x66,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], flat_scratch_hi
+// CHECK: [0x67,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], vcc_lo
+// CHECK: [0x6a,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], vcc_hi
+// CHECK: [0x6b,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], m0
+// CHECK: [0x7c,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], exec_lo
+// CHECK: [0x7e,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], exec_hi
+// CHECK: [0x7f,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], 0
+// CHECK: [0x80,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], -1
+// CHECK: [0xc1,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], 0.5
+// CHECK: [0xf0,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], -4.0
+// CHECK: [0xf7,0x08,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], 0xaf123456
+// CHECK: [0xff,0x08,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f64_i32 v[5:6], 0x3f717273
+// CHECK: [0xff,0x08,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f64_i32 v[5:6], v1
+// CHECK: [0x01,0x09,0x0a,0x7e]
+
+v_cvt_f64_i32 v[5:6], v255
+// CHECK: [0xff,0x09,0x0a,0x7e]
+
+v_cvt_f64_i32_e64 v[5:6], s1
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[254:255], s1
+// CHECK: [0xfe,0x00,0x44,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], s101
+// CHECK: [0x05,0x00,0x44,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], flat_scratch_lo
+// CHECK: [0x05,0x00,0x44,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], flat_scratch_hi
+// CHECK: [0x05,0x00,0x44,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], vcc_lo
+// CHECK: [0x05,0x00,0x44,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], vcc_hi
+// CHECK: [0x05,0x00,0x44,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], m0
+// CHECK: [0x05,0x00,0x44,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], exec_lo
+// CHECK: [0x05,0x00,0x44,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], exec_hi
+// CHECK: [0x05,0x00,0x44,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x44,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x44,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x44,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x44,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], v255
+// CHECK: [0x05,0x00,0x44,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], s1 clamp
+// CHECK: [0x05,0x80,0x44,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_i32_e64 v[5:6], s1 mul:2
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f64_i32_e64 v[5:6], s1 mul:4
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f64_i32_e64 v[5:6], s1 div:2
+// CHECK: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_f32_i32 v5, s1
+// CHECK: [0x01,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v255, s1
+// CHECK: [0x01,0x0a,0xfe,0x7f]
+
+v_cvt_f32_i32 v5, s101
+// CHECK: [0x65,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, flat_scratch_lo
+// CHECK: [0x66,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, flat_scratch_hi
+// CHECK: [0x67,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, vcc_lo
+// CHECK: [0x6a,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, vcc_hi
+// CHECK: [0x6b,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, m0
+// CHECK: [0x7c,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, exec_lo
+// CHECK: [0x7e,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, exec_hi
+// CHECK: [0x7f,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, 0
+// CHECK: [0x80,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, -1
+// CHECK: [0xc1,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, 0.5
+// CHECK: [0xf0,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, -4.0
+// CHECK: [0xf7,0x0a,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, 0xaf123456
+// CHECK: [0xff,0x0a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f32_i32 v5, 0x3f717273
+// CHECK: [0xff,0x0a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f32_i32 v5, v1
+// CHECK: [0x01,0x0b,0x0a,0x7e]
+
+v_cvt_f32_i32 v5, v255
+// CHECK: [0xff,0x0b,0x0a,0x7e]
+
+v_cvt_f32_i32_e64 v5, s1
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v255, s1
+// CHECK: [0xff,0x00,0x45,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, s101
+// CHECK: [0x05,0x00,0x45,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x45,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x45,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x45,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x45,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, m0
+// CHECK: [0x05,0x00,0x45,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x45,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x45,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, 0
+// CHECK: [0x05,0x00,0x45,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, -1
+// CHECK: [0x05,0x00,0x45,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x45,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x45,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, v1
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, v255
+// CHECK: [0x05,0x00,0x45,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x45,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_i32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_i32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_i32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_f32_u32 v5, s1
+// CHECK: [0x01,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v255, s1
+// CHECK: [0x01,0x0c,0xfe,0x7f]
+
+v_cvt_f32_u32 v5, s101
+// CHECK: [0x65,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, flat_scratch_lo
+// CHECK: [0x66,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, flat_scratch_hi
+// CHECK: [0x67,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, vcc_lo
+// CHECK: [0x6a,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, vcc_hi
+// CHECK: [0x6b,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, m0
+// CHECK: [0x7c,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, exec_lo
+// CHECK: [0x7e,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, exec_hi
+// CHECK: [0x7f,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, 0
+// CHECK: [0x80,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, -1
+// CHECK: [0xc1,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, 0.5
+// CHECK: [0xf0,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, -4.0
+// CHECK: [0xf7,0x0c,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, 0xaf123456
+// CHECK: [0xff,0x0c,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f32_u32 v5, 0x3f717273
+// CHECK: [0xff,0x0c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f32_u32 v5, v1
+// CHECK: [0x01,0x0d,0x0a,0x7e]
+
+v_cvt_f32_u32 v5, v255
+// CHECK: [0xff,0x0d,0x0a,0x7e]
+
+v_cvt_f32_u32_e64 v5, s1
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v255, s1
+// CHECK: [0xff,0x00,0x46,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, s101
+// CHECK: [0x05,0x00,0x46,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x46,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x46,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x46,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x46,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, m0
+// CHECK: [0x05,0x00,0x46,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x46,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x46,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, 0
+// CHECK: [0x05,0x00,0x46,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, -1
+// CHECK: [0x05,0x00,0x46,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x46,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x46,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, v1
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, v255
+// CHECK: [0x05,0x00,0x46,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x46,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_u32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_u32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_u32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_u32_f32 v5, s1
+// CHECK: [0x01,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v255, s1
+// CHECK: [0x01,0x0e,0xfe,0x7f]
+
+v_cvt_u32_f32 v5, s101
+// CHECK: [0x65,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, vcc_lo
+// CHECK: [0x6a,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, vcc_hi
+// CHECK: [0x6b,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, m0
+// CHECK: [0x7c,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, exec_lo
+// CHECK: [0x7e,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, exec_hi
+// CHECK: [0x7f,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, 0
+// CHECK: [0x80,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, -1
+// CHECK: [0xc1,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, 0.5
+// CHECK: [0xf0,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, -4.0
+// CHECK: [0xf7,0x0e,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, 0xaf123456
+// CHECK: [0xff,0x0e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_u32_f32 v5, 0x3f717273
+// CHECK: [0xff,0x0e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_u32_f32 v5, v1
+// CHECK: [0x01,0x0f,0x0a,0x7e]
+
+v_cvt_u32_f32 v5, v255
+// CHECK: [0xff,0x0f,0x0a,0x7e]
+
+v_cvt_u32_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x47,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x47,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x47,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x47,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x47,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x47,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x47,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x47,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x47,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x47,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x47,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x47,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x47,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x47,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x47,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x47,0xd1,0x01,0x00,0x00,0x20]
+
+v_cvt_u32_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x47,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_u32_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x47,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_i32_f32 v5, s1
+// CHECK: [0x01,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v255, s1
+// CHECK: [0x01,0x10,0xfe,0x7f]
+
+v_cvt_i32_f32 v5, s101
+// CHECK: [0x65,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, vcc_lo
+// CHECK: [0x6a,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, vcc_hi
+// CHECK: [0x6b,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, m0
+// CHECK: [0x7c,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, exec_lo
+// CHECK: [0x7e,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, exec_hi
+// CHECK: [0x7f,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, 0
+// CHECK: [0x80,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, -1
+// CHECK: [0xc1,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, 0.5
+// CHECK: [0xf0,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, -4.0
+// CHECK: [0xf7,0x10,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, 0xaf123456
+// CHECK: [0xff,0x10,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_i32_f32 v5, 0x3f717273
+// CHECK: [0xff,0x10,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_i32_f32 v5, v1
+// CHECK: [0x01,0x11,0x0a,0x7e]
+
+v_cvt_i32_f32 v5, v255
+// CHECK: [0xff,0x11,0x0a,0x7e]
+
+v_cvt_i32_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x48,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x48,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x48,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x48,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x48,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x48,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x48,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x48,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x48,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x48,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x48,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x48,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x48,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x48,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x48,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x48,0xd1,0x01,0x00,0x00,0x20]
+
+v_cvt_i32_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x48,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_i32_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x48,0xd1,0x01,0x00,0x00,0x00]
+
+v_mov_fed_b32 v5, s1
+// CHECK: [0x01,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v255, s1
+// CHECK: [0x01,0x12,0xfe,0x7f]
+
+v_mov_fed_b32 v5, s101
+// CHECK: [0x65,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, flat_scratch_lo
+// CHECK: [0x66,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, flat_scratch_hi
+// CHECK: [0x67,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, vcc_lo
+// CHECK: [0x6a,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, vcc_hi
+// CHECK: [0x6b,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, m0
+// CHECK: [0x7c,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, exec_lo
+// CHECK: [0x7e,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, exec_hi
+// CHECK: [0x7f,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, 0
+// CHECK: [0x80,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, -1
+// CHECK: [0xc1,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, 0.5
+// CHECK: [0xf0,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, -4.0
+// CHECK: [0xf7,0x12,0x0a,0x7e]
+
+v_mov_fed_b32 v5, 0xaf123456
+// CHECK: [0xff,0x12,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_mov_fed_b32 v5, 0x3f717273
+// CHECK: [0xff,0x12,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_mov_fed_b32 v5, v1
+// CHECK: [0x01,0x13,0x0a,0x7e]
+
+v_mov_fed_b32 v5, v255
+// CHECK: [0xff,0x13,0x0a,0x7e]
+
+v_mov_fed_b32_e64 v5, s1
+// CHECK: [0x05,0x00,0x49,0xd1,0x01,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v255, s1
+// CHECK: [0xff,0x00,0x49,0xd1,0x01,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, s101
+// CHECK: [0x05,0x00,0x49,0xd1,0x65,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x49,0xd1,0x66,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x49,0xd1,0x67,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x49,0xd1,0x6a,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x49,0xd1,0x6b,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, m0
+// CHECK: [0x05,0x00,0x49,0xd1,0x7c,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x49,0xd1,0x7e,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x49,0xd1,0x7f,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, 0
+// CHECK: [0x05,0x00,0x49,0xd1,0x80,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, -1
+// CHECK: [0x05,0x00,0x49,0xd1,0xc1,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x49,0xd1,0xf0,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x49,0xd1,0xf7,0x00,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x49,0xd1,0x01,0x01,0x00,0x00]
+
+v_mov_fed_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x49,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f16_f32 v5, s1
+// CHECK: [0x01,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v255, s1
+// CHECK: [0x01,0x14,0xfe,0x7f]
+
+v_cvt_f16_f32 v5, s101
+// CHECK: [0x65,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, vcc_lo
+// CHECK: [0x6a,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, vcc_hi
+// CHECK: [0x6b,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, m0
+// CHECK: [0x7c,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, exec_lo
+// CHECK: [0x7e,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, exec_hi
+// CHECK: [0x7f,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, 0
+// CHECK: [0x80,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, -1
+// CHECK: [0xc1,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, 0.5
+// CHECK: [0xf0,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, -4.0
+// CHECK: [0xf7,0x14,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, 0xaf123456
+// CHECK: [0xff,0x14,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f16_f32 v5, 0x3f717273
+// CHECK: [0xff,0x14,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f16_f32 v5, v1
+// CHECK: [0x01,0x15,0x0a,0x7e]
+
+v_cvt_f16_f32 v5, v255
+// CHECK: [0xff,0x15,0x0a,0x7e]
+
+v_cvt_f16_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x4a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x4a,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x4a,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x4a,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x4a,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x4a,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x4a,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x4a,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x4a,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x4a,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x4a,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x4a,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x4a,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x4a,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x20]
+
+v_cvt_f16_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x4a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x4a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f16_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f16_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f16_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_f32_f16 v5, s1
+// CHECK: [0x01,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v255, s1
+// CHECK: [0x01,0x16,0xfe,0x7f]
+
+v_cvt_f32_f16 v5, s101
+// CHECK: [0x65,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, vcc_lo
+// CHECK: [0x6a,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, vcc_hi
+// CHECK: [0x6b,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, m0
+// CHECK: [0x7c,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, exec_lo
+// CHECK: [0x7e,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, exec_hi
+// CHECK: [0x7f,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, 0
+// CHECK: [0x80,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, -1
+// CHECK: [0xc1,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, 0.5
+// CHECK: [0xf0,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, -4.0
+// CHECK: [0xf7,0x16,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, 0xfe0b
+// CHECK: [0xff,0x16,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_cvt_f32_f16 v5, 0x3456
+// CHECK: [0xff,0x16,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_cvt_f32_f16 v5, v1
+// CHECK: [0x01,0x17,0x0a,0x7e]
+
+v_cvt_f32_f16 v5, v255
+// CHECK: [0xff,0x17,0x0a,0x7e]
+
+v_cvt_f32_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x4b,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x4b,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x4b,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x4b,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x4b,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x4b,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x4b,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x4b,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x4b,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x4b,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x4b,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x4b,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x4b,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x4b,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x20]
+
+v_cvt_f32_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x4b,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x4b,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_f16_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_f16_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_f16_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_rpi_i32_f32 v5, s1
+// CHECK: [0x01,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v255, s1
+// CHECK: [0x01,0x18,0xfe,0x7f]
+
+v_cvt_rpi_i32_f32 v5, s101
+// CHECK: [0x65,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, vcc_lo
+// CHECK: [0x6a,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, vcc_hi
+// CHECK: [0x6b,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, m0
+// CHECK: [0x7c,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, exec_lo
+// CHECK: [0x7e,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, exec_hi
+// CHECK: [0x7f,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, 0
+// CHECK: [0x80,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, -1
+// CHECK: [0xc1,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, 0.5
+// CHECK: [0xf0,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, -4.0
+// CHECK: [0xf7,0x18,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, 0xaf123456
+// CHECK: [0xff,0x18,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_rpi_i32_f32 v5, 0x3f717273
+// CHECK: [0xff,0x18,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_rpi_i32_f32 v5, v1
+// CHECK: [0x01,0x19,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32 v5, v255
+// CHECK: [0xff,0x19,0x0a,0x7e]
+
+v_cvt_rpi_i32_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x4c,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x4c,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x4c,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x4c,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x4c,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x4c,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x4c,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x4c,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x4c,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x4c,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x4c,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x4c,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x4c,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x4c,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x4c,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x4c,0xd1,0x01,0x00,0x00,0x20]
+
+v_cvt_rpi_i32_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x4c,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_rpi_i32_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x4c,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32 v5, s1
+// CHECK: [0x01,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v255, s1
+// CHECK: [0x01,0x1a,0xfe,0x7f]
+
+v_cvt_flr_i32_f32 v5, s101
+// CHECK: [0x65,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, vcc_lo
+// CHECK: [0x6a,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, vcc_hi
+// CHECK: [0x6b,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, m0
+// CHECK: [0x7c,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, exec_lo
+// CHECK: [0x7e,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, exec_hi
+// CHECK: [0x7f,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, 0
+// CHECK: [0x80,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, -1
+// CHECK: [0xc1,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, 0.5
+// CHECK: [0xf0,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, -4.0
+// CHECK: [0xf7,0x1a,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, 0xaf123456
+// CHECK: [0xff,0x1a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_flr_i32_f32 v5, 0x3f717273
+// CHECK: [0xff,0x1a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_flr_i32_f32 v5, v1
+// CHECK: [0x01,0x1b,0x0a,0x7e]
+
+v_cvt_flr_i32_f32 v5, v255
+// CHECK: [0xff,0x1b,0x0a,0x7e]
+
+v_cvt_flr_i32_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x4d,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x4d,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x4d,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x4d,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x4d,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x4d,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x4d,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x4d,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x4d,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x4d,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x4d,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x4d,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x4d,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x4d,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x4d,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x4d,0xd1,0x01,0x00,0x00,0x20]
+
+v_cvt_flr_i32_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x4d,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_flr_i32_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x4d,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4 v5, s1
+// CHECK: [0x01,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v255, s1
+// CHECK: [0x01,0x1c,0xfe,0x7f]
+
+v_cvt_off_f32_i4 v5, s101
+// CHECK: [0x65,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, flat_scratch_lo
+// CHECK: [0x66,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, flat_scratch_hi
+// CHECK: [0x67,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, vcc_lo
+// CHECK: [0x6a,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, vcc_hi
+// CHECK: [0x6b,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, m0
+// CHECK: [0x7c,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, exec_lo
+// CHECK: [0x7e,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, exec_hi
+// CHECK: [0x7f,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, 0
+// CHECK: [0x80,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, -1
+// CHECK: [0xc1,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, 0.5
+// CHECK: [0xf0,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, -4.0
+// CHECK: [0xf7,0x1c,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, 0x4f
+// CHECK: [0xff,0x1c,0x0a,0x7e,0x4f,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4 v5, 0x41
+// CHECK: [0xff,0x1c,0x0a,0x7e,0x41,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4 v5, v1
+// CHECK: [0x01,0x1d,0x0a,0x7e]
+
+v_cvt_off_f32_i4 v5, v255
+// CHECK: [0xff,0x1d,0x0a,0x7e]
+
+v_cvt_off_f32_i4_e64 v5, s1
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v255, s1
+// CHECK: [0xff,0x00,0x4e,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, s101
+// CHECK: [0x05,0x00,0x4e,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x4e,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x4e,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x4e,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x4e,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, m0
+// CHECK: [0x05,0x00,0x4e,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x4e,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x4e,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, 0
+// CHECK: [0x05,0x00,0x4e,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, -1
+// CHECK: [0x05,0x00,0x4e,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x4e,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x4e,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, v1
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, v255
+// CHECK: [0x05,0x00,0x4e,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x4e,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_off_f32_i4_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_off_f32_i4_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_off_f32_i4_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_f32_f64 v5, s[2:3]
+// CHECK: [0x02,0x1e,0x0a,0x7e]
+
+v_cvt_f32_f64 v255, s[2:3]
+// CHECK: [0x02,0x1e,0xfe,0x7f]
+
+v_cvt_f32_f64 v5, s[4:5]
+// CHECK: [0x04,0x1e,0x0a,0x7e]
+
+v_cvt_f32_f64 v5, s[100:101]
+// CHECK: [0x64,0x1e,0x0a,0x7e]
+
+v_cvt_f32_f64 v5, flat_scratch
+// CHECK: [0x66,0x1e,0x0a,0x7e]
+
+v_cvt_f32_f64 v5, vcc
+// CHECK: [0x6a,0x1e,0x0a,0x7e]
+
+v_cvt_f32_f64 v5, exec
+// CHECK: [0x7e,0x1e,0x0a,0x7e]
+
+v_cvt_f32_f64 v5, 0
+// CHECK: [0x80,0x1e,0x0a,0x7e]
+
+v_cvt_f32_f64 v5, -1
+// CHECK: [0xc1,0x1e,0x0a,0x7e]
+
+v_cvt_f32_f64 v5, 0.5
+// CHECK: [0xf0,0x1e,0x0a,0x7e]
+
+v_cvt_f32_f64 v5, -4.0
+// CHECK: [0xf7,0x1e,0x0a,0x7e]
+
+v_cvt_f32_f64 v5, 0xaf123456
+// CHECK: [0xff,0x1e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f32_f64 v5, 0x3f717273
+// CHECK: [0xff,0x1e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f32_f64 v5, v[1:2]
+// CHECK: [0x01,0x1f,0x0a,0x7e]
+
+v_cvt_f32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x1f,0x0a,0x7e]
+
+v_cvt_f32_f64_e64 v5, s[2:3]
+// CHECK: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v255, s[2:3]
+// CHECK: [0xff,0x00,0x4f,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, s[4:5]
+// CHECK: [0x05,0x00,0x4f,0xd1,0x04,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, s[100:101]
+// CHECK: [0x05,0x00,0x4f,0xd1,0x64,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, flat_scratch
+// CHECK: [0x05,0x00,0x4f,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, vcc
+// CHECK: [0x05,0x00,0x4f,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, exec
+// CHECK: [0x05,0x00,0x4f,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, 0
+// CHECK: [0x05,0x00,0x4f,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, -1
+// CHECK: [0x05,0x00,0x4f,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x4f,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x4f,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, v[254:255]
+// CHECK: [0x05,0x00,0x4f,0xd1,0xfe,0x01,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, -s[2:3]
+// CHECK: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x20]
+
+v_cvt_f32_f64_e64 v5, |s[2:3]|
+// CHECK: [0x05,0x01,0x4f,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, s[2:3] clamp
+// CHECK: [0x05,0x80,0x4f,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_f32_f64_e64 v5, s[2:3] mul:2
+// CHECK: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x08]
+
+v_cvt_f32_f64_e64 v5, s[2:3] mul:4
+// CHECK: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x10]
+
+v_cvt_f32_f64_e64 v5, s[2:3] div:2
+// CHECK: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x18]
+
+v_cvt_f64_f32 v[5:6], s1
+// CHECK: [0x01,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[254:255], s1
+// CHECK: [0x01,0x20,0xfc,0x7f]
+
+v_cvt_f64_f32 v[5:6], s101
+// CHECK: [0x65,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], flat_scratch_lo
+// CHECK: [0x66,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], flat_scratch_hi
+// CHECK: [0x67,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], vcc_lo
+// CHECK: [0x6a,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], vcc_hi
+// CHECK: [0x6b,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], m0
+// CHECK: [0x7c,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], exec_lo
+// CHECK: [0x7e,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], exec_hi
+// CHECK: [0x7f,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], 0
+// CHECK: [0x80,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], -1
+// CHECK: [0xc1,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], 0.5
+// CHECK: [0xf0,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], -4.0
+// CHECK: [0xf7,0x20,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], 0xaf123456
+// CHECK: [0xff,0x20,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f64_f32 v[5:6], 0x3f717273
+// CHECK: [0xff,0x20,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f64_f32 v[5:6], v1
+// CHECK: [0x01,0x21,0x0a,0x7e]
+
+v_cvt_f64_f32 v[5:6], v255
+// CHECK: [0xff,0x21,0x0a,0x7e]
+
+v_cvt_f64_f32_e64 v[5:6], s1
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[254:255], s1
+// CHECK: [0xfe,0x00,0x50,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], s101
+// CHECK: [0x05,0x00,0x50,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], flat_scratch_lo
+// CHECK: [0x05,0x00,0x50,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], flat_scratch_hi
+// CHECK: [0x05,0x00,0x50,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], vcc_lo
+// CHECK: [0x05,0x00,0x50,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], vcc_hi
+// CHECK: [0x05,0x00,0x50,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], m0
+// CHECK: [0x05,0x00,0x50,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], exec_lo
+// CHECK: [0x05,0x00,0x50,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], exec_hi
+// CHECK: [0x05,0x00,0x50,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x50,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x50,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x50,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x50,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], v255
+// CHECK: [0x05,0x00,0x50,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], -s1
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x20]
+
+v_cvt_f64_f32_e64 v[5:6], |s1|
+// CHECK: [0x05,0x01,0x50,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], s1 clamp
+// CHECK: [0x05,0x80,0x50,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_f32_e64 v[5:6], s1 mul:2
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f64_f32_e64 v[5:6], s1 mul:4
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f64_f32_e64 v[5:6], s1 div:2
+// CHECK: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_f32_ubyte0 v5, s1
+// CHECK: [0x01,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v255, s1
+// CHECK: [0x01,0x22,0xfe,0x7f]
+
+v_cvt_f32_ubyte0 v5, s101
+// CHECK: [0x65,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, flat_scratch_lo
+// CHECK: [0x66,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, flat_scratch_hi
+// CHECK: [0x67,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, vcc_lo
+// CHECK: [0x6a,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, vcc_hi
+// CHECK: [0x6b,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, m0
+// CHECK: [0x7c,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, exec_lo
+// CHECK: [0x7e,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, exec_hi
+// CHECK: [0x7f,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, 0
+// CHECK: [0x80,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, -1
+// CHECK: [0xc1,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, 0.5
+// CHECK: [0xf0,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, -4.0
+// CHECK: [0xf7,0x22,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, 0xaf123456
+// CHECK: [0xff,0x22,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f32_ubyte0 v5, 0x3f717273
+// CHECK: [0xff,0x22,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f32_ubyte0 v5, v1
+// CHECK: [0x01,0x23,0x0a,0x7e]
+
+v_cvt_f32_ubyte0 v5, v255
+// CHECK: [0xff,0x23,0x0a,0x7e]
+
+v_cvt_f32_ubyte0_e64 v5, s1
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v255, s1
+// CHECK: [0xff,0x00,0x51,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, s101
+// CHECK: [0x05,0x00,0x51,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x51,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x51,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x51,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x51,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, m0
+// CHECK: [0x05,0x00,0x51,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x51,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x51,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, 0
+// CHECK: [0x05,0x00,0x51,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, -1
+// CHECK: [0x05,0x00,0x51,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x51,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x51,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, v1
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, v255
+// CHECK: [0x05,0x00,0x51,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x51,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte0_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_ubyte0_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_ubyte0_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_f32_ubyte1 v5, s1
+// CHECK: [0x01,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v255, s1
+// CHECK: [0x01,0x24,0xfe,0x7f]
+
+v_cvt_f32_ubyte1 v5, s101
+// CHECK: [0x65,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, flat_scratch_lo
+// CHECK: [0x66,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, flat_scratch_hi
+// CHECK: [0x67,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, vcc_lo
+// CHECK: [0x6a,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, vcc_hi
+// CHECK: [0x6b,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, m0
+// CHECK: [0x7c,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, exec_lo
+// CHECK: [0x7e,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, exec_hi
+// CHECK: [0x7f,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, 0
+// CHECK: [0x80,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, -1
+// CHECK: [0xc1,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, 0.5
+// CHECK: [0xf0,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, -4.0
+// CHECK: [0xf7,0x24,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, 0xaf123456
+// CHECK: [0xff,0x24,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f32_ubyte1 v5, 0x3f717273
+// CHECK: [0xff,0x24,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f32_ubyte1 v5, v1
+// CHECK: [0x01,0x25,0x0a,0x7e]
+
+v_cvt_f32_ubyte1 v5, v255
+// CHECK: [0xff,0x25,0x0a,0x7e]
+
+v_cvt_f32_ubyte1_e64 v5, s1
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v255, s1
+// CHECK: [0xff,0x00,0x52,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, s101
+// CHECK: [0x05,0x00,0x52,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x52,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x52,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x52,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x52,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, m0
+// CHECK: [0x05,0x00,0x52,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x52,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x52,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, 0
+// CHECK: [0x05,0x00,0x52,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, -1
+// CHECK: [0x05,0x00,0x52,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x52,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x52,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, v1
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, v255
+// CHECK: [0x05,0x00,0x52,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x52,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte1_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_ubyte1_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_ubyte1_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_f32_ubyte2 v5, s1
+// CHECK: [0x01,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v255, s1
+// CHECK: [0x01,0x26,0xfe,0x7f]
+
+v_cvt_f32_ubyte2 v5, s101
+// CHECK: [0x65,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, flat_scratch_lo
+// CHECK: [0x66,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, flat_scratch_hi
+// CHECK: [0x67,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, vcc_lo
+// CHECK: [0x6a,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, vcc_hi
+// CHECK: [0x6b,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, m0
+// CHECK: [0x7c,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, exec_lo
+// CHECK: [0x7e,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, exec_hi
+// CHECK: [0x7f,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, 0
+// CHECK: [0x80,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, -1
+// CHECK: [0xc1,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, 0.5
+// CHECK: [0xf0,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, -4.0
+// CHECK: [0xf7,0x26,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, 0xaf123456
+// CHECK: [0xff,0x26,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f32_ubyte2 v5, 0x3f717273
+// CHECK: [0xff,0x26,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f32_ubyte2 v5, v1
+// CHECK: [0x01,0x27,0x0a,0x7e]
+
+v_cvt_f32_ubyte2 v5, v255
+// CHECK: [0xff,0x27,0x0a,0x7e]
+
+v_cvt_f32_ubyte2_e64 v5, s1
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v255, s1
+// CHECK: [0xff,0x00,0x53,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, s101
+// CHECK: [0x05,0x00,0x53,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x53,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x53,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x53,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x53,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, m0
+// CHECK: [0x05,0x00,0x53,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x53,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x53,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, 0
+// CHECK: [0x05,0x00,0x53,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, -1
+// CHECK: [0x05,0x00,0x53,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x53,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x53,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, v1
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, v255
+// CHECK: [0x05,0x00,0x53,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x53,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte2_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_ubyte2_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_ubyte2_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_f32_ubyte3 v5, s1
+// CHECK: [0x01,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v255, s1
+// CHECK: [0x01,0x28,0xfe,0x7f]
+
+v_cvt_f32_ubyte3 v5, s101
+// CHECK: [0x65,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, flat_scratch_lo
+// CHECK: [0x66,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, flat_scratch_hi
+// CHECK: [0x67,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, vcc_lo
+// CHECK: [0x6a,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, vcc_hi
+// CHECK: [0x6b,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, m0
+// CHECK: [0x7c,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, exec_lo
+// CHECK: [0x7e,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, exec_hi
+// CHECK: [0x7f,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, 0
+// CHECK: [0x80,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, -1
+// CHECK: [0xc1,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, 0.5
+// CHECK: [0xf0,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, -4.0
+// CHECK: [0xf7,0x28,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, 0xaf123456
+// CHECK: [0xff,0x28,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f32_ubyte3 v5, 0x3f717273
+// CHECK: [0xff,0x28,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f32_ubyte3 v5, v1
+// CHECK: [0x01,0x29,0x0a,0x7e]
+
+v_cvt_f32_ubyte3 v5, v255
+// CHECK: [0xff,0x29,0x0a,0x7e]
+
+v_cvt_f32_ubyte3_e64 v5, s1
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v255, s1
+// CHECK: [0xff,0x00,0x54,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, s101
+// CHECK: [0x05,0x00,0x54,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x54,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x54,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x54,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x54,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, m0
+// CHECK: [0x05,0x00,0x54,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x54,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x54,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, 0
+// CHECK: [0x05,0x00,0x54,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, -1
+// CHECK: [0x05,0x00,0x54,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x54,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x54,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, v1
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, v255
+// CHECK: [0x05,0x00,0x54,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x54,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f32_ubyte3_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f32_ubyte3_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f32_ubyte3_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x18]
+
+v_cvt_u32_f64 v5, s[2:3]
+// CHECK: [0x02,0x2a,0x0a,0x7e]
+
+v_cvt_u32_f64 v255, s[2:3]
+// CHECK: [0x02,0x2a,0xfe,0x7f]
+
+v_cvt_u32_f64 v5, s[4:5]
+// CHECK: [0x04,0x2a,0x0a,0x7e]
+
+v_cvt_u32_f64 v5, s[100:101]
+// CHECK: [0x64,0x2a,0x0a,0x7e]
+
+v_cvt_u32_f64 v5, flat_scratch
+// CHECK: [0x66,0x2a,0x0a,0x7e]
+
+v_cvt_u32_f64 v5, vcc
+// CHECK: [0x6a,0x2a,0x0a,0x7e]
+
+v_cvt_u32_f64 v5, exec
+// CHECK: [0x7e,0x2a,0x0a,0x7e]
+
+v_cvt_u32_f64 v5, 0
+// CHECK: [0x80,0x2a,0x0a,0x7e]
+
+v_cvt_u32_f64 v5, -1
+// CHECK: [0xc1,0x2a,0x0a,0x7e]
+
+v_cvt_u32_f64 v5, 0.5
+// CHECK: [0xf0,0x2a,0x0a,0x7e]
+
+v_cvt_u32_f64 v5, -4.0
+// CHECK: [0xf7,0x2a,0x0a,0x7e]
+
+v_cvt_u32_f64 v5, 0xaf123456
+// CHECK: [0xff,0x2a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_u32_f64 v5, 0x3f717273
+// CHECK: [0xff,0x2a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_u32_f64 v5, v[1:2]
+// CHECK: [0x01,0x2b,0x0a,0x7e]
+
+v_cvt_u32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x2b,0x0a,0x7e]
+
+v_cvt_u32_f64_e64 v5, s[2:3]
+// CHECK: [0x05,0x00,0x55,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v255, s[2:3]
+// CHECK: [0xff,0x00,0x55,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, s[4:5]
+// CHECK: [0x05,0x00,0x55,0xd1,0x04,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, s[100:101]
+// CHECK: [0x05,0x00,0x55,0xd1,0x64,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, flat_scratch
+// CHECK: [0x05,0x00,0x55,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, vcc
+// CHECK: [0x05,0x00,0x55,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, exec
+// CHECK: [0x05,0x00,0x55,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, 0
+// CHECK: [0x05,0x00,0x55,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, -1
+// CHECK: [0x05,0x00,0x55,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x55,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x55,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, v[254:255]
+// CHECK: [0x05,0x00,0x55,0xd1,0xfe,0x01,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, -s[2:3]
+// CHECK: [0x05,0x00,0x55,0xd1,0x02,0x00,0x00,0x20]
+
+v_cvt_u32_f64_e64 v5, |s[2:3]|
+// CHECK: [0x05,0x01,0x55,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_u32_f64_e64 v5, s[2:3] clamp
+// CHECK: [0x05,0x80,0x55,0xd1,0x02,0x00,0x00,0x00]
+
+v_cvt_f64_u32 v[5:6], s1
+// CHECK: [0x01,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[254:255], s1
+// CHECK: [0x01,0x2c,0xfc,0x7f]
+
+v_cvt_f64_u32 v[5:6], s101
+// CHECK: [0x65,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], flat_scratch_lo
+// CHECK: [0x66,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], flat_scratch_hi
+// CHECK: [0x67,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], vcc_lo
+// CHECK: [0x6a,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], vcc_hi
+// CHECK: [0x6b,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], m0
+// CHECK: [0x7c,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], exec_lo
+// CHECK: [0x7e,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], exec_hi
+// CHECK: [0x7f,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], 0
+// CHECK: [0x80,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], -1
+// CHECK: [0xc1,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], 0.5
+// CHECK: [0xf0,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], -4.0
+// CHECK: [0xf7,0x2c,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], 0xaf123456
+// CHECK: [0xff,0x2c,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cvt_f64_u32 v[5:6], 0x3f717273
+// CHECK: [0xff,0x2c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cvt_f64_u32 v[5:6], v1
+// CHECK: [0x01,0x2d,0x0a,0x7e]
+
+v_cvt_f64_u32 v[5:6], v255
+// CHECK: [0xff,0x2d,0x0a,0x7e]
+
+v_cvt_f64_u32_e64 v[5:6], s1
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[254:255], s1
+// CHECK: [0xfe,0x00,0x56,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], s101
+// CHECK: [0x05,0x00,0x56,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], flat_scratch_lo
+// CHECK: [0x05,0x00,0x56,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], flat_scratch_hi
+// CHECK: [0x05,0x00,0x56,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], vcc_lo
+// CHECK: [0x05,0x00,0x56,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], vcc_hi
+// CHECK: [0x05,0x00,0x56,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], m0
+// CHECK: [0x05,0x00,0x56,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], exec_lo
+// CHECK: [0x05,0x00,0x56,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], exec_hi
+// CHECK: [0x05,0x00,0x56,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x56,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x56,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x56,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x56,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], v1
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], v255
+// CHECK: [0x05,0x00,0x56,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], s1 clamp
+// CHECK: [0x05,0x80,0x56,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f64_u32_e64 v[5:6], s1 mul:2
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x08]
+
+v_cvt_f64_u32_e64 v[5:6], s1 mul:4
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x10]
+
+v_cvt_f64_u32_e64 v[5:6], s1 div:2
+// CHECK: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x18]
+
+v_trunc_f64 v[5:6], s[2:3]
+// CHECK: [0x02,0x2e,0x0a,0x7e]
+
+v_trunc_f64 v[254:255], s[2:3]
+// CHECK: [0x02,0x2e,0xfc,0x7f]
+
+v_trunc_f64 v[5:6], s[4:5]
+// CHECK: [0x04,0x2e,0x0a,0x7e]
+
+v_trunc_f64 v[5:6], s[100:101]
+// CHECK: [0x64,0x2e,0x0a,0x7e]
+
+v_trunc_f64 v[5:6], flat_scratch
+// CHECK: [0x66,0x2e,0x0a,0x7e]
+
+v_trunc_f64 v[5:6], vcc
+// CHECK: [0x6a,0x2e,0x0a,0x7e]
+
+v_trunc_f64 v[5:6], exec
+// CHECK: [0x7e,0x2e,0x0a,0x7e]
+
+v_trunc_f64 v[5:6], 0
+// CHECK: [0x80,0x2e,0x0a,0x7e]
+
+v_trunc_f64 v[5:6], -1
+// CHECK: [0xc1,0x2e,0x0a,0x7e]
+
+v_trunc_f64 v[5:6], 0.5
+// CHECK: [0xf0,0x2e,0x0a,0x7e]
+
+v_trunc_f64 v[5:6], -4.0
+// CHECK: [0xf7,0x2e,0x0a,0x7e]
+
+v_trunc_f64 v[5:6], 0xaf123456
+// CHECK: [0xff,0x2e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_trunc_f64 v[5:6], 0x3f717273
+// CHECK: [0xff,0x2e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_trunc_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x2f,0x0a,0x7e]
+
+v_trunc_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x2f,0x0a,0x7e]
+
+v_trunc_f64_e64 v[5:6], s[2:3]
+// CHECK: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[254:255], s[2:3]
+// CHECK: [0xfe,0x00,0x57,0xd1,0x02,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], s[4:5]
+// CHECK: [0x05,0x00,0x57,0xd1,0x04,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], s[100:101]
+// CHECK: [0x05,0x00,0x57,0xd1,0x64,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], flat_scratch
+// CHECK: [0x05,0x00,0x57,0xd1,0x66,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], vcc
+// CHECK: [0x05,0x00,0x57,0xd1,0x6a,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], exec
+// CHECK: [0x05,0x00,0x57,0xd1,0x7e,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x57,0xd1,0x80,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x57,0xd1,0xc1,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x57,0xd1,0xf0,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x57,0xd1,0xf7,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x57,0xd1,0xfe,0x01,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], -s[2:3]
+// CHECK: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x20]
+
+v_trunc_f64_e64 v[5:6], |s[2:3]|
+// CHECK: [0x05,0x01,0x57,0xd1,0x02,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], s[2:3] clamp
+// CHECK: [0x05,0x80,0x57,0xd1,0x02,0x00,0x00,0x00]
+
+v_trunc_f64_e64 v[5:6], s[2:3] mul:2
+// CHECK: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x08]
+
+v_trunc_f64_e64 v[5:6], s[2:3] mul:4
+// CHECK: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x10]
+
+v_trunc_f64_e64 v[5:6], s[2:3] div:2
+// CHECK: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x18]
+
+v_ceil_f64 v[5:6], s[2:3]
+// CHECK: [0x02,0x30,0x0a,0x7e]
+
+v_ceil_f64 v[254:255], s[2:3]
+// CHECK: [0x02,0x30,0xfc,0x7f]
+
+v_ceil_f64 v[5:6], s[4:5]
+// CHECK: [0x04,0x30,0x0a,0x7e]
+
+v_ceil_f64 v[5:6], s[100:101]
+// CHECK: [0x64,0x30,0x0a,0x7e]
+
+v_ceil_f64 v[5:6], flat_scratch
+// CHECK: [0x66,0x30,0x0a,0x7e]
+
+v_ceil_f64 v[5:6], vcc
+// CHECK: [0x6a,0x30,0x0a,0x7e]
+
+v_ceil_f64 v[5:6], exec
+// CHECK: [0x7e,0x30,0x0a,0x7e]
+
+v_ceil_f64 v[5:6], 0
+// CHECK: [0x80,0x30,0x0a,0x7e]
+
+v_ceil_f64 v[5:6], -1
+// CHECK: [0xc1,0x30,0x0a,0x7e]
+
+v_ceil_f64 v[5:6], 0.5
+// CHECK: [0xf0,0x30,0x0a,0x7e]
+
+v_ceil_f64 v[5:6], -4.0
+// CHECK: [0xf7,0x30,0x0a,0x7e]
+
+v_ceil_f64 v[5:6], 0xaf123456
+// CHECK: [0xff,0x30,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_ceil_f64 v[5:6], 0x3f717273
+// CHECK: [0xff,0x30,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_ceil_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x31,0x0a,0x7e]
+
+v_ceil_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x31,0x0a,0x7e]
+
+v_ceil_f64_e64 v[5:6], s[2:3]
+// CHECK: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[254:255], s[2:3]
+// CHECK: [0xfe,0x00,0x58,0xd1,0x02,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], s[4:5]
+// CHECK: [0x05,0x00,0x58,0xd1,0x04,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], s[100:101]
+// CHECK: [0x05,0x00,0x58,0xd1,0x64,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], flat_scratch
+// CHECK: [0x05,0x00,0x58,0xd1,0x66,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], vcc
+// CHECK: [0x05,0x00,0x58,0xd1,0x6a,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], exec
+// CHECK: [0x05,0x00,0x58,0xd1,0x7e,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x58,0xd1,0x80,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x58,0xd1,0xc1,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x58,0xd1,0xf0,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x58,0xd1,0xf7,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x58,0xd1,0xfe,0x01,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], -s[2:3]
+// CHECK: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x20]
+
+v_ceil_f64_e64 v[5:6], |s[2:3]|
+// CHECK: [0x05,0x01,0x58,0xd1,0x02,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], s[2:3] clamp
+// CHECK: [0x05,0x80,0x58,0xd1,0x02,0x00,0x00,0x00]
+
+v_ceil_f64_e64 v[5:6], s[2:3] mul:2
+// CHECK: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x08]
+
+v_ceil_f64_e64 v[5:6], s[2:3] mul:4
+// CHECK: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x10]
+
+v_ceil_f64_e64 v[5:6], s[2:3] div:2
+// CHECK: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x18]
+
+v_rndne_f64 v[5:6], s[2:3]
+// CHECK: [0x02,0x32,0x0a,0x7e]
+
+v_rndne_f64 v[254:255], s[2:3]
+// CHECK: [0x02,0x32,0xfc,0x7f]
+
+v_rndne_f64 v[5:6], s[4:5]
+// CHECK: [0x04,0x32,0x0a,0x7e]
+
+v_rndne_f64 v[5:6], s[100:101]
+// CHECK: [0x64,0x32,0x0a,0x7e]
+
+v_rndne_f64 v[5:6], flat_scratch
+// CHECK: [0x66,0x32,0x0a,0x7e]
+
+v_rndne_f64 v[5:6], vcc
+// CHECK: [0x6a,0x32,0x0a,0x7e]
+
+v_rndne_f64 v[5:6], exec
+// CHECK: [0x7e,0x32,0x0a,0x7e]
+
+v_rndne_f64 v[5:6], 0
+// CHECK: [0x80,0x32,0x0a,0x7e]
+
+v_rndne_f64 v[5:6], -1
+// CHECK: [0xc1,0x32,0x0a,0x7e]
+
+v_rndne_f64 v[5:6], 0.5
+// CHECK: [0xf0,0x32,0x0a,0x7e]
+
+v_rndne_f64 v[5:6], -4.0
+// CHECK: [0xf7,0x32,0x0a,0x7e]
+
+v_rndne_f64 v[5:6], 0xaf123456
+// CHECK: [0xff,0x32,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_rndne_f64 v[5:6], 0x3f717273
+// CHECK: [0xff,0x32,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_rndne_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x33,0x0a,0x7e]
+
+v_rndne_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x33,0x0a,0x7e]
+
+v_rndne_f64_e64 v[5:6], s[2:3]
+// CHECK: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[254:255], s[2:3]
+// CHECK: [0xfe,0x00,0x59,0xd1,0x02,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], s[4:5]
+// CHECK: [0x05,0x00,0x59,0xd1,0x04,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], s[100:101]
+// CHECK: [0x05,0x00,0x59,0xd1,0x64,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], flat_scratch
+// CHECK: [0x05,0x00,0x59,0xd1,0x66,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], vcc
+// CHECK: [0x05,0x00,0x59,0xd1,0x6a,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], exec
+// CHECK: [0x05,0x00,0x59,0xd1,0x7e,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x59,0xd1,0x80,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x59,0xd1,0xc1,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x59,0xd1,0xf0,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x59,0xd1,0xf7,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x59,0xd1,0xfe,0x01,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], -s[2:3]
+// CHECK: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x20]
+
+v_rndne_f64_e64 v[5:6], s[2:3] clamp
+// CHECK: [0x05,0x80,0x59,0xd1,0x02,0x00,0x00,0x00]
+
+v_rndne_f64_e64 v[5:6], s[2:3] mul:2
+// CHECK: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x08]
+
+v_rndne_f64_e64 v[5:6], s[2:3] mul:4
+// CHECK: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x10]
+
+v_rndne_f64_e64 v[5:6], s[2:3] div:2
+// CHECK: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x18]
+
+v_floor_f64 v[5:6], s[2:3]
+// CHECK: [0x02,0x34,0x0a,0x7e]
+
+v_floor_f64 v[254:255], s[2:3]
+// CHECK: [0x02,0x34,0xfc,0x7f]
+
+v_floor_f64 v[5:6], s[4:5]
+// CHECK: [0x04,0x34,0x0a,0x7e]
+
+v_floor_f64 v[5:6], s[100:101]
+// CHECK: [0x64,0x34,0x0a,0x7e]
+
+v_floor_f64 v[5:6], flat_scratch
+// CHECK: [0x66,0x34,0x0a,0x7e]
+
+v_floor_f64 v[5:6], vcc
+// CHECK: [0x6a,0x34,0x0a,0x7e]
+
+v_floor_f64 v[5:6], exec
+// CHECK: [0x7e,0x34,0x0a,0x7e]
+
+v_floor_f64 v[5:6], 0
+// CHECK: [0x80,0x34,0x0a,0x7e]
+
+v_floor_f64 v[5:6], -1
+// CHECK: [0xc1,0x34,0x0a,0x7e]
+
+v_floor_f64 v[5:6], 0.5
+// CHECK: [0xf0,0x34,0x0a,0x7e]
+
+v_floor_f64 v[5:6], -4.0
+// CHECK: [0xf7,0x34,0x0a,0x7e]
+
+v_floor_f64 v[5:6], 0xaf123456
+// CHECK: [0xff,0x34,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_floor_f64 v[5:6], 0x3f717273
+// CHECK: [0xff,0x34,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_floor_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x35,0x0a,0x7e]
+
+v_floor_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x35,0x0a,0x7e]
+
+v_floor_f64_e64 v[5:6], s[2:3]
+// CHECK: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[254:255], s[2:3]
+// CHECK: [0xfe,0x00,0x5a,0xd1,0x02,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], s[4:5]
+// CHECK: [0x05,0x00,0x5a,0xd1,0x04,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], s[100:101]
+// CHECK: [0x05,0x00,0x5a,0xd1,0x64,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], flat_scratch
+// CHECK: [0x05,0x00,0x5a,0xd1,0x66,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], vcc
+// CHECK: [0x05,0x00,0x5a,0xd1,0x6a,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], exec
+// CHECK: [0x05,0x00,0x5a,0xd1,0x7e,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x5a,0xd1,0x80,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x5a,0xd1,0xc1,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x5a,0xd1,0xf0,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x5a,0xd1,0xf7,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x5a,0xd1,0xfe,0x01,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], -s[2:3]
+// CHECK: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x20]
+
+v_floor_f64_e64 v[5:6], s[2:3] clamp
+// CHECK: [0x05,0x80,0x5a,0xd1,0x02,0x00,0x00,0x00]
+
+v_floor_f64_e64 v[5:6], s[2:3] mul:2
+// CHECK: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x08]
+
+v_floor_f64_e64 v[5:6], s[2:3] mul:4
+// CHECK: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x10]
+
+v_floor_f64_e64 v[5:6], s[2:3] div:2
+// CHECK: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x18]
+
+v_fract_f32 v5, s1
+// CHECK: [0x01,0x36,0x0a,0x7e]
+
+v_fract_f32 v255, s1
+// CHECK: [0x01,0x36,0xfe,0x7f]
+
+v_fract_f32 v5, s101
+// CHECK: [0x65,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, vcc_lo
+// CHECK: [0x6a,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, vcc_hi
+// CHECK: [0x6b,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, m0
+// CHECK: [0x7c,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, exec_lo
+// CHECK: [0x7e,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, exec_hi
+// CHECK: [0x7f,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, 0
+// CHECK: [0x80,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, -1
+// CHECK: [0xc1,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, 0.5
+// CHECK: [0xf0,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, -4.0
+// CHECK: [0xf7,0x36,0x0a,0x7e]
+
+v_fract_f32 v5, 0xaf123456
+// CHECK: [0xff,0x36,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_fract_f32 v5, 0x3f717273
+// CHECK: [0xff,0x36,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_fract_f32 v5, v1
+// CHECK: [0x01,0x37,0x0a,0x7e]
+
+v_fract_f32 v5, v255
+// CHECK: [0xff,0x37,0x0a,0x7e]
+
+v_fract_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x00]
+
+v_fract_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x5b,0xd1,0x01,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x5b,0xd1,0x65,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x5b,0xd1,0x66,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x5b,0xd1,0x67,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x5b,0xd1,0x6a,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x5b,0xd1,0x6b,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x5b,0xd1,0x7c,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x5b,0xd1,0x7e,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x5b,0xd1,0x7f,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x5b,0xd1,0x80,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x5b,0xd1,0xc1,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x5b,0xd1,0xf0,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x5b,0xd1,0xf7,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00]
+
+v_fract_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x5b,0xd1,0xff,0x01,0x00,0x00]
+
+v_fract_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x20]
+
+v_fract_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x5b,0xd1,0x01,0x00,0x00,0x00]
+
+v_fract_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x08]
+
+v_fract_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x10]
+
+v_fract_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x18]
+
+v_trunc_f32 v5, s1
+// CHECK: [0x01,0x38,0x0a,0x7e]
+
+v_trunc_f32 v255, s1
+// CHECK: [0x01,0x38,0xfe,0x7f]
+
+v_trunc_f32 v5, s101
+// CHECK: [0x65,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, vcc_lo
+// CHECK: [0x6a,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, vcc_hi
+// CHECK: [0x6b,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, m0
+// CHECK: [0x7c,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, exec_lo
+// CHECK: [0x7e,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, exec_hi
+// CHECK: [0x7f,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, 0
+// CHECK: [0x80,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, -1
+// CHECK: [0xc1,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, 0.5
+// CHECK: [0xf0,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, -4.0
+// CHECK: [0xf7,0x38,0x0a,0x7e]
+
+v_trunc_f32 v5, 0xaf123456
+// CHECK: [0xff,0x38,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_trunc_f32 v5, 0x3f717273
+// CHECK: [0xff,0x38,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_trunc_f32 v5, v1
+// CHECK: [0x01,0x39,0x0a,0x7e]
+
+v_trunc_f32 v5, v255
+// CHECK: [0xff,0x39,0x0a,0x7e]
+
+v_trunc_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x5c,0xd1,0x01,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x5c,0xd1,0x65,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x5c,0xd1,0x66,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x5c,0xd1,0x67,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x5c,0xd1,0x6a,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x5c,0xd1,0x6b,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x5c,0xd1,0x7c,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x5c,0xd1,0x7e,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x5c,0xd1,0x7f,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x5c,0xd1,0x80,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x5c,0xd1,0xc1,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x5c,0xd1,0xf0,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x5c,0xd1,0xf7,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00]
+
+v_trunc_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x5c,0xd1,0xff,0x01,0x00,0x00]
+
+v_trunc_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x20]
+
+v_trunc_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x5c,0xd1,0x01,0x00,0x00,0x00]
+
+v_trunc_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x08]
+
+v_trunc_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x10]
+
+v_trunc_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x18]
+
+v_ceil_f32 v5, s1
+// CHECK: [0x01,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v255, s1
+// CHECK: [0x01,0x3a,0xfe,0x7f]
+
+v_ceil_f32 v5, s101
+// CHECK: [0x65,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, vcc_lo
+// CHECK: [0x6a,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, vcc_hi
+// CHECK: [0x6b,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, m0
+// CHECK: [0x7c,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, exec_lo
+// CHECK: [0x7e,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, exec_hi
+// CHECK: [0x7f,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, 0
+// CHECK: [0x80,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, -1
+// CHECK: [0xc1,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, 0.5
+// CHECK: [0xf0,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, -4.0
+// CHECK: [0xf7,0x3a,0x0a,0x7e]
+
+v_ceil_f32 v5, 0xaf123456
+// CHECK: [0xff,0x3a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_ceil_f32 v5, 0x3f717273
+// CHECK: [0xff,0x3a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_ceil_f32 v5, v1
+// CHECK: [0x01,0x3b,0x0a,0x7e]
+
+v_ceil_f32 v5, v255
+// CHECK: [0xff,0x3b,0x0a,0x7e]
+
+v_ceil_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x5d,0xd1,0x01,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x5d,0xd1,0x65,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x5d,0xd1,0x66,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x5d,0xd1,0x67,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x5d,0xd1,0x6a,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x5d,0xd1,0x6b,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x5d,0xd1,0x7c,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x5d,0xd1,0x7e,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x5d,0xd1,0x7f,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x5d,0xd1,0x80,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x5d,0xd1,0xc1,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x5d,0xd1,0xf0,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x5d,0xd1,0xf7,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00]
+
+v_ceil_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x5d,0xd1,0xff,0x01,0x00,0x00]
+
+v_ceil_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x20]
+
+v_ceil_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x5d,0xd1,0x01,0x00,0x00,0x00]
+
+v_ceil_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x08]
+
+v_ceil_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x10]
+
+v_ceil_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x18]
+
+v_rndne_f32 v5, s1
+// CHECK: [0x01,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v255, s1
+// CHECK: [0x01,0x3c,0xfe,0x7f]
+
+v_rndne_f32 v5, s101
+// CHECK: [0x65,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, vcc_lo
+// CHECK: [0x6a,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, vcc_hi
+// CHECK: [0x6b,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, m0
+// CHECK: [0x7c,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, exec_lo
+// CHECK: [0x7e,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, exec_hi
+// CHECK: [0x7f,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, 0
+// CHECK: [0x80,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, -1
+// CHECK: [0xc1,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, 0.5
+// CHECK: [0xf0,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, -4.0
+// CHECK: [0xf7,0x3c,0x0a,0x7e]
+
+v_rndne_f32 v5, 0xaf123456
+// CHECK: [0xff,0x3c,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_rndne_f32 v5, 0x3f717273
+// CHECK: [0xff,0x3c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_rndne_f32 v5, v1
+// CHECK: [0x01,0x3d,0x0a,0x7e]
+
+v_rndne_f32 v5, v255
+// CHECK: [0xff,0x3d,0x0a,0x7e]
+
+v_rndne_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x5e,0xd1,0x01,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x5e,0xd1,0x65,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x5e,0xd1,0x66,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x5e,0xd1,0x67,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x5e,0xd1,0x6a,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x5e,0xd1,0x6b,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x5e,0xd1,0x7c,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x5e,0xd1,0x7e,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x5e,0xd1,0x7f,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x5e,0xd1,0x80,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x5e,0xd1,0xc1,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x5e,0xd1,0xf0,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x5e,0xd1,0xf7,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00]
+
+v_rndne_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x5e,0xd1,0xff,0x01,0x00,0x00]
+
+v_rndne_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x20]
+
+v_rndne_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x5e,0xd1,0x01,0x00,0x00,0x00]
+
+v_rndne_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x08]
+
+v_rndne_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x10]
+
+v_rndne_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x18]
+
+v_floor_f32 v5, s1
+// CHECK: [0x01,0x3e,0x0a,0x7e]
+
+v_floor_f32 v255, s1
+// CHECK: [0x01,0x3e,0xfe,0x7f]
+
+v_floor_f32 v5, s101
+// CHECK: [0x65,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, vcc_lo
+// CHECK: [0x6a,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, vcc_hi
+// CHECK: [0x6b,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, m0
+// CHECK: [0x7c,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, exec_lo
+// CHECK: [0x7e,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, exec_hi
+// CHECK: [0x7f,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, 0
+// CHECK: [0x80,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, -1
+// CHECK: [0xc1,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, 0.5
+// CHECK: [0xf0,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, -4.0
+// CHECK: [0xf7,0x3e,0x0a,0x7e]
+
+v_floor_f32 v5, 0xaf123456
+// CHECK: [0xff,0x3e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_floor_f32 v5, 0x3f717273
+// CHECK: [0xff,0x3e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_floor_f32 v5, v1
+// CHECK: [0x01,0x3f,0x0a,0x7e]
+
+v_floor_f32 v5, v255
+// CHECK: [0xff,0x3f,0x0a,0x7e]
+
+v_floor_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x00]
+
+v_floor_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x5f,0xd1,0x01,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x5f,0xd1,0x65,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x5f,0xd1,0x66,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x5f,0xd1,0x67,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x5f,0xd1,0x6a,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x5f,0xd1,0x6b,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x5f,0xd1,0x7c,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x5f,0xd1,0x7e,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x5f,0xd1,0x7f,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x5f,0xd1,0x80,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x5f,0xd1,0xc1,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x5f,0xd1,0xf0,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x5f,0xd1,0xf7,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00]
+
+v_floor_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x5f,0xd1,0xff,0x01,0x00,0x00]
+
+v_floor_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x20]
+
+v_floor_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x5f,0xd1,0x01,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x5f,0xd1,0x01,0x00,0x00,0x00]
+
+v_floor_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x08]
+
+v_floor_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x10]
+
+v_floor_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x18]
+
+v_exp_f32 v5, s1
+// CHECK: [0x01,0x40,0x0a,0x7e]
+
+v_exp_f32 v255, s1
+// CHECK: [0x01,0x40,0xfe,0x7f]
+
+v_exp_f32 v5, s101
+// CHECK: [0x65,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, vcc_lo
+// CHECK: [0x6a,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, vcc_hi
+// CHECK: [0x6b,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, m0
+// CHECK: [0x7c,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, exec_lo
+// CHECK: [0x7e,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, exec_hi
+// CHECK: [0x7f,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, 0
+// CHECK: [0x80,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, -1
+// CHECK: [0xc1,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, 0.5
+// CHECK: [0xf0,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, -4.0
+// CHECK: [0xf7,0x40,0x0a,0x7e]
+
+v_exp_f32 v5, 0xaf123456
+// CHECK: [0xff,0x40,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_exp_f32 v5, 0x3f717273
+// CHECK: [0xff,0x40,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_exp_f32 v5, v1
+// CHECK: [0x01,0x41,0x0a,0x7e]
+
+v_exp_f32 v5, v255
+// CHECK: [0xff,0x41,0x0a,0x7e]
+
+v_exp_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x60,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x60,0xd1,0x65,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x60,0xd1,0x66,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x60,0xd1,0x67,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x60,0xd1,0x6a,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x60,0xd1,0x6b,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x60,0xd1,0x7c,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x60,0xd1,0x7e,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x60,0xd1,0x7f,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x60,0xd1,0x80,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x60,0xd1,0xc1,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x60,0xd1,0xf0,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x60,0xd1,0xf7,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x00]
+
+v_exp_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x60,0xd1,0xff,0x01,0x00,0x00]
+
+v_exp_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x20]
+
+v_exp_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x60,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x60,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x08]
+
+v_exp_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x10]
+
+v_exp_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x18]
+
+v_log_f32 v5, s1
+// CHECK: [0x01,0x42,0x0a,0x7e]
+
+v_log_f32 v255, s1
+// CHECK: [0x01,0x42,0xfe,0x7f]
+
+v_log_f32 v5, s101
+// CHECK: [0x65,0x42,0x0a,0x7e]
+
+v_log_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x42,0x0a,0x7e]
+
+v_log_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x42,0x0a,0x7e]
+
+v_log_f32 v5, vcc_lo
+// CHECK: [0x6a,0x42,0x0a,0x7e]
+
+v_log_f32 v5, vcc_hi
+// CHECK: [0x6b,0x42,0x0a,0x7e]
+
+v_log_f32 v5, m0
+// CHECK: [0x7c,0x42,0x0a,0x7e]
+
+v_log_f32 v5, exec_lo
+// CHECK: [0x7e,0x42,0x0a,0x7e]
+
+v_log_f32 v5, exec_hi
+// CHECK: [0x7f,0x42,0x0a,0x7e]
+
+v_log_f32 v5, 0
+// CHECK: [0x80,0x42,0x0a,0x7e]
+
+v_log_f32 v5, -1
+// CHECK: [0xc1,0x42,0x0a,0x7e]
+
+v_log_f32 v5, 0.5
+// CHECK: [0xf0,0x42,0x0a,0x7e]
+
+v_log_f32 v5, -4.0
+// CHECK: [0xf7,0x42,0x0a,0x7e]
+
+v_log_f32 v5, 0xaf123456
+// CHECK: [0xff,0x42,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_log_f32 v5, 0x3f717273
+// CHECK: [0xff,0x42,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_log_f32 v5, v1
+// CHECK: [0x01,0x43,0x0a,0x7e]
+
+v_log_f32 v5, v255
+// CHECK: [0xff,0x43,0x0a,0x7e]
+
+v_log_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x61,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x61,0xd1,0x65,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x61,0xd1,0x66,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x61,0xd1,0x67,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x61,0xd1,0x6a,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x61,0xd1,0x6b,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x61,0xd1,0x7c,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x61,0xd1,0x7e,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x61,0xd1,0x7f,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x61,0xd1,0x80,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x61,0xd1,0xc1,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x61,0xd1,0xf0,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x61,0xd1,0xf7,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x00]
+
+v_log_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x61,0xd1,0xff,0x01,0x00,0x00]
+
+v_log_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x20]
+
+v_log_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x61,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x61,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x08]
+
+v_log_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x10]
+
+v_log_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x18]
+
+v_rcp_f32 v5, s1
+// CHECK: [0x01,0x44,0x0a,0x7e]
+
+v_rcp_f32 v255, s1
+// CHECK: [0x01,0x44,0xfe,0x7f]
+
+v_rcp_f32 v5, s101
+// CHECK: [0x65,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, vcc_lo
+// CHECK: [0x6a,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, vcc_hi
+// CHECK: [0x6b,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, m0
+// CHECK: [0x7c,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, exec_lo
+// CHECK: [0x7e,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, exec_hi
+// CHECK: [0x7f,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, 0
+// CHECK: [0x80,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, -1
+// CHECK: [0xc1,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, 0.5
+// CHECK: [0xf0,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, -4.0
+// CHECK: [0xf7,0x44,0x0a,0x7e]
+
+v_rcp_f32 v5, 0xaf123456
+// CHECK: [0xff,0x44,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_rcp_f32 v5, 0x3f717273
+// CHECK: [0xff,0x44,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_rcp_f32 v5, v1
+// CHECK: [0x01,0x45,0x0a,0x7e]
+
+v_rcp_f32 v5, v255
+// CHECK: [0xff,0x45,0x0a,0x7e]
+
+v_rcp_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x62,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x62,0xd1,0x65,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x62,0xd1,0x66,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x62,0xd1,0x67,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x62,0xd1,0x6a,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x62,0xd1,0x6b,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x62,0xd1,0x7c,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x62,0xd1,0x7e,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x62,0xd1,0x7f,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x62,0xd1,0x80,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x62,0xd1,0xc1,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x62,0xd1,0xf0,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x62,0xd1,0xf7,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x00]
+
+v_rcp_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x62,0xd1,0xff,0x01,0x00,0x00]
+
+v_rcp_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x20]
+
+v_rcp_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x62,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x62,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x08]
+
+v_rcp_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x10]
+
+v_rcp_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x18]
+
+v_rcp_iflag_f32 v5, s1
+// CHECK: [0x01,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v255, s1
+// CHECK: [0x01,0x46,0xfe,0x7f]
+
+v_rcp_iflag_f32 v5, s101
+// CHECK: [0x65,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, vcc_lo
+// CHECK: [0x6a,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, vcc_hi
+// CHECK: [0x6b,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, m0
+// CHECK: [0x7c,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, exec_lo
+// CHECK: [0x7e,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, exec_hi
+// CHECK: [0x7f,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, 0
+// CHECK: [0x80,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, -1
+// CHECK: [0xc1,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, 0.5
+// CHECK: [0xf0,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, -4.0
+// CHECK: [0xf7,0x46,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, 0xaf123456
+// CHECK: [0xff,0x46,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_rcp_iflag_f32 v5, 0x3f717273
+// CHECK: [0xff,0x46,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_rcp_iflag_f32 v5, v1
+// CHECK: [0x01,0x47,0x0a,0x7e]
+
+v_rcp_iflag_f32 v5, v255
+// CHECK: [0xff,0x47,0x0a,0x7e]
+
+v_rcp_iflag_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x63,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x63,0xd1,0x65,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x63,0xd1,0x66,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x63,0xd1,0x67,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x63,0xd1,0x6a,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x63,0xd1,0x6b,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x63,0xd1,0x7c,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x63,0xd1,0x7e,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x63,0xd1,0x7f,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x63,0xd1,0x80,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x63,0xd1,0xc1,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x63,0xd1,0xf0,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x63,0xd1,0xf7,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x63,0xd1,0xff,0x01,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x20]
+
+v_rcp_iflag_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x63,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x63,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_iflag_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x08]
+
+v_rcp_iflag_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x10]
+
+v_rcp_iflag_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x18]
+
+v_rsq_f32 v5, s1
+// CHECK: [0x01,0x48,0x0a,0x7e]
+
+v_rsq_f32 v255, s1
+// CHECK: [0x01,0x48,0xfe,0x7f]
+
+v_rsq_f32 v5, s101
+// CHECK: [0x65,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, vcc_lo
+// CHECK: [0x6a,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, vcc_hi
+// CHECK: [0x6b,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, m0
+// CHECK: [0x7c,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, exec_lo
+// CHECK: [0x7e,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, exec_hi
+// CHECK: [0x7f,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, 0
+// CHECK: [0x80,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, -1
+// CHECK: [0xc1,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, 0.5
+// CHECK: [0xf0,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, -4.0
+// CHECK: [0xf7,0x48,0x0a,0x7e]
+
+v_rsq_f32 v5, 0xaf123456
+// CHECK: [0xff,0x48,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_rsq_f32 v5, 0x3f717273
+// CHECK: [0xff,0x48,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_rsq_f32 v5, v1
+// CHECK: [0x01,0x49,0x0a,0x7e]
+
+v_rsq_f32 v5, v255
+// CHECK: [0xff,0x49,0x0a,0x7e]
+
+v_rsq_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x64,0xd1,0x01,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x64,0xd1,0x65,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x64,0xd1,0x66,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x64,0xd1,0x67,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x64,0xd1,0x6a,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x64,0xd1,0x6b,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x64,0xd1,0x7c,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x64,0xd1,0x7e,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x64,0xd1,0x7f,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x64,0xd1,0x80,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x64,0xd1,0xc1,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x64,0xd1,0xf0,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x64,0xd1,0xf7,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x00]
+
+v_rsq_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x64,0xd1,0xff,0x01,0x00,0x00]
+
+v_rsq_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x20]
+
+v_rsq_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x64,0xd1,0x01,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x64,0xd1,0x01,0x00,0x00,0x00]
+
+v_rsq_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x08]
+
+v_rsq_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x10]
+
+v_rsq_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x18]
+
+v_rcp_f64 v[5:6], s[2:3]
+// CHECK: [0x02,0x4a,0x0a,0x7e]
+
+v_rcp_f64 v[254:255], s[2:3]
+// CHECK: [0x02,0x4a,0xfc,0x7f]
+
+v_rcp_f64 v[5:6], s[4:5]
+// CHECK: [0x04,0x4a,0x0a,0x7e]
+
+v_rcp_f64 v[5:6], s[100:101]
+// CHECK: [0x64,0x4a,0x0a,0x7e]
+
+v_rcp_f64 v[5:6], flat_scratch
+// CHECK: [0x66,0x4a,0x0a,0x7e]
+
+v_rcp_f64 v[5:6], vcc
+// CHECK: [0x6a,0x4a,0x0a,0x7e]
+
+v_rcp_f64 v[5:6], exec
+// CHECK: [0x7e,0x4a,0x0a,0x7e]
+
+v_rcp_f64 v[5:6], 0
+// CHECK: [0x80,0x4a,0x0a,0x7e]
+
+v_rcp_f64 v[5:6], -1
+// CHECK: [0xc1,0x4a,0x0a,0x7e]
+
+v_rcp_f64 v[5:6], 0.5
+// CHECK: [0xf0,0x4a,0x0a,0x7e]
+
+v_rcp_f64 v[5:6], -4.0
+// CHECK: [0xf7,0x4a,0x0a,0x7e]
+
+v_rcp_f64 v[5:6], 0xaf123456
+// CHECK: [0xff,0x4a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_rcp_f64 v[5:6], 0x3f717273
+// CHECK: [0xff,0x4a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_rcp_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x4b,0x0a,0x7e]
+
+v_rcp_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x4b,0x0a,0x7e]
+
+v_rcp_f64_e64 v[5:6], s[2:3]
+// CHECK: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[254:255], s[2:3]
+// CHECK: [0xfe,0x00,0x65,0xd1,0x02,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], s[4:5]
+// CHECK: [0x05,0x00,0x65,0xd1,0x04,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], s[100:101]
+// CHECK: [0x05,0x00,0x65,0xd1,0x64,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], flat_scratch
+// CHECK: [0x05,0x00,0x65,0xd1,0x66,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], vcc
+// CHECK: [0x05,0x00,0x65,0xd1,0x6a,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], exec
+// CHECK: [0x05,0x00,0x65,0xd1,0x7e,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x65,0xd1,0x80,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x65,0xd1,0xc1,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x65,0xd1,0xf0,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x65,0xd1,0xf7,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x65,0xd1,0xfe,0x01,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], -s[2:3]
+// CHECK: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x20]
+
+v_rcp_f64_e64 v[5:6], |s[2:3]|
+// CHECK: [0x05,0x01,0x65,0xd1,0x02,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], s[2:3] clamp
+// CHECK: [0x05,0x80,0x65,0xd1,0x02,0x00,0x00,0x00]
+
+v_rcp_f64_e64 v[5:6], s[2:3] mul:2
+// CHECK: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x08]
+
+v_rcp_f64_e64 v[5:6], s[2:3] mul:4
+// CHECK: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x10]
+
+v_rcp_f64_e64 v[5:6], s[2:3] div:2
+// CHECK: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x18]
+
+v_rsq_f64 v[5:6], s[2:3]
+// CHECK: [0x02,0x4c,0x0a,0x7e]
+
+v_rsq_f64 v[254:255], s[2:3]
+// CHECK: [0x02,0x4c,0xfc,0x7f]
+
+v_rsq_f64 v[5:6], s[4:5]
+// CHECK: [0x04,0x4c,0x0a,0x7e]
+
+v_rsq_f64 v[5:6], s[100:101]
+// CHECK: [0x64,0x4c,0x0a,0x7e]
+
+v_rsq_f64 v[5:6], flat_scratch
+// CHECK: [0x66,0x4c,0x0a,0x7e]
+
+v_rsq_f64 v[5:6], vcc
+// CHECK: [0x6a,0x4c,0x0a,0x7e]
+
+v_rsq_f64 v[5:6], exec
+// CHECK: [0x7e,0x4c,0x0a,0x7e]
+
+v_rsq_f64 v[5:6], 0
+// CHECK: [0x80,0x4c,0x0a,0x7e]
+
+v_rsq_f64 v[5:6], -1
+// CHECK: [0xc1,0x4c,0x0a,0x7e]
+
+v_rsq_f64 v[5:6], 0.5
+// CHECK: [0xf0,0x4c,0x0a,0x7e]
+
+v_rsq_f64 v[5:6], -4.0
+// CHECK: [0xf7,0x4c,0x0a,0x7e]
+
+v_rsq_f64 v[5:6], 0xaf123456
+// CHECK: [0xff,0x4c,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_rsq_f64 v[5:6], 0x3f717273
+// CHECK: [0xff,0x4c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_rsq_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x4d,0x0a,0x7e]
+
+v_rsq_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x4d,0x0a,0x7e]
+
+v_rsq_f64_e64 v[5:6], s[2:3]
+// CHECK: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[254:255], s[2:3]
+// CHECK: [0xfe,0x00,0x66,0xd1,0x02,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], s[4:5]
+// CHECK: [0x05,0x00,0x66,0xd1,0x04,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], s[100:101]
+// CHECK: [0x05,0x00,0x66,0xd1,0x64,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], flat_scratch
+// CHECK: [0x05,0x00,0x66,0xd1,0x66,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], vcc
+// CHECK: [0x05,0x00,0x66,0xd1,0x6a,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], exec
+// CHECK: [0x05,0x00,0x66,0xd1,0x7e,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x66,0xd1,0x80,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x66,0xd1,0xc1,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x66,0xd1,0xf0,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x66,0xd1,0xf7,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x66,0xd1,0xfe,0x01,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], -s[2:3]
+// CHECK: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x20]
+
+v_rsq_f64_e64 v[5:6], |s[2:3]|
+// CHECK: [0x05,0x01,0x66,0xd1,0x02,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], s[2:3] clamp
+// CHECK: [0x05,0x80,0x66,0xd1,0x02,0x00,0x00,0x00]
+
+v_rsq_f64_e64 v[5:6], s[2:3] mul:2
+// CHECK: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x08]
+
+v_rsq_f64_e64 v[5:6], s[2:3] mul:4
+// CHECK: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x10]
+
+v_rsq_f64_e64 v[5:6], s[2:3] div:2
+// CHECK: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x18]
+
+v_sqrt_f32 v5, s1
+// CHECK: [0x01,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v255, s1
+// CHECK: [0x01,0x4e,0xfe,0x7f]
+
+v_sqrt_f32 v5, s101
+// CHECK: [0x65,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, vcc_lo
+// CHECK: [0x6a,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, vcc_hi
+// CHECK: [0x6b,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, m0
+// CHECK: [0x7c,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, exec_lo
+// CHECK: [0x7e,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, exec_hi
+// CHECK: [0x7f,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, 0
+// CHECK: [0x80,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, -1
+// CHECK: [0xc1,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, 0.5
+// CHECK: [0xf0,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, -4.0
+// CHECK: [0xf7,0x4e,0x0a,0x7e]
+
+v_sqrt_f32 v5, 0xaf123456
+// CHECK: [0xff,0x4e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_sqrt_f32 v5, 0x3f717273
+// CHECK: [0xff,0x4e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_sqrt_f32 v5, v1
+// CHECK: [0x01,0x4f,0x0a,0x7e]
+
+v_sqrt_f32 v5, v255
+// CHECK: [0xff,0x4f,0x0a,0x7e]
+
+v_sqrt_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x67,0xd1,0x01,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x67,0xd1,0x65,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x67,0xd1,0x66,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x67,0xd1,0x67,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x67,0xd1,0x6a,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x67,0xd1,0x6b,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x67,0xd1,0x7c,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x67,0xd1,0x7e,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x67,0xd1,0x7f,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x67,0xd1,0x80,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x67,0xd1,0xc1,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x67,0xd1,0xf0,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x67,0xd1,0xf7,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x00]
+
+v_sqrt_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x67,0xd1,0xff,0x01,0x00,0x00]
+
+v_sqrt_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x20]
+
+v_sqrt_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x67,0xd1,0x01,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x67,0xd1,0x01,0x00,0x00,0x00]
+
+v_sqrt_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x08]
+
+v_sqrt_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x10]
+
+v_sqrt_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x18]
+
+v_sqrt_f64 v[5:6], s[2:3]
+// CHECK: [0x02,0x50,0x0a,0x7e]
+
+v_sqrt_f64 v[254:255], s[2:3]
+// CHECK: [0x02,0x50,0xfc,0x7f]
+
+v_sqrt_f64 v[5:6], s[4:5]
+// CHECK: [0x04,0x50,0x0a,0x7e]
+
+v_sqrt_f64 v[5:6], s[100:101]
+// CHECK: [0x64,0x50,0x0a,0x7e]
+
+v_sqrt_f64 v[5:6], flat_scratch
+// CHECK: [0x66,0x50,0x0a,0x7e]
+
+v_sqrt_f64 v[5:6], vcc
+// CHECK: [0x6a,0x50,0x0a,0x7e]
+
+v_sqrt_f64 v[5:6], exec
+// CHECK: [0x7e,0x50,0x0a,0x7e]
+
+v_sqrt_f64 v[5:6], 0
+// CHECK: [0x80,0x50,0x0a,0x7e]
+
+v_sqrt_f64 v[5:6], -1
+// CHECK: [0xc1,0x50,0x0a,0x7e]
+
+v_sqrt_f64 v[5:6], 0.5
+// CHECK: [0xf0,0x50,0x0a,0x7e]
+
+v_sqrt_f64 v[5:6], -4.0
+// CHECK: [0xf7,0x50,0x0a,0x7e]
+
+v_sqrt_f64 v[5:6], 0xaf123456
+// CHECK: [0xff,0x50,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_sqrt_f64 v[5:6], 0x3f717273
+// CHECK: [0xff,0x50,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_sqrt_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x51,0x0a,0x7e]
+
+v_sqrt_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x51,0x0a,0x7e]
+
+v_sqrt_f64_e64 v[5:6], s[2:3]
+// CHECK: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[254:255], s[2:3]
+// CHECK: [0xfe,0x00,0x68,0xd1,0x02,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], s[4:5]
+// CHECK: [0x05,0x00,0x68,0xd1,0x04,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], s[100:101]
+// CHECK: [0x05,0x00,0x68,0xd1,0x64,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], flat_scratch
+// CHECK: [0x05,0x00,0x68,0xd1,0x66,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], vcc
+// CHECK: [0x05,0x00,0x68,0xd1,0x6a,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], exec
+// CHECK: [0x05,0x00,0x68,0xd1,0x7e,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x68,0xd1,0x80,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x68,0xd1,0xc1,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x68,0xd1,0xf0,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x68,0xd1,0xf7,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x68,0xd1,0xfe,0x01,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], -s[2:3]
+// CHECK: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x20]
+
+v_sqrt_f64_e64 v[5:6], |s[2:3]|
+// CHECK: [0x05,0x01,0x68,0xd1,0x02,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], s[2:3] clamp
+// CHECK: [0x05,0x80,0x68,0xd1,0x02,0x00,0x00,0x00]
+
+v_sqrt_f64_e64 v[5:6], s[2:3] mul:2
+// CHECK: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x08]
+
+v_sqrt_f64_e64 v[5:6], s[2:3] mul:4
+// CHECK: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x10]
+
+v_sqrt_f64_e64 v[5:6], s[2:3] div:2
+// CHECK: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x18]
+
+v_sin_f32 v5, s1
+// CHECK: [0x01,0x52,0x0a,0x7e]
+
+v_sin_f32 v255, s1
+// CHECK: [0x01,0x52,0xfe,0x7f]
+
+v_sin_f32 v5, s101
+// CHECK: [0x65,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, vcc_lo
+// CHECK: [0x6a,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, vcc_hi
+// CHECK: [0x6b,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, m0
+// CHECK: [0x7c,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, exec_lo
+// CHECK: [0x7e,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, exec_hi
+// CHECK: [0x7f,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, 0
+// CHECK: [0x80,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, -1
+// CHECK: [0xc1,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, 0.5
+// CHECK: [0xf0,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, -4.0
+// CHECK: [0xf7,0x52,0x0a,0x7e]
+
+v_sin_f32 v5, 0xaf123456
+// CHECK: [0xff,0x52,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_sin_f32 v5, 0x3f717273
+// CHECK: [0xff,0x52,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_sin_f32 v5, v1
+// CHECK: [0x01,0x53,0x0a,0x7e]
+
+v_sin_f32 v5, v255
+// CHECK: [0xff,0x53,0x0a,0x7e]
+
+v_sin_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x00]
+
+v_sin_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x69,0xd1,0x01,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x69,0xd1,0x65,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x69,0xd1,0x66,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x69,0xd1,0x67,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x69,0xd1,0x6a,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x69,0xd1,0x6b,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x69,0xd1,0x7c,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x69,0xd1,0x7e,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x69,0xd1,0x7f,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x69,0xd1,0x80,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x69,0xd1,0xc1,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x69,0xd1,0xf0,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x69,0xd1,0xf7,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x00]
+
+v_sin_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x69,0xd1,0xff,0x01,0x00,0x00]
+
+v_sin_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x20]
+
+v_sin_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x69,0xd1,0x01,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x69,0xd1,0x01,0x00,0x00,0x00]
+
+v_sin_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x08]
+
+v_sin_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x10]
+
+v_sin_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x18]
+
+v_cos_f32 v5, s1
+// CHECK: [0x01,0x54,0x0a,0x7e]
+
+v_cos_f32 v255, s1
+// CHECK: [0x01,0x54,0xfe,0x7f]
+
+v_cos_f32 v5, s101
+// CHECK: [0x65,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, vcc_lo
+// CHECK: [0x6a,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, vcc_hi
+// CHECK: [0x6b,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, m0
+// CHECK: [0x7c,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, exec_lo
+// CHECK: [0x7e,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, exec_hi
+// CHECK: [0x7f,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, 0
+// CHECK: [0x80,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, -1
+// CHECK: [0xc1,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, 0.5
+// CHECK: [0xf0,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, -4.0
+// CHECK: [0xf7,0x54,0x0a,0x7e]
+
+v_cos_f32 v5, 0xaf123456
+// CHECK: [0xff,0x54,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_cos_f32 v5, 0x3f717273
+// CHECK: [0xff,0x54,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_cos_f32 v5, v1
+// CHECK: [0x01,0x55,0x0a,0x7e]
+
+v_cos_f32 v5, v255
+// CHECK: [0xff,0x55,0x0a,0x7e]
+
+v_cos_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cos_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x6a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x6a,0xd1,0x65,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x6a,0xd1,0x66,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x6a,0xd1,0x67,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x6a,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x6a,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x6a,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x6a,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x6a,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x6a,0xd1,0x80,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x6a,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x6a,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x6a,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00]
+
+v_cos_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6a,0xd1,0xff,0x01,0x00,0x00]
+
+v_cos_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x20]
+
+v_cos_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x6a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x6a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cos_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x08]
+
+v_cos_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x10]
+
+v_cos_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x18]
+
+v_not_b32 v5, s1
+// CHECK: [0x01,0x56,0x0a,0x7e]
+
+v_not_b32 v255, s1
+// CHECK: [0x01,0x56,0xfe,0x7f]
+
+v_not_b32 v5, s101
+// CHECK: [0x65,0x56,0x0a,0x7e]
+
+v_not_b32 v5, flat_scratch_lo
+// CHECK: [0x66,0x56,0x0a,0x7e]
+
+v_not_b32 v5, flat_scratch_hi
+// CHECK: [0x67,0x56,0x0a,0x7e]
+
+v_not_b32 v5, vcc_lo
+// CHECK: [0x6a,0x56,0x0a,0x7e]
+
+v_not_b32 v5, vcc_hi
+// CHECK: [0x6b,0x56,0x0a,0x7e]
+
+v_not_b32 v5, m0
+// CHECK: [0x7c,0x56,0x0a,0x7e]
+
+v_not_b32 v5, exec_lo
+// CHECK: [0x7e,0x56,0x0a,0x7e]
+
+v_not_b32 v5, exec_hi
+// CHECK: [0x7f,0x56,0x0a,0x7e]
+
+v_not_b32 v5, 0
+// CHECK: [0x80,0x56,0x0a,0x7e]
+
+v_not_b32 v5, -1
+// CHECK: [0xc1,0x56,0x0a,0x7e]
+
+v_not_b32 v5, 0.5
+// CHECK: [0xf0,0x56,0x0a,0x7e]
+
+v_not_b32 v5, -4.0
+// CHECK: [0xf7,0x56,0x0a,0x7e]
+
+v_not_b32 v5, 0xaf123456
+// CHECK: [0xff,0x56,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_not_b32 v5, 0x3f717273
+// CHECK: [0xff,0x56,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_not_b32 v5, v1
+// CHECK: [0x01,0x57,0x0a,0x7e]
+
+v_not_b32 v5, v255
+// CHECK: [0xff,0x57,0x0a,0x7e]
+
+v_not_b32_e64 v5, s1
+// CHECK: [0x05,0x00,0x6b,0xd1,0x01,0x00,0x00,0x00]
+
+v_not_b32_e64 v255, s1
+// CHECK: [0xff,0x00,0x6b,0xd1,0x01,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, s101
+// CHECK: [0x05,0x00,0x6b,0xd1,0x65,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x6b,0xd1,0x66,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x6b,0xd1,0x67,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x6b,0xd1,0x6a,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x6b,0xd1,0x6b,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, m0
+// CHECK: [0x05,0x00,0x6b,0xd1,0x7c,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x6b,0xd1,0x7e,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x6b,0xd1,0x7f,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, 0
+// CHECK: [0x05,0x00,0x6b,0xd1,0x80,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, -1
+// CHECK: [0x05,0x00,0x6b,0xd1,0xc1,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x6b,0xd1,0xf0,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x6b,0xd1,0xf7,0x00,0x00,0x00]
+
+v_not_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00]
+
+v_not_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6b,0xd1,0xff,0x01,0x00,0x00]
+
+v_bfrev_b32 v5, s1
+// CHECK: [0x01,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v255, s1
+// CHECK: [0x01,0x58,0xfe,0x7f]
+
+v_bfrev_b32 v5, s101
+// CHECK: [0x65,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, flat_scratch_lo
+// CHECK: [0x66,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, flat_scratch_hi
+// CHECK: [0x67,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, vcc_lo
+// CHECK: [0x6a,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, vcc_hi
+// CHECK: [0x6b,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, m0
+// CHECK: [0x7c,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, exec_lo
+// CHECK: [0x7e,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, exec_hi
+// CHECK: [0x7f,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, 0
+// CHECK: [0x80,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, -1
+// CHECK: [0xc1,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, 0.5
+// CHECK: [0xf0,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, -4.0
+// CHECK: [0xf7,0x58,0x0a,0x7e]
+
+v_bfrev_b32 v5, 0xaf123456
+// CHECK: [0xff,0x58,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_bfrev_b32 v5, 0x3f717273
+// CHECK: [0xff,0x58,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_bfrev_b32 v5, v1
+// CHECK: [0x01,0x59,0x0a,0x7e]
+
+v_bfrev_b32 v5, v255
+// CHECK: [0xff,0x59,0x0a,0x7e]
+
+v_bfrev_b32_e64 v5, s1
+// CHECK: [0x05,0x00,0x6c,0xd1,0x01,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v255, s1
+// CHECK: [0xff,0x00,0x6c,0xd1,0x01,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, s101
+// CHECK: [0x05,0x00,0x6c,0xd1,0x65,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x6c,0xd1,0x66,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x6c,0xd1,0x67,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x6c,0xd1,0x6a,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x6c,0xd1,0x6b,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, m0
+// CHECK: [0x05,0x00,0x6c,0xd1,0x7c,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x6c,0xd1,0x7e,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x6c,0xd1,0x7f,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, 0
+// CHECK: [0x05,0x00,0x6c,0xd1,0x80,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, -1
+// CHECK: [0x05,0x00,0x6c,0xd1,0xc1,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x6c,0xd1,0xf0,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x6c,0xd1,0xf7,0x00,0x00,0x00]
+
+v_bfrev_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00]
+
+v_bfrev_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6c,0xd1,0xff,0x01,0x00,0x00]
+
+v_ffbh_u32 v5, s1
+// CHECK: [0x01,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v255, s1
+// CHECK: [0x01,0x5a,0xfe,0x7f]
+
+v_ffbh_u32 v5, s101
+// CHECK: [0x65,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, flat_scratch_lo
+// CHECK: [0x66,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, flat_scratch_hi
+// CHECK: [0x67,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, vcc_lo
+// CHECK: [0x6a,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, vcc_hi
+// CHECK: [0x6b,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, m0
+// CHECK: [0x7c,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, exec_lo
+// CHECK: [0x7e,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, exec_hi
+// CHECK: [0x7f,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, 0
+// CHECK: [0x80,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, -1
+// CHECK: [0xc1,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, 0.5
+// CHECK: [0xf0,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, -4.0
+// CHECK: [0xf7,0x5a,0x0a,0x7e]
+
+v_ffbh_u32 v5, 0xaf123456
+// CHECK: [0xff,0x5a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_ffbh_u32 v5, 0x3f717273
+// CHECK: [0xff,0x5a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_ffbh_u32 v5, v1
+// CHECK: [0x01,0x5b,0x0a,0x7e]
+
+v_ffbh_u32 v5, v255
+// CHECK: [0xff,0x5b,0x0a,0x7e]
+
+v_ffbh_u32_e64 v5, s1
+// CHECK: [0x05,0x00,0x6d,0xd1,0x01,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v255, s1
+// CHECK: [0xff,0x00,0x6d,0xd1,0x01,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, s101
+// CHECK: [0x05,0x00,0x6d,0xd1,0x65,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x6d,0xd1,0x66,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x6d,0xd1,0x67,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x6d,0xd1,0x6a,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x6d,0xd1,0x6b,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, m0
+// CHECK: [0x05,0x00,0x6d,0xd1,0x7c,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x6d,0xd1,0x7e,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x6d,0xd1,0x7f,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, 0
+// CHECK: [0x05,0x00,0x6d,0xd1,0x80,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, -1
+// CHECK: [0x05,0x00,0x6d,0xd1,0xc1,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x6d,0xd1,0xf0,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x6d,0xd1,0xf7,0x00,0x00,0x00]
+
+v_ffbh_u32_e64 v5, v1
+// CHECK: [0x05,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00]
+
+v_ffbh_u32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6d,0xd1,0xff,0x01,0x00,0x00]
+
+v_ffbl_b32 v5, s1
+// CHECK: [0x01,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v255, s1
+// CHECK: [0x01,0x5c,0xfe,0x7f]
+
+v_ffbl_b32 v5, s101
+// CHECK: [0x65,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, flat_scratch_lo
+// CHECK: [0x66,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, flat_scratch_hi
+// CHECK: [0x67,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, vcc_lo
+// CHECK: [0x6a,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, vcc_hi
+// CHECK: [0x6b,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, m0
+// CHECK: [0x7c,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, exec_lo
+// CHECK: [0x7e,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, exec_hi
+// CHECK: [0x7f,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, 0
+// CHECK: [0x80,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, -1
+// CHECK: [0xc1,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, 0.5
+// CHECK: [0xf0,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, -4.0
+// CHECK: [0xf7,0x5c,0x0a,0x7e]
+
+v_ffbl_b32 v5, 0xaf123456
+// CHECK: [0xff,0x5c,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_ffbl_b32 v5, 0x3f717273
+// CHECK: [0xff,0x5c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_ffbl_b32 v5, v1
+// CHECK: [0x01,0x5d,0x0a,0x7e]
+
+v_ffbl_b32 v5, v255
+// CHECK: [0xff,0x5d,0x0a,0x7e]
+
+v_ffbl_b32_e64 v5, s1
+// CHECK: [0x05,0x00,0x6e,0xd1,0x01,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v255, s1
+// CHECK: [0xff,0x00,0x6e,0xd1,0x01,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, s101
+// CHECK: [0x05,0x00,0x6e,0xd1,0x65,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x6e,0xd1,0x66,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x6e,0xd1,0x67,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x6e,0xd1,0x6a,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x6e,0xd1,0x6b,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, m0
+// CHECK: [0x05,0x00,0x6e,0xd1,0x7c,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x6e,0xd1,0x7e,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x6e,0xd1,0x7f,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, 0
+// CHECK: [0x05,0x00,0x6e,0xd1,0x80,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, -1
+// CHECK: [0x05,0x00,0x6e,0xd1,0xc1,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x6e,0xd1,0xf0,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x6e,0xd1,0xf7,0x00,0x00,0x00]
+
+v_ffbl_b32_e64 v5, v1
+// CHECK: [0x05,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00]
+
+v_ffbl_b32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6e,0xd1,0xff,0x01,0x00,0x00]
+
+v_ffbh_i32 v5, s1
+// CHECK: [0x01,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v255, s1
+// CHECK: [0x01,0x5e,0xfe,0x7f]
+
+v_ffbh_i32 v5, s101
+// CHECK: [0x65,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, flat_scratch_lo
+// CHECK: [0x66,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, flat_scratch_hi
+// CHECK: [0x67,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, vcc_lo
+// CHECK: [0x6a,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, vcc_hi
+// CHECK: [0x6b,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, m0
+// CHECK: [0x7c,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, exec_lo
+// CHECK: [0x7e,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, exec_hi
+// CHECK: [0x7f,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, 0
+// CHECK: [0x80,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, -1
+// CHECK: [0xc1,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, 0.5
+// CHECK: [0xf0,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, -4.0
+// CHECK: [0xf7,0x5e,0x0a,0x7e]
+
+v_ffbh_i32 v5, 0xaf123456
+// CHECK: [0xff,0x5e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_ffbh_i32 v5, 0x3f717273
+// CHECK: [0xff,0x5e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_ffbh_i32 v5, v1
+// CHECK: [0x01,0x5f,0x0a,0x7e]
+
+v_ffbh_i32 v5, v255
+// CHECK: [0xff,0x5f,0x0a,0x7e]
+
+v_ffbh_i32_e64 v5, s1
+// CHECK: [0x05,0x00,0x6f,0xd1,0x01,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v255, s1
+// CHECK: [0xff,0x00,0x6f,0xd1,0x01,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, s101
+// CHECK: [0x05,0x00,0x6f,0xd1,0x65,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x6f,0xd1,0x66,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x6f,0xd1,0x67,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x6f,0xd1,0x6a,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x6f,0xd1,0x6b,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, m0
+// CHECK: [0x05,0x00,0x6f,0xd1,0x7c,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x6f,0xd1,0x7e,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x6f,0xd1,0x7f,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, 0
+// CHECK: [0x05,0x00,0x6f,0xd1,0x80,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, -1
+// CHECK: [0x05,0x00,0x6f,0xd1,0xc1,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x6f,0xd1,0xf0,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x6f,0xd1,0xf7,0x00,0x00,0x00]
+
+v_ffbh_i32_e64 v5, v1
+// CHECK: [0x05,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00]
+
+v_ffbh_i32_e64 v5, v255
+// CHECK: [0x05,0x00,0x6f,0xd1,0xff,0x01,0x00,0x00]
+
+v_frexp_exp_i32_f64 v5, s[2:3]
+// CHECK: [0x02,0x60,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v255, s[2:3]
+// CHECK: [0x02,0x60,0xfe,0x7f]
+
+v_frexp_exp_i32_f64 v5, s[4:5]
+// CHECK: [0x04,0x60,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v5, s[100:101]
+// CHECK: [0x64,0x60,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v5, flat_scratch
+// CHECK: [0x66,0x60,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v5, vcc
+// CHECK: [0x6a,0x60,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v5, exec
+// CHECK: [0x7e,0x60,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v5, 0
+// CHECK: [0x80,0x60,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v5, -1
+// CHECK: [0xc1,0x60,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v5, 0.5
+// CHECK: [0xf0,0x60,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v5, -4.0
+// CHECK: [0xf7,0x60,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v5, 0xaf123456
+// CHECK: [0xff,0x60,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_frexp_exp_i32_f64 v5, 0x3f717273
+// CHECK: [0xff,0x60,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_frexp_exp_i32_f64 v5, v[1:2]
+// CHECK: [0x01,0x61,0x0a,0x7e]
+
+v_frexp_exp_i32_f64 v5, v[254:255]
+// CHECK: [0xfe,0x61,0x0a,0x7e]
+
+v_frexp_exp_i32_f64_e64 v5, s[2:3]
+// CHECK: [0x05,0x00,0x70,0xd1,0x02,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v255, s[2:3]
+// CHECK: [0xff,0x00,0x70,0xd1,0x02,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, s[4:5]
+// CHECK: [0x05,0x00,0x70,0xd1,0x04,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, s[100:101]
+// CHECK: [0x05,0x00,0x70,0xd1,0x64,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, flat_scratch
+// CHECK: [0x05,0x00,0x70,0xd1,0x66,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, vcc
+// CHECK: [0x05,0x00,0x70,0xd1,0x6a,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, exec
+// CHECK: [0x05,0x00,0x70,0xd1,0x7e,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, 0
+// CHECK: [0x05,0x00,0x70,0xd1,0x80,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, -1
+// CHECK: [0x05,0x00,0x70,0xd1,0xc1,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x70,0xd1,0xf0,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x70,0xd1,0xf7,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, v[1:2]
+// CHECK: [0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, v[254:255]
+// CHECK: [0x05,0x00,0x70,0xd1,0xfe,0x01,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, -s[2:3]
+// CHECK: [0x05,0x00,0x70,0xd1,0x02,0x00,0x00,0x20]
+
+v_frexp_exp_i32_f64_e64 v5, |s[2:3]|
+// CHECK: [0x05,0x01,0x70,0xd1,0x02,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f64_e64 v5, s[2:3] clamp
+// CHECK: [0x05,0x80,0x70,0xd1,0x02,0x00,0x00,0x00]
+
+v_frexp_mant_f64 v[5:6], s[2:3]
+// CHECK: [0x02,0x62,0x0a,0x7e]
+
+v_frexp_mant_f64 v[254:255], s[2:3]
+// CHECK: [0x02,0x62,0xfc,0x7f]
+
+v_frexp_mant_f64 v[5:6], s[4:5]
+// CHECK: [0x04,0x62,0x0a,0x7e]
+
+v_frexp_mant_f64 v[5:6], s[100:101]
+// CHECK: [0x64,0x62,0x0a,0x7e]
+
+v_frexp_mant_f64 v[5:6], flat_scratch
+// CHECK: [0x66,0x62,0x0a,0x7e]
+
+v_frexp_mant_f64 v[5:6], vcc
+// CHECK: [0x6a,0x62,0x0a,0x7e]
+
+v_frexp_mant_f64 v[5:6], exec
+// CHECK: [0x7e,0x62,0x0a,0x7e]
+
+v_frexp_mant_f64 v[5:6], 0
+// CHECK: [0x80,0x62,0x0a,0x7e]
+
+v_frexp_mant_f64 v[5:6], -1
+// CHECK: [0xc1,0x62,0x0a,0x7e]
+
+v_frexp_mant_f64 v[5:6], 0.5
+// CHECK: [0xf0,0x62,0x0a,0x7e]
+
+v_frexp_mant_f64 v[5:6], -4.0
+// CHECK: [0xf7,0x62,0x0a,0x7e]
+
+v_frexp_mant_f64 v[5:6], 0xaf123456
+// CHECK: [0xff,0x62,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_frexp_mant_f64 v[5:6], 0x3f717273
+// CHECK: [0xff,0x62,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_frexp_mant_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x63,0x0a,0x7e]
+
+v_frexp_mant_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x63,0x0a,0x7e]
+
+v_frexp_mant_f64_e64 v[5:6], s[2:3]
+// CHECK: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[254:255], s[2:3]
+// CHECK: [0xfe,0x00,0x71,0xd1,0x02,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], s[4:5]
+// CHECK: [0x05,0x00,0x71,0xd1,0x04,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], s[100:101]
+// CHECK: [0x05,0x00,0x71,0xd1,0x64,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], flat_scratch
+// CHECK: [0x05,0x00,0x71,0xd1,0x66,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], vcc
+// CHECK: [0x05,0x00,0x71,0xd1,0x6a,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], exec
+// CHECK: [0x05,0x00,0x71,0xd1,0x7e,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x71,0xd1,0x80,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x71,0xd1,0xc1,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x71,0xd1,0xf0,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x71,0xd1,0xf7,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x71,0xd1,0xfe,0x01,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], -s[2:3]
+// CHECK: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x20]
+
+v_frexp_mant_f64_e64 v[5:6], |s[2:3]|
+// CHECK: [0x05,0x01,0x71,0xd1,0x02,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], s[2:3] clamp
+// CHECK: [0x05,0x80,0x71,0xd1,0x02,0x00,0x00,0x00]
+
+v_frexp_mant_f64_e64 v[5:6], s[2:3] mul:2
+// CHECK: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x08]
+
+v_frexp_mant_f64_e64 v[5:6], s[2:3] mul:4
+// CHECK: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x10]
+
+v_frexp_mant_f64_e64 v[5:6], s[2:3] div:2
+// CHECK: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x18]
+
+v_fract_f64 v[5:6], s[2:3]
+// CHECK: [0x02,0x64,0x0a,0x7e]
+
+v_fract_f64 v[254:255], s[2:3]
+// CHECK: [0x02,0x64,0xfc,0x7f]
+
+v_fract_f64 v[5:6], s[4:5]
+// CHECK: [0x04,0x64,0x0a,0x7e]
+
+v_fract_f64 v[5:6], s[100:101]
+// CHECK: [0x64,0x64,0x0a,0x7e]
+
+v_fract_f64 v[5:6], flat_scratch
+// CHECK: [0x66,0x64,0x0a,0x7e]
+
+v_fract_f64 v[5:6], vcc
+// CHECK: [0x6a,0x64,0x0a,0x7e]
+
+v_fract_f64 v[5:6], exec
+// CHECK: [0x7e,0x64,0x0a,0x7e]
+
+v_fract_f64 v[5:6], 0
+// CHECK: [0x80,0x64,0x0a,0x7e]
+
+v_fract_f64 v[5:6], -1
+// CHECK: [0xc1,0x64,0x0a,0x7e]
+
+v_fract_f64 v[5:6], 0.5
+// CHECK: [0xf0,0x64,0x0a,0x7e]
+
+v_fract_f64 v[5:6], -4.0
+// CHECK: [0xf7,0x64,0x0a,0x7e]
+
+v_fract_f64 v[5:6], 0xaf123456
+// CHECK: [0xff,0x64,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_fract_f64 v[5:6], 0x3f717273
+// CHECK: [0xff,0x64,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_fract_f64 v[5:6], v[1:2]
+// CHECK: [0x01,0x65,0x0a,0x7e]
+
+v_fract_f64 v[5:6], v[254:255]
+// CHECK: [0xfe,0x65,0x0a,0x7e]
+
+v_fract_f64_e64 v[5:6], s[2:3]
+// CHECK: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[254:255], s[2:3]
+// CHECK: [0xfe,0x00,0x72,0xd1,0x02,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], s[4:5]
+// CHECK: [0x05,0x00,0x72,0xd1,0x04,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], s[100:101]
+// CHECK: [0x05,0x00,0x72,0xd1,0x64,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], flat_scratch
+// CHECK: [0x05,0x00,0x72,0xd1,0x66,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], vcc
+// CHECK: [0x05,0x00,0x72,0xd1,0x6a,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], exec
+// CHECK: [0x05,0x00,0x72,0xd1,0x7e,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], 0
+// CHECK: [0x05,0x00,0x72,0xd1,0x80,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], -1
+// CHECK: [0x05,0x00,0x72,0xd1,0xc1,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], 0.5
+// CHECK: [0x05,0x00,0x72,0xd1,0xf0,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], -4.0
+// CHECK: [0x05,0x00,0x72,0xd1,0xf7,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], v[1:2]
+// CHECK: [0x05,0x00,0x72,0xd1,0x01,0x01,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], v[254:255]
+// CHECK: [0x05,0x00,0x72,0xd1,0xfe,0x01,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], -s[2:3]
+// CHECK: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x20]
+
+v_fract_f64_e64 v[5:6], |s[2:3]|
+// CHECK: [0x05,0x01,0x72,0xd1,0x02,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], s[2:3] clamp
+// CHECK: [0x05,0x80,0x72,0xd1,0x02,0x00,0x00,0x00]
+
+v_fract_f64_e64 v[5:6], s[2:3] mul:2
+// CHECK: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x08]
+
+v_fract_f64_e64 v[5:6], s[2:3] mul:4
+// CHECK: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x10]
+
+v_fract_f64_e64 v[5:6], s[2:3] div:2
+// CHECK: [0x05,0x00,0x72,0xd1,0x02,0x00,0x00,0x18]
+
+v_frexp_exp_i32_f32 v5, s1
+// CHECK: [0x01,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v255, s1
+// CHECK: [0x01,0x66,0xfe,0x7f]
+
+v_frexp_exp_i32_f32 v5, s101
+// CHECK: [0x65,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, vcc_lo
+// CHECK: [0x6a,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, vcc_hi
+// CHECK: [0x6b,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, m0
+// CHECK: [0x7c,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, exec_lo
+// CHECK: [0x7e,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, exec_hi
+// CHECK: [0x7f,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, 0
+// CHECK: [0x80,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, -1
+// CHECK: [0xc1,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, 0.5
+// CHECK: [0xf0,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, -4.0
+// CHECK: [0xf7,0x66,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, 0xaf123456
+// CHECK: [0xff,0x66,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_frexp_exp_i32_f32 v5, 0x3f717273
+// CHECK: [0xff,0x66,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_frexp_exp_i32_f32 v5, v1
+// CHECK: [0x01,0x67,0x0a,0x7e]
+
+v_frexp_exp_i32_f32 v5, v255
+// CHECK: [0xff,0x67,0x0a,0x7e]
+
+v_frexp_exp_i32_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x73,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x73,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x73,0xd1,0x65,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x73,0xd1,0x66,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x73,0xd1,0x67,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x73,0xd1,0x6a,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x73,0xd1,0x6b,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x73,0xd1,0x7c,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x73,0xd1,0x7e,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x73,0xd1,0x7f,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x73,0xd1,0x80,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x73,0xd1,0xc1,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x73,0xd1,0xf0,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x73,0xd1,0xf7,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x73,0xd1,0xff,0x01,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x73,0xd1,0x01,0x00,0x00,0x20]
+
+v_frexp_exp_i32_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x73,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_exp_i32_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x73,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_mant_f32 v5, s1
+// CHECK: [0x01,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v255, s1
+// CHECK: [0x01,0x68,0xfe,0x7f]
+
+v_frexp_mant_f32 v5, s101
+// CHECK: [0x65,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, vcc_lo
+// CHECK: [0x6a,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, vcc_hi
+// CHECK: [0x6b,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, m0
+// CHECK: [0x7c,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, exec_lo
+// CHECK: [0x7e,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, exec_hi
+// CHECK: [0x7f,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, 0
+// CHECK: [0x80,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, -1
+// CHECK: [0xc1,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, 0.5
+// CHECK: [0xf0,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, -4.0
+// CHECK: [0xf7,0x68,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, 0xaf123456
+// CHECK: [0xff,0x68,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_frexp_mant_f32 v5, 0x3f717273
+// CHECK: [0xff,0x68,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_frexp_mant_f32 v5, v1
+// CHECK: [0x01,0x69,0x0a,0x7e]
+
+v_frexp_mant_f32 v5, v255
+// CHECK: [0xff,0x69,0x0a,0x7e]
+
+v_frexp_mant_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x74,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x74,0xd1,0x65,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x74,0xd1,0x66,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x74,0xd1,0x67,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x74,0xd1,0x6a,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x74,0xd1,0x6b,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x74,0xd1,0x7c,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x74,0xd1,0x7e,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x74,0xd1,0x7f,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x74,0xd1,0x80,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x74,0xd1,0xc1,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x74,0xd1,0xf0,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x74,0xd1,0xf7,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x74,0xd1,0xff,0x01,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x20]
+
+v_frexp_mant_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x74,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x74,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_mant_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x08]
+
+v_frexp_mant_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x10]
+
+v_frexp_mant_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x18]
+
+v_clrexcp
+// CHECK: [0x00,0x6a,0x00,0x7e]
+
+v_clrexcp_e64
+// CHECK: [0x00,0x00,0x75,0xd1,0x00,0x00,0x00,0x00]
+
+v_cvt_f16_u16 v5, s1
+// CHECK: [0x01,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v255, s1
+// CHECK: [0x01,0x72,0xfe,0x7f]
+
+v_cvt_f16_u16 v5, s101
+// CHECK: [0x65,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, flat_scratch_lo
+// CHECK: [0x66,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, flat_scratch_hi
+// CHECK: [0x67,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, vcc_lo
+// CHECK: [0x6a,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, vcc_hi
+// CHECK: [0x6b,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, m0
+// CHECK: [0x7c,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, exec_lo
+// CHECK: [0x7e,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, exec_hi
+// CHECK: [0x7f,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, 0
+// CHECK: [0x80,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, -1
+// CHECK: [0xc1,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, 0.5
+// CHECK: [0xf0,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, -4.0
+// CHECK: [0xf7,0x72,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, 0xfe0b
+// CHECK: [0xff,0x72,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_cvt_f16_u16 v5, 0x3456
+// CHECK: [0xff,0x72,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_cvt_f16_u16 v5, v1
+// CHECK: [0x01,0x73,0x0a,0x7e]
+
+v_cvt_f16_u16 v5, v255
+// CHECK: [0xff,0x73,0x0a,0x7e]
+
+v_cvt_f16_u16_e64 v5, s1
+// CHECK: [0x05,0x00,0x79,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v255, s1
+// CHECK: [0xff,0x00,0x79,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, s101
+// CHECK: [0x05,0x00,0x79,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x79,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x79,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x79,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x79,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, m0
+// CHECK: [0x05,0x00,0x79,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x79,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x79,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, 0
+// CHECK: [0x05,0x00,0x79,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, -1
+// CHECK: [0x05,0x00,0x79,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x79,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x79,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, v1
+// CHECK: [0x05,0x00,0x79,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, v255
+// CHECK: [0x05,0x00,0x79,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f16_u16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x79,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f16_i16 v5, s1
+// CHECK: [0x01,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v255, s1
+// CHECK: [0x01,0x74,0xfe,0x7f]
+
+v_cvt_f16_i16 v5, s101
+// CHECK: [0x65,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, flat_scratch_lo
+// CHECK: [0x66,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, flat_scratch_hi
+// CHECK: [0x67,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, vcc_lo
+// CHECK: [0x6a,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, vcc_hi
+// CHECK: [0x6b,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, m0
+// CHECK: [0x7c,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, exec_lo
+// CHECK: [0x7e,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, exec_hi
+// CHECK: [0x7f,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, 0
+// CHECK: [0x80,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, -1
+// CHECK: [0xc1,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, 0.5
+// CHECK: [0xf0,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, -4.0
+// CHECK: [0xf7,0x74,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, 0xfe0b
+// CHECK: [0xff,0x74,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_cvt_f16_i16 v5, 0x3456
+// CHECK: [0xff,0x74,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_cvt_f16_i16 v5, v1
+// CHECK: [0x01,0x75,0x0a,0x7e]
+
+v_cvt_f16_i16 v5, v255
+// CHECK: [0xff,0x75,0x0a,0x7e]
+
+v_cvt_f16_i16_e64 v5, s1
+// CHECK: [0x05,0x00,0x7a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v255, s1
+// CHECK: [0xff,0x00,0x7a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, s101
+// CHECK: [0x05,0x00,0x7a,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x7a,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x7a,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x7a,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x7a,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, m0
+// CHECK: [0x05,0x00,0x7a,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x7a,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x7a,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, 0
+// CHECK: [0x05,0x00,0x7a,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, -1
+// CHECK: [0x05,0x00,0x7a,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x7a,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x7a,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, v1
+// CHECK: [0x05,0x00,0x7a,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, v255
+// CHECK: [0x05,0x00,0x7a,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_f16_i16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x7a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_u16_f16 v5, s1
+// CHECK: [0x01,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v255, s1
+// CHECK: [0x01,0x76,0xfe,0x7f]
+
+v_cvt_u16_f16 v5, s101
+// CHECK: [0x65,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, vcc_lo
+// CHECK: [0x6a,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, vcc_hi
+// CHECK: [0x6b,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, m0
+// CHECK: [0x7c,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, exec_lo
+// CHECK: [0x7e,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, exec_hi
+// CHECK: [0x7f,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, 0
+// CHECK: [0x80,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, -1
+// CHECK: [0xc1,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, 0.5
+// CHECK: [0xf0,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, -4.0
+// CHECK: [0xf7,0x76,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, 0xfe0b
+// CHECK: [0xff,0x76,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_cvt_u16_f16 v5, 0x3456
+// CHECK: [0xff,0x76,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_cvt_u16_f16 v5, v1
+// CHECK: [0x01,0x77,0x0a,0x7e]
+
+v_cvt_u16_f16 v5, v255
+// CHECK: [0xff,0x77,0x0a,0x7e]
+
+v_cvt_u16_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x7b,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x7b,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x7b,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x7b,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x7b,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x7b,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x7b,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x7b,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x7b,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x7b,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x7b,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x7b,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x7b,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x7b,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x7b,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x7b,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x7b,0xd1,0x01,0x00,0x00,0x20]
+
+v_cvt_u16_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x7b,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_u16_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x7b,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_i16_f16 v5, s1
+// CHECK: [0x01,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v255, s1
+// CHECK: [0x01,0x78,0xfe,0x7f]
+
+v_cvt_i16_f16 v5, s101
+// CHECK: [0x65,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, vcc_lo
+// CHECK: [0x6a,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, vcc_hi
+// CHECK: [0x6b,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, m0
+// CHECK: [0x7c,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, exec_lo
+// CHECK: [0x7e,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, exec_hi
+// CHECK: [0x7f,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, 0
+// CHECK: [0x80,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, -1
+// CHECK: [0xc1,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, 0.5
+// CHECK: [0xf0,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, -4.0
+// CHECK: [0xf7,0x78,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, 0xfe0b
+// CHECK: [0xff,0x78,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_cvt_i16_f16 v5, 0x3456
+// CHECK: [0xff,0x78,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_cvt_i16_f16 v5, v1
+// CHECK: [0x01,0x79,0x0a,0x7e]
+
+v_cvt_i16_f16 v5, v255
+// CHECK: [0xff,0x79,0x0a,0x7e]
+
+v_cvt_i16_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x7c,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x7c,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x7c,0xd1,0x65,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x7c,0xd1,0x66,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x7c,0xd1,0x67,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x7c,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x7c,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x7c,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x7c,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x7c,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x7c,0xd1,0x80,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x7c,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x7c,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x7c,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x7c,0xd1,0x01,0x01,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x7c,0xd1,0xff,0x01,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x7c,0xd1,0x01,0x00,0x00,0x20]
+
+v_cvt_i16_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x7c,0xd1,0x01,0x00,0x00,0x00]
+
+v_cvt_i16_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x7c,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_f16 v5, s1
+// CHECK: [0x01,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v255, s1
+// CHECK: [0x01,0x7a,0xfe,0x7f]
+
+v_rcp_f16 v5, s101
+// CHECK: [0x65,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, vcc_lo
+// CHECK: [0x6a,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, vcc_hi
+// CHECK: [0x6b,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, m0
+// CHECK: [0x7c,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, exec_lo
+// CHECK: [0x7e,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, exec_hi
+// CHECK: [0x7f,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, 0
+// CHECK: [0x80,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, -1
+// CHECK: [0xc1,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, 0.5
+// CHECK: [0xf0,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, -4.0
+// CHECK: [0xf7,0x7a,0x0a,0x7e]
+
+v_rcp_f16 v5, 0xfe0b
+// CHECK: [0xff,0x7a,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_rcp_f16 v5, 0x3456
+// CHECK: [0xff,0x7a,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_rcp_f16 v5, v1
+// CHECK: [0x01,0x7b,0x0a,0x7e]
+
+v_rcp_f16 v5, v255
+// CHECK: [0xff,0x7b,0x0a,0x7e]
+
+v_rcp_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x7d,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x7d,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x7d,0xd1,0x65,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x7d,0xd1,0x66,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x7d,0xd1,0x67,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x7d,0xd1,0x6a,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x7d,0xd1,0x6b,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x7d,0xd1,0x7c,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x7d,0xd1,0x7e,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x7d,0xd1,0x7f,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x7d,0xd1,0x80,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x7d,0xd1,0xc1,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x7d,0xd1,0xf0,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x7d,0xd1,0xf7,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x00]
+
+v_rcp_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x7d,0xd1,0xff,0x01,0x00,0x00]
+
+v_rcp_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x7d,0xd1,0x01,0x00,0x00,0x20]
+
+v_rcp_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x7d,0xd1,0x01,0x00,0x00,0x00]
+
+v_rcp_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x7d,0xd1,0x01,0x00,0x00,0x00]
+
+v_sqrt_f16 v5, s1
+// CHECK: [0x01,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v255, s1
+// CHECK: [0x01,0x7c,0xfe,0x7f]
+
+v_sqrt_f16 v5, s101
+// CHECK: [0x65,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, vcc_lo
+// CHECK: [0x6a,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, vcc_hi
+// CHECK: [0x6b,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, m0
+// CHECK: [0x7c,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, exec_lo
+// CHECK: [0x7e,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, exec_hi
+// CHECK: [0x7f,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, 0
+// CHECK: [0x80,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, -1
+// CHECK: [0xc1,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, 0.5
+// CHECK: [0xf0,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, -4.0
+// CHECK: [0xf7,0x7c,0x0a,0x7e]
+
+v_sqrt_f16 v5, 0xfe0b
+// CHECK: [0xff,0x7c,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_sqrt_f16 v5, 0x3456
+// CHECK: [0xff,0x7c,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_sqrt_f16 v5, v1
+// CHECK: [0x01,0x7d,0x0a,0x7e]
+
+v_sqrt_f16 v5, v255
+// CHECK: [0xff,0x7d,0x0a,0x7e]
+
+v_sqrt_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x7e,0xd1,0x01,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x7e,0xd1,0x01,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x7e,0xd1,0x65,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x7e,0xd1,0x66,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x7e,0xd1,0x67,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x7e,0xd1,0x6a,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x7e,0xd1,0x6b,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x7e,0xd1,0x7c,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x7e,0xd1,0x7e,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x7e,0xd1,0x7f,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x7e,0xd1,0x80,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x7e,0xd1,0xc1,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x7e,0xd1,0xf0,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x7e,0xd1,0xf7,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x00]
+
+v_sqrt_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x7e,0xd1,0xff,0x01,0x00,0x00]
+
+v_sqrt_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x7e,0xd1,0x01,0x00,0x00,0x20]
+
+v_sqrt_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x7e,0xd1,0x01,0x00,0x00,0x00]
+
+v_sqrt_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x7e,0xd1,0x01,0x00,0x00,0x00]
+
+v_rsq_f16 v5, s1
+// CHECK: [0x01,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v255, s1
+// CHECK: [0x01,0x7e,0xfe,0x7f]
+
+v_rsq_f16 v5, s101
+// CHECK: [0x65,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, vcc_lo
+// CHECK: [0x6a,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, vcc_hi
+// CHECK: [0x6b,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, m0
+// CHECK: [0x7c,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, exec_lo
+// CHECK: [0x7e,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, exec_hi
+// CHECK: [0x7f,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, 0
+// CHECK: [0x80,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, -1
+// CHECK: [0xc1,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, 0.5
+// CHECK: [0xf0,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, -4.0
+// CHECK: [0xf7,0x7e,0x0a,0x7e]
+
+v_rsq_f16 v5, 0xfe0b
+// CHECK: [0xff,0x7e,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_rsq_f16 v5, 0x3456
+// CHECK: [0xff,0x7e,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_rsq_f16 v5, v1
+// CHECK: [0x01,0x7f,0x0a,0x7e]
+
+v_rsq_f16 v5, v255
+// CHECK: [0xff,0x7f,0x0a,0x7e]
+
+v_rsq_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x7f,0xd1,0x01,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x7f,0xd1,0x01,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x7f,0xd1,0x65,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x7f,0xd1,0x66,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x7f,0xd1,0x67,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x7f,0xd1,0x6a,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x7f,0xd1,0x6b,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x7f,0xd1,0x7c,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x7f,0xd1,0x7e,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x7f,0xd1,0x7f,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x7f,0xd1,0x80,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x7f,0xd1,0xc1,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x7f,0xd1,0xf0,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x7f,0xd1,0xf7,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x00]
+
+v_rsq_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x7f,0xd1,0xff,0x01,0x00,0x00]
+
+v_rsq_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x7f,0xd1,0x01,0x00,0x00,0x20]
+
+v_rsq_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x7f,0xd1,0x01,0x00,0x00,0x00]
+
+v_rsq_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x7f,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_f16 v5, s1
+// CHECK: [0x01,0x80,0x0a,0x7e]
+
+v_log_f16 v255, s1
+// CHECK: [0x01,0x80,0xfe,0x7f]
+
+v_log_f16 v5, s101
+// CHECK: [0x65,0x80,0x0a,0x7e]
+
+v_log_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x80,0x0a,0x7e]
+
+v_log_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x80,0x0a,0x7e]
+
+v_log_f16 v5, vcc_lo
+// CHECK: [0x6a,0x80,0x0a,0x7e]
+
+v_log_f16 v5, vcc_hi
+// CHECK: [0x6b,0x80,0x0a,0x7e]
+
+v_log_f16 v5, m0
+// CHECK: [0x7c,0x80,0x0a,0x7e]
+
+v_log_f16 v5, exec_lo
+// CHECK: [0x7e,0x80,0x0a,0x7e]
+
+v_log_f16 v5, exec_hi
+// CHECK: [0x7f,0x80,0x0a,0x7e]
+
+v_log_f16 v5, 0
+// CHECK: [0x80,0x80,0x0a,0x7e]
+
+v_log_f16 v5, -1
+// CHECK: [0xc1,0x80,0x0a,0x7e]
+
+v_log_f16 v5, 0.5
+// CHECK: [0xf0,0x80,0x0a,0x7e]
+
+v_log_f16 v5, -4.0
+// CHECK: [0xf7,0x80,0x0a,0x7e]
+
+v_log_f16 v5, 0xfe0b
+// CHECK: [0xff,0x80,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_log_f16 v5, 0x3456
+// CHECK: [0xff,0x80,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_log_f16 v5, v1
+// CHECK: [0x01,0x81,0x0a,0x7e]
+
+v_log_f16 v5, v255
+// CHECK: [0xff,0x81,0x0a,0x7e]
+
+v_log_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x80,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x80,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x80,0xd1,0x65,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x80,0xd1,0x66,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x80,0xd1,0x67,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x80,0xd1,0x6a,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x80,0xd1,0x6b,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x80,0xd1,0x7c,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x80,0xd1,0x7e,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x80,0xd1,0x7f,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x80,0xd1,0x80,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x80,0xd1,0xc1,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x80,0xd1,0xf0,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x80,0xd1,0xf7,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x00]
+
+v_log_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x80,0xd1,0xff,0x01,0x00,0x00]
+
+v_log_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x80,0xd1,0x01,0x00,0x00,0x20]
+
+v_log_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x80,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x80,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_f16 v5, s1
+// CHECK: [0x01,0x82,0x0a,0x7e]
+
+v_exp_f16 v255, s1
+// CHECK: [0x01,0x82,0xfe,0x7f]
+
+v_exp_f16 v5, s101
+// CHECK: [0x65,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, vcc_lo
+// CHECK: [0x6a,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, vcc_hi
+// CHECK: [0x6b,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, m0
+// CHECK: [0x7c,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, exec_lo
+// CHECK: [0x7e,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, exec_hi
+// CHECK: [0x7f,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, 0
+// CHECK: [0x80,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, -1
+// CHECK: [0xc1,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, 0.5
+// CHECK: [0xf0,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, -4.0
+// CHECK: [0xf7,0x82,0x0a,0x7e]
+
+v_exp_f16 v5, 0xfe0b
+// CHECK: [0xff,0x82,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_exp_f16 v5, 0x3456
+// CHECK: [0xff,0x82,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_exp_f16 v5, v1
+// CHECK: [0x01,0x83,0x0a,0x7e]
+
+v_exp_f16 v5, v255
+// CHECK: [0xff,0x83,0x0a,0x7e]
+
+v_exp_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x81,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x81,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x81,0xd1,0x65,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x81,0xd1,0x66,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x81,0xd1,0x67,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x81,0xd1,0x6a,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x81,0xd1,0x6b,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x81,0xd1,0x7c,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x81,0xd1,0x7e,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x81,0xd1,0x7f,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x81,0xd1,0x80,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x81,0xd1,0xc1,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x81,0xd1,0xf0,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x81,0xd1,0xf7,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x00]
+
+v_exp_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x81,0xd1,0xff,0x01,0x00,0x00]
+
+v_exp_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x81,0xd1,0x01,0x00,0x00,0x20]
+
+v_exp_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x81,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x81,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_mant_f16 v5, s1
+// CHECK: [0x01,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v255, s1
+// CHECK: [0x01,0x84,0xfe,0x7f]
+
+v_frexp_mant_f16 v5, s101
+// CHECK: [0x65,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, vcc_lo
+// CHECK: [0x6a,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, vcc_hi
+// CHECK: [0x6b,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, m0
+// CHECK: [0x7c,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, exec_lo
+// CHECK: [0x7e,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, exec_hi
+// CHECK: [0x7f,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, 0
+// CHECK: [0x80,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, -1
+// CHECK: [0xc1,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, 0.5
+// CHECK: [0xf0,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, -4.0
+// CHECK: [0xf7,0x84,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, 0xfe0b
+// CHECK: [0xff,0x84,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_frexp_mant_f16 v5, 0x3456
+// CHECK: [0xff,0x84,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_frexp_mant_f16 v5, v1
+// CHECK: [0x01,0x85,0x0a,0x7e]
+
+v_frexp_mant_f16 v5, v255
+// CHECK: [0xff,0x85,0x0a,0x7e]
+
+v_frexp_mant_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x82,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x82,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x82,0xd1,0x65,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x82,0xd1,0x66,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x82,0xd1,0x67,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x82,0xd1,0x6a,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x82,0xd1,0x6b,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x82,0xd1,0x7c,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x82,0xd1,0x7e,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x82,0xd1,0x7f,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x82,0xd1,0x80,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x82,0xd1,0xc1,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x82,0xd1,0xf0,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x82,0xd1,0xf7,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x82,0xd1,0x01,0x01,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x82,0xd1,0xff,0x01,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x82,0xd1,0x01,0x00,0x00,0x20]
+
+v_frexp_mant_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x82,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_mant_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x82,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16 v5, s1
+// CHECK: [0x01,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v255, s1
+// CHECK: [0x01,0x86,0xfe,0x7f]
+
+v_frexp_exp_i16_f16 v5, s101
+// CHECK: [0x65,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, vcc_lo
+// CHECK: [0x6a,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, vcc_hi
+// CHECK: [0x6b,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, m0
+// CHECK: [0x7c,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, exec_lo
+// CHECK: [0x7e,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, exec_hi
+// CHECK: [0x7f,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, 0
+// CHECK: [0x80,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, -1
+// CHECK: [0xc1,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, 0.5
+// CHECK: [0xf0,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, -4.0
+// CHECK: [0xf7,0x86,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, 0xfe0b
+// CHECK: [0xff,0x86,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_frexp_exp_i16_f16 v5, 0x3456
+// CHECK: [0xff,0x86,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_frexp_exp_i16_f16 v5, v1
+// CHECK: [0x01,0x87,0x0a,0x7e]
+
+v_frexp_exp_i16_f16 v5, v255
+// CHECK: [0xff,0x87,0x0a,0x7e]
+
+v_frexp_exp_i16_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x83,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x83,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x83,0xd1,0x65,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x83,0xd1,0x66,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x83,0xd1,0x67,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x83,0xd1,0x6a,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x83,0xd1,0x6b,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x83,0xd1,0x7c,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x83,0xd1,0x7e,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x83,0xd1,0x7f,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x83,0xd1,0x80,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x83,0xd1,0xc1,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x83,0xd1,0xf0,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x83,0xd1,0xf7,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x83,0xd1,0x01,0x01,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x83,0xd1,0xff,0x01,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x83,0xd1,0x01,0x00,0x00,0x20]
+
+v_frexp_exp_i16_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x83,0xd1,0x01,0x00,0x00,0x00]
+
+v_frexp_exp_i16_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x83,0xd1,0x01,0x00,0x00,0x00]
+
+v_floor_f16 v5, s1
+// CHECK: [0x01,0x88,0x0a,0x7e]
+
+v_floor_f16 v255, s1
+// CHECK: [0x01,0x88,0xfe,0x7f]
+
+v_floor_f16 v5, s101
+// CHECK: [0x65,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, vcc_lo
+// CHECK: [0x6a,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, vcc_hi
+// CHECK: [0x6b,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, m0
+// CHECK: [0x7c,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, exec_lo
+// CHECK: [0x7e,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, exec_hi
+// CHECK: [0x7f,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, 0
+// CHECK: [0x80,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, -1
+// CHECK: [0xc1,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, 0.5
+// CHECK: [0xf0,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, -4.0
+// CHECK: [0xf7,0x88,0x0a,0x7e]
+
+v_floor_f16 v5, 0xfe0b
+// CHECK: [0xff,0x88,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_floor_f16 v5, 0x3456
+// CHECK: [0xff,0x88,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_floor_f16 v5, v1
+// CHECK: [0x01,0x89,0x0a,0x7e]
+
+v_floor_f16 v5, v255
+// CHECK: [0xff,0x89,0x0a,0x7e]
+
+v_floor_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x84,0xd1,0x01,0x00,0x00,0x00]
+
+v_floor_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x84,0xd1,0x01,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x84,0xd1,0x65,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x84,0xd1,0x66,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x84,0xd1,0x67,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x84,0xd1,0x6a,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x84,0xd1,0x6b,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x84,0xd1,0x7c,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x84,0xd1,0x7e,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x84,0xd1,0x7f,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x84,0xd1,0x80,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x84,0xd1,0xc1,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x84,0xd1,0xf0,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x84,0xd1,0xf7,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x00]
+
+v_floor_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x84,0xd1,0xff,0x01,0x00,0x00]
+
+v_floor_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x84,0xd1,0x01,0x00,0x00,0x20]
+
+v_floor_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x84,0xd1,0x01,0x00,0x00,0x00]
+
+v_floor_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x84,0xd1,0x01,0x00,0x00,0x00]
+
+v_ceil_f16 v5, s1
+// CHECK: [0x01,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v255, s1
+// CHECK: [0x01,0x8a,0xfe,0x7f]
+
+v_ceil_f16 v5, s101
+// CHECK: [0x65,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, vcc_lo
+// CHECK: [0x6a,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, vcc_hi
+// CHECK: [0x6b,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, m0
+// CHECK: [0x7c,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, exec_lo
+// CHECK: [0x7e,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, exec_hi
+// CHECK: [0x7f,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, 0
+// CHECK: [0x80,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, -1
+// CHECK: [0xc1,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, 0.5
+// CHECK: [0xf0,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, -4.0
+// CHECK: [0xf7,0x8a,0x0a,0x7e]
+
+v_ceil_f16 v5, 0xfe0b
+// CHECK: [0xff,0x8a,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_ceil_f16 v5, 0x3456
+// CHECK: [0xff,0x8a,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_ceil_f16 v5, v1
+// CHECK: [0x01,0x8b,0x0a,0x7e]
+
+v_ceil_f16 v5, v255
+// CHECK: [0xff,0x8b,0x0a,0x7e]
+
+v_ceil_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x85,0xd1,0x01,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x85,0xd1,0x01,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x85,0xd1,0x65,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x85,0xd1,0x66,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x85,0xd1,0x67,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x85,0xd1,0x6a,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x85,0xd1,0x6b,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x85,0xd1,0x7c,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x85,0xd1,0x7e,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x85,0xd1,0x7f,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x85,0xd1,0x80,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x85,0xd1,0xc1,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x85,0xd1,0xf0,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x85,0xd1,0xf7,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x00]
+
+v_ceil_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x85,0xd1,0xff,0x01,0x00,0x00]
+
+v_ceil_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x85,0xd1,0x01,0x00,0x00,0x20]
+
+v_ceil_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x85,0xd1,0x01,0x00,0x00,0x00]
+
+v_ceil_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x85,0xd1,0x01,0x00,0x00,0x00]
+
+v_trunc_f16 v5, s1
+// CHECK: [0x01,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v255, s1
+// CHECK: [0x01,0x8c,0xfe,0x7f]
+
+v_trunc_f16 v5, s101
+// CHECK: [0x65,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, vcc_lo
+// CHECK: [0x6a,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, vcc_hi
+// CHECK: [0x6b,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, m0
+// CHECK: [0x7c,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, exec_lo
+// CHECK: [0x7e,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, exec_hi
+// CHECK: [0x7f,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, 0
+// CHECK: [0x80,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, -1
+// CHECK: [0xc1,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, 0.5
+// CHECK: [0xf0,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, -4.0
+// CHECK: [0xf7,0x8c,0x0a,0x7e]
+
+v_trunc_f16 v5, 0xfe0b
+// CHECK: [0xff,0x8c,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_trunc_f16 v5, 0x3456
+// CHECK: [0xff,0x8c,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_trunc_f16 v5, v1
+// CHECK: [0x01,0x8d,0x0a,0x7e]
+
+v_trunc_f16 v5, v255
+// CHECK: [0xff,0x8d,0x0a,0x7e]
+
+v_trunc_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x86,0xd1,0x01,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x86,0xd1,0x01,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x86,0xd1,0x65,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x86,0xd1,0x66,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x86,0xd1,0x67,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x86,0xd1,0x6a,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x86,0xd1,0x6b,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x86,0xd1,0x7c,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x86,0xd1,0x7e,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x86,0xd1,0x7f,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x86,0xd1,0x80,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x86,0xd1,0xc1,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x86,0xd1,0xf0,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x86,0xd1,0xf7,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x00]
+
+v_trunc_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x86,0xd1,0xff,0x01,0x00,0x00]
+
+v_trunc_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x86,0xd1,0x01,0x00,0x00,0x20]
+
+v_trunc_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x86,0xd1,0x01,0x00,0x00,0x00]
+
+v_trunc_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x86,0xd1,0x01,0x00,0x00,0x00]
+
+v_rndne_f16 v5, s1
+// CHECK: [0x01,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v255, s1
+// CHECK: [0x01,0x8e,0xfe,0x7f]
+
+v_rndne_f16 v5, s101
+// CHECK: [0x65,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, vcc_lo
+// CHECK: [0x6a,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, vcc_hi
+// CHECK: [0x6b,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, m0
+// CHECK: [0x7c,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, exec_lo
+// CHECK: [0x7e,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, exec_hi
+// CHECK: [0x7f,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, 0
+// CHECK: [0x80,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, -1
+// CHECK: [0xc1,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, 0.5
+// CHECK: [0xf0,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, -4.0
+// CHECK: [0xf7,0x8e,0x0a,0x7e]
+
+v_rndne_f16 v5, 0xfe0b
+// CHECK: [0xff,0x8e,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_rndne_f16 v5, 0x3456
+// CHECK: [0xff,0x8e,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_rndne_f16 v5, v1
+// CHECK: [0x01,0x8f,0x0a,0x7e]
+
+v_rndne_f16 v5, v255
+// CHECK: [0xff,0x8f,0x0a,0x7e]
+
+v_rndne_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x87,0xd1,0x01,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x87,0xd1,0x01,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x87,0xd1,0x65,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x87,0xd1,0x66,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x87,0xd1,0x67,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x87,0xd1,0x6a,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x87,0xd1,0x6b,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x87,0xd1,0x7c,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x87,0xd1,0x7e,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x87,0xd1,0x7f,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x87,0xd1,0x80,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x87,0xd1,0xc1,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x87,0xd1,0xf0,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x87,0xd1,0xf7,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x00]
+
+v_rndne_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x87,0xd1,0xff,0x01,0x00,0x00]
+
+v_rndne_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x87,0xd1,0x01,0x00,0x00,0x20]
+
+v_rndne_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x87,0xd1,0x01,0x00,0x00,0x00]
+
+v_rndne_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x87,0xd1,0x01,0x00,0x00,0x00]
+
+v_fract_f16 v5, s1
+// CHECK: [0x01,0x90,0x0a,0x7e]
+
+v_fract_f16 v255, s1
+// CHECK: [0x01,0x90,0xfe,0x7f]
+
+v_fract_f16 v5, s101
+// CHECK: [0x65,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, vcc_lo
+// CHECK: [0x6a,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, vcc_hi
+// CHECK: [0x6b,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, m0
+// CHECK: [0x7c,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, exec_lo
+// CHECK: [0x7e,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, exec_hi
+// CHECK: [0x7f,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, 0
+// CHECK: [0x80,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, -1
+// CHECK: [0xc1,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, 0.5
+// CHECK: [0xf0,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, -4.0
+// CHECK: [0xf7,0x90,0x0a,0x7e]
+
+v_fract_f16 v5, 0xfe0b
+// CHECK: [0xff,0x90,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_fract_f16 v5, 0x3456
+// CHECK: [0xff,0x90,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_fract_f16 v5, v1
+// CHECK: [0x01,0x91,0x0a,0x7e]
+
+v_fract_f16 v5, v255
+// CHECK: [0xff,0x91,0x0a,0x7e]
+
+v_fract_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x88,0xd1,0x01,0x00,0x00,0x00]
+
+v_fract_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x88,0xd1,0x01,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x88,0xd1,0x65,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x88,0xd1,0x66,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x88,0xd1,0x67,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x88,0xd1,0x6a,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x88,0xd1,0x6b,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x88,0xd1,0x7c,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x88,0xd1,0x7e,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x88,0xd1,0x7f,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x88,0xd1,0x80,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x88,0xd1,0xc1,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x88,0xd1,0xf0,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x88,0xd1,0xf7,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x00]
+
+v_fract_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x88,0xd1,0xff,0x01,0x00,0x00]
+
+v_fract_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x88,0xd1,0x01,0x00,0x00,0x20]
+
+v_fract_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x88,0xd1,0x01,0x00,0x00,0x00]
+
+v_fract_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x88,0xd1,0x01,0x00,0x00,0x00]
+
+v_sin_f16 v5, s1
+// CHECK: [0x01,0x92,0x0a,0x7e]
+
+v_sin_f16 v255, s1
+// CHECK: [0x01,0x92,0xfe,0x7f]
+
+v_sin_f16 v5, s101
+// CHECK: [0x65,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, vcc_lo
+// CHECK: [0x6a,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, vcc_hi
+// CHECK: [0x6b,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, m0
+// CHECK: [0x7c,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, exec_lo
+// CHECK: [0x7e,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, exec_hi
+// CHECK: [0x7f,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, 0
+// CHECK: [0x80,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, -1
+// CHECK: [0xc1,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, 0.5
+// CHECK: [0xf0,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, -4.0
+// CHECK: [0xf7,0x92,0x0a,0x7e]
+
+v_sin_f16 v5, 0xfe0b
+// CHECK: [0xff,0x92,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_sin_f16 v5, 0x3456
+// CHECK: [0xff,0x92,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_sin_f16 v5, v1
+// CHECK: [0x01,0x93,0x0a,0x7e]
+
+v_sin_f16 v5, v255
+// CHECK: [0xff,0x93,0x0a,0x7e]
+
+v_sin_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x89,0xd1,0x01,0x00,0x00,0x00]
+
+v_sin_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x89,0xd1,0x01,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x89,0xd1,0x65,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x89,0xd1,0x66,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x89,0xd1,0x67,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x89,0xd1,0x6a,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x89,0xd1,0x6b,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x89,0xd1,0x7c,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x89,0xd1,0x7e,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x89,0xd1,0x7f,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x89,0xd1,0x80,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x89,0xd1,0xc1,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x89,0xd1,0xf0,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x89,0xd1,0xf7,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x00]
+
+v_sin_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x89,0xd1,0xff,0x01,0x00,0x00]
+
+v_sin_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x89,0xd1,0x01,0x00,0x00,0x20]
+
+v_sin_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x89,0xd1,0x01,0x00,0x00,0x00]
+
+v_sin_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x89,0xd1,0x01,0x00,0x00,0x00]
+
+v_cos_f16 v5, s1
+// CHECK: [0x01,0x94,0x0a,0x7e]
+
+v_cos_f16 v255, s1
+// CHECK: [0x01,0x94,0xfe,0x7f]
+
+v_cos_f16 v5, s101
+// CHECK: [0x65,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, flat_scratch_lo
+// CHECK: [0x66,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, flat_scratch_hi
+// CHECK: [0x67,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, vcc_lo
+// CHECK: [0x6a,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, vcc_hi
+// CHECK: [0x6b,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, m0
+// CHECK: [0x7c,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, exec_lo
+// CHECK: [0x7e,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, exec_hi
+// CHECK: [0x7f,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, 0
+// CHECK: [0x80,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, -1
+// CHECK: [0xc1,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, 0.5
+// CHECK: [0xf0,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, -4.0
+// CHECK: [0xf7,0x94,0x0a,0x7e]
+
+v_cos_f16 v5, 0xfe0b
+// CHECK: [0xff,0x94,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+
+v_cos_f16 v5, 0x3456
+// CHECK: [0xff,0x94,0x0a,0x7e,0x56,0x34,0x00,0x00]
+
+v_cos_f16 v5, v1
+// CHECK: [0x01,0x95,0x0a,0x7e]
+
+v_cos_f16 v5, v255
+// CHECK: [0xff,0x95,0x0a,0x7e]
+
+v_cos_f16_e64 v5, s1
+// CHECK: [0x05,0x00,0x8a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cos_f16_e64 v255, s1
+// CHECK: [0xff,0x00,0x8a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, s101
+// CHECK: [0x05,0x00,0x8a,0xd1,0x65,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8a,0xd1,0x66,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8a,0xd1,0x67,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x8a,0xd1,0x6a,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x8a,0xd1,0x6b,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, m0
+// CHECK: [0x05,0x00,0x8a,0xd1,0x7c,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x8a,0xd1,0x7e,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x8a,0xd1,0x7f,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, 0
+// CHECK: [0x05,0x00,0x8a,0xd1,0x80,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, -1
+// CHECK: [0x05,0x00,0x8a,0xd1,0xc1,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x8a,0xd1,0xf0,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x8a,0xd1,0xf7,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, v1
+// CHECK: [0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x00]
+
+v_cos_f16_e64 v5, v255
+// CHECK: [0x05,0x00,0x8a,0xd1,0xff,0x01,0x00,0x00]
+
+v_cos_f16_e64 v5, -s1
+// CHECK: [0x05,0x00,0x8a,0xd1,0x01,0x00,0x00,0x20]
+
+v_cos_f16_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x8a,0xd1,0x01,0x00,0x00,0x00]
+
+v_cos_f16_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x8a,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_legacy_f32 v5, s1
+// CHECK: [0x01,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v255, s1
+// CHECK: [0x01,0x96,0xfe,0x7f]
+
+v_exp_legacy_f32 v5, s101
+// CHECK: [0x65,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, vcc_lo
+// CHECK: [0x6a,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, vcc_hi
+// CHECK: [0x6b,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, m0
+// CHECK: [0x7c,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, exec_lo
+// CHECK: [0x7e,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, exec_hi
+// CHECK: [0x7f,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, 0
+// CHECK: [0x80,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, -1
+// CHECK: [0xc1,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, 0.5
+// CHECK: [0xf0,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, -4.0
+// CHECK: [0xf7,0x96,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, 0xaf123456
+// CHECK: [0xff,0x96,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_exp_legacy_f32 v5, 0x3f717273
+// CHECK: [0xff,0x96,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_exp_legacy_f32 v5, v1
+// CHECK: [0x01,0x97,0x0a,0x7e]
+
+v_exp_legacy_f32 v5, v255
+// CHECK: [0xff,0x97,0x0a,0x7e]
+
+v_exp_legacy_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x8b,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x8b,0xd1,0x65,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8b,0xd1,0x66,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8b,0xd1,0x67,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x8b,0xd1,0x6a,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x8b,0xd1,0x6b,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x8b,0xd1,0x7c,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x8b,0xd1,0x7e,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x8b,0xd1,0x7f,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x8b,0xd1,0x80,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x8b,0xd1,0xc1,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x8b,0xd1,0xf0,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x8b,0xd1,0xf7,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x8b,0xd1,0xff,0x01,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x20]
+
+v_exp_legacy_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x8b,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x8b,0xd1,0x01,0x00,0x00,0x00]
+
+v_exp_legacy_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x08]
+
+v_exp_legacy_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x10]
+
+v_exp_legacy_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x18]
+
+v_log_legacy_f32 v5, s1
+// CHECK: [0x01,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v255, s1
+// CHECK: [0x01,0x98,0xfe,0x7f]
+
+v_log_legacy_f32 v5, s101
+// CHECK: [0x65,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, flat_scratch_lo
+// CHECK: [0x66,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, flat_scratch_hi
+// CHECK: [0x67,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, vcc_lo
+// CHECK: [0x6a,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, vcc_hi
+// CHECK: [0x6b,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, m0
+// CHECK: [0x7c,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, exec_lo
+// CHECK: [0x7e,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, exec_hi
+// CHECK: [0x7f,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, 0
+// CHECK: [0x80,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, -1
+// CHECK: [0xc1,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, 0.5
+// CHECK: [0xf0,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, -4.0
+// CHECK: [0xf7,0x98,0x0a,0x7e]
+
+v_log_legacy_f32 v5, 0xaf123456
+// CHECK: [0xff,0x98,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+
+v_log_legacy_f32 v5, 0x3f717273
+// CHECK: [0xff,0x98,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+
+v_log_legacy_f32 v5, v1
+// CHECK: [0x01,0x99,0x0a,0x7e]
+
+v_log_legacy_f32 v5, v255
+// CHECK: [0xff,0x99,0x0a,0x7e]
+
+v_log_legacy_f32_e64 v5, s1
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v255, s1
+// CHECK: [0xff,0x00,0x8c,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, s101
+// CHECK: [0x05,0x00,0x8c,0xd1,0x65,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8c,0xd1,0x66,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8c,0xd1,0x67,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, vcc_lo
+// CHECK: [0x05,0x00,0x8c,0xd1,0x6a,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, vcc_hi
+// CHECK: [0x05,0x00,0x8c,0xd1,0x6b,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, m0
+// CHECK: [0x05,0x00,0x8c,0xd1,0x7c,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, exec_lo
+// CHECK: [0x05,0x00,0x8c,0xd1,0x7e,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, exec_hi
+// CHECK: [0x05,0x00,0x8c,0xd1,0x7f,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, 0
+// CHECK: [0x05,0x00,0x8c,0xd1,0x80,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, -1
+// CHECK: [0x05,0x00,0x8c,0xd1,0xc1,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, 0.5
+// CHECK: [0x05,0x00,0x8c,0xd1,0xf0,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, -4.0
+// CHECK: [0x05,0x00,0x8c,0xd1,0xf7,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, v1
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, v255
+// CHECK: [0x05,0x00,0x8c,0xd1,0xff,0x01,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, -s1
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x20]
+
+v_log_legacy_f32_e64 v5, |s1|
+// CHECK: [0x05,0x01,0x8c,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, s1 clamp
+// CHECK: [0x05,0x80,0x8c,0xd1,0x01,0x00,0x00,0x00]
+
+v_log_legacy_f32_e64 v5, s1 mul:2
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x08]
+
+v_log_legacy_f32_e64 v5, s1 mul:4
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x10]
+
+v_log_legacy_f32_e64 v5, s1 div:2
+// CHECK: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x18]
+
+v_swap_b32 v5, v1
+// CHECK: [0x01,0xa3,0x0a,0x7e]
+
+v_swap_b32 v255, v1
+// CHECK: [0x01,0xa3,0xfe,0x7f]
+
+v_swap_b32 v5, v255
+// CHECK: [0xff,0xa3,0x0a,0x7e]
+
+v_cndmask_b32 v5, 0, v2, vcc
+// CHECK: [0x80,0x04,0x0a,0x00]
+
+v_cndmask_b32 v255, 0, v2, vcc
+// CHECK: [0x80,0x04,0xfe,0x01]
+
+v_cndmask_b32 v5, -1, v2, vcc
+// CHECK: [0xc1,0x04,0x0a,0x00]
+
+v_cndmask_b32 v5, 0.5, v2, vcc
+// CHECK: [0xf0,0x04,0x0a,0x00]
+
+v_cndmask_b32 v5, -4.0, v2, vcc
+// CHECK: [0xf7,0x04,0x0a,0x00]
+
+v_cndmask_b32 v5, v1, v2, vcc
+// CHECK: [0x01,0x05,0x0a,0x00]
+
+v_cndmask_b32 v5, v255, v2, vcc
+// CHECK: [0xff,0x05,0x0a,0x00]
+
+v_cndmask_b32 v5, 0, v255, vcc
+// CHECK: [0x80,0xfe,0x0b,0x00]
+
+v_cndmask_b32_e64 v5, 0, 0, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x19,0x00]
+
+v_cndmask_b32_e64 v255, 0, 0, s[6:7]
+// CHECK: [0xff,0x00,0x00,0xd1,0x80,0x00,0x19,0x00]
+
+v_cndmask_b32_e64 v5, -1, 0, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xc1,0x00,0x19,0x00]
+
+v_cndmask_b32_e64 v5, 0.5, 0, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xf0,0x00,0x19,0x00]
+
+v_cndmask_b32_e64 v5, -4.0, 0, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xf7,0x00,0x19,0x00]
+
+v_cndmask_b32_e64 v5, v1, 0, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x01,0x01,0x19,0x00]
+
+v_cndmask_b32_e64 v5, v255, 0, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0xff,0x01,0x19,0x00]
+
+v_cndmask_b32_e64 v5, 0, -1, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x82,0x19,0x00]
+
+v_cndmask_b32_e64 v5, 0, 0.5, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0xe0,0x19,0x00]
+
+v_cndmask_b32_e64 v5, 0, -4.0, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0xee,0x19,0x00]
+
+v_cndmask_b32_e64 v5, 0, v2, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x04,0x1a,0x00]
+
+v_cndmask_b32_e64 v5, 0, v255, s[6:7]
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0xfe,0x1b,0x00]
+
+v_cndmask_b32_e64 v5, 0, 0, s[8:9]
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x21,0x00]
+
+v_cndmask_b32_e64 v5, 0, 0, s[100:101]
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x91,0x01]
+
+v_cndmask_b32_e64 v5, 0, 0, flat_scratch
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0x99,0x01]
+
+v_cndmask_b32_e64 v5, 0, 0, vcc
+// CHECK: [0x05,0x00,0x00,0xd1,0x80,0x00,0xa9,0x01]
+
+v_add_f32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x02]
+
+v_add_f32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x03]
+
+v_add_f32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x02]
+
+v_add_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x02]
+
+v_add_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x02]
+
+v_add_f32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x02]
+
+v_add_f32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x02]
+
+v_add_f32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x02]
+
+v_add_f32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x02]
+
+v_add_f32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x02]
+
+v_add_f32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x02]
+
+v_add_f32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x02]
+
+v_add_f32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x02]
+
+v_add_f32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x02]
+
+v_add_f32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x02,0x56,0x34,0x12,0xaf]
+
+v_add_f32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x02,0x73,0x72,0x71,0x3f]
+
+v_add_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x02]
+
+v_add_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x02]
+
+v_add_f32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x02]
+
+v_add_f32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x01,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x01,0xd1,0xc1,0x04,0x00,0x00]
+
+v_add_f32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x01,0xd1,0xf0,0x04,0x00,0x00]
+
+v_add_f32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x01,0xd1,0xf7,0x04,0x00,0x00]
+
+v_add_f32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x01,0xd1,0x01,0x05,0x00,0x00]
+
+v_add_f32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x01,0xd1,0xff,0x05,0x00,0x00]
+
+v_add_f32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xca,0x00,0x00]
+
+v_add_f32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xcc,0x00,0x00]
+
+v_add_f32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xce,0x00,0x00]
+
+v_add_f32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xd4,0x00,0x00]
+
+v_add_f32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xd6,0x00,0x00]
+
+v_add_f32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xf8,0x00,0x00]
+
+v_add_f32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xfc,0x00,0x00]
+
+v_add_f32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xfe,0x00,0x00]
+
+v_add_f32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x00,0x01,0x00]
+
+v_add_f32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x82,0x01,0x00]
+
+v_add_f32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xe0,0x01,0x00]
+
+v_add_f32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xee,0x01,0x00]
+
+v_add_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x02,0x00]
+
+v_add_f32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0xfe,0x03,0x00]
+
+v_add_f32_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x20]
+
+v_add_f32_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x40]
+
+v_add_f32_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x60]
+
+v_add_f32_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x01,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f32_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x01,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f32_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x01,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f32_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x01,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f32_e64 v5, 0, s2 mul:2
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x08]
+
+v_add_f32_e64 v5, 0, s2 mul:4
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x10]
+
+v_add_f32_e64 v5, 0, s2 div:2
+// CHECK: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x18]
+
+v_sub_f32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x04]
+
+v_sub_f32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x05]
+
+v_sub_f32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x04]
+
+v_sub_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x04]
+
+v_sub_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x04]
+
+v_sub_f32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x04]
+
+v_sub_f32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x04]
+
+v_sub_f32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x04]
+
+v_sub_f32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x04]
+
+v_sub_f32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x04]
+
+v_sub_f32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x04]
+
+v_sub_f32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x04]
+
+v_sub_f32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x04]
+
+v_sub_f32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x04]
+
+v_sub_f32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x04,0x56,0x34,0x12,0xaf]
+
+v_sub_f32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x04,0x73,0x72,0x71,0x3f]
+
+v_sub_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x04]
+
+v_sub_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x04]
+
+v_sub_f32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x04]
+
+v_sub_f32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x02,0xd1,0xc1,0x04,0x00,0x00]
+
+v_sub_f32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x02,0xd1,0xf0,0x04,0x00,0x00]
+
+v_sub_f32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x02,0xd1,0xf7,0x04,0x00,0x00]
+
+v_sub_f32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x02,0xd1,0x01,0x05,0x00,0x00]
+
+v_sub_f32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x02,0xd1,0xff,0x05,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xca,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xcc,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xce,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xd4,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xd6,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xf8,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xfc,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xfe,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x00,0x01,0x00]
+
+v_sub_f32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x82,0x01,0x00]
+
+v_sub_f32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xe0,0x01,0x00]
+
+v_sub_f32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xee,0x01,0x00]
+
+v_sub_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x02,0x00]
+
+v_sub_f32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0xfe,0x03,0x00]
+
+v_sub_f32_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x20]
+
+v_sub_f32_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x40]
+
+v_sub_f32_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x60]
+
+v_sub_f32_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x02,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x02,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f32_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x02,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x02,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f32_e64 v5, 0, s2 mul:2
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x08]
+
+v_sub_f32_e64 v5, 0, s2 mul:4
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x10]
+
+v_sub_f32_e64 v5, 0, s2 div:2
+// CHECK: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x18]
+
+v_subrev_f32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x06]
+
+v_subrev_f32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x07]
+
+v_subrev_f32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x06]
+
+v_subrev_f32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x06,0x56,0x34,0x12,0xaf]
+
+v_subrev_f32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x06,0x73,0x72,0x71,0x3f]
+
+v_subrev_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x06]
+
+v_subrev_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x06]
+
+v_subrev_f32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x06]
+
+v_subrev_f32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x03,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x03,0xd1,0xc1,0x04,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x03,0xd1,0xf0,0x04,0x00,0x00]
+
+v_subrev_f32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x03,0xd1,0xf7,0x04,0x00,0x00]
+
+v_subrev_f32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x03,0xd1,0x01,0x05,0x00,0x00]
+
+v_subrev_f32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x03,0xd1,0xff,0x05,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xca,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xcc,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xce,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xd4,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xd6,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xf8,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xfc,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xfe,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x00,0x01,0x00]
+
+v_subrev_f32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x82,0x01,0x00]
+
+v_subrev_f32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xe0,0x01,0x00]
+
+v_subrev_f32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xee,0x01,0x00]
+
+v_subrev_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x02,0x00]
+
+v_subrev_f32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0xfe,0x03,0x00]
+
+v_subrev_f32_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x20]
+
+v_subrev_f32_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x40]
+
+v_subrev_f32_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x60]
+
+v_subrev_f32_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x03,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x03,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f32_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x03,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x03,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f32_e64 v5, 0, s2 mul:2
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x08]
+
+v_subrev_f32_e64 v5, 0, s2 mul:4
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x10]
+
+v_subrev_f32_e64 v5, 0, s2 div:2
+// CHECK: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x18]
+
+v_mul_legacy_f32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x09]
+
+v_mul_legacy_f32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x08]
+
+v_mul_legacy_f32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x08,0x56,0x34,0x12,0xaf]
+
+v_mul_legacy_f32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x08,0x73,0x72,0x71,0x3f]
+
+v_mul_legacy_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x08]
+
+v_mul_legacy_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x08]
+
+v_mul_legacy_f32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x08]
+
+v_mul_legacy_f32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_legacy_f32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x04,0xd1,0xc1,0x04,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x04,0xd1,0xf0,0x04,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x04,0xd1,0xf7,0x04,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x04,0xd1,0x01,0x05,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x04,0xd1,0xff,0x05,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xca,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xcc,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xce,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xd4,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xd6,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xf8,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xfc,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xfe,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x00,0x01,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x82,0x01,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xe0,0x01,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xee,0x01,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0xfe,0x03,0x00]
+
+v_mul_legacy_f32_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x20]
+
+v_mul_legacy_f32_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x40]
+
+v_mul_legacy_f32_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x60]
+
+v_mul_legacy_f32_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x04,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x04,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x04,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x04,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_legacy_f32_e64 v5, 0, s2 mul:2
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x08]
+
+v_mul_legacy_f32_e64 v5, 0, s2 mul:4
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x10]
+
+v_mul_legacy_f32_e64 v5, 0, s2 div:2
+// CHECK: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x18]
+
+v_mul_f32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x0a]
+
+v_mul_f32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x0b]
+
+v_mul_f32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x0a]
+
+v_mul_f32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x0a,0x56,0x34,0x12,0xaf]
+
+v_mul_f32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x0a,0x73,0x72,0x71,0x3f]
+
+v_mul_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0a]
+
+v_mul_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0a]
+
+v_mul_f32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x0a]
+
+v_mul_f32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x05,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x05,0xd1,0xc1,0x04,0x00,0x00]
+
+v_mul_f32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x05,0xd1,0xf0,0x04,0x00,0x00]
+
+v_mul_f32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x05,0xd1,0xf7,0x04,0x00,0x00]
+
+v_mul_f32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x05,0xd1,0x01,0x05,0x00,0x00]
+
+v_mul_f32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x05,0xd1,0xff,0x05,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xca,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xcc,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xce,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xd4,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xd6,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xf8,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xfc,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xfe,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x00,0x01,0x00]
+
+v_mul_f32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x82,0x01,0x00]
+
+v_mul_f32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xe0,0x01,0x00]
+
+v_mul_f32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xee,0x01,0x00]
+
+v_mul_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_f32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0xfe,0x03,0x00]
+
+v_mul_f32_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x20]
+
+v_mul_f32_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x40]
+
+v_mul_f32_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x60]
+
+v_mul_f32_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x05,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x05,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f32_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x05,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x05,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f32_e64 v5, 0, s2 mul:2
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x08]
+
+v_mul_f32_e64 v5, 0, s2 mul:4
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x10]
+
+v_mul_f32_e64 v5, 0, s2 div:2
+// CHECK: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x18]
+
+v_mul_i32_i24 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x0d]
+
+v_mul_i32_i24 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x0c]
+
+v_mul_i32_i24 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x0c,0x56,0x34,0x12,0xaf]
+
+v_mul_i32_i24 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x0c,0x73,0x72,0x71,0x3f]
+
+v_mul_i32_i24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0c]
+
+v_mul_i32_i24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0c]
+
+v_mul_i32_i24 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x0c]
+
+v_mul_i32_i24_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_i32_i24_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x06,0xd1,0xc1,0x04,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x06,0xd1,0xf0,0x04,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x06,0xd1,0xf7,0x04,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x06,0xd1,0x01,0x05,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x06,0xd1,0xff,0x05,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xca,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xcc,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xce,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xd4,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xd6,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xf8,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xfc,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xfe,0x00,0x00]
+
+v_mul_i32_i24_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x00,0x01,0x00]
+
+v_mul_i32_i24_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x82,0x01,0x00]
+
+v_mul_i32_i24_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xe0,0x01,0x00]
+
+v_mul_i32_i24_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xee,0x01,0x00]
+
+v_mul_i32_i24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_i32_i24_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x06,0xd1,0x80,0xfe,0x03,0x00]
+
+v_mul_hi_i32_i24 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x0f]
+
+v_mul_hi_i32_i24 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x0e,0x56,0x34,0x12,0xaf]
+
+v_mul_hi_i32_i24 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x0e,0x73,0x72,0x71,0x3f]
+
+v_mul_hi_i32_i24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x0e]
+
+v_mul_hi_i32_i24 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x0e]
+
+v_mul_hi_i32_i24_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x07,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x07,0xd1,0xc1,0x04,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x07,0xd1,0xf0,0x04,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x07,0xd1,0xf7,0x04,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x07,0xd1,0x01,0x05,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x07,0xd1,0xff,0x05,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xca,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xcc,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xce,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xd4,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xd6,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xf8,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xfc,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xfe,0x00,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0x00,0x01,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0x82,0x01,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xe0,0x01,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xee,0x01,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_hi_i32_i24_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x07,0xd1,0x80,0xfe,0x03,0x00]
+
+v_mul_u32_u24 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x11]
+
+v_mul_u32_u24 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x10]
+
+v_mul_u32_u24 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x10,0x56,0x34,0x12,0xaf]
+
+v_mul_u32_u24 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x10,0x73,0x72,0x71,0x3f]
+
+v_mul_u32_u24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x10]
+
+v_mul_u32_u24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x10]
+
+v_mul_u32_u24 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x10]
+
+v_mul_u32_u24_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_u32_u24_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x08,0xd1,0xc1,0x04,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x08,0xd1,0xf0,0x04,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x08,0xd1,0xf7,0x04,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x08,0xd1,0x01,0x05,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x08,0xd1,0xff,0x05,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xca,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xcc,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xce,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xd4,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xd6,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xf8,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xfc,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xfe,0x00,0x00]
+
+v_mul_u32_u24_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x00,0x01,0x00]
+
+v_mul_u32_u24_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x82,0x01,0x00]
+
+v_mul_u32_u24_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xe0,0x01,0x00]
+
+v_mul_u32_u24_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xee,0x01,0x00]
+
+v_mul_u32_u24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_u32_u24_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x08,0xd1,0x80,0xfe,0x03,0x00]
+
+v_mul_hi_u32_u24 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x13]
+
+v_mul_hi_u32_u24 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x12,0x56,0x34,0x12,0xaf]
+
+v_mul_hi_u32_u24 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x12,0x73,0x72,0x71,0x3f]
+
+v_mul_hi_u32_u24 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x12]
+
+v_mul_hi_u32_u24 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x12]
+
+v_mul_hi_u32_u24_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x09,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x09,0xd1,0xc1,0x04,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x09,0xd1,0xf0,0x04,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x09,0xd1,0xf7,0x04,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x09,0xd1,0x01,0x05,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x09,0xd1,0xff,0x05,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xca,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xcc,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xce,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xd4,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xd6,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xf8,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xfc,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xfe,0x00,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0x00,0x01,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0x82,0x01,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xe0,0x01,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xee,0x01,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_hi_u32_u24_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x09,0xd1,0x80,0xfe,0x03,0x00]
+
+v_min_f32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x14]
+
+v_min_f32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x15]
+
+v_min_f32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x14]
+
+v_min_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x14]
+
+v_min_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x14]
+
+v_min_f32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x14]
+
+v_min_f32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x14]
+
+v_min_f32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x14]
+
+v_min_f32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x14]
+
+v_min_f32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x14]
+
+v_min_f32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x14]
+
+v_min_f32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x14]
+
+v_min_f32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x14]
+
+v_min_f32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x14]
+
+v_min_f32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x14,0x56,0x34,0x12,0xaf]
+
+v_min_f32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x14,0x73,0x72,0x71,0x3f]
+
+v_min_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x14]
+
+v_min_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x14]
+
+v_min_f32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x14]
+
+v_min_f32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xc1,0x04,0x00,0x00]
+
+v_min_f32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xf0,0x04,0x00,0x00]
+
+v_min_f32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xf7,0x04,0x00,0x00]
+
+v_min_f32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x00,0x00]
+
+v_min_f32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x0a,0xd1,0xff,0x05,0x00,0x00]
+
+v_min_f32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xca,0x00,0x00]
+
+v_min_f32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xcc,0x00,0x00]
+
+v_min_f32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xce,0x00,0x00]
+
+v_min_f32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xd4,0x00,0x00]
+
+v_min_f32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xd6,0x00,0x00]
+
+v_min_f32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xf8,0x00,0x00]
+
+v_min_f32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xfc,0x00,0x00]
+
+v_min_f32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xfe,0x00,0x00]
+
+v_min_f32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x00,0x01,0x00]
+
+v_min_f32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x82,0x01,0x00]
+
+v_min_f32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xe0,0x01,0x00]
+
+v_min_f32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xee,0x01,0x00]
+
+v_min_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_f32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0xfe,0x03,0x00]
+
+v_min_f32_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x20]
+
+v_min_f32_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x40]
+
+v_min_f32_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x60]
+
+v_min_f32_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x0a,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f32_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x0a,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f32_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x0a,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f32_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x0a,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f32_e64 v5, 0, s2 mul:2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x08]
+
+v_min_f32_e64 v5, 0, s2 mul:4
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x10]
+
+v_min_f32_e64 v5, 0, s2 div:2
+// CHECK: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x18]
+
+v_max_f32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x16]
+
+v_max_f32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x17]
+
+v_max_f32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x16]
+
+v_max_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x16]
+
+v_max_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x16]
+
+v_max_f32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x16]
+
+v_max_f32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x16]
+
+v_max_f32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x16]
+
+v_max_f32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x16]
+
+v_max_f32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x16]
+
+v_max_f32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x16]
+
+v_max_f32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x16]
+
+v_max_f32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x16]
+
+v_max_f32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x16]
+
+v_max_f32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x16,0x56,0x34,0x12,0xaf]
+
+v_max_f32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x16,0x73,0x72,0x71,0x3f]
+
+v_max_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x16]
+
+v_max_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x16]
+
+v_max_f32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x16]
+
+v_max_f32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x0b,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xc1,0x04,0x00,0x00]
+
+v_max_f32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xf0,0x04,0x00,0x00]
+
+v_max_f32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xf7,0x04,0x00,0x00]
+
+v_max_f32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x00,0x00]
+
+v_max_f32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x0b,0xd1,0xff,0x05,0x00,0x00]
+
+v_max_f32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xca,0x00,0x00]
+
+v_max_f32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xcc,0x00,0x00]
+
+v_max_f32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xce,0x00,0x00]
+
+v_max_f32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xd4,0x00,0x00]
+
+v_max_f32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xd6,0x00,0x00]
+
+v_max_f32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xf8,0x00,0x00]
+
+v_max_f32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xfc,0x00,0x00]
+
+v_max_f32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xfe,0x00,0x00]
+
+v_max_f32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x00,0x01,0x00]
+
+v_max_f32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x82,0x01,0x00]
+
+v_max_f32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xe0,0x01,0x00]
+
+v_max_f32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xee,0x01,0x00]
+
+v_max_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_f32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0xfe,0x03,0x00]
+
+v_max_f32_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x20]
+
+v_max_f32_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x40]
+
+v_max_f32_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x60]
+
+v_max_f32_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x0b,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f32_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x0b,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f32_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x0b,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f32_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x0b,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f32_e64 v5, 0, s2 mul:2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x08]
+
+v_max_f32_e64 v5, 0, s2 mul:4
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x10]
+
+v_max_f32_e64 v5, 0, s2 div:2
+// CHECK: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x18]
+
+v_min_i32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x18]
+
+v_min_i32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x19]
+
+v_min_i32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x18]
+
+v_min_i32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x18]
+
+v_min_i32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x18]
+
+v_min_i32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x18]
+
+v_min_i32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x18]
+
+v_min_i32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x18]
+
+v_min_i32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x18]
+
+v_min_i32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x18]
+
+v_min_i32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x18]
+
+v_min_i32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x18]
+
+v_min_i32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x18]
+
+v_min_i32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x18]
+
+v_min_i32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x18,0x56,0x34,0x12,0xaf]
+
+v_min_i32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x18,0x73,0x72,0x71,0x3f]
+
+v_min_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x18]
+
+v_min_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x18]
+
+v_min_i32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x18]
+
+v_min_i32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_i32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_i32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xc1,0x04,0x00,0x00]
+
+v_min_i32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xf0,0x04,0x00,0x00]
+
+v_min_i32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xf7,0x04,0x00,0x00]
+
+v_min_i32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x01,0x05,0x00,0x00]
+
+v_min_i32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x0c,0xd1,0xff,0x05,0x00,0x00]
+
+v_min_i32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xca,0x00,0x00]
+
+v_min_i32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xcc,0x00,0x00]
+
+v_min_i32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xce,0x00,0x00]
+
+v_min_i32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xd4,0x00,0x00]
+
+v_min_i32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xd6,0x00,0x00]
+
+v_min_i32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xf8,0x00,0x00]
+
+v_min_i32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xfc,0x00,0x00]
+
+v_min_i32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xfe,0x00,0x00]
+
+v_min_i32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x00,0x01,0x00]
+
+v_min_i32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x82,0x01,0x00]
+
+v_min_i32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xe0,0x01,0x00]
+
+v_min_i32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xee,0x01,0x00]
+
+v_min_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_i32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x0c,0xd1,0x80,0xfe,0x03,0x00]
+
+v_max_i32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x1a]
+
+v_max_i32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x1b]
+
+v_max_i32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x1a]
+
+v_max_i32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x1a]
+
+v_max_i32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x1a]
+
+v_max_i32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x1a]
+
+v_max_i32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x1a]
+
+v_max_i32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x1a]
+
+v_max_i32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x1a]
+
+v_max_i32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x1a]
+
+v_max_i32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x1a]
+
+v_max_i32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x1a]
+
+v_max_i32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x1a]
+
+v_max_i32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x1a]
+
+v_max_i32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x1a,0x56,0x34,0x12,0xaf]
+
+v_max_i32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x1a,0x73,0x72,0x71,0x3f]
+
+v_max_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1a]
+
+v_max_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1a]
+
+v_max_i32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x1a]
+
+v_max_i32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_i32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x0d,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_i32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xc1,0x04,0x00,0x00]
+
+v_max_i32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xf0,0x04,0x00,0x00]
+
+v_max_i32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xf7,0x04,0x00,0x00]
+
+v_max_i32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x01,0x05,0x00,0x00]
+
+v_max_i32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x0d,0xd1,0xff,0x05,0x00,0x00]
+
+v_max_i32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xca,0x00,0x00]
+
+v_max_i32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xcc,0x00,0x00]
+
+v_max_i32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xce,0x00,0x00]
+
+v_max_i32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xd4,0x00,0x00]
+
+v_max_i32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xd6,0x00,0x00]
+
+v_max_i32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xf8,0x00,0x00]
+
+v_max_i32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xfc,0x00,0x00]
+
+v_max_i32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xfe,0x00,0x00]
+
+v_max_i32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x00,0x01,0x00]
+
+v_max_i32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x82,0x01,0x00]
+
+v_max_i32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xe0,0x01,0x00]
+
+v_max_i32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xee,0x01,0x00]
+
+v_max_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_i32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x0d,0xd1,0x80,0xfe,0x03,0x00]
+
+v_min_u32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x1c]
+
+v_min_u32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x1d]
+
+v_min_u32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x1c]
+
+v_min_u32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x1c]
+
+v_min_u32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x1c]
+
+v_min_u32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x1c]
+
+v_min_u32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x1c]
+
+v_min_u32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x1c]
+
+v_min_u32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x1c]
+
+v_min_u32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x1c]
+
+v_min_u32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x1c]
+
+v_min_u32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x1c]
+
+v_min_u32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x1c]
+
+v_min_u32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x1c]
+
+v_min_u32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x1c,0x56,0x34,0x12,0xaf]
+
+v_min_u32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x1c,0x73,0x72,0x71,0x3f]
+
+v_min_u32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1c]
+
+v_min_u32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1c]
+
+v_min_u32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x1c]
+
+v_min_u32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_u32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_u32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xc1,0x04,0x00,0x00]
+
+v_min_u32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xf0,0x04,0x00,0x00]
+
+v_min_u32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xf7,0x04,0x00,0x00]
+
+v_min_u32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x01,0x05,0x00,0x00]
+
+v_min_u32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x0e,0xd1,0xff,0x05,0x00,0x00]
+
+v_min_u32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xca,0x00,0x00]
+
+v_min_u32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xcc,0x00,0x00]
+
+v_min_u32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xce,0x00,0x00]
+
+v_min_u32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xd4,0x00,0x00]
+
+v_min_u32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xd6,0x00,0x00]
+
+v_min_u32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xf8,0x00,0x00]
+
+v_min_u32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xfc,0x00,0x00]
+
+v_min_u32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xfe,0x00,0x00]
+
+v_min_u32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x00,0x01,0x00]
+
+v_min_u32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x82,0x01,0x00]
+
+v_min_u32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xe0,0x01,0x00]
+
+v_min_u32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xee,0x01,0x00]
+
+v_min_u32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_u32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x0e,0xd1,0x80,0xfe,0x03,0x00]
+
+v_max_u32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x1e]
+
+v_max_u32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x1f]
+
+v_max_u32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x1e]
+
+v_max_u32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x1e]
+
+v_max_u32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x1e]
+
+v_max_u32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x1e]
+
+v_max_u32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x1e]
+
+v_max_u32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x1e]
+
+v_max_u32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x1e]
+
+v_max_u32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x1e]
+
+v_max_u32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x1e]
+
+v_max_u32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x1e]
+
+v_max_u32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x1e]
+
+v_max_u32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x1e]
+
+v_max_u32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x1e,0x56,0x34,0x12,0xaf]
+
+v_max_u32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x1e,0x73,0x72,0x71,0x3f]
+
+v_max_u32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x1e]
+
+v_max_u32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x1e]
+
+v_max_u32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x1e]
+
+v_max_u32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_u32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x0f,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_u32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xc1,0x04,0x00,0x00]
+
+v_max_u32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xf0,0x04,0x00,0x00]
+
+v_max_u32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xf7,0x04,0x00,0x00]
+
+v_max_u32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x01,0x05,0x00,0x00]
+
+v_max_u32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x0f,0xd1,0xff,0x05,0x00,0x00]
+
+v_max_u32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xca,0x00,0x00]
+
+v_max_u32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xcc,0x00,0x00]
+
+v_max_u32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xce,0x00,0x00]
+
+v_max_u32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xd4,0x00,0x00]
+
+v_max_u32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xd6,0x00,0x00]
+
+v_max_u32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xf8,0x00,0x00]
+
+v_max_u32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xfc,0x00,0x00]
+
+v_max_u32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xfe,0x00,0x00]
+
+v_max_u32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x00,0x01,0x00]
+
+v_max_u32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x82,0x01,0x00]
+
+v_max_u32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xe0,0x01,0x00]
+
+v_max_u32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xee,0x01,0x00]
+
+v_max_u32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_u32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x0f,0xd1,0x80,0xfe,0x03,0x00]
+
+v_lshrrev_b32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x21]
+
+v_lshrrev_b32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x20]
+
+v_lshrrev_b32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x20,0x56,0x34,0x12,0xaf]
+
+v_lshrrev_b32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x20,0x73,0x72,0x71,0x3f]
+
+v_lshrrev_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x20]
+
+v_lshrrev_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x20]
+
+v_lshrrev_b32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x20]
+
+v_lshrrev_b32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x04,0x00,0x00]
+
+v_lshrrev_b32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x10,0xd1,0x80,0x04,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x10,0xd1,0xc1,0x04,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x10,0xd1,0xf0,0x04,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x10,0xd1,0xf7,0x04,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x10,0xd1,0x01,0x05,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x10,0xd1,0xff,0x05,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xca,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xcc,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xce,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xd4,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xd6,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xf8,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xfc,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xfe,0x00,0x00]
+
+v_lshrrev_b32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x00,0x01,0x00]
+
+v_lshrrev_b32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x82,0x01,0x00]
+
+v_lshrrev_b32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xe0,0x01,0x00]
+
+v_lshrrev_b32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xee,0x01,0x00]
+
+v_lshrrev_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0x04,0x02,0x00]
+
+v_lshrrev_b32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x10,0xd1,0x80,0xfe,0x03,0x00]
+
+v_ashrrev_i32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x23]
+
+v_ashrrev_i32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x22]
+
+v_ashrrev_i32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x22,0x56,0x34,0x12,0xaf]
+
+v_ashrrev_i32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x22,0x73,0x72,0x71,0x3f]
+
+v_ashrrev_i32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x22]
+
+v_ashrrev_i32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x22]
+
+v_ashrrev_i32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x22]
+
+v_ashrrev_i32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x04,0x00,0x00]
+
+v_ashrrev_i32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x11,0xd1,0x80,0x04,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x11,0xd1,0xc1,0x04,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x11,0xd1,0xf0,0x04,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x11,0xd1,0xf7,0x04,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x11,0xd1,0x01,0x05,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x11,0xd1,0xff,0x05,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xca,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xcc,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xce,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xd4,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xd6,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xf8,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xfc,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xfe,0x00,0x00]
+
+v_ashrrev_i32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x00,0x01,0x00]
+
+v_ashrrev_i32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x82,0x01,0x00]
+
+v_ashrrev_i32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xe0,0x01,0x00]
+
+v_ashrrev_i32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xee,0x01,0x00]
+
+v_ashrrev_i32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0x04,0x02,0x00]
+
+v_ashrrev_i32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x11,0xd1,0x80,0xfe,0x03,0x00]
+
+v_lshlrev_b32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x25]
+
+v_lshlrev_b32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x24]
+
+v_lshlrev_b32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x24,0x56,0x34,0x12,0xaf]
+
+v_lshlrev_b32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x24,0x73,0x72,0x71,0x3f]
+
+v_lshlrev_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x24]
+
+v_lshlrev_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x24]
+
+v_lshlrev_b32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x24]
+
+v_lshlrev_b32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x04,0x00,0x00]
+
+v_lshlrev_b32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x12,0xd1,0x80,0x04,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x12,0xd1,0xc1,0x04,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x12,0xd1,0xf0,0x04,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x12,0xd1,0xf7,0x04,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x12,0xd1,0x01,0x05,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x12,0xd1,0xff,0x05,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xca,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xcc,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xce,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xd4,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xd6,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xf8,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xfc,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xfe,0x00,0x00]
+
+v_lshlrev_b32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x00,0x01,0x00]
+
+v_lshlrev_b32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x82,0x01,0x00]
+
+v_lshlrev_b32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xe0,0x01,0x00]
+
+v_lshlrev_b32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xee,0x01,0x00]
+
+v_lshlrev_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0x04,0x02,0x00]
+
+v_lshlrev_b32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x12,0xd1,0x80,0xfe,0x03,0x00]
+
+v_and_b32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x26]
+
+v_and_b32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x27]
+
+v_and_b32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x26]
+
+v_and_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x26]
+
+v_and_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x26]
+
+v_and_b32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x26]
+
+v_and_b32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x26]
+
+v_and_b32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x26]
+
+v_and_b32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x26]
+
+v_and_b32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x26]
+
+v_and_b32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x26]
+
+v_and_b32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x26]
+
+v_and_b32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x26]
+
+v_and_b32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x26]
+
+v_and_b32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x26,0x56,0x34,0x12,0xaf]
+
+v_and_b32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x26,0x73,0x72,0x71,0x3f]
+
+v_and_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x26]
+
+v_and_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x26]
+
+v_and_b32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x26]
+
+v_and_b32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x04,0x00,0x00]
+
+v_and_b32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x13,0xd1,0x80,0x04,0x00,0x00]
+
+v_and_b32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x13,0xd1,0xc1,0x04,0x00,0x00]
+
+v_and_b32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x13,0xd1,0xf0,0x04,0x00,0x00]
+
+v_and_b32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x13,0xd1,0xf7,0x04,0x00,0x00]
+
+v_and_b32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x13,0xd1,0x01,0x05,0x00,0x00]
+
+v_and_b32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x13,0xd1,0xff,0x05,0x00,0x00]
+
+v_and_b32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xca,0x00,0x00]
+
+v_and_b32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xcc,0x00,0x00]
+
+v_and_b32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xce,0x00,0x00]
+
+v_and_b32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xd4,0x00,0x00]
+
+v_and_b32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xd6,0x00,0x00]
+
+v_and_b32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xf8,0x00,0x00]
+
+v_and_b32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xfc,0x00,0x00]
+
+v_and_b32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xfe,0x00,0x00]
+
+v_and_b32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x00,0x01,0x00]
+
+v_and_b32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x82,0x01,0x00]
+
+v_and_b32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xe0,0x01,0x00]
+
+v_and_b32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xee,0x01,0x00]
+
+v_and_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0x04,0x02,0x00]
+
+v_and_b32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x13,0xd1,0x80,0xfe,0x03,0x00]
+
+v_or_b32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x28]
+
+v_or_b32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x29]
+
+v_or_b32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x28]
+
+v_or_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x28]
+
+v_or_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x28]
+
+v_or_b32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x28]
+
+v_or_b32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x28]
+
+v_or_b32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x28]
+
+v_or_b32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x28]
+
+v_or_b32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x28]
+
+v_or_b32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x28]
+
+v_or_b32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x28]
+
+v_or_b32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x28]
+
+v_or_b32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x28]
+
+v_or_b32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x28,0x56,0x34,0x12,0xaf]
+
+v_or_b32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x28,0x73,0x72,0x71,0x3f]
+
+v_or_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x28]
+
+v_or_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x28]
+
+v_or_b32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x28]
+
+v_or_b32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x04,0x00,0x00]
+
+v_or_b32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x14,0xd1,0x80,0x04,0x00,0x00]
+
+v_or_b32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x14,0xd1,0xc1,0x04,0x00,0x00]
+
+v_or_b32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x14,0xd1,0xf0,0x04,0x00,0x00]
+
+v_or_b32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x14,0xd1,0xf7,0x04,0x00,0x00]
+
+v_or_b32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x14,0xd1,0x01,0x05,0x00,0x00]
+
+v_or_b32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x14,0xd1,0xff,0x05,0x00,0x00]
+
+v_or_b32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xca,0x00,0x00]
+
+v_or_b32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xcc,0x00,0x00]
+
+v_or_b32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xce,0x00,0x00]
+
+v_or_b32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xd4,0x00,0x00]
+
+v_or_b32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xd6,0x00,0x00]
+
+v_or_b32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xf8,0x00,0x00]
+
+v_or_b32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xfc,0x00,0x00]
+
+v_or_b32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xfe,0x00,0x00]
+
+v_or_b32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x00,0x01,0x00]
+
+v_or_b32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x82,0x01,0x00]
+
+v_or_b32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xe0,0x01,0x00]
+
+v_or_b32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xee,0x01,0x00]
+
+v_or_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0x04,0x02,0x00]
+
+v_or_b32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x14,0xd1,0x80,0xfe,0x03,0x00]
+
+v_xor_b32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x2a]
+
+v_xor_b32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x2b]
+
+v_xor_b32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x2a]
+
+v_xor_b32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x2a,0x56,0x34,0x12,0xaf]
+
+v_xor_b32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x2a,0x73,0x72,0x71,0x3f]
+
+v_xor_b32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x2a]
+
+v_xor_b32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x2a]
+
+v_xor_b32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x2a]
+
+v_xor_b32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x04,0x00,0x00]
+
+v_xor_b32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x15,0xd1,0x80,0x04,0x00,0x00]
+
+v_xor_b32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x15,0xd1,0xc1,0x04,0x00,0x00]
+
+v_xor_b32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x15,0xd1,0xf0,0x04,0x00,0x00]
+
+v_xor_b32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x15,0xd1,0xf7,0x04,0x00,0x00]
+
+v_xor_b32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x15,0xd1,0x01,0x05,0x00,0x00]
+
+v_xor_b32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x15,0xd1,0xff,0x05,0x00,0x00]
+
+v_xor_b32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xca,0x00,0x00]
+
+v_xor_b32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xcc,0x00,0x00]
+
+v_xor_b32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xce,0x00,0x00]
+
+v_xor_b32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xd4,0x00,0x00]
+
+v_xor_b32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xd6,0x00,0x00]
+
+v_xor_b32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xf8,0x00,0x00]
+
+v_xor_b32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xfc,0x00,0x00]
+
+v_xor_b32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xfe,0x00,0x00]
+
+v_xor_b32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x00,0x01,0x00]
+
+v_xor_b32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x82,0x01,0x00]
+
+v_xor_b32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xe0,0x01,0x00]
+
+v_xor_b32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xee,0x01,0x00]
+
+v_xor_b32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0x04,0x02,0x00]
+
+v_xor_b32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x15,0xd1,0x80,0xfe,0x03,0x00]
+
+v_mac_f32 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x2c]
+
+v_mac_f32 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x2d]
+
+v_mac_f32 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x2c]
+
+v_mac_f32 v5, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x0a,0x2c,0x56,0x34,0x12,0xaf]
+
+v_mac_f32 v5, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x0a,0x2c,0x73,0x72,0x71,0x3f]
+
+v_mac_f32 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x2c]
+
+v_mac_f32 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x2c]
+
+v_mac_f32 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x2c]
+
+v_mac_f32_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f32_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x16,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f32_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x00]
+
+v_mac_f32_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x16,0xd1,0xf0,0x04,0x00,0x00]
+
+v_mac_f32_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x16,0xd1,0xf7,0x04,0x00,0x00]
+
+v_mac_f32_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x16,0xd1,0x01,0x05,0x00,0x00]
+
+v_mac_f32_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x16,0xd1,0xff,0x05,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xca,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xcc,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xce,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xd4,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xd6,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xf8,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xfc,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xfe,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x00,0x01,0x00]
+
+v_mac_f32_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x82,0x01,0x00]
+
+v_mac_f32_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xe0,0x01,0x00]
+
+v_mac_f32_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xee,0x01,0x00]
+
+v_mac_f32_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x02,0x00]
+
+v_mac_f32_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0xfe,0x03,0x00]
+
+v_mac_f32_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x20]
+
+v_mac_f32_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x40]
+
+v_mac_f32_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x60]
+
+v_mac_f32_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x16,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x16,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f32_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x16,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x16,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f32_e64 v5, 0, s2 mul:2
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x08]
+
+v_mac_f32_e64 v5, 0, s2 mul:4
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x10]
+
+v_mac_f32_e64 v5, 0, s2 div:2
+// CHECK: [0x05,0x00,0x16,0xd1,0x80,0x04,0x00,0x18]
+
+v_madmk_f32 v5, 0, 0x11213141, v3
+// CHECK: [0x80,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+
+v_madmk_f32 v255, 0, 0x11213141, v3
+// CHECK: [0x80,0x06,0xfe,0x2f,0x41,0x31,0x21,0x11]
+
+v_madmk_f32 v5, -1, 0x11213141, v3
+// CHECK: [0xc1,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+
+v_madmk_f32 v5, 0.5, 0x11213141, v3
+// CHECK: [0xf0,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+
+v_madmk_f32 v5, -4.0, 0x11213141, v3
+// CHECK: [0xf7,0x06,0x0a,0x2e,0x41,0x31,0x21,0x11]
+
+v_madmk_f32 v5, v1, 0x11213141, v3
+// CHECK: [0x01,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
+
+v_madmk_f32 v5, v255, 0x11213141, v3
+// CHECK: [0xff,0x07,0x0a,0x2e,0x41,0x31,0x21,0x11]
+
+v_madmk_f32 v5, 0, 0xa1b1c1d1, v3
+// CHECK: [0x80,0x06,0x0a,0x2e,0xd1,0xc1,0xb1,0xa1]
+
+v_madmk_f32 v5, 0, 0x11213141, v255
+// CHECK: [0x80,0xfe,0x0b,0x2e,0x41,0x31,0x21,0x11]
+
+v_madak_f32 v5, 0, v2, 0x11213141
+// CHECK: [0x80,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+
+v_madak_f32 v255, 0, v2, 0x11213141
+// CHECK: [0x80,0x04,0xfe,0x31,0x41,0x31,0x21,0x11]
+
+v_madak_f32 v5, -1, v2, 0x11213141
+// CHECK: [0xc1,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+
+v_madak_f32 v5, 0.5, v2, 0x11213141
+// CHECK: [0xf0,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+
+v_madak_f32 v5, -4.0, v2, 0x11213141
+// CHECK: [0xf7,0x04,0x0a,0x30,0x41,0x31,0x21,0x11]
+
+v_madak_f32 v5, v1, v2, 0x11213141
+// CHECK: [0x01,0x05,0x0a,0x30,0x41,0x31,0x21,0x11]
+
+v_madak_f32 v5, v255, v2, 0x11213141
+// CHECK: [0xff,0x05,0x0a,0x30,0x41,0x31,0x21,0x11]
+
+v_madak_f32 v5, 0, v255, 0x11213141
+// CHECK: [0x80,0xfe,0x0b,0x30,0x41,0x31,0x21,0x11]
+
+v_madak_f32 v5, 0, v2, 0xa1b1c1d1
+// CHECK: [0x80,0x04,0x0a,0x30,0xd1,0xc1,0xb1,0xa1]
+
+v_add_f16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x3e]
+
+v_add_f16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x3f]
+
+v_add_f16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x3e]
+
+v_add_f16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x3e]
+
+v_add_f16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x3e]
+
+v_add_f16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x3e]
+
+v_add_f16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x3e]
+
+v_add_f16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x3e]
+
+v_add_f16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x3e]
+
+v_add_f16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x3e]
+
+v_add_f16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x3e]
+
+v_add_f16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x3e]
+
+v_add_f16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x3e]
+
+v_add_f16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x3e]
+
+v_add_f16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x3e,0x0b,0xfe,0x00,0x00]
+
+v_add_f16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x3e,0x56,0x34,0x00,0x00]
+
+v_add_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x3e]
+
+v_add_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x3e]
+
+v_add_f16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x3e]
+
+v_add_f16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x1f,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xc1,0x04,0x00,0x00]
+
+v_add_f16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xf0,0x04,0x00,0x00]
+
+v_add_f16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xf7,0x04,0x00,0x00]
+
+v_add_f16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x00,0x00]
+
+v_add_f16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x1f,0xd1,0xff,0x05,0x00,0x00]
+
+v_add_f16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xca,0x00,0x00]
+
+v_add_f16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xcc,0x00,0x00]
+
+v_add_f16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xce,0x00,0x00]
+
+v_add_f16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xd4,0x00,0x00]
+
+v_add_f16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xd6,0x00,0x00]
+
+v_add_f16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xf8,0x00,0x00]
+
+v_add_f16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xfc,0x00,0x00]
+
+v_add_f16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xfe,0x00,0x00]
+
+v_add_f16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x00,0x01,0x00]
+
+v_add_f16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x82,0x01,0x00]
+
+v_add_f16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xe0,0x01,0x00]
+
+v_add_f16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xee,0x01,0x00]
+
+v_add_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x02,0x00]
+
+v_add_f16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0xfe,0x03,0x00]
+
+v_add_f16_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x20]
+
+v_add_f16_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x40]
+
+v_add_f16_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x60]
+
+v_add_f16_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x1f,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f16_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x1f,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f16_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x1f,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_f16_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x1f,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x40]
+
+v_sub_f16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x41]
+
+v_sub_f16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x40]
+
+v_sub_f16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x40]
+
+v_sub_f16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x40]
+
+v_sub_f16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x40]
+
+v_sub_f16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x40]
+
+v_sub_f16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x40]
+
+v_sub_f16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x40]
+
+v_sub_f16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x40]
+
+v_sub_f16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x40]
+
+v_sub_f16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x40]
+
+v_sub_f16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x40]
+
+v_sub_f16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x40]
+
+v_sub_f16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x40,0x0b,0xfe,0x00,0x00]
+
+v_sub_f16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x40,0x56,0x34,0x00,0x00]
+
+v_sub_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x40]
+
+v_sub_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x40]
+
+v_sub_f16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x40]
+
+v_sub_f16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x20,0xd1,0xc1,0x04,0x00,0x00]
+
+v_sub_f16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x20,0xd1,0xf0,0x04,0x00,0x00]
+
+v_sub_f16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x20,0xd1,0xf7,0x04,0x00,0x00]
+
+v_sub_f16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x20,0xd1,0x01,0x05,0x00,0x00]
+
+v_sub_f16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x20,0xd1,0xff,0x05,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xca,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xcc,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xce,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xd4,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xd6,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xf8,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xfc,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xfe,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x00,0x01,0x00]
+
+v_sub_f16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x82,0x01,0x00]
+
+v_sub_f16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xe0,0x01,0x00]
+
+v_sub_f16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xee,0x01,0x00]
+
+v_sub_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x02,0x00]
+
+v_sub_f16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0xfe,0x03,0x00]
+
+v_sub_f16_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x20]
+
+v_sub_f16_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x40]
+
+v_sub_f16_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x60]
+
+v_sub_f16_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x20,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x20,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f16_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x20,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_f16_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x20,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x42]
+
+v_subrev_f16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x43]
+
+v_subrev_f16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x42]
+
+v_subrev_f16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x42,0x0b,0xfe,0x00,0x00]
+
+v_subrev_f16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x42,0x56,0x34,0x00,0x00]
+
+v_subrev_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x42]
+
+v_subrev_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x42]
+
+v_subrev_f16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x42]
+
+v_subrev_f16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x21,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x21,0xd1,0xc1,0x04,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x21,0xd1,0xf0,0x04,0x00,0x00]
+
+v_subrev_f16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x21,0xd1,0xf7,0x04,0x00,0x00]
+
+v_subrev_f16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x21,0xd1,0x01,0x05,0x00,0x00]
+
+v_subrev_f16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x21,0xd1,0xff,0x05,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xca,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xcc,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xce,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xd4,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xd6,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xf8,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xfc,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xfe,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x00,0x01,0x00]
+
+v_subrev_f16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x82,0x01,0x00]
+
+v_subrev_f16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xe0,0x01,0x00]
+
+v_subrev_f16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xee,0x01,0x00]
+
+v_subrev_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x02,0x00]
+
+v_subrev_f16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0xfe,0x03,0x00]
+
+v_subrev_f16_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x20]
+
+v_subrev_f16_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x40]
+
+v_subrev_f16_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x60]
+
+v_subrev_f16_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x21,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x21,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f16_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x21,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_f16_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x21,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x44]
+
+v_mul_f16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x45]
+
+v_mul_f16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x44]
+
+v_mul_f16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x44]
+
+v_mul_f16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x44]
+
+v_mul_f16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x44]
+
+v_mul_f16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x44]
+
+v_mul_f16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x44]
+
+v_mul_f16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x44]
+
+v_mul_f16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x44]
+
+v_mul_f16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x44]
+
+v_mul_f16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x44]
+
+v_mul_f16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x44]
+
+v_mul_f16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x44]
+
+v_mul_f16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x44,0x0b,0xfe,0x00,0x00]
+
+v_mul_f16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x44,0x56,0x34,0x00,0x00]
+
+v_mul_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x44]
+
+v_mul_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x44]
+
+v_mul_f16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x44]
+
+v_mul_f16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x22,0xd1,0xc1,0x04,0x00,0x00]
+
+v_mul_f16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x22,0xd1,0xf0,0x04,0x00,0x00]
+
+v_mul_f16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x22,0xd1,0xf7,0x04,0x00,0x00]
+
+v_mul_f16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x22,0xd1,0x01,0x05,0x00,0x00]
+
+v_mul_f16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x22,0xd1,0xff,0x05,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xca,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xcc,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xce,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xd4,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xd6,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xf8,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xfc,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xfe,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x00,0x01,0x00]
+
+v_mul_f16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x82,0x01,0x00]
+
+v_mul_f16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xe0,0x01,0x00]
+
+v_mul_f16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xee,0x01,0x00]
+
+v_mul_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_f16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0xfe,0x03,0x00]
+
+v_mul_f16_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x20]
+
+v_mul_f16_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x40]
+
+v_mul_f16_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x60]
+
+v_mul_f16_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x22,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x22,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f16_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x22,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_f16_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x22,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x46]
+
+v_mac_f16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x47]
+
+v_mac_f16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x46]
+
+v_mac_f16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x46]
+
+v_mac_f16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x46]
+
+v_mac_f16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x46]
+
+v_mac_f16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x46]
+
+v_mac_f16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x46]
+
+v_mac_f16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x46]
+
+v_mac_f16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x46]
+
+v_mac_f16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x46]
+
+v_mac_f16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x46]
+
+v_mac_f16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x46]
+
+v_mac_f16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x46]
+
+v_mac_f16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x46,0x0b,0xfe,0x00,0x00]
+
+v_mac_f16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x46,0x56,0x34,0x00,0x00]
+
+v_mac_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x46]
+
+v_mac_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x46]
+
+v_mac_f16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x46]
+
+v_mac_f16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x23,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x23,0xd1,0xc1,0x04,0x00,0x00]
+
+v_mac_f16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x23,0xd1,0xf0,0x04,0x00,0x00]
+
+v_mac_f16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x23,0xd1,0xf7,0x04,0x00,0x00]
+
+v_mac_f16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x23,0xd1,0x01,0x05,0x00,0x00]
+
+v_mac_f16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x23,0xd1,0xff,0x05,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xca,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xcc,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xce,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xd4,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xd6,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xf8,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xfc,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xfe,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x00,0x01,0x00]
+
+v_mac_f16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x82,0x01,0x00]
+
+v_mac_f16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xe0,0x01,0x00]
+
+v_mac_f16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xee,0x01,0x00]
+
+v_mac_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x02,0x00]
+
+v_mac_f16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0xfe,0x03,0x00]
+
+v_mac_f16_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x20]
+
+v_mac_f16_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x40]
+
+v_mac_f16_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x60]
+
+v_mac_f16_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x23,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x23,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f16_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x23,0xd1,0x80,0x04,0x00,0x00]
+
+v_mac_f16_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x23,0xd1,0x80,0x04,0x00,0x00]
+
+v_madmk_f16 v5, 0, 0x1121, v3
+// CHECK: [0x80,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+
+v_madmk_f16 v255, 0, 0x1121, v3
+// CHECK: [0x80,0x06,0xfe,0x49,0x21,0x11,0x00,0x00]
+
+v_madmk_f16 v5, -1, 0x1121, v3
+// CHECK: [0xc1,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+
+v_madmk_f16 v5, 0.5, 0x1121, v3
+// CHECK: [0xf0,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+
+v_madmk_f16 v5, -4.0, 0x1121, v3
+// CHECK: [0xf7,0x06,0x0a,0x48,0x21,0x11,0x00,0x00]
+
+v_madmk_f16 v5, v1, 0x1121, v3
+// CHECK: [0x01,0x07,0x0a,0x48,0x21,0x11,0x00,0x00]
+
+v_madmk_f16 v5, v255, 0x1121, v3
+// CHECK: [0xff,0x07,0x0a,0x48,0x21,0x11,0x00,0x00]
+
+v_madmk_f16 v5, 0, 0xa1b1, v3
+// CHECK: [0x80,0x06,0x0a,0x48,0xb1,0xa1,0x00,0x00]
+
+v_madmk_f16 v5, 0, 0x1121, v255
+// CHECK: [0x80,0xfe,0x0b,0x48,0x21,0x11,0x00,0x00]
+
+v_madak_f16 v5, 0, v2, 0x1121
+// CHECK: [0x80,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+
+v_madak_f16 v255, 0, v2, 0x1121
+// CHECK: [0x80,0x04,0xfe,0x4b,0x21,0x11,0x00,0x00]
+
+v_madak_f16 v5, -1, v2, 0x1121
+// CHECK: [0xc1,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+
+v_madak_f16 v5, 0.5, v2, 0x1121
+// CHECK: [0xf0,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+
+v_madak_f16 v5, -4.0, v2, 0x1121
+// CHECK: [0xf7,0x04,0x0a,0x4a,0x21,0x11,0x00,0x00]
+
+v_madak_f16 v5, v1, v2, 0x1121
+// CHECK: [0x01,0x05,0x0a,0x4a,0x21,0x11,0x00,0x00]
+
+v_madak_f16 v5, v255, v2, 0x1121
+// CHECK: [0xff,0x05,0x0a,0x4a,0x21,0x11,0x00,0x00]
+
+v_madak_f16 v5, 0, v255, 0x1121
+// CHECK: [0x80,0xfe,0x0b,0x4a,0x21,0x11,0x00,0x00]
+
+v_madak_f16 v5, 0, v2, 0xa1b1
+// CHECK: [0x80,0x04,0x0a,0x4a,0xb1,0xa1,0x00,0x00]
+
+v_add_u16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x4c]
+
+v_add_u16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x4d]
+
+v_add_u16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x4c]
+
+v_add_u16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x4c]
+
+v_add_u16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x4c]
+
+v_add_u16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x4c]
+
+v_add_u16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x4c]
+
+v_add_u16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x4c]
+
+v_add_u16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x4c]
+
+v_add_u16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x4c]
+
+v_add_u16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x4c]
+
+v_add_u16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x4c]
+
+v_add_u16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x4c]
+
+v_add_u16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x4c]
+
+v_add_u16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x4c,0x0b,0xfe,0x00,0x00]
+
+v_add_u16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x4c,0x56,0x34,0x00,0x00]
+
+v_add_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x4c]
+
+v_add_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x4c]
+
+v_add_u16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x4c]
+
+v_add_u16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_u16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+
+v_add_u16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x26,0xd1,0xc1,0x04,0x00,0x00]
+
+v_add_u16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x26,0xd1,0xf0,0x04,0x00,0x00]
+
+v_add_u16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x26,0xd1,0xf7,0x04,0x00,0x00]
+
+v_add_u16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x26,0xd1,0x01,0x05,0x00,0x00]
+
+v_add_u16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x26,0xd1,0xff,0x05,0x00,0x00]
+
+v_add_u16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xca,0x00,0x00]
+
+v_add_u16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xcc,0x00,0x00]
+
+v_add_u16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xce,0x00,0x00]
+
+v_add_u16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xd4,0x00,0x00]
+
+v_add_u16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xd6,0x00,0x00]
+
+v_add_u16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xf8,0x00,0x00]
+
+v_add_u16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xfc,0x00,0x00]
+
+v_add_u16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xfe,0x00,0x00]
+
+v_add_u16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x00,0x01,0x00]
+
+v_add_u16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x82,0x01,0x00]
+
+v_add_u16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xe0,0x01,0x00]
+
+v_add_u16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xee,0x01,0x00]
+
+v_add_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0x04,0x02,0x00]
+
+v_add_u16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x26,0xd1,0x80,0xfe,0x03,0x00]
+
+v_sub_u16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x4e]
+
+v_sub_u16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x4f]
+
+v_sub_u16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x4e]
+
+v_sub_u16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x4e,0x0b,0xfe,0x00,0x00]
+
+v_sub_u16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x4e,0x56,0x34,0x00,0x00]
+
+v_sub_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x4e]
+
+v_sub_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x4e]
+
+v_sub_u16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x4e]
+
+v_sub_u16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_u16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x27,0xd1,0x80,0x04,0x00,0x00]
+
+v_sub_u16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x27,0xd1,0xc1,0x04,0x00,0x00]
+
+v_sub_u16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x27,0xd1,0xf0,0x04,0x00,0x00]
+
+v_sub_u16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x27,0xd1,0xf7,0x04,0x00,0x00]
+
+v_sub_u16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x27,0xd1,0x01,0x05,0x00,0x00]
+
+v_sub_u16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x27,0xd1,0xff,0x05,0x00,0x00]
+
+v_sub_u16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xca,0x00,0x00]
+
+v_sub_u16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xcc,0x00,0x00]
+
+v_sub_u16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xce,0x00,0x00]
+
+v_sub_u16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xd4,0x00,0x00]
+
+v_sub_u16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xd6,0x00,0x00]
+
+v_sub_u16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xf8,0x00,0x00]
+
+v_sub_u16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xfc,0x00,0x00]
+
+v_sub_u16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xfe,0x00,0x00]
+
+v_sub_u16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x00,0x01,0x00]
+
+v_sub_u16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x82,0x01,0x00]
+
+v_sub_u16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xe0,0x01,0x00]
+
+v_sub_u16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xee,0x01,0x00]
+
+v_sub_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0x04,0x02,0x00]
+
+v_sub_u16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x27,0xd1,0x80,0xfe,0x03,0x00]
+
+v_subrev_u16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x50]
+
+v_subrev_u16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x51]
+
+v_subrev_u16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x50]
+
+v_subrev_u16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x50,0x0b,0xfe,0x00,0x00]
+
+v_subrev_u16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x50,0x56,0x34,0x00,0x00]
+
+v_subrev_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x50]
+
+v_subrev_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x50]
+
+v_subrev_u16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x50]
+
+v_subrev_u16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_u16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+
+v_subrev_u16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x28,0xd1,0xc1,0x04,0x00,0x00]
+
+v_subrev_u16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x28,0xd1,0xf0,0x04,0x00,0x00]
+
+v_subrev_u16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x28,0xd1,0xf7,0x04,0x00,0x00]
+
+v_subrev_u16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x28,0xd1,0x01,0x05,0x00,0x00]
+
+v_subrev_u16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x28,0xd1,0xff,0x05,0x00,0x00]
+
+v_subrev_u16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xca,0x00,0x00]
+
+v_subrev_u16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xcc,0x00,0x00]
+
+v_subrev_u16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xce,0x00,0x00]
+
+v_subrev_u16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xd4,0x00,0x00]
+
+v_subrev_u16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xd6,0x00,0x00]
+
+v_subrev_u16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xf8,0x00,0x00]
+
+v_subrev_u16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xfc,0x00,0x00]
+
+v_subrev_u16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xfe,0x00,0x00]
+
+v_subrev_u16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x00,0x01,0x00]
+
+v_subrev_u16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x82,0x01,0x00]
+
+v_subrev_u16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xe0,0x01,0x00]
+
+v_subrev_u16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xee,0x01,0x00]
+
+v_subrev_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0x04,0x02,0x00]
+
+v_subrev_u16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x28,0xd1,0x80,0xfe,0x03,0x00]
+
+v_mul_lo_u16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x53]
+
+v_mul_lo_u16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x52]
+
+v_mul_lo_u16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x52,0x0b,0xfe,0x00,0x00]
+
+v_mul_lo_u16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x52,0x56,0x34,0x00,0x00]
+
+v_mul_lo_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x52]
+
+v_mul_lo_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x52]
+
+v_mul_lo_u16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x52]
+
+v_mul_lo_u16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_lo_u16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x29,0xd1,0x80,0x04,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x29,0xd1,0xc1,0x04,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x29,0xd1,0xf0,0x04,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x29,0xd1,0xf7,0x04,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x29,0xd1,0x01,0x05,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x29,0xd1,0xff,0x05,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xca,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xcc,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xce,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xd4,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xd6,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xf8,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xfc,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xfe,0x00,0x00]
+
+v_mul_lo_u16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x00,0x01,0x00]
+
+v_mul_lo_u16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x82,0x01,0x00]
+
+v_mul_lo_u16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xe0,0x01,0x00]
+
+v_mul_lo_u16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xee,0x01,0x00]
+
+v_mul_lo_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0x04,0x02,0x00]
+
+v_mul_lo_u16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x29,0xd1,0x80,0xfe,0x03,0x00]
+
+v_lshlrev_b16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x55]
+
+v_lshlrev_b16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x54]
+
+v_lshlrev_b16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x54,0x0b,0xfe,0x00,0x00]
+
+v_lshlrev_b16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x54,0x56,0x34,0x00,0x00]
+
+v_lshlrev_b16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x54]
+
+v_lshlrev_b16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x54]
+
+v_lshlrev_b16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x54]
+
+v_lshlrev_b16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+
+v_lshlrev_b16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xc1,0x04,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xf0,0x04,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xf7,0x04,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x01,0x05,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x2a,0xd1,0xff,0x05,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xca,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xcc,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xce,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xd4,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xd6,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xf8,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xfc,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xfe,0x00,0x00]
+
+v_lshlrev_b16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x00,0x01,0x00]
+
+v_lshlrev_b16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x82,0x01,0x00]
+
+v_lshlrev_b16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xe0,0x01,0x00]
+
+v_lshlrev_b16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xee,0x01,0x00]
+
+v_lshlrev_b16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0x04,0x02,0x00]
+
+v_lshlrev_b16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x2a,0xd1,0x80,0xfe,0x03,0x00]
+
+v_lshrrev_b16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x57]
+
+v_lshrrev_b16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x56]
+
+v_lshrrev_b16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x56,0x0b,0xfe,0x00,0x00]
+
+v_lshrrev_b16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x56,0x56,0x34,0x00,0x00]
+
+v_lshrrev_b16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x56]
+
+v_lshrrev_b16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x56]
+
+v_lshrrev_b16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x56]
+
+v_lshrrev_b16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x04,0x00,0x00]
+
+v_lshrrev_b16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x2b,0xd1,0x80,0x04,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xc1,0x04,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xf0,0x04,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xf7,0x04,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x01,0x05,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x2b,0xd1,0xff,0x05,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xca,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xcc,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xce,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xd4,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xd6,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xf8,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xfc,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xfe,0x00,0x00]
+
+v_lshrrev_b16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x00,0x01,0x00]
+
+v_lshrrev_b16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x82,0x01,0x00]
+
+v_lshrrev_b16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xe0,0x01,0x00]
+
+v_lshrrev_b16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xee,0x01,0x00]
+
+v_lshrrev_b16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0x04,0x02,0x00]
+
+v_lshrrev_b16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x2b,0xd1,0x80,0xfe,0x03,0x00]
+
+v_ashrrev_i16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x59]
+
+v_ashrrev_i16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x58]
+
+v_ashrrev_i16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x58,0x0b,0xfe,0x00,0x00]
+
+v_ashrrev_i16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x58,0x56,0x34,0x00,0x00]
+
+v_ashrrev_i16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x58]
+
+v_ashrrev_i16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x58]
+
+v_ashrrev_i16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x58]
+
+v_ashrrev_i16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+
+v_ashrrev_i16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xc1,0x04,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xf0,0x04,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xf7,0x04,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x01,0x05,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x2c,0xd1,0xff,0x05,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xca,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xcc,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xce,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xd4,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xd6,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xf8,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xfc,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xfe,0x00,0x00]
+
+v_ashrrev_i16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x00,0x01,0x00]
+
+v_ashrrev_i16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x82,0x01,0x00]
+
+v_ashrrev_i16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xe0,0x01,0x00]
+
+v_ashrrev_i16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xee,0x01,0x00]
+
+v_ashrrev_i16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0x04,0x02,0x00]
+
+v_ashrrev_i16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x2c,0xd1,0x80,0xfe,0x03,0x00]
+
+v_max_f16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x5a]
+
+v_max_f16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x5b]
+
+v_max_f16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x5a]
+
+v_max_f16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x5a]
+
+v_max_f16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x5a]
+
+v_max_f16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x5a]
+
+v_max_f16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x5a]
+
+v_max_f16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x5a]
+
+v_max_f16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x5a]
+
+v_max_f16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x5a]
+
+v_max_f16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x5a]
+
+v_max_f16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x5a]
+
+v_max_f16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x5a]
+
+v_max_f16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x5a]
+
+v_max_f16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x5a,0x0b,0xfe,0x00,0x00]
+
+v_max_f16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x5a,0x56,0x34,0x00,0x00]
+
+v_max_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5a]
+
+v_max_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5a]
+
+v_max_f16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x5a]
+
+v_max_f16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x2d,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xc1,0x04,0x00,0x00]
+
+v_max_f16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xf0,0x04,0x00,0x00]
+
+v_max_f16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xf7,0x04,0x00,0x00]
+
+v_max_f16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x00,0x00]
+
+v_max_f16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x2d,0xd1,0xff,0x05,0x00,0x00]
+
+v_max_f16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xca,0x00,0x00]
+
+v_max_f16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xcc,0x00,0x00]
+
+v_max_f16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xce,0x00,0x00]
+
+v_max_f16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xd4,0x00,0x00]
+
+v_max_f16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xd6,0x00,0x00]
+
+v_max_f16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xf8,0x00,0x00]
+
+v_max_f16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xfc,0x00,0x00]
+
+v_max_f16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xfe,0x00,0x00]
+
+v_max_f16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x00,0x01,0x00]
+
+v_max_f16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x82,0x01,0x00]
+
+v_max_f16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xe0,0x01,0x00]
+
+v_max_f16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xee,0x01,0x00]
+
+v_max_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_f16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0xfe,0x03,0x00]
+
+v_max_f16_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x20]
+
+v_max_f16_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x40]
+
+v_max_f16_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x60]
+
+v_max_f16_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x2d,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f16_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x2d,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f16_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x2d,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_f16_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x2d,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x5c]
+
+v_min_f16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x5d]
+
+v_min_f16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x5c]
+
+v_min_f16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x5c]
+
+v_min_f16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x5c]
+
+v_min_f16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x5c]
+
+v_min_f16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x5c]
+
+v_min_f16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x5c]
+
+v_min_f16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x5c]
+
+v_min_f16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x5c]
+
+v_min_f16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x5c]
+
+v_min_f16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x5c]
+
+v_min_f16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x5c]
+
+v_min_f16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x5c]
+
+v_min_f16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x5c,0x0b,0xfe,0x00,0x00]
+
+v_min_f16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x5c,0x56,0x34,0x00,0x00]
+
+v_min_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5c]
+
+v_min_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5c]
+
+v_min_f16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x5c]
+
+v_min_f16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xc1,0x04,0x00,0x00]
+
+v_min_f16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xf0,0x04,0x00,0x00]
+
+v_min_f16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xf7,0x04,0x00,0x00]
+
+v_min_f16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x00,0x00]
+
+v_min_f16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x2e,0xd1,0xff,0x05,0x00,0x00]
+
+v_min_f16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xca,0x00,0x00]
+
+v_min_f16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xcc,0x00,0x00]
+
+v_min_f16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xce,0x00,0x00]
+
+v_min_f16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xd4,0x00,0x00]
+
+v_min_f16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xd6,0x00,0x00]
+
+v_min_f16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xf8,0x00,0x00]
+
+v_min_f16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xfc,0x00,0x00]
+
+v_min_f16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xfe,0x00,0x00]
+
+v_min_f16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x00,0x01,0x00]
+
+v_min_f16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x82,0x01,0x00]
+
+v_min_f16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xe0,0x01,0x00]
+
+v_min_f16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xee,0x01,0x00]
+
+v_min_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_f16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0xfe,0x03,0x00]
+
+v_min_f16_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x20]
+
+v_min_f16_e64 v5, 0, -s2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x40]
+
+v_min_f16_e64 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x60]
+
+v_min_f16_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x2e,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f16_e64 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x2e,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f16_e64 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x2e,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_f16_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x2e,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_u16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x5e]
+
+v_max_u16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x5f]
+
+v_max_u16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x5e]
+
+v_max_u16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x5e]
+
+v_max_u16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x5e]
+
+v_max_u16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x5e]
+
+v_max_u16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x5e]
+
+v_max_u16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x5e]
+
+v_max_u16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x5e]
+
+v_max_u16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x5e]
+
+v_max_u16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x5e]
+
+v_max_u16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x5e]
+
+v_max_u16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x5e]
+
+v_max_u16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x5e]
+
+v_max_u16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x5e,0x0b,0xfe,0x00,0x00]
+
+v_max_u16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x5e,0x56,0x34,0x00,0x00]
+
+v_max_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x5e]
+
+v_max_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x5e]
+
+v_max_u16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x5e]
+
+v_max_u16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_u16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x2f,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_u16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xc1,0x04,0x00,0x00]
+
+v_max_u16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xf0,0x04,0x00,0x00]
+
+v_max_u16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xf7,0x04,0x00,0x00]
+
+v_max_u16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x01,0x05,0x00,0x00]
+
+v_max_u16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x2f,0xd1,0xff,0x05,0x00,0x00]
+
+v_max_u16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xca,0x00,0x00]
+
+v_max_u16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xcc,0x00,0x00]
+
+v_max_u16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xce,0x00,0x00]
+
+v_max_u16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xd4,0x00,0x00]
+
+v_max_u16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xd6,0x00,0x00]
+
+v_max_u16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xf8,0x00,0x00]
+
+v_max_u16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xfc,0x00,0x00]
+
+v_max_u16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xfe,0x00,0x00]
+
+v_max_u16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x00,0x01,0x00]
+
+v_max_u16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x82,0x01,0x00]
+
+v_max_u16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xe0,0x01,0x00]
+
+v_max_u16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xee,0x01,0x00]
+
+v_max_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_u16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x2f,0xd1,0x80,0xfe,0x03,0x00]
+
+v_max_i16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x60]
+
+v_max_i16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x61]
+
+v_max_i16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x60]
+
+v_max_i16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x60]
+
+v_max_i16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x60]
+
+v_max_i16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x60]
+
+v_max_i16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x60]
+
+v_max_i16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x60]
+
+v_max_i16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x60]
+
+v_max_i16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x60]
+
+v_max_i16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x60]
+
+v_max_i16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x60]
+
+v_max_i16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x60]
+
+v_max_i16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x60]
+
+v_max_i16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x60,0x0b,0xfe,0x00,0x00]
+
+v_max_i16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x60,0x56,0x34,0x00,0x00]
+
+v_max_i16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x60]
+
+v_max_i16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x60]
+
+v_max_i16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x60]
+
+v_max_i16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_i16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x30,0xd1,0x80,0x04,0x00,0x00]
+
+v_max_i16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x30,0xd1,0xc1,0x04,0x00,0x00]
+
+v_max_i16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x30,0xd1,0xf0,0x04,0x00,0x00]
+
+v_max_i16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x30,0xd1,0xf7,0x04,0x00,0x00]
+
+v_max_i16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x30,0xd1,0x01,0x05,0x00,0x00]
+
+v_max_i16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x30,0xd1,0xff,0x05,0x00,0x00]
+
+v_max_i16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xca,0x00,0x00]
+
+v_max_i16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xcc,0x00,0x00]
+
+v_max_i16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xce,0x00,0x00]
+
+v_max_i16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xd4,0x00,0x00]
+
+v_max_i16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xd6,0x00,0x00]
+
+v_max_i16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xf8,0x00,0x00]
+
+v_max_i16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xfc,0x00,0x00]
+
+v_max_i16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xfe,0x00,0x00]
+
+v_max_i16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x00,0x01,0x00]
+
+v_max_i16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x82,0x01,0x00]
+
+v_max_i16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xe0,0x01,0x00]
+
+v_max_i16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xee,0x01,0x00]
+
+v_max_i16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0x04,0x02,0x00]
+
+v_max_i16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x30,0xd1,0x80,0xfe,0x03,0x00]
+
+v_min_u16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x62]
+
+v_min_u16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x63]
+
+v_min_u16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x62]
+
+v_min_u16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x62]
+
+v_min_u16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x62]
+
+v_min_u16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x62]
+
+v_min_u16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x62]
+
+v_min_u16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x62]
+
+v_min_u16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x62]
+
+v_min_u16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x62]
+
+v_min_u16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x62]
+
+v_min_u16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x62]
+
+v_min_u16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x62]
+
+v_min_u16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x62]
+
+v_min_u16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x62,0x0b,0xfe,0x00,0x00]
+
+v_min_u16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x62,0x56,0x34,0x00,0x00]
+
+v_min_u16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x62]
+
+v_min_u16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x62]
+
+v_min_u16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x62]
+
+v_min_u16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_u16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x31,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_u16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x31,0xd1,0xc1,0x04,0x00,0x00]
+
+v_min_u16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x31,0xd1,0xf0,0x04,0x00,0x00]
+
+v_min_u16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x31,0xd1,0xf7,0x04,0x00,0x00]
+
+v_min_u16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x31,0xd1,0x01,0x05,0x00,0x00]
+
+v_min_u16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x31,0xd1,0xff,0x05,0x00,0x00]
+
+v_min_u16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xca,0x00,0x00]
+
+v_min_u16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xcc,0x00,0x00]
+
+v_min_u16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xce,0x00,0x00]
+
+v_min_u16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xd4,0x00,0x00]
+
+v_min_u16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xd6,0x00,0x00]
+
+v_min_u16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xf8,0x00,0x00]
+
+v_min_u16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xfc,0x00,0x00]
+
+v_min_u16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xfe,0x00,0x00]
+
+v_min_u16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x00,0x01,0x00]
+
+v_min_u16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x82,0x01,0x00]
+
+v_min_u16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xe0,0x01,0x00]
+
+v_min_u16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xee,0x01,0x00]
+
+v_min_u16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_u16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x31,0xd1,0x80,0xfe,0x03,0x00]
+
+v_min_i16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x64]
+
+v_min_i16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x65]
+
+v_min_i16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x64]
+
+v_min_i16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x64]
+
+v_min_i16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x64]
+
+v_min_i16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x64]
+
+v_min_i16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x64]
+
+v_min_i16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x64]
+
+v_min_i16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x64]
+
+v_min_i16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x64]
+
+v_min_i16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x64]
+
+v_min_i16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x64]
+
+v_min_i16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x64]
+
+v_min_i16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x64]
+
+v_min_i16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x64,0x0b,0xfe,0x00,0x00]
+
+v_min_i16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x64,0x56,0x34,0x00,0x00]
+
+v_min_i16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x64]
+
+v_min_i16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x64]
+
+v_min_i16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x64]
+
+v_min_i16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_i16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x32,0xd1,0x80,0x04,0x00,0x00]
+
+v_min_i16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x32,0xd1,0xc1,0x04,0x00,0x00]
+
+v_min_i16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x32,0xd1,0xf0,0x04,0x00,0x00]
+
+v_min_i16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x32,0xd1,0xf7,0x04,0x00,0x00]
+
+v_min_i16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x32,0xd1,0x01,0x05,0x00,0x00]
+
+v_min_i16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x32,0xd1,0xff,0x05,0x00,0x00]
+
+v_min_i16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xca,0x00,0x00]
+
+v_min_i16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xcc,0x00,0x00]
+
+v_min_i16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xce,0x00,0x00]
+
+v_min_i16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xd4,0x00,0x00]
+
+v_min_i16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xd6,0x00,0x00]
+
+v_min_i16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xf8,0x00,0x00]
+
+v_min_i16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xfc,0x00,0x00]
+
+v_min_i16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xfe,0x00,0x00]
+
+v_min_i16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x00,0x01,0x00]
+
+v_min_i16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x82,0x01,0x00]
+
+v_min_i16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xe0,0x01,0x00]
+
+v_min_i16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xee,0x01,0x00]
+
+v_min_i16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0x04,0x02,0x00]
+
+v_min_i16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x32,0xd1,0x80,0xfe,0x03,0x00]
+
+v_ldexp_f16 v5, s1, v2
+// CHECK: [0x01,0x04,0x0a,0x66]
+
+v_ldexp_f16 v255, s1, v2
+// CHECK: [0x01,0x04,0xfe,0x67]
+
+v_ldexp_f16 v5, s101, v2
+// CHECK: [0x65,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, m0, v2
+// CHECK: [0x7c,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, exec_lo, v2
+// CHECK: [0x7e,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, exec_hi, v2
+// CHECK: [0x7f,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, 0, v2
+// CHECK: [0x80,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, -1, v2
+// CHECK: [0xc1,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, 0.5, v2
+// CHECK: [0xf0,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, -4.0, v2
+// CHECK: [0xf7,0x04,0x0a,0x66]
+
+v_ldexp_f16 v5, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x0a,0x66,0x0b,0xfe,0x00,0x00]
+
+v_ldexp_f16 v5, 0x3456, v2
+// CHECK: [0xff,0x04,0x0a,0x66,0x56,0x34,0x00,0x00]
+
+v_ldexp_f16 v5, v1, v2
+// CHECK: [0x01,0x05,0x0a,0x66]
+
+v_ldexp_f16 v5, v255, v2
+// CHECK: [0xff,0x05,0x0a,0x66]
+
+v_ldexp_f16 v5, s1, v255
+// CHECK: [0x01,0xfe,0x0b,0x66]
+
+v_ldexp_f16_e64 v5, 0, s2
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x00,0x00]
+
+v_ldexp_f16_e64 v255, 0, s2
+// CHECK: [0xff,0x00,0x33,0xd1,0x80,0x04,0x00,0x00]
+
+v_ldexp_f16_e64 v5, -1, s2
+// CHECK: [0x05,0x00,0x33,0xd1,0xc1,0x04,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x33,0xd1,0xf0,0x04,0x00,0x00]
+
+v_ldexp_f16_e64 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x33,0xd1,0xf7,0x04,0x00,0x00]
+
+v_ldexp_f16_e64 v5, v1, s2
+// CHECK: [0x05,0x00,0x33,0xd1,0x01,0x05,0x00,0x00]
+
+v_ldexp_f16_e64 v5, v255, s2
+// CHECK: [0x05,0x00,0x33,0xd1,0xff,0x05,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0, s101
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xca,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xcc,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xce,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xd4,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xd6,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0, m0
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xf8,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xfc,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xfe,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0, 0
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x00,0x01,0x00]
+
+v_ldexp_f16_e64 v5, 0, -1
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x82,0x01,0x00]
+
+v_ldexp_f16_e64 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xe0,0x01,0x00]
+
+v_ldexp_f16_e64 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xee,0x01,0x00]
+
+v_ldexp_f16_e64 v5, 0, v2
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x02,0x00]
+
+v_ldexp_f16_e64 v5, 0, v255
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0xfe,0x03,0x00]
+
+v_ldexp_f16_e64 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x33,0xd1,0x80,0x04,0x00,0x20]
+
+v_ldexp_f16_e64 v5, |0|, s2
+// CHECK: [0x05,0x01,0x33,0xd1,0x80,0x04,0x00,0x00]
+
+v_ldexp_f16_e64 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x33,0xd1,0x80,0x04,0x00,0x00]
+
+v_mad_legacy_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xc0,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x65,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x66,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x67,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x6a,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x6b,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x7c,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x7e,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x7f,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x80,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0xc1,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0xf0,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0xf7,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x01,0x01,0x02]
+
+v_mad_legacy_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0xff,0x01,0x01,0x02]
+
+v_mad_legacy_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x82,0x01,0x02]
+
+v_mad_legacy_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xe0,0x01,0x02]
+
+v_mad_legacy_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xee,0x01,0x02]
+
+v_mad_legacy_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x04,0x02,0x02]
+
+v_mad_legacy_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0xfe,0x03,0x02]
+
+v_mad_legacy_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x05,0x03]
+
+v_mad_legacy_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xc1,0x03]
+
+v_mad_legacy_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xdd,0x03]
+
+v_mad_legacy_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x0d,0x04]
+
+v_mad_legacy_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xfd,0x07]
+
+v_mad_legacy_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x22]
+
+v_mad_legacy_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x42]
+
+v_mad_legacy_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x82]
+
+v_mad_legacy_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0xe2]
+
+v_mad_legacy_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xc0,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xc0,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xc0,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xc0,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xc0,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_legacy_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x0a]
+
+v_mad_legacy_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x12]
+
+v_mad_legacy_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x1a]
+
+v_mad_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xc1,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x65,0x00,0x01,0x02]
+
+v_mad_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x66,0x00,0x01,0x02]
+
+v_mad_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x67,0x00,0x01,0x02]
+
+v_mad_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x6a,0x00,0x01,0x02]
+
+v_mad_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x6b,0x00,0x01,0x02]
+
+v_mad_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x7c,0x00,0x01,0x02]
+
+v_mad_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x7e,0x00,0x01,0x02]
+
+v_mad_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x7f,0x00,0x01,0x02]
+
+v_mad_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x80,0x00,0x01,0x02]
+
+v_mad_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0xc1,0x00,0x01,0x02]
+
+v_mad_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0xf0,0x00,0x01,0x02]
+
+v_mad_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0xf7,0x00,0x01,0x02]
+
+v_mad_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x01,0x01,0x02]
+
+v_mad_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0xff,0x01,0x01,0x02]
+
+v_mad_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x82,0x01,0x02]
+
+v_mad_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xe0,0x01,0x02]
+
+v_mad_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xee,0x01,0x02]
+
+v_mad_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x04,0x02,0x02]
+
+v_mad_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0xfe,0x03,0x02]
+
+v_mad_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x05,0x03]
+
+v_mad_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xc1,0x03]
+
+v_mad_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xdd,0x03]
+
+v_mad_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x0d,0x04]
+
+v_mad_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xfd,0x07]
+
+v_mad_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x22]
+
+v_mad_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x42]
+
+v_mad_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x82]
+
+v_mad_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0xe2]
+
+v_mad_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xc1,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xc1,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xc1,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xc1,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xc1,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x0a]
+
+v_mad_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x12]
+
+v_mad_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x1a]
+
+v_mad_i32_i24 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_i32_i24 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xc2,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x65,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x66,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x67,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x6a,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x6b,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x7c,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x7e,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x7f,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x80,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0xc1,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0xf0,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0xf7,0x00,0x01,0x02]
+
+v_mad_i32_i24 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x01,0x01,0x02]
+
+v_mad_i32_i24 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0xff,0x01,0x01,0x02]
+
+v_mad_i32_i24 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x82,0x01,0x02]
+
+v_mad_i32_i24 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xe0,0x01,0x02]
+
+v_mad_i32_i24 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xee,0x01,0x02]
+
+v_mad_i32_i24 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x04,0x02,0x02]
+
+v_mad_i32_i24 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0xfe,0x03,0x02]
+
+v_mad_i32_i24 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x05,0x03]
+
+v_mad_i32_i24 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xc1,0x03]
+
+v_mad_i32_i24 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xdd,0x03]
+
+v_mad_i32_i24 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x0d,0x04]
+
+v_mad_i32_i24 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xfd,0x07]
+
+v_mad_u32_u24 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_u32_u24 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xc3,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x65,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x66,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x67,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x6a,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x6b,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x7c,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x7e,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x7f,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x80,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0xc1,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0xf0,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0xf7,0x00,0x01,0x02]
+
+v_mad_u32_u24 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x01,0x01,0x02]
+
+v_mad_u32_u24 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0xff,0x01,0x01,0x02]
+
+v_mad_u32_u24 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x82,0x01,0x02]
+
+v_mad_u32_u24 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xe0,0x01,0x02]
+
+v_mad_u32_u24 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xee,0x01,0x02]
+
+v_mad_u32_u24 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x04,0x02,0x02]
+
+v_mad_u32_u24 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0xfe,0x03,0x02]
+
+v_mad_u32_u24 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x05,0x03]
+
+v_mad_u32_u24 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xc1,0x03]
+
+v_mad_u32_u24 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xdd,0x03]
+
+v_mad_u32_u24 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x0d,0x04]
+
+v_mad_u32_u24 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xfd,0x07]
+
+v_cubeid_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubeid_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xc4,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x65,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x66,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x67,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x6a,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x6b,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x7c,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x7e,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x7f,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x80,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0xc1,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0xf0,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0xf7,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x01,0x01,0x02]
+
+v_cubeid_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0xff,0x01,0x01,0x02]
+
+v_cubeid_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x82,0x01,0x02]
+
+v_cubeid_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xe0,0x01,0x02]
+
+v_cubeid_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xee,0x01,0x02]
+
+v_cubeid_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x04,0x02,0x02]
+
+v_cubeid_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0xfe,0x03,0x02]
+
+v_cubeid_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x05,0x03]
+
+v_cubeid_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xc1,0x03]
+
+v_cubeid_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xdd,0x03]
+
+v_cubeid_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x0d,0x04]
+
+v_cubeid_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xfd,0x07]
+
+v_cubeid_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x22]
+
+v_cubeid_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x42]
+
+v_cubeid_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x82]
+
+v_cubeid_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0xe2]
+
+v_cubeid_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xc4,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xc4,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xc4,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xc4,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xc4,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubeid_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x0a]
+
+v_cubeid_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x12]
+
+v_cubeid_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x1a]
+
+v_cubesc_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubesc_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xc5,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x65,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x66,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x67,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x6a,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x6b,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x7c,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x7e,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x7f,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x80,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0xc1,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0xf0,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0xf7,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x01,0x01,0x02]
+
+v_cubesc_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0xff,0x01,0x01,0x02]
+
+v_cubesc_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x82,0x01,0x02]
+
+v_cubesc_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xe0,0x01,0x02]
+
+v_cubesc_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xee,0x01,0x02]
+
+v_cubesc_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x04,0x02,0x02]
+
+v_cubesc_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0xfe,0x03,0x02]
+
+v_cubesc_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x05,0x03]
+
+v_cubesc_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xc1,0x03]
+
+v_cubesc_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xdd,0x03]
+
+v_cubesc_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x0d,0x04]
+
+v_cubesc_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xfd,0x07]
+
+v_cubesc_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x22]
+
+v_cubesc_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x42]
+
+v_cubesc_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x82]
+
+v_cubesc_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0xe2]
+
+v_cubesc_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xc5,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xc5,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xc5,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xc5,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xc5,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubesc_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x0a]
+
+v_cubesc_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x12]
+
+v_cubesc_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x1a]
+
+v_cubetc_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubetc_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xc6,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x65,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x66,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x67,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x6a,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x6b,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x7c,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x7e,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x7f,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x80,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0xc1,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0xf0,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0xf7,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x01,0x01,0x02]
+
+v_cubetc_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0xff,0x01,0x01,0x02]
+
+v_cubetc_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x82,0x01,0x02]
+
+v_cubetc_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xe0,0x01,0x02]
+
+v_cubetc_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xee,0x01,0x02]
+
+v_cubetc_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x04,0x02,0x02]
+
+v_cubetc_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0xfe,0x03,0x02]
+
+v_cubetc_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x05,0x03]
+
+v_cubetc_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xc1,0x03]
+
+v_cubetc_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xdd,0x03]
+
+v_cubetc_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x0d,0x04]
+
+v_cubetc_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xfd,0x07]
+
+v_cubetc_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x22]
+
+v_cubetc_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x42]
+
+v_cubetc_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x82]
+
+v_cubetc_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0xe2]
+
+v_cubetc_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xc6,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xc6,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xc6,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xc6,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xc6,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubetc_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x0a]
+
+v_cubetc_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x12]
+
+v_cubetc_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x1a]
+
+v_cubema_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubema_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xc7,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubema_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x65,0x00,0x01,0x02]
+
+v_cubema_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x66,0x00,0x01,0x02]
+
+v_cubema_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x67,0x00,0x01,0x02]
+
+v_cubema_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x6a,0x00,0x01,0x02]
+
+v_cubema_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x6b,0x00,0x01,0x02]
+
+v_cubema_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x7c,0x00,0x01,0x02]
+
+v_cubema_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x7e,0x00,0x01,0x02]
+
+v_cubema_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x7f,0x00,0x01,0x02]
+
+v_cubema_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x80,0x00,0x01,0x02]
+
+v_cubema_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0xc1,0x00,0x01,0x02]
+
+v_cubema_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0xf0,0x00,0x01,0x02]
+
+v_cubema_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0xf7,0x00,0x01,0x02]
+
+v_cubema_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x01,0x01,0x02]
+
+v_cubema_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0xff,0x01,0x01,0x02]
+
+v_cubema_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x82,0x01,0x02]
+
+v_cubema_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xe0,0x01,0x02]
+
+v_cubema_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xee,0x01,0x02]
+
+v_cubema_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x04,0x02,0x02]
+
+v_cubema_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0xfe,0x03,0x02]
+
+v_cubema_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x05,0x03]
+
+v_cubema_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xc1,0x03]
+
+v_cubema_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xdd,0x03]
+
+v_cubema_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x0d,0x04]
+
+v_cubema_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xfd,0x07]
+
+v_cubema_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x22]
+
+v_cubema_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x42]
+
+v_cubema_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x82]
+
+v_cubema_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0xe2]
+
+v_cubema_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xc7,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubema_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xc7,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubema_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xc7,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubema_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xc7,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubema_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xc7,0xd1,0x01,0x00,0x01,0x02]
+
+v_cubema_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x0a]
+
+v_cubema_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x12]
+
+v_cubema_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x1a]
+
+v_bfe_u32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x01,0x02]
+
+v_bfe_u32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xc8,0xd1,0x01,0x00,0x01,0x02]
+
+v_bfe_u32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x65,0x00,0x01,0x02]
+
+v_bfe_u32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x66,0x00,0x01,0x02]
+
+v_bfe_u32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x67,0x00,0x01,0x02]
+
+v_bfe_u32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x6a,0x00,0x01,0x02]
+
+v_bfe_u32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x6b,0x00,0x01,0x02]
+
+v_bfe_u32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x7c,0x00,0x01,0x02]
+
+v_bfe_u32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x7e,0x00,0x01,0x02]
+
+v_bfe_u32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x7f,0x00,0x01,0x02]
+
+v_bfe_u32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x80,0x00,0x01,0x02]
+
+v_bfe_u32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0xc1,0x00,0x01,0x02]
+
+v_bfe_u32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0xf0,0x00,0x01,0x02]
+
+v_bfe_u32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0xf7,0x00,0x01,0x02]
+
+v_bfe_u32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x01,0x01,0x02]
+
+v_bfe_u32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0xff,0x01,0x01,0x02]
+
+v_bfe_u32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x82,0x01,0x02]
+
+v_bfe_u32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xe0,0x01,0x02]
+
+v_bfe_u32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xee,0x01,0x02]
+
+v_bfe_u32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x04,0x02,0x02]
+
+v_bfe_u32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0xfe,0x03,0x02]
+
+v_bfe_u32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x05,0x03]
+
+v_bfe_u32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xc1,0x03]
+
+v_bfe_u32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xdd,0x03]
+
+v_bfe_u32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x0d,0x04]
+
+v_bfe_u32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xfd,0x07]
+
+v_bfe_i32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x01,0x02]
+
+v_bfe_i32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xc9,0xd1,0x01,0x00,0x01,0x02]
+
+v_bfe_i32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x65,0x00,0x01,0x02]
+
+v_bfe_i32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x66,0x00,0x01,0x02]
+
+v_bfe_i32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x67,0x00,0x01,0x02]
+
+v_bfe_i32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x6a,0x00,0x01,0x02]
+
+v_bfe_i32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x6b,0x00,0x01,0x02]
+
+v_bfe_i32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x7c,0x00,0x01,0x02]
+
+v_bfe_i32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x7e,0x00,0x01,0x02]
+
+v_bfe_i32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x7f,0x00,0x01,0x02]
+
+v_bfe_i32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x80,0x00,0x01,0x02]
+
+v_bfe_i32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0xc1,0x00,0x01,0x02]
+
+v_bfe_i32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0xf0,0x00,0x01,0x02]
+
+v_bfe_i32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0xf7,0x00,0x01,0x02]
+
+v_bfe_i32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x01,0x01,0x02]
+
+v_bfe_i32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0xff,0x01,0x01,0x02]
+
+v_bfe_i32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x82,0x01,0x02]
+
+v_bfe_i32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xe0,0x01,0x02]
+
+v_bfe_i32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xee,0x01,0x02]
+
+v_bfe_i32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x04,0x02,0x02]
+
+v_bfe_i32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0xfe,0x03,0x02]
+
+v_bfe_i32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x05,0x03]
+
+v_bfe_i32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xc1,0x03]
+
+v_bfe_i32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xdd,0x03]
+
+v_bfe_i32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x0d,0x04]
+
+v_bfe_i32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xfd,0x07]
+
+v_bfi_b32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0x01,0x02]
+
+v_bfi_b32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xca,0xd1,0x01,0x00,0x01,0x02]
+
+v_bfi_b32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x65,0x00,0x01,0x02]
+
+v_bfi_b32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x66,0x00,0x01,0x02]
+
+v_bfi_b32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x67,0x00,0x01,0x02]
+
+v_bfi_b32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x6a,0x00,0x01,0x02]
+
+v_bfi_b32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x6b,0x00,0x01,0x02]
+
+v_bfi_b32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x7c,0x00,0x01,0x02]
+
+v_bfi_b32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x7e,0x00,0x01,0x02]
+
+v_bfi_b32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x7f,0x00,0x01,0x02]
+
+v_bfi_b32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x80,0x00,0x01,0x02]
+
+v_bfi_b32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0xc1,0x00,0x01,0x02]
+
+v_bfi_b32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0xf0,0x00,0x01,0x02]
+
+v_bfi_b32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0xf7,0x00,0x01,0x02]
+
+v_bfi_b32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x01,0x01,0x02]
+
+v_bfi_b32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0xff,0x01,0x01,0x02]
+
+v_bfi_b32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x82,0x01,0x02]
+
+v_bfi_b32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xe0,0x01,0x02]
+
+v_bfi_b32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xee,0x01,0x02]
+
+v_bfi_b32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x04,0x02,0x02]
+
+v_bfi_b32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0xfe,0x03,0x02]
+
+v_bfi_b32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0x05,0x03]
+
+v_bfi_b32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0xc1,0x03]
+
+v_bfi_b32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0xdd,0x03]
+
+v_bfi_b32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0x0d,0x04]
+
+v_bfi_b32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xca,0xd1,0x01,0x00,0xfd,0x07]
+
+v_fma_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x02]
+
+v_fma_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xcb,0xd1,0x01,0x00,0x01,0x02]
+
+v_fma_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x65,0x00,0x01,0x02]
+
+v_fma_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x66,0x00,0x01,0x02]
+
+v_fma_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x67,0x00,0x01,0x02]
+
+v_fma_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x6a,0x00,0x01,0x02]
+
+v_fma_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x6b,0x00,0x01,0x02]
+
+v_fma_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x7c,0x00,0x01,0x02]
+
+v_fma_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x7e,0x00,0x01,0x02]
+
+v_fma_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x7f,0x00,0x01,0x02]
+
+v_fma_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x80,0x00,0x01,0x02]
+
+v_fma_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0xc1,0x00,0x01,0x02]
+
+v_fma_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0xf0,0x00,0x01,0x02]
+
+v_fma_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0xf7,0x00,0x01,0x02]
+
+v_fma_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x01,0x01,0x02]
+
+v_fma_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0xff,0x01,0x01,0x02]
+
+v_fma_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x82,0x01,0x02]
+
+v_fma_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xe0,0x01,0x02]
+
+v_fma_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xee,0x01,0x02]
+
+v_fma_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x04,0x02,0x02]
+
+v_fma_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0xfe,0x03,0x02]
+
+v_fma_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x05,0x03]
+
+v_fma_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xc1,0x03]
+
+v_fma_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xdd,0x03]
+
+v_fma_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x0d,0x04]
+
+v_fma_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xfd,0x07]
+
+v_fma_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x22]
+
+v_fma_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x42]
+
+v_fma_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x82]
+
+v_fma_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0xe2]
+
+v_fma_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xcb,0xd1,0x01,0x00,0x01,0x02]
+
+v_fma_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xcb,0xd1,0x01,0x00,0x01,0x02]
+
+v_fma_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xcb,0xd1,0x01,0x00,0x01,0x02]
+
+v_fma_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xcb,0xd1,0x01,0x00,0x01,0x02]
+
+v_fma_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xcb,0xd1,0x01,0x00,0x01,0x02]
+
+v_fma_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x0a]
+
+v_fma_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x12]
+
+v_fma_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x1a]
+
+v_fma_f64 v[5:6], s[2:3], 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x02]
+
+v_fma_f64 v[254:255], s[2:3], 0, 0
+// CHECK: [0xfe,0x00,0xcc,0xd1,0x02,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], s[4:5], 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x04,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], s[100:101], 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x64,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], flat_scratch, 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x66,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], vcc, 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x6a,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], exec, 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x7e,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], 0, 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x80,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], -1, 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0xc1,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], 0.5, 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0xf0,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], -4.0, 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0xf7,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], v[1:2], 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x01,0x01,0x01,0x02]
+
+v_fma_f64 v[5:6], v[254:255], 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0xfe,0x01,0x01,0x02]
+
+v_fma_f64 v[5:6], s[2:3], -1, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x82,0x01,0x02]
+
+v_fma_f64 v[5:6], s[2:3], 0.5, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0xe0,0x01,0x02]
+
+v_fma_f64 v[5:6], s[2:3], -4.0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0xee,0x01,0x02]
+
+v_fma_f64 v[5:6], s[2:3], v[2:3], 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x04,0x02,0x02]
+
+v_fma_f64 v[5:6], s[2:3], v[254:255], 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0xfc,0x03,0x02]
+
+v_fma_f64 v[5:6], s[2:3], 0, -1
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x05,0x03]
+
+v_fma_f64 v[5:6], s[2:3], 0, 0.5
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xc1,0x03]
+
+v_fma_f64 v[5:6], s[2:3], 0, -4.0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xdd,0x03]
+
+v_fma_f64 v[5:6], s[2:3], 0, v[3:4]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x0d,0x04]
+
+v_fma_f64 v[5:6], s[2:3], 0, v[254:255]
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xf9,0x07]
+
+v_fma_f64 v[5:6], -s[2:3], 0, 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x22]
+
+v_fma_f64 v[5:6], s[2:3], neg(0), 0
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x42]
+
+v_fma_f64 v[5:6], s[2:3], 0, neg(0)
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x82]
+
+v_fma_f64 v[5:6], -s[2:3], neg(0), neg(0)
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0xe2]
+
+v_fma_f64 v[5:6], |s[2:3]|, 0, 0
+// CHECK: [0x05,0x01,0xcc,0xd1,0x02,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], s[2:3], |0|, 0
+// CHECK: [0x05,0x02,0xcc,0xd1,0x02,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], s[2:3], 0, |0|
+// CHECK: [0x05,0x04,0xcc,0xd1,0x02,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], |s[2:3]|, |0|, |0|
+// CHECK: [0x05,0x07,0xcc,0xd1,0x02,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], s[2:3], 0, 0 clamp
+// CHECK: [0x05,0x80,0xcc,0xd1,0x02,0x00,0x01,0x02]
+
+v_fma_f64 v[5:6], s[2:3], 0, 0 mul:2
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x0a]
+
+v_fma_f64 v[5:6], s[2:3], 0, 0 mul:4
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x12]
+
+v_fma_f64 v[5:6], s[2:3], 0, 0 div:2
+// CHECK: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x1a]
+
+v_lerp_u8 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x01,0x02]
+
+v_lerp_u8 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xcd,0xd1,0x01,0x00,0x01,0x02]
+
+v_lerp_u8 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x65,0x00,0x01,0x02]
+
+v_lerp_u8 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x66,0x00,0x01,0x02]
+
+v_lerp_u8 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x67,0x00,0x01,0x02]
+
+v_lerp_u8 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x6a,0x00,0x01,0x02]
+
+v_lerp_u8 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x6b,0x00,0x01,0x02]
+
+v_lerp_u8 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x7c,0x00,0x01,0x02]
+
+v_lerp_u8 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x7e,0x00,0x01,0x02]
+
+v_lerp_u8 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x7f,0x00,0x01,0x02]
+
+v_lerp_u8 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x80,0x00,0x01,0x02]
+
+v_lerp_u8 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0xc1,0x00,0x01,0x02]
+
+v_lerp_u8 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0xf0,0x00,0x01,0x02]
+
+v_lerp_u8 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0xf7,0x00,0x01,0x02]
+
+v_lerp_u8 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x01,0x01,0x02]
+
+v_lerp_u8 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0xff,0x01,0x01,0x02]
+
+v_lerp_u8 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x82,0x01,0x02]
+
+v_lerp_u8 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xe0,0x01,0x02]
+
+v_lerp_u8 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xee,0x01,0x02]
+
+v_lerp_u8 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x04,0x02,0x02]
+
+v_lerp_u8 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0xfe,0x03,0x02]
+
+v_lerp_u8 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x05,0x03]
+
+v_lerp_u8 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xc1,0x03]
+
+v_lerp_u8 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xdd,0x03]
+
+v_lerp_u8 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x0d,0x04]
+
+v_lerp_u8 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xfd,0x07]
+
+v_min3_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xd0,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x65,0x00,0x01,0x02]
+
+v_min3_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x66,0x00,0x01,0x02]
+
+v_min3_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x67,0x00,0x01,0x02]
+
+v_min3_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x6a,0x00,0x01,0x02]
+
+v_min3_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x6b,0x00,0x01,0x02]
+
+v_min3_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x7c,0x00,0x01,0x02]
+
+v_min3_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x7e,0x00,0x01,0x02]
+
+v_min3_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x7f,0x00,0x01,0x02]
+
+v_min3_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x80,0x00,0x01,0x02]
+
+v_min3_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0xc1,0x00,0x01,0x02]
+
+v_min3_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0xf0,0x00,0x01,0x02]
+
+v_min3_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0xf7,0x00,0x01,0x02]
+
+v_min3_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x01,0x01,0x02]
+
+v_min3_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0xff,0x01,0x01,0x02]
+
+v_min3_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x82,0x01,0x02]
+
+v_min3_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xe0,0x01,0x02]
+
+v_min3_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xee,0x01,0x02]
+
+v_min3_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x04,0x02,0x02]
+
+v_min3_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0xfe,0x03,0x02]
+
+v_min3_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x05,0x03]
+
+v_min3_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xc1,0x03]
+
+v_min3_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xdd,0x03]
+
+v_min3_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x0d,0x04]
+
+v_min3_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xfd,0x07]
+
+v_min3_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x22]
+
+v_min3_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x42]
+
+v_min3_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x82]
+
+v_min3_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0xe2]
+
+v_min3_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xd0,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xd0,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xd0,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xd0,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xd0,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x0a]
+
+v_min3_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x12]
+
+v_min3_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x1a]
+
+v_min3_i32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_i32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xd1,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_i32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x65,0x00,0x01,0x02]
+
+v_min3_i32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x66,0x00,0x01,0x02]
+
+v_min3_i32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x67,0x00,0x01,0x02]
+
+v_min3_i32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x6a,0x00,0x01,0x02]
+
+v_min3_i32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x6b,0x00,0x01,0x02]
+
+v_min3_i32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x7c,0x00,0x01,0x02]
+
+v_min3_i32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x7e,0x00,0x01,0x02]
+
+v_min3_i32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x7f,0x00,0x01,0x02]
+
+v_min3_i32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x80,0x00,0x01,0x02]
+
+v_min3_i32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0xc1,0x00,0x01,0x02]
+
+v_min3_i32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0xf0,0x00,0x01,0x02]
+
+v_min3_i32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0xf7,0x00,0x01,0x02]
+
+v_min3_i32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x01,0x01,0x02]
+
+v_min3_i32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0xff,0x01,0x01,0x02]
+
+v_min3_i32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x82,0x01,0x02]
+
+v_min3_i32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xe0,0x01,0x02]
+
+v_min3_i32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xee,0x01,0x02]
+
+v_min3_i32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x04,0x02,0x02]
+
+v_min3_i32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0xfe,0x03,0x02]
+
+v_min3_i32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x05,0x03]
+
+v_min3_i32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xc1,0x03]
+
+v_min3_i32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xdd,0x03]
+
+v_min3_i32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x0d,0x04]
+
+v_min3_i32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xfd,0x07]
+
+v_min3_u32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_u32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xd2,0xd1,0x01,0x00,0x01,0x02]
+
+v_min3_u32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x65,0x00,0x01,0x02]
+
+v_min3_u32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x66,0x00,0x01,0x02]
+
+v_min3_u32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x67,0x00,0x01,0x02]
+
+v_min3_u32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x6a,0x00,0x01,0x02]
+
+v_min3_u32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x6b,0x00,0x01,0x02]
+
+v_min3_u32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x7c,0x00,0x01,0x02]
+
+v_min3_u32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x7e,0x00,0x01,0x02]
+
+v_min3_u32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x7f,0x00,0x01,0x02]
+
+v_min3_u32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x80,0x00,0x01,0x02]
+
+v_min3_u32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0xc1,0x00,0x01,0x02]
+
+v_min3_u32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0xf0,0x00,0x01,0x02]
+
+v_min3_u32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0xf7,0x00,0x01,0x02]
+
+v_min3_u32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x01,0x01,0x02]
+
+v_min3_u32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0xff,0x01,0x01,0x02]
+
+v_min3_u32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x82,0x01,0x02]
+
+v_min3_u32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xe0,0x01,0x02]
+
+v_min3_u32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xee,0x01,0x02]
+
+v_min3_u32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x04,0x02,0x02]
+
+v_min3_u32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0xfe,0x03,0x02]
+
+v_min3_u32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x05,0x03]
+
+v_min3_u32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xc1,0x03]
+
+v_min3_u32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xdd,0x03]
+
+v_min3_u32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x0d,0x04]
+
+v_min3_u32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xfd,0x07]
+
+v_max3_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xd3,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x65,0x00,0x01,0x02]
+
+v_max3_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x66,0x00,0x01,0x02]
+
+v_max3_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x67,0x00,0x01,0x02]
+
+v_max3_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x6a,0x00,0x01,0x02]
+
+v_max3_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x6b,0x00,0x01,0x02]
+
+v_max3_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x7c,0x00,0x01,0x02]
+
+v_max3_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x7e,0x00,0x01,0x02]
+
+v_max3_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x7f,0x00,0x01,0x02]
+
+v_max3_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x80,0x00,0x01,0x02]
+
+v_max3_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0xc1,0x00,0x01,0x02]
+
+v_max3_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0xf0,0x00,0x01,0x02]
+
+v_max3_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0xf7,0x00,0x01,0x02]
+
+v_max3_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x01,0x01,0x02]
+
+v_max3_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0xff,0x01,0x01,0x02]
+
+v_max3_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x82,0x01,0x02]
+
+v_max3_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xe0,0x01,0x02]
+
+v_max3_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xee,0x01,0x02]
+
+v_max3_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x04,0x02,0x02]
+
+v_max3_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0xfe,0x03,0x02]
+
+v_max3_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x05,0x03]
+
+v_max3_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xc1,0x03]
+
+v_max3_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xdd,0x03]
+
+v_max3_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x0d,0x04]
+
+v_max3_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xfd,0x07]
+
+v_max3_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x22]
+
+v_max3_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x42]
+
+v_max3_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x82]
+
+v_max3_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0xe2]
+
+v_max3_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xd3,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xd3,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xd3,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xd3,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xd3,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x0a]
+
+v_max3_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x12]
+
+v_max3_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x1a]
+
+v_max3_i32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_i32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xd4,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_i32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x65,0x00,0x01,0x02]
+
+v_max3_i32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x66,0x00,0x01,0x02]
+
+v_max3_i32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x67,0x00,0x01,0x02]
+
+v_max3_i32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x6a,0x00,0x01,0x02]
+
+v_max3_i32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x6b,0x00,0x01,0x02]
+
+v_max3_i32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x7c,0x00,0x01,0x02]
+
+v_max3_i32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x7e,0x00,0x01,0x02]
+
+v_max3_i32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x7f,0x00,0x01,0x02]
+
+v_max3_i32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x80,0x00,0x01,0x02]
+
+v_max3_i32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0xc1,0x00,0x01,0x02]
+
+v_max3_i32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0xf0,0x00,0x01,0x02]
+
+v_max3_i32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0xf7,0x00,0x01,0x02]
+
+v_max3_i32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x01,0x01,0x02]
+
+v_max3_i32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0xff,0x01,0x01,0x02]
+
+v_max3_i32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x82,0x01,0x02]
+
+v_max3_i32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xe0,0x01,0x02]
+
+v_max3_i32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xee,0x01,0x02]
+
+v_max3_i32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x04,0x02,0x02]
+
+v_max3_i32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0xfe,0x03,0x02]
+
+v_max3_i32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x05,0x03]
+
+v_max3_i32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xc1,0x03]
+
+v_max3_i32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xdd,0x03]
+
+v_max3_i32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x0d,0x04]
+
+v_max3_i32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xfd,0x07]
+
+v_max3_u32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_u32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xd5,0xd1,0x01,0x00,0x01,0x02]
+
+v_max3_u32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x65,0x00,0x01,0x02]
+
+v_max3_u32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x66,0x00,0x01,0x02]
+
+v_max3_u32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x67,0x00,0x01,0x02]
+
+v_max3_u32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x6a,0x00,0x01,0x02]
+
+v_max3_u32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x6b,0x00,0x01,0x02]
+
+v_max3_u32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x7c,0x00,0x01,0x02]
+
+v_max3_u32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x7e,0x00,0x01,0x02]
+
+v_max3_u32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x7f,0x00,0x01,0x02]
+
+v_max3_u32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x80,0x00,0x01,0x02]
+
+v_max3_u32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0xc1,0x00,0x01,0x02]
+
+v_max3_u32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0xf0,0x00,0x01,0x02]
+
+v_max3_u32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0xf7,0x00,0x01,0x02]
+
+v_max3_u32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x01,0x01,0x02]
+
+v_max3_u32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0xff,0x01,0x01,0x02]
+
+v_max3_u32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x82,0x01,0x02]
+
+v_max3_u32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xe0,0x01,0x02]
+
+v_max3_u32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xee,0x01,0x02]
+
+v_max3_u32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x04,0x02,0x02]
+
+v_max3_u32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0xfe,0x03,0x02]
+
+v_max3_u32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x05,0x03]
+
+v_max3_u32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xc1,0x03]
+
+v_max3_u32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xdd,0x03]
+
+v_max3_u32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x0d,0x04]
+
+v_max3_u32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xfd,0x07]
+
+v_med3_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xd6,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x65,0x00,0x01,0x02]
+
+v_med3_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x66,0x00,0x01,0x02]
+
+v_med3_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x67,0x00,0x01,0x02]
+
+v_med3_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x6a,0x00,0x01,0x02]
+
+v_med3_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x6b,0x00,0x01,0x02]
+
+v_med3_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x7c,0x00,0x01,0x02]
+
+v_med3_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x7e,0x00,0x01,0x02]
+
+v_med3_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x7f,0x00,0x01,0x02]
+
+v_med3_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x80,0x00,0x01,0x02]
+
+v_med3_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0xc1,0x00,0x01,0x02]
+
+v_med3_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0xf0,0x00,0x01,0x02]
+
+v_med3_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0xf7,0x00,0x01,0x02]
+
+v_med3_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x01,0x01,0x02]
+
+v_med3_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0xff,0x01,0x01,0x02]
+
+v_med3_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x82,0x01,0x02]
+
+v_med3_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xe0,0x01,0x02]
+
+v_med3_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xee,0x01,0x02]
+
+v_med3_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x04,0x02,0x02]
+
+v_med3_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0xfe,0x03,0x02]
+
+v_med3_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x05,0x03]
+
+v_med3_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xc1,0x03]
+
+v_med3_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xdd,0x03]
+
+v_med3_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x0d,0x04]
+
+v_med3_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xfd,0x07]
+
+v_med3_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x22]
+
+v_med3_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x42]
+
+v_med3_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x82]
+
+v_med3_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0xe2]
+
+v_med3_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xd6,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xd6,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xd6,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xd6,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xd6,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x0a]
+
+v_med3_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x12]
+
+v_med3_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x1a]
+
+v_med3_i32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_i32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xd7,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_i32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x65,0x00,0x01,0x02]
+
+v_med3_i32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x66,0x00,0x01,0x02]
+
+v_med3_i32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x67,0x00,0x01,0x02]
+
+v_med3_i32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x6a,0x00,0x01,0x02]
+
+v_med3_i32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x6b,0x00,0x01,0x02]
+
+v_med3_i32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x7c,0x00,0x01,0x02]
+
+v_med3_i32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x7e,0x00,0x01,0x02]
+
+v_med3_i32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x7f,0x00,0x01,0x02]
+
+v_med3_i32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x80,0x00,0x01,0x02]
+
+v_med3_i32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0xc1,0x00,0x01,0x02]
+
+v_med3_i32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0xf0,0x00,0x01,0x02]
+
+v_med3_i32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0xf7,0x00,0x01,0x02]
+
+v_med3_i32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x01,0x01,0x02]
+
+v_med3_i32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0xff,0x01,0x01,0x02]
+
+v_med3_i32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x82,0x01,0x02]
+
+v_med3_i32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xe0,0x01,0x02]
+
+v_med3_i32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xee,0x01,0x02]
+
+v_med3_i32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x04,0x02,0x02]
+
+v_med3_i32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0xfe,0x03,0x02]
+
+v_med3_i32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x05,0x03]
+
+v_med3_i32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xc1,0x03]
+
+v_med3_i32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xdd,0x03]
+
+v_med3_i32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x0d,0x04]
+
+v_med3_i32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xfd,0x07]
+
+v_med3_u32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_u32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xd8,0xd1,0x01,0x00,0x01,0x02]
+
+v_med3_u32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x65,0x00,0x01,0x02]
+
+v_med3_u32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x66,0x00,0x01,0x02]
+
+v_med3_u32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x67,0x00,0x01,0x02]
+
+v_med3_u32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x6a,0x00,0x01,0x02]
+
+v_med3_u32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x6b,0x00,0x01,0x02]
+
+v_med3_u32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x7c,0x00,0x01,0x02]
+
+v_med3_u32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x7e,0x00,0x01,0x02]
+
+v_med3_u32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x7f,0x00,0x01,0x02]
+
+v_med3_u32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x80,0x00,0x01,0x02]
+
+v_med3_u32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0xc1,0x00,0x01,0x02]
+
+v_med3_u32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0xf0,0x00,0x01,0x02]
+
+v_med3_u32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0xf7,0x00,0x01,0x02]
+
+v_med3_u32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x01,0x01,0x02]
+
+v_med3_u32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0xff,0x01,0x01,0x02]
+
+v_med3_u32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x82,0x01,0x02]
+
+v_med3_u32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xe0,0x01,0x02]
+
+v_med3_u32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xee,0x01,0x02]
+
+v_med3_u32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x04,0x02,0x02]
+
+v_med3_u32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0xfe,0x03,0x02]
+
+v_med3_u32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x05,0x03]
+
+v_med3_u32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xc1,0x03]
+
+v_med3_u32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xdd,0x03]
+
+v_med3_u32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x0d,0x04]
+
+v_med3_u32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xfd,0x07]
+
+v_sad_u8 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x01,0x02]
+
+v_sad_u8 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xd9,0xd1,0x01,0x00,0x01,0x02]
+
+v_sad_u8 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x65,0x00,0x01,0x02]
+
+v_sad_u8 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x66,0x00,0x01,0x02]
+
+v_sad_u8 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x67,0x00,0x01,0x02]
+
+v_sad_u8 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x6a,0x00,0x01,0x02]
+
+v_sad_u8 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x6b,0x00,0x01,0x02]
+
+v_sad_u8 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x7c,0x00,0x01,0x02]
+
+v_sad_u8 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x7e,0x00,0x01,0x02]
+
+v_sad_u8 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x7f,0x00,0x01,0x02]
+
+v_sad_u8 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x80,0x00,0x01,0x02]
+
+v_sad_u8 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0xc1,0x00,0x01,0x02]
+
+v_sad_u8 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0xf0,0x00,0x01,0x02]
+
+v_sad_u8 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0xf7,0x00,0x01,0x02]
+
+v_sad_u8 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x01,0x01,0x02]
+
+v_sad_u8 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0xff,0x01,0x01,0x02]
+
+v_sad_u8 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x82,0x01,0x02]
+
+v_sad_u8 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xe0,0x01,0x02]
+
+v_sad_u8 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xee,0x01,0x02]
+
+v_sad_u8 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x04,0x02,0x02]
+
+v_sad_u8 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0xfe,0x03,0x02]
+
+v_sad_u8 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x05,0x03]
+
+v_sad_u8 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xc1,0x03]
+
+v_sad_u8 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xdd,0x03]
+
+v_sad_u8 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x0d,0x04]
+
+v_sad_u8 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xfd,0x07]
+
+v_sad_hi_u8 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0x01,0x02]
+
+v_sad_hi_u8 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xda,0xd1,0x01,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x65,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x66,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x67,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x6a,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x6b,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x7c,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x7e,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x7f,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x80,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0xc1,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0xf0,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0xf7,0x00,0x01,0x02]
+
+v_sad_hi_u8 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x01,0x01,0x02]
+
+v_sad_hi_u8 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0xff,0x01,0x01,0x02]
+
+v_sad_hi_u8 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x82,0x01,0x02]
+
+v_sad_hi_u8 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xe0,0x01,0x02]
+
+v_sad_hi_u8 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xee,0x01,0x02]
+
+v_sad_hi_u8 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x04,0x02,0x02]
+
+v_sad_hi_u8 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0xfe,0x03,0x02]
+
+v_sad_hi_u8 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0x05,0x03]
+
+v_sad_hi_u8 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0xc1,0x03]
+
+v_sad_hi_u8 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0xdd,0x03]
+
+v_sad_hi_u8 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0x0d,0x04]
+
+v_sad_hi_u8 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xda,0xd1,0x01,0x00,0xfd,0x07]
+
+v_sad_u16 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x01,0x02]
+
+v_sad_u16 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xdb,0xd1,0x01,0x00,0x01,0x02]
+
+v_sad_u16 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x65,0x00,0x01,0x02]
+
+v_sad_u16 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x66,0x00,0x01,0x02]
+
+v_sad_u16 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x67,0x00,0x01,0x02]
+
+v_sad_u16 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x6a,0x00,0x01,0x02]
+
+v_sad_u16 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x6b,0x00,0x01,0x02]
+
+v_sad_u16 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x7c,0x00,0x01,0x02]
+
+v_sad_u16 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x7e,0x00,0x01,0x02]
+
+v_sad_u16 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x7f,0x00,0x01,0x02]
+
+v_sad_u16 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x80,0x00,0x01,0x02]
+
+v_sad_u16 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0xc1,0x00,0x01,0x02]
+
+v_sad_u16 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0xf0,0x00,0x01,0x02]
+
+v_sad_u16 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0xf7,0x00,0x01,0x02]
+
+v_sad_u16 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x01,0x01,0x02]
+
+v_sad_u16 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0xff,0x01,0x01,0x02]
+
+v_sad_u16 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x82,0x01,0x02]
+
+v_sad_u16 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xe0,0x01,0x02]
+
+v_sad_u16 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xee,0x01,0x02]
+
+v_sad_u16 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x04,0x02,0x02]
+
+v_sad_u16 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0xfe,0x03,0x02]
+
+v_sad_u16 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x05,0x03]
+
+v_sad_u16 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xc1,0x03]
+
+v_sad_u16 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xdd,0x03]
+
+v_sad_u16 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x0d,0x04]
+
+v_sad_u16 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xfd,0x07]
+
+v_sad_u32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x01,0x02]
+
+v_sad_u32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xdc,0xd1,0x01,0x00,0x01,0x02]
+
+v_sad_u32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x65,0x00,0x01,0x02]
+
+v_sad_u32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x66,0x00,0x01,0x02]
+
+v_sad_u32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x67,0x00,0x01,0x02]
+
+v_sad_u32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x6a,0x00,0x01,0x02]
+
+v_sad_u32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x6b,0x00,0x01,0x02]
+
+v_sad_u32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x7c,0x00,0x01,0x02]
+
+v_sad_u32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x7e,0x00,0x01,0x02]
+
+v_sad_u32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x7f,0x00,0x01,0x02]
+
+v_sad_u32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x80,0x00,0x01,0x02]
+
+v_sad_u32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0xc1,0x00,0x01,0x02]
+
+v_sad_u32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0xf0,0x00,0x01,0x02]
+
+v_sad_u32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0xf7,0x00,0x01,0x02]
+
+v_sad_u32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x01,0x01,0x02]
+
+v_sad_u32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0xff,0x01,0x01,0x02]
+
+v_sad_u32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x82,0x01,0x02]
+
+v_sad_u32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xe0,0x01,0x02]
+
+v_sad_u32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xee,0x01,0x02]
+
+v_sad_u32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x04,0x02,0x02]
+
+v_sad_u32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0xfe,0x03,0x02]
+
+v_sad_u32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x05,0x03]
+
+v_sad_u32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xc1,0x03]
+
+v_sad_u32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xdd,0x03]
+
+v_sad_u32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x0d,0x04]
+
+v_sad_u32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xfd,0x07]
+
+v_cvt_pk_u8_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xdd,0xd1,0x01,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x65,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x66,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x67,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x6a,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x6b,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x7c,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x7e,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x7f,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x80,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0xc1,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0xf0,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0xf7,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x01,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0xff,0x01,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x82,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xe0,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xee,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x04,0x02,0x02]
+
+v_cvt_pk_u8_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0xfe,0x03,0x02]
+
+v_cvt_pk_u8_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x05,0x03]
+
+v_cvt_pk_u8_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xc1,0x03]
+
+v_cvt_pk_u8_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xdd,0x03]
+
+v_cvt_pk_u8_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x0d,0x04]
+
+v_cvt_pk_u8_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xfd,0x07]
+
+v_cvt_pk_u8_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x01,0x22]
+
+v_cvt_pk_u8_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xdd,0xd1,0x01,0x00,0x01,0x02]
+
+v_cvt_pk_u8_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xdd,0xd1,0x01,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x02]
+
+v_div_fixup_f32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xde,0xd1,0x01,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x65,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x66,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x67,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x6a,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x6b,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x7c,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x7e,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x7f,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0xc1,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0xf0,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0xf7,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x01,0x01,0x02]
+
+v_div_fixup_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0xff,0x01,0x01,0x02]
+
+v_div_fixup_f32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x82,0x01,0x02]
+
+v_div_fixup_f32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xe0,0x01,0x02]
+
+v_div_fixup_f32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xee,0x01,0x02]
+
+v_div_fixup_f32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x04,0x02,0x02]
+
+v_div_fixup_f32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0xfe,0x03,0x02]
+
+v_div_fixup_f32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x05,0x03]
+
+v_div_fixup_f32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0xc1,0x03]
+
+v_div_fixup_f32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0xdd,0x03]
+
+v_div_fixup_f32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x0d,0x04]
+
+v_div_fixup_f32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0xfd,0x07]
+
+v_div_fixup_f32 v5, -s1, 0, 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x22]
+
+v_div_fixup_f32 v5, s1, neg(0), 0
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x42]
+
+v_div_fixup_f32 v5, s1, 0, neg(0)
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x82]
+
+v_div_fixup_f32 v5, -s1, neg(0), neg(0)
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0xe2]
+
+v_div_fixup_f32 v5, |s1|, 0, 0
+// CHECK: [0x05,0x01,0xde,0xd1,0x01,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, s1, |0|, 0
+// CHECK: [0x05,0x02,0xde,0xd1,0x01,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, s1, 0, |0|
+// CHECK: [0x05,0x04,0xde,0xd1,0x01,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, |s1|, |0|, |0|
+// CHECK: [0x05,0x07,0xde,0xd1,0x01,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, s1, 0, 0 clamp
+// CHECK: [0x05,0x80,0xde,0xd1,0x01,0x00,0x01,0x02]
+
+v_div_fixup_f32 v5, s1, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x0a]
+
+v_div_fixup_f32 v5, s1, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x12]
+
+v_div_fixup_f32 v5, s1, 0, 0 div:2
+// CHECK: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x1a]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[254:255], s[2:3], 0, 0
+// CHECK: [0xfe,0x00,0xdf,0xd1,0x02,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], s[4:5], 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x04,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], s[100:101], 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x64,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], flat_scratch, 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x66,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], vcc, 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x6a,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], exec, 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x7e,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], 0, 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], -1, 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0xc1,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], 0.5, 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0xf0,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], -4.0, 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0xf7,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], v[1:2], 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x01,0x01,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], v[254:255], 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0xfe,0x01,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], s[2:3], -1, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x82,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0.5, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0xe0,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], s[2:3], -4.0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0xee,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], s[2:3], v[2:3], 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x04,0x02,0x02]
+
+v_div_fixup_f64 v[5:6], s[2:3], v[254:255], 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0xfc,0x03,0x02]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, -1
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x05,0x03]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, 0.5
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0xc1,0x03]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, -4.0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0xdd,0x03]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, v[3:4]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x0d,0x04]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, v[254:255]
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0xf9,0x07]
+
+v_div_fixup_f64 v[5:6], -s[2:3], 0, 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x22]
+
+v_div_fixup_f64 v[5:6], s[2:3], neg(0), 0
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x42]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, neg(0)
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x82]
+
+v_div_fixup_f64 v[5:6], -s[2:3], neg(0), neg(0)
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0xe2]
+
+v_div_fixup_f64 v[5:6], |s[2:3]|, 0, 0
+// CHECK: [0x05,0x01,0xdf,0xd1,0x02,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], s[2:3], |0|, 0
+// CHECK: [0x05,0x02,0xdf,0xd1,0x02,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, |0|
+// CHECK: [0x05,0x04,0xdf,0xd1,0x02,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], |s[2:3]|, |0|, |0|
+// CHECK: [0x05,0x07,0xdf,0xd1,0x02,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, 0 clamp
+// CHECK: [0x05,0x80,0xdf,0xd1,0x02,0x00,0x01,0x02]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, 0 mul:2
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x0a]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, 0 mul:4
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x12]
+
+v_div_fixup_f64 v[5:6], s[2:3], 0, 0 div:2
+// CHECK: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x1a]
+
+v_div_scale_f32 v5, vcc, s1, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x01,0x02]
+
+v_div_scale_f32 v255, vcc, s1, 0, 0
+// CHECK: [0xff,0x6a,0xe0,0xd1,0x01,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, s101, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x65,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x66,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x67,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, vcc_lo, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x6a,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, vcc_hi, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x6b,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, m0, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x7c,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, exec_lo, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x7e,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, exec_hi, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x7f,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, 0, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, -1, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xc1,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, 0.5, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xf0,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, -4.0, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xf7,0x00,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, v1, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x01,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, v255, 0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0xff,0x01,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, s1, -1, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x82,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, s1, 0.5, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xe0,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, s1, -4.0, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xee,0x01,0x02]
+
+v_div_scale_f32 v5, vcc, s1, v2, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x04,0x02,0x02]
+
+v_div_scale_f32 v5, vcc, s1, v255, 0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0xfe,0x03,0x02]
+
+v_div_scale_f32 v5, vcc, s1, 0, -1
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x05,0x03]
+
+v_div_scale_f32 v5, vcc, s1, 0, 0.5
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xc1,0x03]
+
+v_div_scale_f32 v5, vcc, s1, 0, -4.0
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xdd,0x03]
+
+v_div_scale_f32 v5, vcc, s1, 0, v3
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x0d,0x04]
+
+v_div_scale_f32 v5, vcc, s1, 0, v255
+// CHECK: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xfd,0x07]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0x01,0x02]
+
+v_div_scale_f64 v[254:255], vcc, s[2:3], 0, 0
+// CHECK: [0xfe,0x6a,0xe1,0xd1,0x02,0x00,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, s[4:5], 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x04,0x00,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, s[100:101], 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x64,0x00,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, flat_scratch, 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x66,0x00,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, vcc, 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x6a,0x00,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, exec, 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x7e,0x00,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, 0, 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, -1, 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xc1,0x00,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, 0.5, 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xf0,0x00,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, -4.0, 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xf7,0x00,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, v[1:2], 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x01,0x01,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, v[254:255], 0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0xfe,0x01,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], -1, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x82,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], 0.5, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0xe0,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], -4.0, 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0xee,0x01,0x02]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], v[2:3], 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x04,0x02,0x02]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], v[254:255], 0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0xfc,0x03,0x02]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], 0, -1
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0x05,0x03]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], 0, 0.5
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0xc1,0x03]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], 0, -4.0
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0xdd,0x03]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], 0, v[3:4]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0x0d,0x04]
+
+v_div_scale_f64 v[5:6], vcc, s[2:3], 0, v[254:255]
+// CHECK: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0xf9,0x07]
+
+v_div_fmas_f32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_fmas_f32 v255, 0, 0, 0
+// CHECK: [0xff,0x00,0xe2,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_fmas_f32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0xc1,0x00,0x01,0x02]
+
+v_div_fmas_f32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0xf0,0x00,0x01,0x02]
+
+v_div_fmas_f32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0xf7,0x00,0x01,0x02]
+
+v_div_fmas_f32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x01,0x01,0x01,0x02]
+
+v_div_fmas_f32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0xff,0x01,0x01,0x02]
+
+v_div_fmas_f32 v5, 0, -1, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x82,0x01,0x02]
+
+v_div_fmas_f32 v5, 0, 0.5, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0xe0,0x01,0x02]
+
+v_div_fmas_f32 v5, 0, -4.0, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0xee,0x01,0x02]
+
+v_div_fmas_f32 v5, 0, v2, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x04,0x02,0x02]
+
+v_div_fmas_f32 v5, 0, v255, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0xfe,0x03,0x02]
+
+v_div_fmas_f32 v5, 0, 0, -1
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x05,0x03]
+
+v_div_fmas_f32 v5, 0, 0, 0.5
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xc1,0x03]
+
+v_div_fmas_f32 v5, 0, 0, -4.0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xdd,0x03]
+
+v_div_fmas_f32 v5, 0, 0, v3
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x0d,0x04]
+
+v_div_fmas_f32 v5, 0, 0, v255
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xfd,0x07]
+
+v_div_fmas_f32 v5, neg(0), 0, 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x22]
+
+v_div_fmas_f32 v5, 0, neg(0), 0
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x42]
+
+v_div_fmas_f32 v5, 0, 0, neg(0)
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x82]
+
+v_div_fmas_f32 v5, neg(0), neg(0), neg(0)
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0xe2]
+
+v_div_fmas_f32 v5, |0|, 0, 0
+// CHECK: [0x05,0x01,0xe2,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_fmas_f32 v5, 0, |0|, 0
+// CHECK: [0x05,0x02,0xe2,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_fmas_f32 v5, 0, 0, |0|
+// CHECK: [0x05,0x04,0xe2,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_fmas_f32 v5, |0|, |0|, |0|
+// CHECK: [0x05,0x07,0xe2,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_fmas_f32 v5, 0, 0, 0 clamp
+// CHECK: [0x05,0x80,0xe2,0xd1,0x80,0x00,0x01,0x02]
+
+v_div_fmas_f32 v5, 0, 0, 0 mul:2
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x0a]
+
+v_div_fmas_f32 v5, 0, 0, 0 mul:4
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x12]
+
+v_div_fmas_f32 v5, 0, 0, 0 div:2
+// CHECK: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x1a]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[254:255], vcc, vcc, vcc
+// CHECK: [0xfe,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], 0, vcc, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x80,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], -1, vcc, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0xc1,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], 0.5, vcc, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0xf0,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], -4.0, vcc, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0xf7,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], v[1:2], vcc, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x01,0xd5,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], v[254:255], vcc, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0xfe,0xd5,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, 0, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x00,0xa9,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, -1, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x82,0xa9,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, 0.5, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xe0,0xa9,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, -4.0, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xee,0xa9,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, v[2:3], vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0x04,0xaa,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, v[254:255], vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xfc,0xab,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, 0
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x00,0x02]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, -1
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x04,0x03]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, 0.5
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xc0,0x03]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, -4.0
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xdc,0x03]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, v[3:4]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x0c,0x04]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, v[254:255]
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xf8,0x07]
+
+v_div_fmas_f64 v[5:6], -vcc, vcc, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x21]
+
+v_div_fmas_f64 v[5:6], vcc, -vcc, vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x41]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, -vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x81]
+
+v_div_fmas_f64 v[5:6], -vcc, -vcc, -vcc
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0xe1]
+
+v_div_fmas_f64 v[5:6], |vcc|, vcc, vcc
+// CHECK: [0x05,0x01,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, |vcc|, vcc
+// CHECK: [0x05,0x02,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, |vcc|
+// CHECK: [0x05,0x04,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], |vcc|, |vcc|, |vcc|
+// CHECK: [0x05,0x07,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, vcc clamp
+// CHECK: [0x05,0x80,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, vcc mul:2
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x09]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, vcc mul:4
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x11]
+
+v_div_fmas_f64 v[5:6], vcc, vcc, vcc div:2
+// CHECK: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x19]
+
+v_msad_u8 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x01,0x02]
+
+v_msad_u8 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xe4,0xd1,0x01,0x00,0x01,0x02]
+
+v_msad_u8 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x65,0x00,0x01,0x02]
+
+v_msad_u8 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x66,0x00,0x01,0x02]
+
+v_msad_u8 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x67,0x00,0x01,0x02]
+
+v_msad_u8 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x6a,0x00,0x01,0x02]
+
+v_msad_u8 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x6b,0x00,0x01,0x02]
+
+v_msad_u8 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x7c,0x00,0x01,0x02]
+
+v_msad_u8 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x7e,0x00,0x01,0x02]
+
+v_msad_u8 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x7f,0x00,0x01,0x02]
+
+v_msad_u8 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x80,0x00,0x01,0x02]
+
+v_msad_u8 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0xc1,0x00,0x01,0x02]
+
+v_msad_u8 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0xf0,0x00,0x01,0x02]
+
+v_msad_u8 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0xf7,0x00,0x01,0x02]
+
+v_msad_u8 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x01,0x01,0x02]
+
+v_msad_u8 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0xff,0x01,0x01,0x02]
+
+v_msad_u8 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x82,0x01,0x02]
+
+v_msad_u8 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xe0,0x01,0x02]
+
+v_msad_u8 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xee,0x01,0x02]
+
+v_msad_u8 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x04,0x02,0x02]
+
+v_msad_u8 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0xfe,0x03,0x02]
+
+v_msad_u8 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x05,0x03]
+
+v_msad_u8 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xc1,0x03]
+
+v_msad_u8 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xdd,0x03]
+
+v_msad_u8 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x0d,0x04]
+
+v_msad_u8 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xfd,0x07]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[254:255], s[2:3], 0, 0
+// CHECK: [0xfe,0x00,0xe5,0xd1,0x02,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], s[4:5], 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x04,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], s[100:101], 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x64,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], flat_scratch, 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x66,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], vcc, 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x6a,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], exec, 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x7e,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], 0, 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x80,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], -1, 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0xc1,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], 0.5, 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0xf0,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], -4.0, 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0xf7,0x00,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], v[1:2], 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x01,0x01,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], v[254:255], 0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0xfe,0x01,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], -1, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x82,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], 0.5, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0xe0,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], -4.0, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0xee,0x01,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], v2, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x04,0x02,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], v255, 0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0xfe,0x03,0x02]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, -1
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0x05,0x03]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, 0.5
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0xc1,0x03]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, -4.0
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0xdd,0x03]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0x0d,0x04]
+
+v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, v[254:255]
+// CHECK: [0x05,0x00,0xe5,0xd1,0x02,0x00,0xf9,0x07]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[254:255], s[2:3], 0, 0
+// CHECK: [0xfe,0x00,0xe6,0xd1,0x02,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], s[4:5], 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x04,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], s[100:101], 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x64,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], flat_scratch, 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x66,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], vcc, 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x6a,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], exec, 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x7e,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], 0, 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x80,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], -1, 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0xc1,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], 0.5, 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0xf0,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], -4.0, 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0xf7,0x00,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x01,0x01,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], v[254:255], 0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0xfe,0x01,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], -1, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x82,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0.5, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0xe0,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], -4.0, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0xee,0x01,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], v2, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x04,0x02,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], v255, 0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0xfe,0x03,0x02]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, -1
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0x05,0x03]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, 0.5
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0xc1,0x03]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, -4.0
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0xdd,0x03]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, v[3:4]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0x0d,0x04]
+
+v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, v[254:255]
+// CHECK: [0x05,0x00,0xe6,0xd1,0x02,0x00,0xf9,0x07]
+
+v_mqsad_u32_u8 v[5:8], 0, s2, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x04,0x0c,0x04]
+
+v_mqsad_u32_u8 v[252:255], 0, s2, v[3:6]
+// CHECK: [0xfc,0x00,0xe7,0xd1,0x80,0x04,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], -1, s2, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0xc1,0x04,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0.5, s2, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0xf0,0x04,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], -4.0, s2, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0xf7,0x04,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], v[1:2], s2, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x01,0x05,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], v[254:255], s2, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0xfe,0x05,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, s101, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xca,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, flat_scratch_lo, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xcc,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, flat_scratch_hi, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xce,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, vcc_lo, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xd4,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, vcc_hi, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xd6,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, m0, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xf8,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, exec_lo, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xfc,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, exec_hi, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xfe,0x0c,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, 0, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x00,0x0d,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, -1, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x82,0x0d,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, 0.5, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xe0,0x0d,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, -4.0, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xee,0x0d,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, v2, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x04,0x0e,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, v255, v[3:6]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0xfe,0x0f,0x04]
+
+v_mqsad_u32_u8 v[5:8], 0, s2, v[252:255]
+// CHECK: [0x05,0x00,0xe7,0xd1,0x80,0x04,0xf0,0x07]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[254:255], s[12:13], s1, 0, 0
+// CHECK: [0xfe,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[14:15], s1, 0, 0
+// CHECK: [0x05,0x0e,0xe8,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[100:101], s1, 0, 0
+// CHECK: [0x05,0x64,0xe8,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], flat_scratch, s1, 0, 0
+// CHECK: [0x05,0x66,0xe8,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], vcc, s1, 0, 0
+// CHECK: [0x05,0x6a,0xe8,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], s101, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x65,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x66,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x67,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], vcc_lo, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x6a,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], vcc_hi, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x6b,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], m0, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x7c,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], exec_lo, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x7e,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], exec_hi, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x7f,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], 0, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x80,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], -1, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xc1,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], 0.5, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xf0,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], -4.0, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xf7,0x00,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], v1, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x01,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], v255, 0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0xff,0x01,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, -1, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x82,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, 0.5, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xe0,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, -4.0, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xee,0x01,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, v2, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x04,0x02,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, v255, 0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0xfe,0x03,0x02]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, 0, -1
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x05,0x03]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0.5
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0xc1,0x03]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, 0, -4.0
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0xdd,0x03]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, 0, v[3:4]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x0d,0x04]
+
+v_mad_u64_u32 v[5:6], s[12:13], s1, 0, v[254:255]
+// CHECK: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0xf9,0x07]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[254:255], s[12:13], s1, 0, 0
+// CHECK: [0xfe,0x0c,0xe9,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[14:15], s1, 0, 0
+// CHECK: [0x05,0x0e,0xe9,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[100:101], s1, 0, 0
+// CHECK: [0x05,0x64,0xe9,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], flat_scratch, s1, 0, 0
+// CHECK: [0x05,0x66,0xe9,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], vcc, s1, 0, 0
+// CHECK: [0x05,0x6a,0xe9,0xd1,0x01,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], s101, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x65,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x66,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x67,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], vcc_lo, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x6a,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], vcc_hi, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x6b,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], m0, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x7c,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], exec_lo, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x7e,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], exec_hi, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x7f,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], 0, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x80,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], -1, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xc1,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], 0.5, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xf0,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], -4.0, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xf7,0x00,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], v1, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x01,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], v255, 0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0xff,0x01,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, -1, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x82,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, 0.5, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xe0,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, -4.0, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xee,0x01,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, v2, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x04,0x02,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, v255, 0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0xfe,0x03,0x02]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, 0, -1
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0x05,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, 0, 0.5
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xc1,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, 0, -4.0
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xdd,0x03]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, 0, v[3:4]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0x0d,0x04]
+
+v_mad_i64_i32 v[5:6], s[12:13], s1, 0, v[254:255]
+// CHECK: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xf9,0x07]
+
+v_perm_b32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x01,0x02]
+
+v_perm_b32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xed,0xd1,0x01,0x00,0x01,0x02]
+
+v_perm_b32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x65,0x00,0x01,0x02]
+
+v_perm_b32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x66,0x00,0x01,0x02]
+
+v_perm_b32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x67,0x00,0x01,0x02]
+
+v_perm_b32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x6a,0x00,0x01,0x02]
+
+v_perm_b32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x6b,0x00,0x01,0x02]
+
+v_perm_b32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x7c,0x00,0x01,0x02]
+
+v_perm_b32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x7e,0x00,0x01,0x02]
+
+v_perm_b32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x7f,0x00,0x01,0x02]
+
+v_perm_b32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x80,0x00,0x01,0x02]
+
+v_perm_b32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0xc1,0x00,0x01,0x02]
+
+v_perm_b32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0xf0,0x00,0x01,0x02]
+
+v_perm_b32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0xf7,0x00,0x01,0x02]
+
+v_perm_b32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x01,0x01,0x02]
+
+v_perm_b32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0xff,0x01,0x01,0x02]
+
+v_perm_b32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x82,0x01,0x02]
+
+v_perm_b32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xe0,0x01,0x02]
+
+v_perm_b32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xee,0x01,0x02]
+
+v_perm_b32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x04,0x02,0x02]
+
+v_perm_b32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0xfe,0x03,0x02]
+
+v_perm_b32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x05,0x03]
+
+v_perm_b32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xc1,0x03]
+
+v_perm_b32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xdd,0x03]
+
+v_perm_b32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0x0d,0x04]
+
+v_perm_b32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xed,0xd1,0x01,0x00,0xfd,0x07]
+
+v_cvt_pkaccum_u8_f32 v5, 0, s2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x04,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v255, 0, s2
+// CHECK: [0xff,0x00,0xf0,0xd1,0x80,0x04,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, -1, s2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xc1,0x04,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xf0,0x04,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xf7,0x04,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v1, s2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x01,0x05,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, v255, s2
+// CHECK: [0x05,0x00,0xf0,0xd1,0xff,0x05,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, s101
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xca,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xcc,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xce,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xd4,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xd6,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, m0
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xf8,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xfc,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xfe,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, 0
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x00,0x01,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, -1
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x82,0x01,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xe0,0x01,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xee,0x01,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, v2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x04,0x02,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, v255
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0xfe,0x03,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, neg(0), s2
+// CHECK: [0x05,0x00,0xf0,0xd1,0x80,0x04,0x00,0x20]
+
+v_cvt_pkaccum_u8_f32 v5, |0|, s2
+// CHECK: [0x05,0x01,0xf0,0xd1,0x80,0x04,0x00,0x00]
+
+v_cvt_pkaccum_u8_f32 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0xf0,0xd1,0x80,0x04,0x00,0x00]
+
+v_xad_u32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0x01,0x02]
+
+v_xad_u32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xf3,0xd1,0x01,0x00,0x01,0x02]
+
+v_xad_u32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x65,0x00,0x01,0x02]
+
+v_xad_u32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x66,0x00,0x01,0x02]
+
+v_xad_u32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x67,0x00,0x01,0x02]
+
+v_xad_u32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x6a,0x00,0x01,0x02]
+
+v_xad_u32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x6b,0x00,0x01,0x02]
+
+v_xad_u32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x7c,0x00,0x01,0x02]
+
+v_xad_u32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x7e,0x00,0x01,0x02]
+
+v_xad_u32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x7f,0x00,0x01,0x02]
+
+v_xad_u32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x80,0x00,0x01,0x02]
+
+v_xad_u32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0xc1,0x00,0x01,0x02]
+
+v_xad_u32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0xf0,0x00,0x01,0x02]
+
+v_xad_u32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0xf7,0x00,0x01,0x02]
+
+v_xad_u32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x01,0x01,0x02]
+
+v_xad_u32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0xff,0x01,0x01,0x02]
+
+v_xad_u32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x82,0x01,0x02]
+
+v_xad_u32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xe0,0x01,0x02]
+
+v_xad_u32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xee,0x01,0x02]
+
+v_xad_u32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x04,0x02,0x02]
+
+v_xad_u32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0xfe,0x03,0x02]
+
+v_xad_u32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0x05,0x03]
+
+v_xad_u32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0xc1,0x03]
+
+v_xad_u32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0xdd,0x03]
+
+v_xad_u32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0x0d,0x04]
+
+v_xad_u32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xf3,0xd1,0x01,0x00,0xfd,0x07]
+
+v_lshl_add_u32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0x01,0x02]
+
+v_lshl_add_u32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xfd,0xd1,0x01,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x65,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x66,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x67,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x6a,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x6b,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x7c,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x7e,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x7f,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x80,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0xc1,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0xf0,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0xf7,0x00,0x01,0x02]
+
+v_lshl_add_u32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x01,0x01,0x02]
+
+v_lshl_add_u32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0xff,0x01,0x01,0x02]
+
+v_lshl_add_u32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x82,0x01,0x02]
+
+v_lshl_add_u32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xe0,0x01,0x02]
+
+v_lshl_add_u32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xee,0x01,0x02]
+
+v_lshl_add_u32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x04,0x02,0x02]
+
+v_lshl_add_u32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0xfe,0x03,0x02]
+
+v_lshl_add_u32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0x05,0x03]
+
+v_lshl_add_u32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0xc1,0x03]
+
+v_lshl_add_u32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0xdd,0x03]
+
+v_lshl_add_u32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0x0d,0x04]
+
+v_lshl_add_u32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xfd,0xd1,0x01,0x00,0xfd,0x07]
+
+v_add_lshl_u32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0x01,0x02]
+
+v_add_lshl_u32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xfe,0xd1,0x01,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x65,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x66,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x67,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x6a,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x6b,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x7c,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x7e,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x7f,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x80,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0xc1,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0xf0,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0xf7,0x00,0x01,0x02]
+
+v_add_lshl_u32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x01,0x01,0x02]
+
+v_add_lshl_u32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0xff,0x01,0x01,0x02]
+
+v_add_lshl_u32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x82,0x01,0x02]
+
+v_add_lshl_u32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xe0,0x01,0x02]
+
+v_add_lshl_u32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xee,0x01,0x02]
+
+v_add_lshl_u32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x04,0x02,0x02]
+
+v_add_lshl_u32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0xfe,0x03,0x02]
+
+v_add_lshl_u32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0x05,0x03]
+
+v_add_lshl_u32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0xc1,0x03]
+
+v_add_lshl_u32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0xdd,0x03]
+
+v_add_lshl_u32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0x0d,0x04]
+
+v_add_lshl_u32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xfe,0xd1,0x01,0x00,0xfd,0x07]
+
+v_add3_u32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0x01,0x02]
+
+v_add3_u32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0xff,0xd1,0x01,0x00,0x01,0x02]
+
+v_add3_u32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x65,0x00,0x01,0x02]
+
+v_add3_u32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x66,0x00,0x01,0x02]
+
+v_add3_u32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x67,0x00,0x01,0x02]
+
+v_add3_u32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x6a,0x00,0x01,0x02]
+
+v_add3_u32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x6b,0x00,0x01,0x02]
+
+v_add3_u32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x7c,0x00,0x01,0x02]
+
+v_add3_u32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x7e,0x00,0x01,0x02]
+
+v_add3_u32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x7f,0x00,0x01,0x02]
+
+v_add3_u32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x80,0x00,0x01,0x02]
+
+v_add3_u32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0xc1,0x00,0x01,0x02]
+
+v_add3_u32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0xf0,0x00,0x01,0x02]
+
+v_add3_u32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0xf7,0x00,0x01,0x02]
+
+v_add3_u32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x01,0x01,0x02]
+
+v_add3_u32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0xff,0x01,0x01,0x02]
+
+v_add3_u32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x82,0x01,0x02]
+
+v_add3_u32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xe0,0x01,0x02]
+
+v_add3_u32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xee,0x01,0x02]
+
+v_add3_u32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x04,0x02,0x02]
+
+v_add3_u32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0xfe,0x03,0x02]
+
+v_add3_u32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0x05,0x03]
+
+v_add3_u32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0xc1,0x03]
+
+v_add3_u32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0xdd,0x03]
+
+v_add3_u32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0x0d,0x04]
+
+v_add3_u32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0xff,0xd1,0x01,0x00,0xfd,0x07]
+
+v_lshl_or_b32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0x01,0x02]
+
+v_lshl_or_b32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0x00,0xd2,0x01,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x65,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x66,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x67,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x6a,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x6b,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x7c,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x7e,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x7f,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x80,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0xc1,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0xf0,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0xf7,0x00,0x01,0x02]
+
+v_lshl_or_b32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x01,0x01,0x02]
+
+v_lshl_or_b32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0xff,0x01,0x01,0x02]
+
+v_lshl_or_b32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x82,0x01,0x02]
+
+v_lshl_or_b32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xe0,0x01,0x02]
+
+v_lshl_or_b32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xee,0x01,0x02]
+
+v_lshl_or_b32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x04,0x02,0x02]
+
+v_lshl_or_b32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0xfe,0x03,0x02]
+
+v_lshl_or_b32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0x05,0x03]
+
+v_lshl_or_b32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0xc1,0x03]
+
+v_lshl_or_b32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0xdd,0x03]
+
+v_lshl_or_b32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0x0d,0x04]
+
+v_lshl_or_b32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0x00,0xd2,0x01,0x00,0xfd,0x07]
+
+v_and_or_b32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0x01,0x02]
+
+v_and_or_b32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0x01,0xd2,0x01,0x00,0x01,0x02]
+
+v_and_or_b32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x65,0x00,0x01,0x02]
+
+v_and_or_b32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x66,0x00,0x01,0x02]
+
+v_and_or_b32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x67,0x00,0x01,0x02]
+
+v_and_or_b32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x6a,0x00,0x01,0x02]
+
+v_and_or_b32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x6b,0x00,0x01,0x02]
+
+v_and_or_b32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x7c,0x00,0x01,0x02]
+
+v_and_or_b32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x7e,0x00,0x01,0x02]
+
+v_and_or_b32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x7f,0x00,0x01,0x02]
+
+v_and_or_b32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x80,0x00,0x01,0x02]
+
+v_and_or_b32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0xc1,0x00,0x01,0x02]
+
+v_and_or_b32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0xf0,0x00,0x01,0x02]
+
+v_and_or_b32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0xf7,0x00,0x01,0x02]
+
+v_and_or_b32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x01,0x01,0x02]
+
+v_and_or_b32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0xff,0x01,0x01,0x02]
+
+v_and_or_b32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x82,0x01,0x02]
+
+v_and_or_b32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xe0,0x01,0x02]
+
+v_and_or_b32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xee,0x01,0x02]
+
+v_and_or_b32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x04,0x02,0x02]
+
+v_and_or_b32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0xfe,0x03,0x02]
+
+v_and_or_b32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0x05,0x03]
+
+v_and_or_b32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0xc1,0x03]
+
+v_and_or_b32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0xdd,0x03]
+
+v_and_or_b32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0x0d,0x04]
+
+v_and_or_b32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0x01,0xd2,0x01,0x00,0xfd,0x07]
+
+v_or3_b32 v5, s1, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0x01,0x02]
+
+v_or3_b32 v255, s1, 0, 0
+// CHECK: [0xff,0x00,0x02,0xd2,0x01,0x00,0x01,0x02]
+
+v_or3_b32 v5, s101, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x65,0x00,0x01,0x02]
+
+v_or3_b32 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x66,0x00,0x01,0x02]
+
+v_or3_b32 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x67,0x00,0x01,0x02]
+
+v_or3_b32 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x6a,0x00,0x01,0x02]
+
+v_or3_b32 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x6b,0x00,0x01,0x02]
+
+v_or3_b32 v5, m0, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x7c,0x00,0x01,0x02]
+
+v_or3_b32 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x7e,0x00,0x01,0x02]
+
+v_or3_b32 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x7f,0x00,0x01,0x02]
+
+v_or3_b32 v5, 0, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x80,0x00,0x01,0x02]
+
+v_or3_b32 v5, -1, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0xc1,0x00,0x01,0x02]
+
+v_or3_b32 v5, 0.5, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0xf0,0x00,0x01,0x02]
+
+v_or3_b32 v5, -4.0, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0xf7,0x00,0x01,0x02]
+
+v_or3_b32 v5, v1, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x01,0x01,0x02]
+
+v_or3_b32 v5, v255, 0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0xff,0x01,0x01,0x02]
+
+v_or3_b32 v5, s1, -1, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x82,0x01,0x02]
+
+v_or3_b32 v5, s1, 0.5, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xe0,0x01,0x02]
+
+v_or3_b32 v5, s1, -4.0, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xee,0x01,0x02]
+
+v_or3_b32 v5, s1, v2, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x04,0x02,0x02]
+
+v_or3_b32 v5, s1, v255, 0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0xfe,0x03,0x02]
+
+v_or3_b32 v5, s1, 0, -1
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0x05,0x03]
+
+v_or3_b32 v5, s1, 0, 0.5
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0xc1,0x03]
+
+v_or3_b32 v5, s1, 0, -4.0
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0xdd,0x03]
+
+v_or3_b32 v5, s1, 0, v3
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0x0d,0x04]
+
+v_or3_b32 v5, s1, 0, v255
+// CHECK: [0x05,0x00,0x02,0xd2,0x01,0x00,0xfd,0x07]
+
+v_add_f64 v[5:6], s[4:5], s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x00]
+
+v_add_f64 v[254:255], s[4:5], s[4:5]
+// CHECK: [0xfe,0x00,0x80,0xd2,0x04,0x08,0x00,0x00]
+
+v_add_f64 v[5:6], 0, s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0x80,0x08,0x00,0x00]
+
+v_add_f64 v[5:6], -1, s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0xc1,0x08,0x00,0x00]
+
+v_add_f64 v[5:6], 0.5, s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0xf0,0x08,0x00,0x00]
+
+v_add_f64 v[5:6], -4.0, s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0xf7,0x08,0x00,0x00]
+
+v_add_f64 v[5:6], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0x01,0x09,0x00,0x00]
+
+v_add_f64 v[5:6], v[254:255], s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0xfe,0x09,0x00,0x00]
+
+v_add_f64 v[5:6], s[4:5], 0
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x00,0x01,0x00]
+
+v_add_f64 v[5:6], s[4:5], -1
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x82,0x01,0x00]
+
+v_add_f64 v[5:6], s[4:5], 0.5
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0xe0,0x01,0x00]
+
+v_add_f64 v[5:6], s[4:5], -4.0
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0xee,0x01,0x00]
+
+v_add_f64 v[5:6], s[4:5], v[2:3]
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x04,0x02,0x00]
+
+v_add_f64 v[5:6], s[4:5], v[254:255]
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0xfc,0x03,0x00]
+
+v_add_f64 v[5:6], -s[4:5], s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x20]
+
+v_add_f64 v[5:6], s[4:5], -s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x40]
+
+v_add_f64 v[5:6], -s[4:5], -s[4:5]
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x60]
+
+v_add_f64 v[5:6], |s[4:5]|, s[4:5]
+// CHECK: [0x05,0x01,0x80,0xd2,0x04,0x08,0x00,0x00]
+
+v_add_f64 v[5:6], s[4:5], |s[4:5]|
+// CHECK: [0x05,0x02,0x80,0xd2,0x04,0x08,0x00,0x00]
+
+v_add_f64 v[5:6], |s[4:5]|, |s[4:5]|
+// CHECK: [0x05,0x03,0x80,0xd2,0x04,0x08,0x00,0x00]
+
+v_add_f64 v[5:6], s[4:5], s[4:5] clamp
+// CHECK: [0x05,0x80,0x80,0xd2,0x04,0x08,0x00,0x00]
+
+v_add_f64 v[5:6], s[4:5], s[4:5] mul:2
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x08]
+
+v_add_f64 v[5:6], s[4:5], s[4:5] mul:4
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x10]
+
+v_add_f64 v[5:6], s[4:5], s[4:5] div:2
+// CHECK: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x18]
+
+v_mul_f64 v[5:6], s[4:5], s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x00]
+
+v_mul_f64 v[254:255], s[4:5], s[4:5]
+// CHECK: [0xfe,0x00,0x81,0xd2,0x04,0x08,0x00,0x00]
+
+v_mul_f64 v[5:6], 0, s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0x80,0x08,0x00,0x00]
+
+v_mul_f64 v[5:6], -1, s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0xc1,0x08,0x00,0x00]
+
+v_mul_f64 v[5:6], 0.5, s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0xf0,0x08,0x00,0x00]
+
+v_mul_f64 v[5:6], -4.0, s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0xf7,0x08,0x00,0x00]
+
+v_mul_f64 v[5:6], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0x01,0x09,0x00,0x00]
+
+v_mul_f64 v[5:6], v[254:255], s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0xfe,0x09,0x00,0x00]
+
+v_mul_f64 v[5:6], s[4:5], 0
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x00,0x01,0x00]
+
+v_mul_f64 v[5:6], s[4:5], -1
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x82,0x01,0x00]
+
+v_mul_f64 v[5:6], s[4:5], 0.5
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0xe0,0x01,0x00]
+
+v_mul_f64 v[5:6], s[4:5], -4.0
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0xee,0x01,0x00]
+
+v_mul_f64 v[5:6], s[4:5], v[2:3]
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x04,0x02,0x00]
+
+v_mul_f64 v[5:6], s[4:5], v[254:255]
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0xfc,0x03,0x00]
+
+v_mul_f64 v[5:6], -s[4:5], s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x20]
+
+v_mul_f64 v[5:6], s[4:5], -s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x40]
+
+v_mul_f64 v[5:6], -s[4:5], -s[4:5]
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x60]
+
+v_mul_f64 v[5:6], |s[4:5]|, s[4:5]
+// CHECK: [0x05,0x01,0x81,0xd2,0x04,0x08,0x00,0x00]
+
+v_mul_f64 v[5:6], s[4:5], |s[4:5]|
+// CHECK: [0x05,0x02,0x81,0xd2,0x04,0x08,0x00,0x00]
+
+v_mul_f64 v[5:6], |s[4:5]|, |s[4:5]|
+// CHECK: [0x05,0x03,0x81,0xd2,0x04,0x08,0x00,0x00]
+
+v_mul_f64 v[5:6], s[4:5], s[4:5] clamp
+// CHECK: [0x05,0x80,0x81,0xd2,0x04,0x08,0x00,0x00]
+
+v_mul_f64 v[5:6], s[4:5], s[4:5] mul:2
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x08]
+
+v_mul_f64 v[5:6], s[4:5], s[4:5] mul:4
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x10]
+
+v_mul_f64 v[5:6], s[4:5], s[4:5] div:2
+// CHECK: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x18]
+
+v_min_f64 v[5:6], s[4:5], s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x00]
+
+v_min_f64 v[254:255], s[4:5], s[4:5]
+// CHECK: [0xfe,0x00,0x82,0xd2,0x04,0x08,0x00,0x00]
+
+v_min_f64 v[5:6], 0, s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0x80,0x08,0x00,0x00]
+
+v_min_f64 v[5:6], -1, s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0xc1,0x08,0x00,0x00]
+
+v_min_f64 v[5:6], 0.5, s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0xf0,0x08,0x00,0x00]
+
+v_min_f64 v[5:6], -4.0, s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0xf7,0x08,0x00,0x00]
+
+v_min_f64 v[5:6], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0x01,0x09,0x00,0x00]
+
+v_min_f64 v[5:6], v[254:255], s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0xfe,0x09,0x00,0x00]
+
+v_min_f64 v[5:6], s[4:5], 0
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x00,0x01,0x00]
+
+v_min_f64 v[5:6], s[4:5], -1
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x82,0x01,0x00]
+
+v_min_f64 v[5:6], s[4:5], 0.5
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0xe0,0x01,0x00]
+
+v_min_f64 v[5:6], s[4:5], -4.0
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0xee,0x01,0x00]
+
+v_min_f64 v[5:6], s[4:5], v[2:3]
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x04,0x02,0x00]
+
+v_min_f64 v[5:6], s[4:5], v[254:255]
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0xfc,0x03,0x00]
+
+v_min_f64 v[5:6], -s[4:5], s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x20]
+
+v_min_f64 v[5:6], s[4:5], -s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x40]
+
+v_min_f64 v[5:6], -s[4:5], -s[4:5]
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x60]
+
+v_min_f64 v[5:6], |s[4:5]|, s[4:5]
+// CHECK: [0x05,0x01,0x82,0xd2,0x04,0x08,0x00,0x00]
+
+v_min_f64 v[5:6], s[4:5], |s[4:5]|
+// CHECK: [0x05,0x02,0x82,0xd2,0x04,0x08,0x00,0x00]
+
+v_min_f64 v[5:6], |s[4:5]|, |s[4:5]|
+// CHECK: [0x05,0x03,0x82,0xd2,0x04,0x08,0x00,0x00]
+
+v_min_f64 v[5:6], s[4:5], s[4:5] clamp
+// CHECK: [0x05,0x80,0x82,0xd2,0x04,0x08,0x00,0x00]
+
+v_min_f64 v[5:6], s[4:5], s[4:5] mul:2
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x08]
+
+v_min_f64 v[5:6], s[4:5], s[4:5] mul:4
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x10]
+
+v_min_f64 v[5:6], s[4:5], s[4:5] div:2
+// CHECK: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x18]
+
+v_max_f64 v[5:6], s[4:5], s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x00]
+
+v_max_f64 v[254:255], s[4:5], s[4:5]
+// CHECK: [0xfe,0x00,0x83,0xd2,0x04,0x08,0x00,0x00]
+
+v_max_f64 v[5:6], 0, s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0x80,0x08,0x00,0x00]
+
+v_max_f64 v[5:6], -1, s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0xc1,0x08,0x00,0x00]
+
+v_max_f64 v[5:6], 0.5, s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0xf0,0x08,0x00,0x00]
+
+v_max_f64 v[5:6], -4.0, s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0xf7,0x08,0x00,0x00]
+
+v_max_f64 v[5:6], v[1:2], s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0x01,0x09,0x00,0x00]
+
+v_max_f64 v[5:6], v[254:255], s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0xfe,0x09,0x00,0x00]
+
+v_max_f64 v[5:6], s[4:5], 0
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x00,0x01,0x00]
+
+v_max_f64 v[5:6], s[4:5], -1
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x82,0x01,0x00]
+
+v_max_f64 v[5:6], s[4:5], 0.5
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0xe0,0x01,0x00]
+
+v_max_f64 v[5:6], s[4:5], -4.0
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0xee,0x01,0x00]
+
+v_max_f64 v[5:6], s[4:5], v[2:3]
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x04,0x02,0x00]
+
+v_max_f64 v[5:6], s[4:5], v[254:255]
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0xfc,0x03,0x00]
+
+v_max_f64 v[5:6], -s[4:5], s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x20]
+
+v_max_f64 v[5:6], s[4:5], -s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x40]
+
+v_max_f64 v[5:6], -s[4:5], -s[4:5]
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x60]
+
+v_max_f64 v[5:6], |s[4:5]|, s[4:5]
+// CHECK: [0x05,0x01,0x83,0xd2,0x04,0x08,0x00,0x00]
+
+v_max_f64 v[5:6], s[4:5], |s[4:5]|
+// CHECK: [0x05,0x02,0x83,0xd2,0x04,0x08,0x00,0x00]
+
+v_max_f64 v[5:6], |s[4:5]|, |s[4:5]|
+// CHECK: [0x05,0x03,0x83,0xd2,0x04,0x08,0x00,0x00]
+
+v_max_f64 v[5:6], s[4:5], s[4:5] clamp
+// CHECK: [0x05,0x80,0x83,0xd2,0x04,0x08,0x00,0x00]
+
+v_max_f64 v[5:6], s[4:5], s[4:5] mul:2
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x08]
+
+v_max_f64 v[5:6], s[4:5], s[4:5] mul:4
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x10]
+
+v_max_f64 v[5:6], s[4:5], s[4:5] div:2
+// CHECK: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x18]
+
+v_ldexp_f64 v[5:6], 0, s2
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x00]
+
+v_ldexp_f64 v[254:255], 0, s2
+// CHECK: [0xfe,0x00,0x84,0xd2,0x80,0x04,0x00,0x00]
+
+v_ldexp_f64 v[5:6], -1, s2
+// CHECK: [0x05,0x00,0x84,0xd2,0xc1,0x04,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0.5, s2
+// CHECK: [0x05,0x00,0x84,0xd2,0xf0,0x04,0x00,0x00]
+
+v_ldexp_f64 v[5:6], -4.0, s2
+// CHECK: [0x05,0x00,0x84,0xd2,0xf7,0x04,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[1:2], s2
+// CHECK: [0x05,0x00,0x84,0xd2,0x01,0x05,0x00,0x00]
+
+v_ldexp_f64 v[5:6], v[254:255], s2
+// CHECK: [0x05,0x00,0x84,0xd2,0xfe,0x05,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, s101
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xca,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xcc,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xce,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, vcc_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xd4,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, vcc_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xd6,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, m0
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xf8,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, exec_lo
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xfc,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, exec_hi
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xfe,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, 0
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x00,0x01,0x00]
+
+v_ldexp_f64 v[5:6], 0, -1
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x82,0x01,0x00]
+
+v_ldexp_f64 v[5:6], 0, 0.5
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xe0,0x01,0x00]
+
+v_ldexp_f64 v[5:6], 0, -4.0
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xee,0x01,0x00]
+
+v_ldexp_f64 v[5:6], 0, v2
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x02,0x00]
+
+v_ldexp_f64 v[5:6], 0, v255
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0xfe,0x03,0x00]
+
+v_ldexp_f64 v[5:6], neg(0), s2
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x20]
+
+v_ldexp_f64 v[5:6], |0|, s2
+// CHECK: [0x05,0x01,0x84,0xd2,0x80,0x04,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, s2 clamp
+// CHECK: [0x05,0x80,0x84,0xd2,0x80,0x04,0x00,0x00]
+
+v_ldexp_f64 v[5:6], 0, s2 mul:2
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x08]
+
+v_ldexp_f64 v[5:6], 0, s2 mul:4
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x10]
+
+v_ldexp_f64 v[5:6], 0, s2 div:2
+// CHECK: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x18]
+
+v_mul_lo_u32 v5, 0, s2
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0x04,0x00,0x00]
+
+v_mul_lo_u32 v255, 0, s2
+// CHECK: [0xff,0x00,0x85,0xd2,0x80,0x04,0x00,0x00]
+
+v_mul_lo_u32 v5, -1, s2
+// CHECK: [0x05,0x00,0x85,0xd2,0xc1,0x04,0x00,0x00]
+
+v_mul_lo_u32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x85,0xd2,0xf0,0x04,0x00,0x00]
+
+v_mul_lo_u32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x85,0xd2,0xf7,0x04,0x00,0x00]
+
+v_mul_lo_u32 v5, v1, s2
+// CHECK: [0x05,0x00,0x85,0xd2,0x01,0x05,0x00,0x00]
+
+v_mul_lo_u32 v5, v255, s2
+// CHECK: [0x05,0x00,0x85,0xd2,0xff,0x05,0x00,0x00]
+
+v_mul_lo_u32 v5, 0, s101
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xca,0x00,0x00]
+
+v_mul_lo_u32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xcc,0x00,0x00]
+
+v_mul_lo_u32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xce,0x00,0x00]
+
+v_mul_lo_u32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xd4,0x00,0x00]
+
+v_mul_lo_u32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xd6,0x00,0x00]
+
+v_mul_lo_u32 v5, 0, m0
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xf8,0x00,0x00]
+
+v_mul_lo_u32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xfc,0x00,0x00]
+
+v_mul_lo_u32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xfe,0x00,0x00]
+
+v_mul_lo_u32 v5, 0, 0
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0x00,0x01,0x00]
+
+v_mul_lo_u32 v5, 0, -1
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0x82,0x01,0x00]
+
+v_mul_lo_u32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xe0,0x01,0x00]
+
+v_mul_lo_u32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xee,0x01,0x00]
+
+v_mul_lo_u32 v5, 0, v2
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0x04,0x02,0x00]
+
+v_mul_lo_u32 v5, 0, v255
+// CHECK: [0x05,0x00,0x85,0xd2,0x80,0xfe,0x03,0x00]
+
+v_mul_hi_u32 v5, 0, s2
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x04,0x00,0x00]
+
+v_mul_hi_u32 v255, 0, s2
+// CHECK: [0xff,0x00,0x86,0xd2,0x80,0x04,0x00,0x00]
+
+v_mul_hi_u32 v5, -1, s2
+// CHECK: [0x05,0x00,0x86,0xd2,0xc1,0x04,0x00,0x00]
+
+v_mul_hi_u32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x86,0xd2,0xf0,0x04,0x00,0x00]
+
+v_mul_hi_u32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x86,0xd2,0xf7,0x04,0x00,0x00]
+
+v_mul_hi_u32 v5, v1, s2
+// CHECK: [0x05,0x00,0x86,0xd2,0x01,0x05,0x00,0x00]
+
+v_mul_hi_u32 v5, v255, s2
+// CHECK: [0x05,0x00,0x86,0xd2,0xff,0x05,0x00,0x00]
+
+v_mul_hi_u32 v5, 0, s101
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xca,0x00,0x00]
+
+v_mul_hi_u32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xcc,0x00,0x00]
+
+v_mul_hi_u32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xce,0x00,0x00]
+
+v_mul_hi_u32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xd4,0x00,0x00]
+
+v_mul_hi_u32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xd6,0x00,0x00]
+
+v_mul_hi_u32 v5, 0, m0
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xf8,0x00,0x00]
+
+v_mul_hi_u32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xfc,0x00,0x00]
+
+v_mul_hi_u32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xfe,0x00,0x00]
+
+v_mul_hi_u32 v5, 0, 0
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x00,0x01,0x00]
+
+v_mul_hi_u32 v5, 0, -1
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x82,0x01,0x00]
+
+v_mul_hi_u32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xe0,0x01,0x00]
+
+v_mul_hi_u32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xee,0x01,0x00]
+
+v_mul_hi_u32 v5, 0, v2
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0x04,0x02,0x00]
+
+v_mul_hi_u32 v5, 0, v255
+// CHECK: [0x05,0x00,0x86,0xd2,0x80,0xfe,0x03,0x00]
+
+v_mul_hi_i32 v5, 0, s2
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0x04,0x00,0x00]
+
+v_mul_hi_i32 v255, 0, s2
+// CHECK: [0xff,0x00,0x87,0xd2,0x80,0x04,0x00,0x00]
+
+v_mul_hi_i32 v5, -1, s2
+// CHECK: [0x05,0x00,0x87,0xd2,0xc1,0x04,0x00,0x00]
+
+v_mul_hi_i32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x87,0xd2,0xf0,0x04,0x00,0x00]
+
+v_mul_hi_i32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x87,0xd2,0xf7,0x04,0x00,0x00]
+
+v_mul_hi_i32 v5, v1, s2
+// CHECK: [0x05,0x00,0x87,0xd2,0x01,0x05,0x00,0x00]
+
+v_mul_hi_i32 v5, v255, s2
+// CHECK: [0x05,0x00,0x87,0xd2,0xff,0x05,0x00,0x00]
+
+v_mul_hi_i32 v5, 0, s101
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xca,0x00,0x00]
+
+v_mul_hi_i32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xcc,0x00,0x00]
+
+v_mul_hi_i32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xce,0x00,0x00]
+
+v_mul_hi_i32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xd4,0x00,0x00]
+
+v_mul_hi_i32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xd6,0x00,0x00]
+
+v_mul_hi_i32 v5, 0, m0
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xf8,0x00,0x00]
+
+v_mul_hi_i32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xfc,0x00,0x00]
+
+v_mul_hi_i32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xfe,0x00,0x00]
+
+v_mul_hi_i32 v5, 0, 0
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0x00,0x01,0x00]
+
+v_mul_hi_i32 v5, 0, -1
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0x82,0x01,0x00]
+
+v_mul_hi_i32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xe0,0x01,0x00]
+
+v_mul_hi_i32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xee,0x01,0x00]
+
+v_mul_hi_i32 v5, 0, v2
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0x04,0x02,0x00]
+
+v_mul_hi_i32 v5, 0, v255
+// CHECK: [0x05,0x00,0x87,0xd2,0x80,0xfe,0x03,0x00]
+
+v_ldexp_f32 v5, 0, s2
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x00]
+
+v_ldexp_f32 v255, 0, s2
+// CHECK: [0xff,0x00,0x88,0xd2,0x80,0x04,0x00,0x00]
+
+v_ldexp_f32 v5, -1, s2
+// CHECK: [0x05,0x00,0x88,0xd2,0xc1,0x04,0x00,0x00]
+
+v_ldexp_f32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x88,0xd2,0xf0,0x04,0x00,0x00]
+
+v_ldexp_f32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x88,0xd2,0xf7,0x04,0x00,0x00]
+
+v_ldexp_f32 v5, v1, s2
+// CHECK: [0x05,0x00,0x88,0xd2,0x01,0x05,0x00,0x00]
+
+v_ldexp_f32 v5, v255, s2
+// CHECK: [0x05,0x00,0x88,0xd2,0xff,0x05,0x00,0x00]
+
+v_ldexp_f32 v5, 0, s101
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xca,0x00,0x00]
+
+v_ldexp_f32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xcc,0x00,0x00]
+
+v_ldexp_f32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xce,0x00,0x00]
+
+v_ldexp_f32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xd4,0x00,0x00]
+
+v_ldexp_f32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xd6,0x00,0x00]
+
+v_ldexp_f32 v5, 0, m0
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xf8,0x00,0x00]
+
+v_ldexp_f32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xfc,0x00,0x00]
+
+v_ldexp_f32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xfe,0x00,0x00]
+
+v_ldexp_f32 v5, 0, 0
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x00,0x01,0x00]
+
+v_ldexp_f32 v5, 0, -1
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x82,0x01,0x00]
+
+v_ldexp_f32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xe0,0x01,0x00]
+
+v_ldexp_f32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xee,0x01,0x00]
+
+v_ldexp_f32 v5, 0, v2
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x02,0x00]
+
+v_ldexp_f32 v5, 0, v255
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0xfe,0x03,0x00]
+
+v_ldexp_f32 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x20]
+
+v_ldexp_f32 v5, |0|, s2
+// CHECK: [0x05,0x01,0x88,0xd2,0x80,0x04,0x00,0x00]
+
+v_ldexp_f32 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x88,0xd2,0x80,0x04,0x00,0x00]
+
+v_ldexp_f32 v5, 0, s2 mul:2
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x08]
+
+v_ldexp_f32 v5, 0, s2 mul:4
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x10]
+
+v_ldexp_f32 v5, 0, s2 div:2
+// CHECK: [0x05,0x00,0x88,0xd2,0x80,0x04,0x00,0x18]
+
+v_readlane_b32 s5, v1, s2
+// CHECK: [0x05,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+
+v_readlane_b32 s101, v1, s2
+// CHECK: [0x65,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+
+v_readlane_b32 flat_scratch_lo, v1, s2
+// CHECK: [0x66,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+
+v_readlane_b32 flat_scratch_hi, v1, s2
+// CHECK: [0x67,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+
+v_readlane_b32 s5, v255, s2
+// CHECK: [0x05,0x00,0x89,0xd2,0xff,0x05,0x00,0x00]
+
+v_readlane_b32 s5, v1, s101
+// CHECK: [0x05,0x00,0x89,0xd2,0x01,0xcb,0x00,0x00]
+
+v_readlane_b32 s5, v1, flat_scratch_lo
+// CHECK: [0x05,0x00,0x89,0xd2,0x01,0xcd,0x00,0x00]
+
+v_readlane_b32 s5, v1, flat_scratch_hi
+// CHECK: [0x05,0x00,0x89,0xd2,0x01,0xcf,0x00,0x00]
+
+v_readlane_b32 s5, v1, vcc_lo
+// CHECK: [0x05,0x00,0x89,0xd2,0x01,0xd5,0x00,0x00]
+
+v_readlane_b32 s5, v1, vcc_hi
+// CHECK: [0x05,0x00,0x89,0xd2,0x01,0xd7,0x00,0x00]
+
+v_readlane_b32 s5, v1, m0
+// CHECK: [0x05,0x00,0x89,0xd2,0x01,0xf9,0x00,0x00]
+
+v_readlane_b32 s5, v1, 0
+// CHECK: [0x05,0x00,0x89,0xd2,0x01,0x01,0x01,0x00]
+
+v_writelane_b32 v5, 0, s2
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0x04,0x00,0x00]
+
+v_writelane_b32 v255, 0, s2
+// CHECK: [0xff,0x00,0x8a,0xd2,0x80,0x04,0x00,0x00]
+
+v_writelane_b32 v5, -1, s2
+// CHECK: [0x05,0x00,0x8a,0xd2,0xc1,0x04,0x00,0x00]
+
+v_writelane_b32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x8a,0xd2,0xf0,0x04,0x00,0x00]
+
+v_writelane_b32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x8a,0xd2,0xf7,0x04,0x00,0x00]
+
+v_writelane_b32 v5, 0, s101
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xca,0x00,0x00]
+
+v_writelane_b32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xcc,0x00,0x00]
+
+v_writelane_b32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xce,0x00,0x00]
+
+v_writelane_b32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xd4,0x00,0x00]
+
+v_writelane_b32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xd6,0x00,0x00]
+
+v_writelane_b32 v5, 0, m0
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0xf8,0x00,0x00]
+
+v_writelane_b32 v5, 0, 0
+// CHECK: [0x05,0x00,0x8a,0xd2,0x80,0x00,0x01,0x00]
+
+v_bcnt_u32_b32 v5, 0, s2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x04,0x00,0x00]
+
+v_bcnt_u32_b32 v255, 0, s2
+// CHECK: [0xff,0x00,0x8b,0xd2,0x80,0x04,0x00,0x00]
+
+v_bcnt_u32_b32 v5, -1, s2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xc1,0x04,0x00,0x00]
+
+v_bcnt_u32_b32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xf0,0x04,0x00,0x00]
+
+v_bcnt_u32_b32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xf7,0x04,0x00,0x00]
+
+v_bcnt_u32_b32 v5, v1, s2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x01,0x05,0x00,0x00]
+
+v_bcnt_u32_b32 v5, v255, s2
+// CHECK: [0x05,0x00,0x8b,0xd2,0xff,0x05,0x00,0x00]
+
+v_bcnt_u32_b32 v5, 0, s101
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xca,0x00,0x00]
+
+v_bcnt_u32_b32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xcc,0x00,0x00]
+
+v_bcnt_u32_b32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xce,0x00,0x00]
+
+v_bcnt_u32_b32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xd4,0x00,0x00]
+
+v_bcnt_u32_b32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xd6,0x00,0x00]
+
+v_bcnt_u32_b32 v5, 0, m0
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xf8,0x00,0x00]
+
+v_bcnt_u32_b32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xfc,0x00,0x00]
+
+v_bcnt_u32_b32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xfe,0x00,0x00]
+
+v_bcnt_u32_b32 v5, 0, 0
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x00,0x01,0x00]
+
+v_bcnt_u32_b32 v5, 0, -1
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x82,0x01,0x00]
+
+v_bcnt_u32_b32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xe0,0x01,0x00]
+
+v_bcnt_u32_b32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xee,0x01,0x00]
+
+v_bcnt_u32_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0x04,0x02,0x00]
+
+v_bcnt_u32_b32 v5, 0, v255
+// CHECK: [0x05,0x00,0x8b,0xd2,0x80,0xfe,0x03,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, s2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v255, 0, s2
+// CHECK: [0xff,0x00,0x8c,0xd2,0x80,0x04,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, -1, s2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xc1,0x04,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xf0,0x04,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xf7,0x04,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, v1, s2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x01,0x05,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, v255, s2
+// CHECK: [0x05,0x00,0x8c,0xd2,0xff,0x05,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, s101
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xca,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xcc,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xce,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xd4,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xd6,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, m0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xf8,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xfc,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xfe,0x00,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, 0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x00,0x01,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, -1
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x82,0x01,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xe0,0x01,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xee,0x01,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0x04,0x02,0x00]
+
+v_mbcnt_lo_u32_b32 v5, 0, v255
+// CHECK: [0x05,0x00,0x8c,0xd2,0x80,0xfe,0x03,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, s2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x04,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v255, 0, s2
+// CHECK: [0xff,0x00,0x8d,0xd2,0x80,0x04,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, -1, s2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xc1,0x04,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xf0,0x04,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xf7,0x04,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, v1, s2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x01,0x05,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, v255, s2
+// CHECK: [0x05,0x00,0x8d,0xd2,0xff,0x05,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, s101
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xca,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xcc,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xce,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xd4,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xd6,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, m0
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xf8,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xfc,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xfe,0x00,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, 0
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x00,0x01,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, -1
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x82,0x01,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xe0,0x01,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xee,0x01,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0x04,0x02,0x00]
+
+v_mbcnt_hi_u32_b32 v5, 0, v255
+// CHECK: [0x05,0x00,0x8d,0xd2,0x80,0xfe,0x03,0x00]
+
+v_lshlrev_b64 v[5:6], 0, s[4:5]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x08,0x00,0x00]
+
+v_lshlrev_b64 v[254:255], 0, s[4:5]
+// CHECK: [0xfe,0x00,0x8f,0xd2,0x80,0x08,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], -1, s[4:5]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xc1,0x08,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], 0.5, s[4:5]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xf0,0x08,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], -4.0, s[4:5]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xf7,0x08,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], v1, s[4:5]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x01,0x09,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], v255, s[4:5]
+// CHECK: [0x05,0x00,0x8f,0xd2,0xff,0x09,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], 0, s[6:7]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x0c,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], 0, s[100:101]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xc8,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], 0, flat_scratch
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xcc,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], 0, vcc
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xd4,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], 0, exec
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xfc,0x00,0x00]
+
+v_lshlrev_b64 v[5:6], 0, 0
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x00,0x01,0x00]
+
+v_lshlrev_b64 v[5:6], 0, -1
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x82,0x01,0x00]
+
+v_lshlrev_b64 v[5:6], 0, 0.5
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xe0,0x01,0x00]
+
+v_lshlrev_b64 v[5:6], 0, -4.0
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xee,0x01,0x00]
+
+v_lshlrev_b64 v[5:6], 0, v[2:3]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0x04,0x02,0x00]
+
+v_lshlrev_b64 v[5:6], 0, v[254:255]
+// CHECK: [0x05,0x00,0x8f,0xd2,0x80,0xfc,0x03,0x00]
+
+v_lshrrev_b64 v[5:6], 0, s[4:5]
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x08,0x00,0x00]
+
+v_lshrrev_b64 v[254:255], 0, s[4:5]
+// CHECK: [0xfe,0x00,0x90,0xd2,0x80,0x08,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], -1, s[4:5]
+// CHECK: [0x05,0x00,0x90,0xd2,0xc1,0x08,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], 0.5, s[4:5]
+// CHECK: [0x05,0x00,0x90,0xd2,0xf0,0x08,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], -4.0, s[4:5]
+// CHECK: [0x05,0x00,0x90,0xd2,0xf7,0x08,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], v1, s[4:5]
+// CHECK: [0x05,0x00,0x90,0xd2,0x01,0x09,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], v255, s[4:5]
+// CHECK: [0x05,0x00,0x90,0xd2,0xff,0x09,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], 0, s[6:7]
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x0c,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], 0, s[100:101]
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xc8,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], 0, flat_scratch
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xcc,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], 0, vcc
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xd4,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], 0, exec
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xfc,0x00,0x00]
+
+v_lshrrev_b64 v[5:6], 0, 0
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x00,0x01,0x00]
+
+v_lshrrev_b64 v[5:6], 0, -1
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x82,0x01,0x00]
+
+v_lshrrev_b64 v[5:6], 0, 0.5
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xe0,0x01,0x00]
+
+v_lshrrev_b64 v[5:6], 0, -4.0
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xee,0x01,0x00]
+
+v_lshrrev_b64 v[5:6], 0, v[2:3]
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0x04,0x02,0x00]
+
+v_lshrrev_b64 v[5:6], 0, v[254:255]
+// CHECK: [0x05,0x00,0x90,0xd2,0x80,0xfc,0x03,0x00]
+
+v_ashrrev_i64 v[5:6], 0, s[4:5]
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x08,0x00,0x00]
+
+v_ashrrev_i64 v[254:255], 0, s[4:5]
+// CHECK: [0xfe,0x00,0x91,0xd2,0x80,0x08,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], -1, s[4:5]
+// CHECK: [0x05,0x00,0x91,0xd2,0xc1,0x08,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], 0.5, s[4:5]
+// CHECK: [0x05,0x00,0x91,0xd2,0xf0,0x08,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], -4.0, s[4:5]
+// CHECK: [0x05,0x00,0x91,0xd2,0xf7,0x08,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], v1, s[4:5]
+// CHECK: [0x05,0x00,0x91,0xd2,0x01,0x09,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], v255, s[4:5]
+// CHECK: [0x05,0x00,0x91,0xd2,0xff,0x09,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], 0, s[6:7]
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x0c,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], 0, s[100:101]
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xc8,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], 0, flat_scratch
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xcc,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], 0, vcc
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xd4,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], 0, exec
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xfc,0x00,0x00]
+
+v_ashrrev_i64 v[5:6], 0, 0
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x00,0x01,0x00]
+
+v_ashrrev_i64 v[5:6], 0, -1
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x82,0x01,0x00]
+
+v_ashrrev_i64 v[5:6], 0, 0.5
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xe0,0x01,0x00]
+
+v_ashrrev_i64 v[5:6], 0, -4.0
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xee,0x01,0x00]
+
+v_ashrrev_i64 v[5:6], 0, v[2:3]
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0x04,0x02,0x00]
+
+v_ashrrev_i64 v[5:6], 0, v[254:255]
+// CHECK: [0x05,0x00,0x91,0xd2,0x80,0xfc,0x03,0x00]
+
+v_trig_preop_f64 v[5:6], 0, s2
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x00]
+
+v_trig_preop_f64 v[254:255], 0, s2
+// CHECK: [0xfe,0x00,0x92,0xd2,0x80,0x04,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], -1, s2
+// CHECK: [0x05,0x00,0x92,0xd2,0xc1,0x04,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0.5, s2
+// CHECK: [0x05,0x00,0x92,0xd2,0xf0,0x04,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], -4.0, s2
+// CHECK: [0x05,0x00,0x92,0xd2,0xf7,0x04,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], v[1:2], s2
+// CHECK: [0x05,0x00,0x92,0xd2,0x01,0x05,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], v[254:255], s2
+// CHECK: [0x05,0x00,0x92,0xd2,0xfe,0x05,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, s101
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xca,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xcc,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xce,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, vcc_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xd4,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, vcc_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xd6,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, m0
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xf8,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, exec_lo
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xfc,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, exec_hi
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xfe,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, 0
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x00,0x01,0x00]
+
+v_trig_preop_f64 v[5:6], 0, -1
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x82,0x01,0x00]
+
+v_trig_preop_f64 v[5:6], 0, 0.5
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xe0,0x01,0x00]
+
+v_trig_preop_f64 v[5:6], 0, -4.0
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xee,0x01,0x00]
+
+v_trig_preop_f64 v[5:6], 0, v2
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x02,0x00]
+
+v_trig_preop_f64 v[5:6], 0, v255
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0xfe,0x03,0x00]
+
+v_trig_preop_f64 v[5:6], neg(0), s2
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x20]
+
+v_trig_preop_f64 v[5:6], |0|, s2
+// CHECK: [0x05,0x01,0x92,0xd2,0x80,0x04,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, s2 clamp
+// CHECK: [0x05,0x80,0x92,0xd2,0x80,0x04,0x00,0x00]
+
+v_trig_preop_f64 v[5:6], 0, s2 mul:2
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x08]
+
+v_trig_preop_f64 v[5:6], 0, s2 mul:4
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x10]
+
+v_trig_preop_f64 v[5:6], 0, s2 div:2
+// CHECK: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x18]
+
+v_bfm_b32 v5, 0, s2
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x04,0x00,0x00]
+
+v_bfm_b32 v255, 0, s2
+// CHECK: [0xff,0x00,0x93,0xd2,0x80,0x04,0x00,0x00]
+
+v_bfm_b32 v5, -1, s2
+// CHECK: [0x05,0x00,0x93,0xd2,0xc1,0x04,0x00,0x00]
+
+v_bfm_b32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x93,0xd2,0xf0,0x04,0x00,0x00]
+
+v_bfm_b32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x93,0xd2,0xf7,0x04,0x00,0x00]
+
+v_bfm_b32 v5, v1, s2
+// CHECK: [0x05,0x00,0x93,0xd2,0x01,0x05,0x00,0x00]
+
+v_bfm_b32 v5, v255, s2
+// CHECK: [0x05,0x00,0x93,0xd2,0xff,0x05,0x00,0x00]
+
+v_bfm_b32 v5, 0, s101
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xca,0x00,0x00]
+
+v_bfm_b32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xcc,0x00,0x00]
+
+v_bfm_b32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xce,0x00,0x00]
+
+v_bfm_b32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xd4,0x00,0x00]
+
+v_bfm_b32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xd6,0x00,0x00]
+
+v_bfm_b32 v5, 0, m0
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xf8,0x00,0x00]
+
+v_bfm_b32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xfc,0x00,0x00]
+
+v_bfm_b32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xfe,0x00,0x00]
+
+v_bfm_b32 v5, 0, 0
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x00,0x01,0x00]
+
+v_bfm_b32 v5, 0, -1
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x82,0x01,0x00]
+
+v_bfm_b32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xe0,0x01,0x00]
+
+v_bfm_b32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xee,0x01,0x00]
+
+v_bfm_b32 v5, 0, v2
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0x04,0x02,0x00]
+
+v_bfm_b32 v5, 0, v255
+// CHECK: [0x05,0x00,0x93,0xd2,0x80,0xfe,0x03,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, s2
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v255, 0, s2
+// CHECK: [0xff,0x00,0x94,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, -1, s2
+// CHECK: [0x05,0x00,0x94,0xd2,0xc1,0x04,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x94,0xd2,0xf0,0x04,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x94,0xd2,0xf7,0x04,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, v1, s2
+// CHECK: [0x05,0x00,0x94,0xd2,0x01,0x05,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, v255, s2
+// CHECK: [0x05,0x00,0x94,0xd2,0xff,0x05,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, s101
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xca,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xcc,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xce,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xd4,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xd6,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, m0
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xf8,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xfc,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xfe,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, 0
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x00,0x01,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, -1
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x82,0x01,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xe0,0x01,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xee,0x01,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, v2
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, v255
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0xfe,0x03,0x00]
+
+v_cvt_pknorm_i16_f32 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x20]
+
+v_cvt_pknorm_i16_f32 v5, 0, -s2
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x40]
+
+v_cvt_pknorm_i16_f32 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x94,0xd2,0x80,0x04,0x00,0x60]
+
+v_cvt_pknorm_i16_f32 v5, |0|, s2
+// CHECK: [0x05,0x01,0x94,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x94,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x94,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_i16_f32 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x94,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, s2
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v255, 0, s2
+// CHECK: [0xff,0x00,0x95,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, -1, s2
+// CHECK: [0x05,0x00,0x95,0xd2,0xc1,0x04,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x95,0xd2,0xf0,0x04,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x95,0xd2,0xf7,0x04,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, v1, s2
+// CHECK: [0x05,0x00,0x95,0xd2,0x01,0x05,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, v255, s2
+// CHECK: [0x05,0x00,0x95,0xd2,0xff,0x05,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, s101
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xca,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xcc,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xce,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xd4,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xd6,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, m0
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xf8,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xfc,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xfe,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, 0
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x00,0x01,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, -1
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x82,0x01,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xe0,0x01,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xee,0x01,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, v2
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, v255
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0xfe,0x03,0x00]
+
+v_cvt_pknorm_u16_f32 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x20]
+
+v_cvt_pknorm_u16_f32 v5, 0, -s2
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x40]
+
+v_cvt_pknorm_u16_f32 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x95,0xd2,0x80,0x04,0x00,0x60]
+
+v_cvt_pknorm_u16_f32 v5, |0|, s2
+// CHECK: [0x05,0x01,0x95,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x95,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x95,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pknorm_u16_f32 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x95,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, s2
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v255, 0, s2
+// CHECK: [0xff,0x00,0x96,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, -1, s2
+// CHECK: [0x05,0x00,0x96,0xd2,0xc1,0x04,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x96,0xd2,0xf0,0x04,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x96,0xd2,0xf7,0x04,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, v1, s2
+// CHECK: [0x05,0x00,0x96,0xd2,0x01,0x05,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, v255, s2
+// CHECK: [0x05,0x00,0x96,0xd2,0xff,0x05,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, s101
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xca,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xcc,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xce,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xd4,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xd6,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, m0
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xf8,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xfc,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xfe,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, 0
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x00,0x01,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, -1
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x82,0x01,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xe0,0x01,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xee,0x01,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, v2
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, v255
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0xfe,0x03,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, neg(0), s2
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x20]
+
+v_cvt_pkrtz_f16_f32 v5, 0, -s2
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x40]
+
+v_cvt_pkrtz_f16_f32 v5, neg(0), -s2
+// CHECK: [0x05,0x00,0x96,0xd2,0x80,0x04,0x00,0x60]
+
+v_cvt_pkrtz_f16_f32 v5, |0|, s2
+// CHECK: [0x05,0x01,0x96,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, |s2|
+// CHECK: [0x05,0x02,0x96,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, |0|, |s2|
+// CHECK: [0x05,0x03,0x96,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pkrtz_f16_f32 v5, 0, s2 clamp
+// CHECK: [0x05,0x80,0x96,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, s2
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pk_u16_u32 v255, 0, s2
+// CHECK: [0xff,0x00,0x97,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, -1, s2
+// CHECK: [0x05,0x00,0x97,0xd2,0xc1,0x04,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x97,0xd2,0xf0,0x04,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x97,0xd2,0xf7,0x04,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, v1, s2
+// CHECK: [0x05,0x00,0x97,0xd2,0x01,0x05,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, v255, s2
+// CHECK: [0x05,0x00,0x97,0xd2,0xff,0x05,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, s101
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xca,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xcc,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xce,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xd4,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xd6,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, m0
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xf8,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xfc,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xfe,0x00,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, 0
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x00,0x01,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, -1
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x82,0x01,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xe0,0x01,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xee,0x01,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, v2
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pk_u16_u32 v5, 0, v255
+// CHECK: [0x05,0x00,0x97,0xd2,0x80,0xfe,0x03,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, s2
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pk_i16_i32 v255, 0, s2
+// CHECK: [0xff,0x00,0x98,0xd2,0x80,0x04,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, -1, s2
+// CHECK: [0x05,0x00,0x98,0xd2,0xc1,0x04,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, 0.5, s2
+// CHECK: [0x05,0x00,0x98,0xd2,0xf0,0x04,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, -4.0, s2
+// CHECK: [0x05,0x00,0x98,0xd2,0xf7,0x04,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, v1, s2
+// CHECK: [0x05,0x00,0x98,0xd2,0x01,0x05,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, v255, s2
+// CHECK: [0x05,0x00,0x98,0xd2,0xff,0x05,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, s101
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xca,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, flat_scratch_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xcc,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, flat_scratch_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xce,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, vcc_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xd4,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, vcc_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xd6,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, m0
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xf8,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, exec_lo
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xfc,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, exec_hi
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xfe,0x00,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, 0
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x00,0x01,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, -1
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x82,0x01,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, 0.5
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xe0,0x01,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, -4.0
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xee,0x01,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, v2
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0x04,0x02,0x00]
+
+v_cvt_pk_i16_i32 v5, 0, v255
+// CHECK: [0x05,0x00,0x98,0xd2,0x80,0xfe,0x03,0x00]
+
+v_pack_b32_f16 v5, v1, s2
+// CHECK: [0x05,0x00,0xa0,0xd2,0x01,0x05,0x00,0x00]
+
+v_pack_b32_f16 v5, v255, s2
+// CHECK: [0x05,0x00,0xa0,0xd2,0xff,0x05,0x00,0x00]
+
+v_pack_b32_f16 v5, 0, s101
+// CHECK: [0x05,0x00,0xa0,0xd2,0x80,0xca,0x00,0x00]
+
+v_pack_b32_f16 v5, 0, m0
+// CHECK: [0x05,0x00,0xa0,0xd2,0x80,0xf8,0x00,0x00]
+
+v_pk_fma_f16 v5, s1, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v255, s1, 0, 0
+// CHECK: [0xff,0x40,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, s101, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x65,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, flat_scratch_lo, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x66,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, flat_scratch_hi, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x67,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, vcc_lo, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x6a,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, vcc_hi, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x6b,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, m0, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x7c,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, exec_lo, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x7e,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, exec_hi, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x7f,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, 0, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x80,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, -1, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0xc1,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, 0.5, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0xf0,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, -4.0, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0xf7,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, v1, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x01,0x01,0x1a]
+
+v_pk_fma_f16 v5, v255, 0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0xff,0x01,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, -1, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x82,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, 0.5, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xe0,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, -4.0, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xee,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, v2, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x04,0x02,0x1a]
+
+v_pk_fma_f16 v5, s1, v255, 0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0xfe,0x03,0x1a]
+
+v_pk_fma_f16 v5, s1, 0, -1
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x05,0x1b]
+
+v_pk_fma_f16 v5, s1, 0, 0.5
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0xc1,0x1b]
+
+v_pk_fma_f16 v5, s1, 0, -4.0
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0xdd,0x1b]
+
+v_pk_fma_f16 v5, s1, 0, v3
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x0d,0x1c]
+
+v_pk_fma_f16 v5, s1, 0, v255
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0xfd,0x1f]
+
+v_pk_fma_f16 v5, s1, 0, 0 op_sel:[0,0,0]
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, 0, 0 op_sel:[1,0,0]
+// CHECK: [0x05,0x48,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, 0, 0 op_sel:[0,1,0]
+// CHECK: [0x05,0x50,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, 0, 0 op_sel:[0,0,1]
+// CHECK: [0x05,0x60,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, 0, 0 op_sel:[1,1,1]
+// CHECK: [0x05,0x78,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, 0, 0 op_sel_hi:[1,1,1]
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, 0, 0 op_sel_hi:[0,0,0]
+// CHECK: [0x05,0x00,0x8e,0xd3,0x01,0x00,0x01,0x02]
+
+v_pk_fma_f16 v5, s1, 0, 0 op_sel_hi:[1,0,0]
+// CHECK: [0x05,0x00,0x8e,0xd3,0x01,0x00,0x01,0x0a]
+
+v_pk_fma_f16 v5, s1, 0, 0 op_sel_hi:[0,1,0]
+// CHECK: [0x05,0x00,0x8e,0xd3,0x01,0x00,0x01,0x12]
+
+v_pk_fma_f16 v5, s1, 0, 0 op_sel_hi:[0,0,1]
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x02]
+
+v_pk_fma_f16 v5, s1, 0, 0 neg_lo:[1,0,0]
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x3a]
+
+v_pk_fma_f16 v5, s1, 0, 0 neg_lo:[0,1,0]
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x5a]
+
+v_pk_fma_f16 v5, s1, 0, 0 neg_lo:[0,0,1]
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0x9a]
+
+v_pk_fma_f16 v5, s1, 0, 0 neg_lo:[1,1,1]
+// CHECK: [0x05,0x40,0x8e,0xd3,0x01,0x00,0x01,0xfa]
+
+v_pk_fma_f16 v5, s1, 0, 0 neg_hi:[1,0,0]
+// CHECK: [0x05,0x41,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, 0, 0 neg_hi:[0,1,0]
+// CHECK: [0x05,0x42,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, 0, 0 neg_hi:[0,0,1]
+// CHECK: [0x05,0x44,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_pk_fma_f16 v5, s1, 0, 0 neg_hi:[1,1,1]
+// CHECK: [0x05,0x47,0x8e,0xd3,0x01,0x00,0x01,0x1a]
+
+v_cmp_class_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x20,0x7c]
+
+v_cmp_class_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x20,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_class_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x20,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_class_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x20,0x7c]
+
+v_cmp_class_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x20,0x7c]
+
+v_cmp_class_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x21,0x7c]
+
+v_cmp_class_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_class_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_class_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_class_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x22,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_class_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x22,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_class_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x22,0x7c]
+
+v_cmpx_class_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x23,0x7c]
+
+v_cmpx_class_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_class_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_class_f64 vcc, s[2:3], v2
+// CHECK: [0x02,0x04,0x24,0x7c]
+
+v_cmp_class_f64 vcc, s[4:5], v2
+// CHECK: [0x04,0x04,0x24,0x7c]
+
+v_cmp_class_f64 vcc, s[100:101], v2
+// CHECK: [0x64,0x04,0x24,0x7c]
+
+v_cmp_class_f64 vcc, flat_scratch, v2
+// CHECK: [0x66,0x04,0x24,0x7c]
+
+v_cmp_class_f64 vcc, vcc, v2
+// CHECK: [0x6a,0x04,0x24,0x7c]
+
+v_cmp_class_f64 vcc, exec, v2
+// CHECK: [0x7e,0x04,0x24,0x7c]
+
+v_cmp_class_f64 vcc, 0, v2
+// CHECK: [0x80,0x04,0x24,0x7c]
+
+v_cmp_class_f64 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x24,0x7c]
+
+v_cmp_class_f64 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x24,0x7c]
+
+v_cmp_class_f64 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x24,0x7c]
+
+v_cmp_class_f64 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x24,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_class_f64 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x24,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_class_f64 vcc, v[1:2], v2
+// CHECK: [0x01,0x05,0x24,0x7c]
+
+v_cmp_class_f64 vcc, v[254:255], v2
+// CHECK: [0xfe,0x05,0x24,0x7c]
+
+v_cmp_class_f64 vcc, s[2:3], v255
+// CHECK: [0x02,0xfe,0x25,0x7c]
+
+v_cmp_class_f64_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[1:2], s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], v[254:255], s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0xfe,0x05,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_class_f64_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_class_f64_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_class_f64 vcc, s[2:3], v2
+// CHECK: [0x02,0x04,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, s[4:5], v2
+// CHECK: [0x04,0x04,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, s[100:101], v2
+// CHECK: [0x64,0x04,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, flat_scratch, v2
+// CHECK: [0x66,0x04,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, vcc, v2
+// CHECK: [0x6a,0x04,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, exec, v2
+// CHECK: [0x7e,0x04,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, 0, v2
+// CHECK: [0x80,0x04,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x26,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_class_f64 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x26,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_class_f64 vcc, v[1:2], v2
+// CHECK: [0x01,0x05,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, v[254:255], v2
+// CHECK: [0xfe,0x05,0x26,0x7c]
+
+v_cmpx_class_f64 vcc, s[2:3], v255
+// CHECK: [0x02,0xfe,0x27,0x7c]
+
+v_cmpx_class_f64_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[1:2], s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], v[254:255], s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0xfe,0x05,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_class_f64_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_class_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x28,0x7c]
+
+v_cmp_class_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x28,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_class_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x28,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_class_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x28,0x7c]
+
+v_cmp_class_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x28,0x7c]
+
+v_cmp_class_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x29,0x7c]
+
+v_cmp_class_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_class_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_class_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_class_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x2a,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_class_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x2a,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_class_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x2a,0x7c]
+
+v_cmpx_class_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x2b,0x7c]
+
+v_cmpx_class_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_class_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x15,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_f_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x40,0x7c]
+
+v_cmp_f_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x40,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_f_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x40,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_f_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x40,0x7c]
+
+v_cmp_f_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x40,0x7c]
+
+v_cmp_f_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x41,0x7c]
+
+v_cmp_f_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x20,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_f_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_f_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_f_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_f_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x20,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x42,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_lt_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x42,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_lt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x42,0x7c]
+
+v_cmp_lt_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x43,0x7c]
+
+v_cmp_lt_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x21,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_lt_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_lt_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_lt_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_lt_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x21,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x44,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_eq_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x44,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_eq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x44,0x7c]
+
+v_cmp_eq_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x45,0x7c]
+
+v_cmp_eq_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x22,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_eq_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_eq_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_eq_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_eq_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x22,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x46,0x7c]
+
+v_cmp_le_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x46,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_le_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x46,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_le_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x46,0x7c]
+
+v_cmp_le_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x46,0x7c]
+
+v_cmp_le_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x47,0x7c]
+
+v_cmp_le_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x23,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_le_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_le_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_le_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_le_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_le_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x23,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x48,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_gt_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x48,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_gt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x48,0x7c]
+
+v_cmp_gt_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x49,0x7c]
+
+v_cmp_gt_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x24,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_gt_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_gt_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_gt_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_gt_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x24,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x4a,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_lg_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x4a,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_lg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4a,0x7c]
+
+v_cmp_lg_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x4b,0x7c]
+
+v_cmp_lg_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x25,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_lg_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_lg_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_lg_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_lg_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x25,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x4c,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_ge_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x4c,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_ge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4c,0x7c]
+
+v_cmp_ge_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x4d,0x7c]
+
+v_cmp_ge_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x26,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ge_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_ge_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_ge_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_ge_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x26,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x4e,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_o_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x4e,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_o_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4e,0x7c]
+
+v_cmp_o_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x4f,0x7c]
+
+v_cmp_o_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x27,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_o_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_o_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_o_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_o_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_o_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x27,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x50,0x7c]
+
+v_cmp_u_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x50,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_u_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x50,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_u_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x50,0x7c]
+
+v_cmp_u_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x50,0x7c]
+
+v_cmp_u_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x51,0x7c]
+
+v_cmp_u_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x28,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_u_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_u_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_u_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_u_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_u_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x28,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x52,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_nge_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x52,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_nge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x52,0x7c]
+
+v_cmp_nge_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x53,0x7c]
+
+v_cmp_nge_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x29,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_nge_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_nge_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_nge_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_nge_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x29,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x54,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_nlg_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x54,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_nlg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x54,0x7c]
+
+v_cmp_nlg_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x55,0x7c]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_nlg_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_nlg_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_nlg_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x2a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x56,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_ngt_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x56,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_ngt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x56,0x7c]
+
+v_cmp_ngt_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x57,0x7c]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ngt_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_ngt_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_ngt_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x2b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x58,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_nle_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x58,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_nle_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x58,0x7c]
+
+v_cmp_nle_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x59,0x7c]
+
+v_cmp_nle_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_nle_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_nle_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_nle_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_nle_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x2c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x5a,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_neq_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x5a,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_neq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5a,0x7c]
+
+v_cmp_neq_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x5b,0x7c]
+
+v_cmp_neq_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_neq_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_neq_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_neq_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_neq_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x2d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x5c,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_nlt_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x5c,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_nlt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5c,0x7c]
+
+v_cmp_nlt_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x5d,0x7c]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_nlt_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_nlt_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_nlt_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x2e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x5e,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmp_tru_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x5e,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmp_tru_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5e,0x7c]
+
+v_cmp_tru_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x5f,0x7c]
+
+v_cmp_tru_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_tru_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_tru_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_tru_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_tru_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x2f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x60,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_f_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x60,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_f_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x60,0x7c]
+
+v_cmpx_f_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x61,0x7c]
+
+v_cmpx_f_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x30,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_f_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_f_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_f_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_f_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x30,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x62,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_lt_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x62,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_lt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x62,0x7c]
+
+v_cmpx_lt_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x63,0x7c]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x31,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_lt_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_lt_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_lt_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x31,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x64,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_eq_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x64,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_eq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x64,0x7c]
+
+v_cmpx_eq_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x65,0x7c]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x32,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_eq_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_eq_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_eq_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x32,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x66,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_le_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x66,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_le_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x66,0x7c]
+
+v_cmpx_le_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x67,0x7c]
+
+v_cmpx_le_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x33,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_le_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_le_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_le_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_le_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x33,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x68,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_gt_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x68,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_gt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x68,0x7c]
+
+v_cmpx_gt_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x69,0x7c]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x34,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_gt_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_gt_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_gt_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x34,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x6a,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_lg_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x6a,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_lg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6a,0x7c]
+
+v_cmpx_lg_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x6b,0x7c]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x35,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_lg_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_lg_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_lg_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x35,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x6c,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_ge_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x6c,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_ge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6c,0x7c]
+
+v_cmpx_ge_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x6d,0x7c]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x36,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ge_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_ge_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_ge_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x36,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x6e,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_o_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x6e,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_o_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6e,0x7c]
+
+v_cmpx_o_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x6f,0x7c]
+
+v_cmpx_o_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x37,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_o_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_o_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_o_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_o_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x37,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x70,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_u_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x70,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_u_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x70,0x7c]
+
+v_cmpx_u_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x71,0x7c]
+
+v_cmpx_u_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x38,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_u_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_u_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_u_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_u_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x38,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x72,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_nge_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x72,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_nge_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x72,0x7c]
+
+v_cmpx_nge_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x73,0x7c]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x39,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_nge_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_nge_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_nge_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x39,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x74,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_nlg_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x74,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_nlg_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x74,0x7c]
+
+v_cmpx_nlg_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x75,0x7c]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_nlg_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_nlg_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_nlg_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x3a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x76,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_ngt_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x76,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_ngt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x76,0x7c]
+
+v_cmpx_ngt_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x77,0x7c]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ngt_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_ngt_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_ngt_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x3b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x78,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_nle_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x78,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_nle_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x78,0x7c]
+
+v_cmpx_nle_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x79,0x7c]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_nle_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_nle_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_nle_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x3c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x7a,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_neq_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x7a,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_neq_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7a,0x7c]
+
+v_cmpx_neq_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x7b,0x7c]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_neq_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_neq_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_neq_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x3d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x7c,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_nlt_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x7c,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_nlt_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7c,0x7c]
+
+v_cmpx_nlt_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x7d,0x7c]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_nlt_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_nlt_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_nlt_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x3e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x7e,0x7c,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_tru_f16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x7e,0x7c,0x56,0x34,0x00,0x00]
+
+v_cmpx_tru_f16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7e,0x7c]
+
+v_cmpx_tru_f16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x7f,0x7c]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_tru_f16_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_tru_f16_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_tru_f16_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x3f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x80,0x7c]
+
+v_cmp_f_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x80,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_f_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x80,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_f_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x80,0x7c]
+
+v_cmp_f_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x80,0x7c]
+
+v_cmp_f_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x81,0x7c]
+
+v_cmp_f_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x40,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_f_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_f_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_f_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_f_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x40,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x82,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_lt_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x82,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_lt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x82,0x7c]
+
+v_cmp_lt_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x83,0x7c]
+
+v_cmp_lt_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x41,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_lt_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_lt_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_lt_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_lt_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x41,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x84,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_eq_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x84,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_eq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x84,0x7c]
+
+v_cmp_eq_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x85,0x7c]
+
+v_cmp_eq_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x42,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_eq_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_eq_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_eq_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_eq_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x42,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x86,0x7c]
+
+v_cmp_le_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x86,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_le_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x86,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_le_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x86,0x7c]
+
+v_cmp_le_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x86,0x7c]
+
+v_cmp_le_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x87,0x7c]
+
+v_cmp_le_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x43,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_le_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_le_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_le_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_le_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_le_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x43,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x88,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_gt_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x88,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_gt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x88,0x7c]
+
+v_cmp_gt_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x89,0x7c]
+
+v_cmp_gt_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x44,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_gt_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_gt_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_gt_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_gt_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x44,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x8a,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_lg_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x8a,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_lg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8a,0x7c]
+
+v_cmp_lg_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x8b,0x7c]
+
+v_cmp_lg_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x45,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_lg_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_lg_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_lg_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_lg_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x45,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x8c,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_ge_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x8c,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_ge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8c,0x7c]
+
+v_cmp_ge_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x8d,0x7c]
+
+v_cmp_ge_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x46,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ge_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_ge_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_ge_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_ge_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x46,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x8e,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_o_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x8e,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_o_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8e,0x7c]
+
+v_cmp_o_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x8f,0x7c]
+
+v_cmp_o_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x47,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_o_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_o_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_o_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_o_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_o_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x47,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x90,0x7c]
+
+v_cmp_u_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x90,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_u_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x90,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_u_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x90,0x7c]
+
+v_cmp_u_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x90,0x7c]
+
+v_cmp_u_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x91,0x7c]
+
+v_cmp_u_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x48,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_u_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_u_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_u_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_u_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_u_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x48,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x92,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_nge_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x92,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_nge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x92,0x7c]
+
+v_cmp_nge_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x93,0x7c]
+
+v_cmp_nge_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x49,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_nge_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_nge_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_nge_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_nge_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x49,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x94,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_nlg_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x94,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_nlg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x94,0x7c]
+
+v_cmp_nlg_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x95,0x7c]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_nlg_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_nlg_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_nlg_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x4a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x96,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_ngt_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x96,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_ngt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x96,0x7c]
+
+v_cmp_ngt_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x97,0x7c]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ngt_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_ngt_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_ngt_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x4b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x98,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_nle_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x98,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_nle_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x98,0x7c]
+
+v_cmp_nle_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x99,0x7c]
+
+v_cmp_nle_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_nle_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_nle_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_nle_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_nle_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x4c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x9a,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_neq_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x9a,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_neq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9a,0x7c]
+
+v_cmp_neq_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x9b,0x7c]
+
+v_cmp_neq_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_neq_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_neq_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_neq_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_neq_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x4d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x9c,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_nlt_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x9c,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_nlt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9c,0x7c]
+
+v_cmp_nlt_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x9d,0x7c]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_nlt_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_nlt_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_nlt_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x4e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x9e,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_tru_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x9e,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_tru_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9e,0x7c]
+
+v_cmp_tru_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x9f,0x7c]
+
+v_cmp_tru_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_tru_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmp_tru_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmp_tru_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmp_tru_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x4f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xa0,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_f_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xa0,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_f_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa0,0x7c]
+
+v_cmpx_f_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xa1,0x7c]
+
+v_cmpx_f_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x50,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_f_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_f_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_f_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_f_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x50,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xa2,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_lt_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xa2,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_lt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa2,0x7c]
+
+v_cmpx_lt_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xa3,0x7c]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x51,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_lt_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_lt_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_lt_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x51,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xa4,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_eq_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xa4,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_eq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa4,0x7c]
+
+v_cmpx_eq_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xa5,0x7c]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x52,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_eq_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_eq_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_eq_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x52,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xa6,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_le_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xa6,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_le_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa6,0x7c]
+
+v_cmpx_le_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xa7,0x7c]
+
+v_cmpx_le_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x53,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_le_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_le_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_le_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_le_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x53,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xa8,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_gt_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xa8,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_gt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa8,0x7c]
+
+v_cmpx_gt_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xa9,0x7c]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x54,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_gt_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_gt_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_gt_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x54,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xaa,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_lg_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xaa,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_lg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xaa,0x7c]
+
+v_cmpx_lg_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xab,0x7c]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x55,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_lg_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_lg_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_lg_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x55,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xac,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ge_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xac,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xac,0x7c]
+
+v_cmpx_ge_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xad,0x7c]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x56,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ge_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_ge_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_ge_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x56,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xae,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_o_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xae,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_o_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xae,0x7c]
+
+v_cmpx_o_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xaf,0x7c]
+
+v_cmpx_o_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x57,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_o_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_o_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_o_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_o_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x57,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xb0,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_u_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xb0,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_u_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb0,0x7c]
+
+v_cmpx_u_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xb1,0x7c]
+
+v_cmpx_u_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x58,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_u_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_u_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_u_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_u_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x58,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xb2,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_nge_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xb2,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_nge_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb2,0x7c]
+
+v_cmpx_nge_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xb3,0x7c]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x59,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_nge_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_nge_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_nge_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x59,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xb4,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_nlg_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xb4,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_nlg_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb4,0x7c]
+
+v_cmpx_nlg_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xb5,0x7c]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_nlg_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_nlg_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_nlg_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x5a,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xb6,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ngt_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xb6,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ngt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb6,0x7c]
+
+v_cmpx_ngt_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xb7,0x7c]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ngt_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_ngt_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_ngt_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x5b,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xb8,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_nle_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xb8,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_nle_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb8,0x7c]
+
+v_cmpx_nle_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xb9,0x7c]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_nle_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_nle_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_nle_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x5c,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xba,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_neq_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xba,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_neq_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xba,0x7c]
+
+v_cmpx_neq_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xbb,0x7c]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_neq_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_neq_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_neq_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x5d,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xbc,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_nlt_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xbc,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_nlt_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xbc,0x7c]
+
+v_cmpx_nlt_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xbd,0x7c]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_nlt_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_nlt_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_nlt_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x5e,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xbe,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_tru_f32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xbe,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_tru_f32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xbe,0x7c]
+
+v_cmpx_tru_f32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xbf,0x7c]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_tru_f32_e64 s[10:11], neg(0), s2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x20]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, -s2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x40]
+
+v_cmpx_tru_f32_e64 s[10:11], neg(0), -s2
+// CHECK: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x60]
+
+v_cmpx_tru_f32_e64 s[10:11], 0, s2 clamp
+// CHECK: [0x0a,0x80,0x5f,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xc0,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_f_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xc0,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_f_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc0,0x7c]
+
+v_cmp_f_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xc1,0x7c]
+
+v_cmp_f_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x60,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_f_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_f_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_f_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_f_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_f_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_f_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_f_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_f_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_f_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_f_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x60,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xc2,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_lt_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xc2,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_lt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc2,0x7c]
+
+v_cmp_lt_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xc3,0x7c]
+
+v_cmp_lt_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x61,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_lt_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_lt_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_lt_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_lt_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x61,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xc4,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_eq_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xc4,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_eq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc4,0x7c]
+
+v_cmp_eq_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xc5,0x7c]
+
+v_cmp_eq_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x62,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_eq_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_eq_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_eq_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_eq_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x62,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xc6,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_le_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xc6,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_le_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc6,0x7c]
+
+v_cmp_le_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xc7,0x7c]
+
+v_cmp_le_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x63,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_le_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_le_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_le_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_le_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_le_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_le_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_le_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_le_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_le_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_le_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x63,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xc8,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_gt_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xc8,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_gt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc8,0x7c]
+
+v_cmp_gt_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xc9,0x7c]
+
+v_cmp_gt_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x64,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_gt_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_gt_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_gt_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_gt_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x64,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lg_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xca,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_lg_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xca,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_lg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xca,0x7c]
+
+v_cmp_lg_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xcb,0x7c]
+
+v_cmp_lg_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lg_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lg_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x65,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x65,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x65,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x65,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x65,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_lg_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_lg_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_lg_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_lg_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x65,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xcc,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_ge_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xcc,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_ge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xcc,0x7c]
+
+v_cmp_ge_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xcd,0x7c]
+
+v_cmp_ge_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x66,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_ge_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_ge_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_ge_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_ge_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x66,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_o_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xce,0x7c]
+
+v_cmp_o_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xce,0x7c]
+
+v_cmp_o_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xce,0x7c]
+
+v_cmp_o_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xce,0x7c]
+
+v_cmp_o_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xce,0x7c]
+
+v_cmp_o_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xce,0x7c]
+
+v_cmp_o_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xce,0x7c]
+
+v_cmp_o_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xce,0x7c]
+
+v_cmp_o_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xce,0x7c]
+
+v_cmp_o_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xce,0x7c]
+
+v_cmp_o_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xce,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_o_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xce,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_o_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xce,0x7c]
+
+v_cmp_o_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xce,0x7c]
+
+v_cmp_o_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xcf,0x7c]
+
+v_cmp_o_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_o_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_o_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_o_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_o_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_o_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_o_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_o_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_o_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_o_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x67,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_o_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_o_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_o_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_o_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_o_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_o_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_o_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_o_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_o_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_o_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x67,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_u_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xd0,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_u_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xd0,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_u_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd0,0x7c]
+
+v_cmp_u_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xd1,0x7c]
+
+v_cmp_u_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_u_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_u_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_u_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_u_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x68,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_u_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_u_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_u_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_u_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_u_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_u_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_u_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_u_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_u_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_u_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x68,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nge_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xd2,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_nge_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xd2,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_nge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd2,0x7c]
+
+v_cmp_nge_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xd3,0x7c]
+
+v_cmp_nge_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nge_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nge_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nge_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nge_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x69,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_nge_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_nge_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_nge_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_nge_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x69,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlg_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xd4,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_nlg_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xd4,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_nlg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd4,0x7c]
+
+v_cmp_nlg_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xd5,0x7c]
+
+v_cmp_nlg_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlg_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlg_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_nlg_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_nlg_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_nlg_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_nlg_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x6a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ngt_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xd6,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_ngt_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xd6,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_ngt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd6,0x7c]
+
+v_cmp_ngt_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xd7,0x7c]
+
+v_cmp_ngt_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ngt_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ngt_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_ngt_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_ngt_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_ngt_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_ngt_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x6b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nle_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xd8,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_nle_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xd8,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_nle_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd8,0x7c]
+
+v_cmp_nle_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xd9,0x7c]
+
+v_cmp_nle_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nle_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nle_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_nle_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_nle_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_nle_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_nle_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x6c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_neq_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xda,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_neq_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xda,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_neq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xda,0x7c]
+
+v_cmp_neq_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xdb,0x7c]
+
+v_cmp_neq_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_neq_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_neq_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_neq_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_neq_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_neq_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_neq_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x6d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlt_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xdc,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_nlt_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xdc,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_nlt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xdc,0x7c]
+
+v_cmp_nlt_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xdd,0x7c]
+
+v_cmp_nlt_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlt_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlt_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_nlt_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_nlt_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_nlt_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_nlt_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x6e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_tru_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xde,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmp_tru_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xde,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmp_tru_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xde,0x7c]
+
+v_cmp_tru_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xdf,0x7c]
+
+v_cmp_tru_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_tru_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_tru_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_tru_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmp_tru_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmp_tru_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmp_tru_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x6f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xe0,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_f_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xe0,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_f_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe0,0x7c]
+
+v_cmpx_f_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xe1,0x7c]
+
+v_cmpx_f_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x70,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_f_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_f_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_f_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_f_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x70,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xe2,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_lt_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xe2,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_lt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe2,0x7c]
+
+v_cmpx_lt_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xe3,0x7c]
+
+v_cmpx_lt_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x71,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_lt_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_lt_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_lt_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_lt_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x71,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xe4,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_eq_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xe4,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_eq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe4,0x7c]
+
+v_cmpx_eq_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xe5,0x7c]
+
+v_cmpx_eq_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x72,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_eq_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_eq_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_eq_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_eq_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x72,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xe6,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_le_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xe6,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_le_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe6,0x7c]
+
+v_cmpx_le_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xe7,0x7c]
+
+v_cmpx_le_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x73,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x73,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x73,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x73,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x73,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_le_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_le_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_le_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_le_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x73,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xe8,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_gt_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xe8,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_gt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe8,0x7c]
+
+v_cmpx_gt_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xe9,0x7c]
+
+v_cmpx_gt_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x74,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_gt_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_gt_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_gt_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_gt_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x74,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lg_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xea,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_lg_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xea,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_lg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xea,0x7c]
+
+v_cmpx_lg_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xeb,0x7c]
+
+v_cmpx_lg_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lg_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lg_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lg_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x75,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_lg_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_lg_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_lg_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_lg_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x75,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xec,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ge_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xec,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xec,0x7c]
+
+v_cmpx_ge_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xed,0x7c]
+
+v_cmpx_ge_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x76,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_ge_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_ge_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_ge_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_ge_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x76,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_o_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xee,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_o_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xee,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_o_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xee,0x7c]
+
+v_cmpx_o_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xef,0x7c]
+
+v_cmpx_o_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_o_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_o_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_o_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x77,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_o_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_o_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_o_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_o_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x77,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_u_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xf0,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_u_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xf0,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_u_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf0,0x7c]
+
+v_cmpx_u_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xf1,0x7c]
+
+v_cmpx_u_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_u_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_u_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_u_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x78,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_u_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_u_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_u_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_u_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x78,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nge_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xf2,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_nge_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xf2,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_nge_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf2,0x7c]
+
+v_cmpx_nge_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xf3,0x7c]
+
+v_cmpx_nge_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nge_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nge_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nge_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x79,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_nge_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_nge_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_nge_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_nge_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x79,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xf4,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_nlg_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xf4,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_nlg_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf4,0x7c]
+
+v_cmpx_nlg_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xf5,0x7c]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_nlg_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_nlg_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_nlg_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x7a,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xf6,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ngt_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xf6,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ngt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf6,0x7c]
+
+v_cmpx_ngt_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xf7,0x7c]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_ngt_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_ngt_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_ngt_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x7b,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nle_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xf8,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_nle_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xf8,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_nle_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf8,0x7c]
+
+v_cmpx_nle_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xf9,0x7c]
+
+v_cmpx_nle_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nle_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nle_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nle_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_nle_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_nle_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_nle_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_nle_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x7c,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_neq_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xfa,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_neq_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xfa,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_neq_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xfa,0x7c]
+
+v_cmpx_neq_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xfb,0x7c]
+
+v_cmpx_neq_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_neq_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_neq_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_neq_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_neq_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_neq_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_neq_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_neq_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x7d,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xfc,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_nlt_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xfc,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_nlt_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xfc,0x7c]
+
+v_cmpx_nlt_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xfd,0x7c]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_nlt_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_nlt_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_nlt_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x7e,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_tru_f64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xfe,0x7c,0x56,0x34,0x12,0xaf]
+
+v_cmpx_tru_f64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xfe,0x7c,0x73,0x72,0x71,0x3f]
+
+v_cmpx_tru_f64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xfe,0x7c]
+
+v_cmpx_tru_f64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xff,0x7c]
+
+v_cmpx_tru_f64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_tru_f64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_tru_f64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_tru_f64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_tru_f64_e64 s[10:11], -s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x20]
+
+v_cmpx_tru_f64_e64 s[10:11], s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x40]
+
+v_cmpx_tru_f64_e64 s[10:11], -s[4:5], -s[4:5]
+// CHECK: [0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x60]
+
+v_cmpx_tru_f64_e64 s[10:11], s[4:5], s[4:5] clamp
+// CHECK: [0x0a,0x80,0x7f,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x40,0x7d]
+
+v_cmp_f_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x40,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_f_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x40,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_f_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x40,0x7d]
+
+v_cmp_f_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x40,0x7d]
+
+v_cmp_f_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x41,0x7d]
+
+v_cmp_f_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xa0,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_lt_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x42,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_lt_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x42,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_lt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x42,0x7d]
+
+v_cmp_lt_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x43,0x7d]
+
+v_cmp_lt_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xa1,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_eq_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x44,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_eq_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x44,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_eq_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x44,0x7d]
+
+v_cmp_eq_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x45,0x7d]
+
+v_cmp_eq_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xa2,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_le_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x46,0x7d]
+
+v_cmp_le_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x46,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_le_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x46,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_le_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x46,0x7d]
+
+v_cmp_le_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x46,0x7d]
+
+v_cmp_le_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x47,0x7d]
+
+v_cmp_le_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_le_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xa3,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_gt_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x48,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_gt_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x48,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_gt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x48,0x7d]
+
+v_cmp_gt_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x49,0x7d]
+
+v_cmp_gt_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_gt_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xa4,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ne_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x4a,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_ne_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x4a,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_ne_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4a,0x7d]
+
+v_cmp_ne_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x4b,0x7d]
+
+v_cmp_ne_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ne_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xa5,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ge_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x4c,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_ge_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x4c,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_ge_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4c,0x7d]
+
+v_cmp_ge_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x4d,0x7d]
+
+v_cmp_ge_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xa6,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_t_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x4e,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_t_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x4e,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_t_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x4e,0x7d]
+
+v_cmp_t_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x4f,0x7d]
+
+v_cmp_t_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_t_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xa7,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_f_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x50,0x7d]
+
+v_cmp_f_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x50,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_f_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x50,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_f_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x50,0x7d]
+
+v_cmp_f_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x50,0x7d]
+
+v_cmp_f_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x51,0x7d]
+
+v_cmp_f_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xa8,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_lt_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x52,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_lt_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x52,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_lt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x52,0x7d]
+
+v_cmp_lt_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x53,0x7d]
+
+v_cmp_lt_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xa9,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_eq_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x54,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_eq_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x54,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_eq_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x54,0x7d]
+
+v_cmp_eq_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x55,0x7d]
+
+v_cmp_eq_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xaa,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_le_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x56,0x7d]
+
+v_cmp_le_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x56,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_le_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x56,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_le_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x56,0x7d]
+
+v_cmp_le_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x56,0x7d]
+
+v_cmp_le_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x57,0x7d]
+
+v_cmp_le_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xab,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_le_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xab,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_gt_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x58,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_gt_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x58,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_gt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x58,0x7d]
+
+v_cmp_gt_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x59,0x7d]
+
+v_cmp_gt_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xac,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_gt_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xac,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ne_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x5a,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_ne_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x5a,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_ne_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5a,0x7d]
+
+v_cmp_ne_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x5b,0x7d]
+
+v_cmp_ne_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xad,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ne_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xad,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ge_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x5c,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_ge_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x5c,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_ge_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5c,0x7d]
+
+v_cmp_ge_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x5d,0x7d]
+
+v_cmp_ge_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xae,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xae,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_t_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x5e,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmp_t_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x5e,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmp_t_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x5e,0x7d]
+
+v_cmp_t_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x5f,0x7d]
+
+v_cmp_t_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_t_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xaf,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_f_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x60,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_f_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x60,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_f_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x60,0x7d]
+
+v_cmpx_f_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x61,0x7d]
+
+v_cmpx_f_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xb0,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_lt_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x62,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_lt_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x62,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_lt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x62,0x7d]
+
+v_cmpx_lt_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x63,0x7d]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xb1,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_eq_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x64,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_eq_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x64,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_eq_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x64,0x7d]
+
+v_cmpx_eq_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x65,0x7d]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xb2,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_le_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x66,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_le_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x66,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_le_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x66,0x7d]
+
+v_cmpx_le_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x67,0x7d]
+
+v_cmpx_le_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xb3,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_gt_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x68,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_gt_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x68,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_gt_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x68,0x7d]
+
+v_cmpx_gt_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x69,0x7d]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xb4,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ne_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x6a,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_ne_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x6a,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_ne_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6a,0x7d]
+
+v_cmpx_ne_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x6b,0x7d]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ne_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xb5,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ge_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x6c,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_ge_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x6c,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_ge_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6c,0x7d]
+
+v_cmpx_ge_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x6d,0x7d]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xb6,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_t_i16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x6e,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_t_i16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x6e,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_t_i16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x6e,0x7d]
+
+v_cmpx_t_i16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x6f,0x7d]
+
+v_cmpx_t_i16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_t_i16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xb7,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_f_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x70,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_f_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x70,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_f_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x70,0x7d]
+
+v_cmpx_f_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x71,0x7d]
+
+v_cmpx_f_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xb8,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_lt_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x72,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_lt_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x72,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_lt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x72,0x7d]
+
+v_cmpx_lt_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x73,0x7d]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xb9,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_eq_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x74,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_eq_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x74,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_eq_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x74,0x7d]
+
+v_cmpx_eq_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x75,0x7d]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xba,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xba,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_le_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x76,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_le_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x76,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_le_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x76,0x7d]
+
+v_cmpx_le_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x77,0x7d]
+
+v_cmpx_le_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xbb,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_gt_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x78,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_gt_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x78,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_gt_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x78,0x7d]
+
+v_cmpx_gt_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x79,0x7d]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xbc,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ne_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x7a,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_ne_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x7a,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_ne_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7a,0x7d]
+
+v_cmpx_ne_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x7b,0x7d]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ne_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xbd,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ge_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x7c,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_ge_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x7c,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_ge_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7c,0x7d]
+
+v_cmpx_ge_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x7d,0x7d]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xbe,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_t_u16 vcc, s1, v2
+// CHECK: [0x01,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, s101, v2
+// CHECK: [0x65,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, 0, v2
+// CHECK: [0x80,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, 0xfe0b, v2
+// CHECK: [0xff,0x04,0x7e,0x7d,0x0b,0xfe,0x00,0x00]
+
+v_cmpx_t_u16 vcc, 0x3456, v2
+// CHECK: [0xff,0x04,0x7e,0x7d,0x56,0x34,0x00,0x00]
+
+v_cmpx_t_u16 vcc, v1, v2
+// CHECK: [0x01,0x05,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, v255, v2
+// CHECK: [0xff,0x05,0x7e,0x7d]
+
+v_cmpx_t_u16 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x7f,0x7d]
+
+v_cmpx_t_u16_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u16_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u16_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u16_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_t_u16_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xbf,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_f_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x80,0x7d]
+
+v_cmp_f_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x80,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_f_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x80,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_f_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x80,0x7d]
+
+v_cmp_f_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x80,0x7d]
+
+v_cmp_f_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x81,0x7d]
+
+v_cmp_f_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xc0,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_lt_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x82,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_lt_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x82,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_lt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x82,0x7d]
+
+v_cmp_lt_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x83,0x7d]
+
+v_cmp_lt_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xc1,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_eq_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x84,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_eq_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x84,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_eq_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x84,0x7d]
+
+v_cmp_eq_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x85,0x7d]
+
+v_cmp_eq_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xc2,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_le_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x86,0x7d]
+
+v_cmp_le_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x86,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_le_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x86,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_le_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x86,0x7d]
+
+v_cmp_le_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x86,0x7d]
+
+v_cmp_le_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x87,0x7d]
+
+v_cmp_le_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_le_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xc3,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_gt_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x88,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_gt_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x88,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_gt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x88,0x7d]
+
+v_cmp_gt_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x89,0x7d]
+
+v_cmp_gt_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_gt_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xc4,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ne_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x8a,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_ne_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x8a,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_ne_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8a,0x7d]
+
+v_cmp_ne_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x8b,0x7d]
+
+v_cmp_ne_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ne_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xc5,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ge_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x8c,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_ge_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x8c,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_ge_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8c,0x7d]
+
+v_cmp_ge_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x8d,0x7d]
+
+v_cmp_ge_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xc6,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_t_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x8e,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_t_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x8e,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_t_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x8e,0x7d]
+
+v_cmp_t_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x8f,0x7d]
+
+v_cmp_t_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_t_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xc7,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_f_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x90,0x7d]
+
+v_cmp_f_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x90,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_f_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x90,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_f_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x90,0x7d]
+
+v_cmp_f_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x90,0x7d]
+
+v_cmp_f_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x91,0x7d]
+
+v_cmp_f_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_f_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xc8,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_lt_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x92,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_lt_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x92,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_lt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x92,0x7d]
+
+v_cmp_lt_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x93,0x7d]
+
+v_cmp_lt_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_lt_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xc9,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_eq_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x94,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_eq_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x94,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_eq_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x94,0x7d]
+
+v_cmp_eq_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x95,0x7d]
+
+v_cmp_eq_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xca,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_eq_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xca,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_le_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x96,0x7d]
+
+v_cmp_le_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x96,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_le_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x96,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_le_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x96,0x7d]
+
+v_cmp_le_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x96,0x7d]
+
+v_cmp_le_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x97,0x7d]
+
+v_cmp_le_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_le_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xcb,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_gt_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x98,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_gt_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x98,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_gt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x98,0x7d]
+
+v_cmp_gt_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x99,0x7d]
+
+v_cmp_gt_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_gt_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xcc,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ne_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x9a,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_ne_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x9a,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_ne_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9a,0x7d]
+
+v_cmp_ne_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x9b,0x7d]
+
+v_cmp_ne_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ne_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xcd,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_ge_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x9c,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_ge_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x9c,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_ge_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9c,0x7d]
+
+v_cmp_ge_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x9d,0x7d]
+
+v_cmp_ge_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xce,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_ge_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xce,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_t_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0x9e,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_t_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0x9e,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_t_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0x9e,0x7d]
+
+v_cmp_t_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0x9f,0x7d]
+
+v_cmp_t_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmp_t_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xcf,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_f_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xa0,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_f_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xa0,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_f_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa0,0x7d]
+
+v_cmpx_f_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xa1,0x7d]
+
+v_cmpx_f_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xd0,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_lt_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xa2,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_lt_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xa2,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_lt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa2,0x7d]
+
+v_cmpx_lt_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xa3,0x7d]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xd1,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_eq_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xa4,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_eq_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xa4,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_eq_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa4,0x7d]
+
+v_cmpx_eq_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xa5,0x7d]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xd2,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_le_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xa6,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_le_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xa6,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_le_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa6,0x7d]
+
+v_cmpx_le_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xa7,0x7d]
+
+v_cmpx_le_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xd3,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_gt_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xa8,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_gt_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xa8,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_gt_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xa8,0x7d]
+
+v_cmpx_gt_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xa9,0x7d]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xd4,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ne_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xaa,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ne_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xaa,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ne_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xaa,0x7d]
+
+v_cmpx_ne_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xab,0x7d]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ne_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xd5,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ge_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xac,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ge_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xac,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ge_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xac,0x7d]
+
+v_cmpx_ge_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xad,0x7d]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xd6,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_t_i32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xae,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_t_i32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xae,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_t_i32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xae,0x7d]
+
+v_cmpx_t_i32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xaf,0x7d]
+
+v_cmpx_t_i32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_t_i32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xd7,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_f_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xb0,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_f_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xb0,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_f_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb0,0x7d]
+
+v_cmpx_f_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xb1,0x7d]
+
+v_cmpx_f_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_f_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xd8,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_lt_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xb2,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_lt_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xb2,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_lt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb2,0x7d]
+
+v_cmpx_lt_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xb3,0x7d]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_lt_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xd9,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_eq_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xb4,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_eq_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xb4,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_eq_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb4,0x7d]
+
+v_cmpx_eq_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xb5,0x7d]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xda,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_eq_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xda,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_le_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xb6,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_le_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xb6,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_le_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb6,0x7d]
+
+v_cmpx_le_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xb7,0x7d]
+
+v_cmpx_le_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_le_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xdb,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_gt_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xb8,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_gt_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xb8,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_gt_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xb8,0x7d]
+
+v_cmpx_gt_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xb9,0x7d]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_gt_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xdc,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ne_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xba,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ne_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xba,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ne_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xba,0x7d]
+
+v_cmpx_ne_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xbb,0x7d]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ne_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xdd,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_ge_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xbc,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ge_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xbc,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ge_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xbc,0x7d]
+
+v_cmpx_ge_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xbd,0x7d]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xde,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_ge_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xde,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmpx_t_u32 vcc, s1, v2
+// CHECK: [0x01,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, s101, v2
+// CHECK: [0x65,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, flat_scratch_lo, v2
+// CHECK: [0x66,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, flat_scratch_hi, v2
+// CHECK: [0x67,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, vcc_lo, v2
+// CHECK: [0x6a,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, vcc_hi, v2
+// CHECK: [0x6b,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, m0, v2
+// CHECK: [0x7c,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, exec_lo, v2
+// CHECK: [0x7e,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, exec_hi, v2
+// CHECK: [0x7f,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, 0, v2
+// CHECK: [0x80,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, -1, v2
+// CHECK: [0xc1,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, 0.5, v2
+// CHECK: [0xf0,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, -4.0, v2
+// CHECK: [0xf7,0x04,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, 0xaf123456, v2
+// CHECK: [0xff,0x04,0xbe,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_t_u32 vcc, 0x3f717273, v2
+// CHECK: [0xff,0x04,0xbe,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_t_u32 vcc, v1, v2
+// CHECK: [0x01,0x05,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, v255, v2
+// CHECK: [0xff,0x05,0xbe,0x7d]
+
+v_cmpx_t_u32 vcc, s1, v255
+// CHECK: [0x01,0xfe,0xbf,0x7d]
+
+v_cmpx_t_u32_e64 s[10:11], 0, s2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[12:13], 0, s2
+// CHECK: [0x0c,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[100:101], 0, s2
+// CHECK: [0x64,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u32_e64 flat_scratch, 0, s2
+// CHECK: [0x66,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u32_e64 vcc, 0, s2
+// CHECK: [0x6a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u32_e64 exec, 0, s2
+// CHECK: [0x7e,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], -1, s2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xc1,0x04,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0.5, s2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xf0,0x04,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], -4.0, s2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xf7,0x04,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], v1, s2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x01,0x05,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], v255, s2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0xff,0x05,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, s101
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xca,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, flat_scratch_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xcc,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, flat_scratch_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xce,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, vcc_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xd4,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, vcc_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xd6,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, m0
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xf8,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, exec_lo
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xfc,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, exec_hi
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xfe,0x00,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, 0
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0x00,0x01,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, -1
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0x82,0x01,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, 0.5
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xe0,0x01,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, -4.0
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xee,0x01,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, v2
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0x04,0x02,0x00]
+
+v_cmpx_t_u32_e64 s[10:11], 0, v255
+// CHECK: [0x0a,0x00,0xdf,0xd0,0x80,0xfe,0x03,0x00]
+
+v_cmp_f_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xc0,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_f_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xc0,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_f_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc0,0x7d]
+
+v_cmp_f_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xc1,0x7d]
+
+v_cmp_f_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_f_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_f_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_f_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xe0,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_lt_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xc2,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_lt_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xc2,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_lt_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc2,0x7d]
+
+v_cmp_lt_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xc3,0x7d]
+
+v_cmp_lt_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_lt_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xe1,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_eq_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xc4,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_eq_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xc4,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_eq_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc4,0x7d]
+
+v_cmp_eq_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xc5,0x7d]
+
+v_cmp_eq_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_eq_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xe2,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_le_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xc6,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_le_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xc6,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_le_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc6,0x7d]
+
+v_cmp_le_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xc7,0x7d]
+
+v_cmp_le_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_le_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_le_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_le_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_le_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_le_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_le_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xe3,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_gt_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xc8,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_gt_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xc8,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_gt_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xc8,0x7d]
+
+v_cmp_gt_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xc9,0x7d]
+
+v_cmp_gt_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_gt_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xe4,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_ne_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xca,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_ne_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xca,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_ne_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xca,0x7d]
+
+v_cmp_ne_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xcb,0x7d]
+
+v_cmp_ne_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ne_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ne_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_ne_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xe5,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_ge_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xcc,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_ge_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xcc,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_ge_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xcc,0x7d]
+
+v_cmp_ge_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xcd,0x7d]
+
+v_cmp_ge_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_ge_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xe6,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_t_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xce,0x7d]
+
+v_cmp_t_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xce,0x7d]
+
+v_cmp_t_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xce,0x7d]
+
+v_cmp_t_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xce,0x7d]
+
+v_cmp_t_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xce,0x7d]
+
+v_cmp_t_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xce,0x7d]
+
+v_cmp_t_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xce,0x7d]
+
+v_cmp_t_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xce,0x7d]
+
+v_cmp_t_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xce,0x7d]
+
+v_cmp_t_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xce,0x7d]
+
+v_cmp_t_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xce,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_t_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xce,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_t_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xce,0x7d]
+
+v_cmp_t_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xce,0x7d]
+
+v_cmp_t_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xcf,0x7d]
+
+v_cmp_t_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_t_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_t_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_t_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_t_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_t_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_t_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_t_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xe7,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_f_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xd0,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_f_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xd0,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_f_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd0,0x7d]
+
+v_cmp_f_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xd1,0x7d]
+
+v_cmp_f_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_f_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_f_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_f_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xe8,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_lt_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xd2,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_lt_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xd2,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_lt_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd2,0x7d]
+
+v_cmp_lt_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xd3,0x7d]
+
+v_cmp_lt_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_lt_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xe9,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_eq_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xd4,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_eq_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xd4,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_eq_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd4,0x7d]
+
+v_cmp_eq_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xd5,0x7d]
+
+v_cmp_eq_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xea,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_eq_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xea,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_le_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xd6,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_le_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xd6,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_le_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd6,0x7d]
+
+v_cmp_le_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xd7,0x7d]
+
+v_cmp_le_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_le_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_le_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_le_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xeb,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_gt_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xd8,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_gt_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xd8,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_gt_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xd8,0x7d]
+
+v_cmp_gt_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xd9,0x7d]
+
+v_cmp_gt_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xec,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_gt_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xec,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_ne_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xda,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_ne_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xda,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_ne_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xda,0x7d]
+
+v_cmp_ne_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xdb,0x7d]
+
+v_cmp_ne_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ne_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ne_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xed,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xed,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xed,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xed,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xed,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_ne_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xed,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_ge_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xdc,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_ge_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xdc,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_ge_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xdc,0x7d]
+
+v_cmp_ge_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xdd,0x7d]
+
+v_cmp_ge_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xee,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_ge_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xee,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmp_t_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xde,0x7d]
+
+v_cmp_t_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xde,0x7d]
+
+v_cmp_t_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xde,0x7d]
+
+v_cmp_t_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xde,0x7d]
+
+v_cmp_t_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xde,0x7d]
+
+v_cmp_t_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xde,0x7d]
+
+v_cmp_t_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xde,0x7d]
+
+v_cmp_t_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xde,0x7d]
+
+v_cmp_t_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xde,0x7d]
+
+v_cmp_t_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xde,0x7d]
+
+v_cmp_t_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xde,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmp_t_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xde,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmp_t_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xde,0x7d]
+
+v_cmp_t_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xde,0x7d]
+
+v_cmp_t_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xdf,0x7d]
+
+v_cmp_t_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_t_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_t_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_t_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_t_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xef,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmp_t_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xef,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xef,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xef,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xef,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmp_t_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmp_t_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xef,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_f_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xe0,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_f_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xe0,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_f_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe0,0x7d]
+
+v_cmpx_f_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xe1,0x7d]
+
+v_cmpx_f_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_i64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_f_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xf0,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_lt_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xe2,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_lt_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xe2,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_lt_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe2,0x7d]
+
+v_cmpx_lt_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xe3,0x7d]
+
+v_cmpx_lt_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_i64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_lt_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xf1,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_eq_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xe4,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_eq_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xe4,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_eq_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe4,0x7d]
+
+v_cmpx_eq_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xe5,0x7d]
+
+v_cmpx_eq_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_i64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_eq_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xf2,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_le_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xe6,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_le_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xe6,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_le_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe6,0x7d]
+
+v_cmpx_le_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xe7,0x7d]
+
+v_cmpx_le_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_i64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_le_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xf3,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_gt_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xe8,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_gt_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xe8,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_gt_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xe8,0x7d]
+
+v_cmpx_gt_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xe9,0x7d]
+
+v_cmpx_gt_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_i64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_gt_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xf4,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_ne_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xea,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ne_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xea,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ne_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xea,0x7d]
+
+v_cmpx_ne_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xeb,0x7d]
+
+v_cmpx_ne_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_i64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_ne_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xf5,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_ge_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xec,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ge_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xec,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ge_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xec,0x7d]
+
+v_cmpx_ge_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xed,0x7d]
+
+v_cmpx_ge_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_i64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_ge_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xf6,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_t_i64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xee,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_t_i64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xee,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_t_i64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xee,0x7d]
+
+v_cmpx_t_i64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xef,0x7d]
+
+v_cmpx_t_i64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_i64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_i64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_i64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_t_i64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xf7,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_f_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xf0,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_f_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xf0,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_f_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf0,0x7d]
+
+v_cmpx_f_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xf1,0x7d]
+
+v_cmpx_f_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_u64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_f_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xf8,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_lt_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xf2,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_lt_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xf2,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_lt_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf2,0x7d]
+
+v_cmpx_lt_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xf3,0x7d]
+
+v_cmpx_lt_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_u64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_lt_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xf9,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_eq_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xf4,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_eq_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xf4,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_eq_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf4,0x7d]
+
+v_cmpx_eq_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xf5,0x7d]
+
+v_cmpx_eq_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_u64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_eq_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xfa,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_le_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xf6,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_le_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xf6,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_le_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf6,0x7d]
+
+v_cmpx_le_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xf7,0x7d]
+
+v_cmpx_le_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_u64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_le_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xfb,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_gt_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xf8,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_gt_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xf8,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_gt_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xf8,0x7d]
+
+v_cmpx_gt_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xf9,0x7d]
+
+v_cmpx_gt_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_u64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_gt_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xfc,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_ne_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xfa,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ne_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xfa,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ne_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xfa,0x7d]
+
+v_cmpx_ne_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xfb,0x7d]
+
+v_cmpx_ne_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_u64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_ne_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xfd,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_ge_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xfc,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_ge_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xfc,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_ge_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xfc,0x7d]
+
+v_cmpx_ge_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xfd,0x7d]
+
+v_cmpx_ge_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_u64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_ge_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xfe,0xd0,0x04,0xfc,0x03,0x00]
+
+v_cmpx_t_u64 vcc, s[2:3], v[2:3]
+// CHECK: [0x02,0x04,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, s[4:5], v[2:3]
+// CHECK: [0x04,0x04,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, s[100:101], v[2:3]
+// CHECK: [0x64,0x04,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, flat_scratch, v[2:3]
+// CHECK: [0x66,0x04,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, vcc, v[2:3]
+// CHECK: [0x6a,0x04,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, exec, v[2:3]
+// CHECK: [0x7e,0x04,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, 0, v[2:3]
+// CHECK: [0x80,0x04,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, -1, v[2:3]
+// CHECK: [0xc1,0x04,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, 0.5, v[2:3]
+// CHECK: [0xf0,0x04,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, -4.0, v[2:3]
+// CHECK: [0xf7,0x04,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, 0xaf123456, v[2:3]
+// CHECK: [0xff,0x04,0xfe,0x7d,0x56,0x34,0x12,0xaf]
+
+v_cmpx_t_u64 vcc, 0x3f717273, v[2:3]
+// CHECK: [0xff,0x04,0xfe,0x7d,0x73,0x72,0x71,0x3f]
+
+v_cmpx_t_u64 vcc, v[1:2], v[2:3]
+// CHECK: [0x01,0x05,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, v[254:255], v[2:3]
+// CHECK: [0xfe,0x05,0xfe,0x7d]
+
+v_cmpx_t_u64 vcc, s[2:3], v[254:255]
+// CHECK: [0x02,0xfc,0xff,0x7d]
+
+v_cmpx_t_u64_e64 s[10:11], s[4:5], s[4:5]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[12:13], s[4:5], s[4:5]
+// CHECK: [0x0c,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[100:101], s[4:5], s[4:5]
+// CHECK: [0x64,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_u64_e64 flat_scratch, s[4:5], s[4:5]
+// CHECK: [0x66,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_u64_e64 vcc, s[4:5], s[4:5]
+// CHECK: [0x6a,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_u64_e64 exec, s[4:5], s[4:5]
+// CHECK: [0x7e,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], 0, s[4:5]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x80,0x08,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], -1, s[4:5]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xc1,0x08,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], 0.5, s[4:5]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xf0,0x08,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], -4.0, s[4:5]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xf7,0x08,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[1:2], s[4:5]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x01,0x09,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], v[254:255], s[4:5]
+// CHECK: [0x0a,0x00,0xff,0xd0,0xfe,0x09,0x00,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], s[4:5], 0
+// CHECK: [0x0a,0x00,0xff,0xd0,0x04,0x00,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], s[4:5], -1
+// CHECK: [0x0a,0x00,0xff,0xd0,0x04,0x82,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], s[4:5], 0.5
+// CHECK: [0x0a,0x00,0xff,0xd0,0x04,0xe0,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], s[4:5], -4.0
+// CHECK: [0x0a,0x00,0xff,0xd0,0x04,0xee,0x01,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], s[4:5], v[2:3]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x04,0x04,0x02,0x00]
+
+v_cmpx_t_u64_e64 s[10:11], s[4:5], v[254:255]
+// CHECK: [0x0a,0x00,0xff,0xd0,0x04,0xfc,0x03,0x00]
diff --git a/test/MC/AMDGPU/sopk-err.s b/test/MC/AMDGPU/sopk-err.s
index cf03a242e5eb..8bf555e6bfff 100644
--- a/test/MC/AMDGPU/sopk-err.s
+++ b/test/MC/AMDGPU/sopk-err.s
@@ -25,3 +25,18 @@ s_setreg_imm32_b32 hwreg(3,0,33), 0xff
s_getreg_b32 s2, hwreg(3,32,32)
// GCN: error: invalid bit offset: only 5-bit values are legal
+
+s_cmpk_le_u32 s2, -1
+// GCN: error: invalid operand for instruction
+
+s_cmpk_le_u32 s2, 0x1ffff
+// GCN: error: invalid operand for instruction
+
+s_cmpk_le_u32 s2, 0x10000
+// GCN: error: invalid operand for instruction
+
+s_mulk_i32 s2, 0xFFFFFFFFFFFF0000
+// GCN: error: invalid operand for instruction
+
+s_mulk_i32 s2, 0x10000
+// GCN: error: invalid operand for instruction
diff --git a/test/MC/AMDGPU/sopk.s b/test/MC/AMDGPU/sopk.s
index d4f6dcfbfebb..98fa165d24be 100644
--- a/test/MC/AMDGPU/sopk.s
+++ b/test/MC/AMDGPU/sopk.s
@@ -61,6 +61,10 @@ s_cmpk_le_u32 s2, 0x6
// SICI: s_cmpk_le_u32 s2, 0x6 ; encoding: [0x06,0x00,0x02,0xb7]
// VI: s_cmpk_le_u32 s2, 0x6 ; encoding: [0x06,0x00,0x82,0xb6]
+s_cmpk_le_u32 s2, 0xFFFF
+// SICI: s_cmpk_le_u32 s2, 0xffff ; encoding: [0xff,0xff,0x02,0xb7]
+// VI: s_cmpk_le_u32 s2, 0xffff ; encoding: [0xff,0xff,0x82,0xb6]
+
s_addk_i32 s2, 0x6
// SICI: s_addk_i32 s2, 0x6 ; encoding: [0x06,0x00,0x82,0xb7]
// VI: s_addk_i32 s2, 0x6 ; encoding: [0x06,0x00,0x02,0xb7]
@@ -69,6 +73,14 @@ s_mulk_i32 s2, 0x6
// SICI: s_mulk_i32 s2, 0x6 ; encoding: [0x06,0x00,0x02,0xb8]
// VI: s_mulk_i32 s2, 0x6 ; encoding: [0x06,0x00,0x82,0xb7]
+s_mulk_i32 s2, -1
+// SICI: s_mulk_i32 s2, 0xffff ; encoding: [0xff,0xff,0x02,0xb8]
+// VI: s_mulk_i32 s2, 0xffff ; encoding: [0xff,0xff,0x82,0xb7]
+
+s_mulk_i32 s2, 0xFFFF
+// SICI: s_mulk_i32 s2, 0xffff ; encoding: [0xff,0xff,0x02,0xb8]
+// VI: s_mulk_i32 s2, 0xffff ; encoding: [0xff,0xff,0x82,0xb7]
+
s_cbranch_i_fork s[2:3], 0x6
// SICI: s_cbranch_i_fork s[2:3], 0x6 ; encoding: [0x06,0x00,0x82,0xb8]
// VI: s_cbranch_i_fork s[2:3], 0x6 ; encoding: [0x06,0x00,0x02,0xb8]
diff --git a/test/MC/AMDGPU/sopp-err.s b/test/MC/AMDGPU/sopp-err.s
index da6bfbd16f4e..fac0d3222909 100644
--- a/test/MC/AMDGPU/sopp-err.s
+++ b/test/MC/AMDGPU/sopp-err.s
@@ -73,3 +73,21 @@ s_sendmsg sendmsg(MSG_SYSMSG, 0)
s_sendmsg sendmsg(MSG_SYSMSG, 5)
// GCN: error: invalid/unsupported code of SYSMSG_OP
+
+s_waitcnt lgkmcnt(16)
+// GCN: error: failed parsing operand
+
+s_waitcnt expcnt(8)
+// GCN: error: failed parsing operand
+
+s_waitcnt vmcnt(16)
+// GCN: error: failed parsing operand
+
+s_waitcnt vmcnt(0xFFFFFFFFFFFF0000)
+// GCN: error: failed parsing operand
+
+s_waitcnt vmcnt(0), expcnt(0), lgkmcnt(0),
+// GCN: error: failed parsing operand
+
+s_waitcnt vmcnt(0) & expcnt(0) & lgkmcnt(0)&
+// GCN: error: failed parsing operand
diff --git a/test/MC/AMDGPU/sopp.s b/test/MC/AMDGPU/sopp.s
index 140e26a9f600..f68b8227d76f 100644
--- a/test/MC/AMDGPU/sopp.s
+++ b/test/MC/AMDGPU/sopp.s
@@ -80,18 +80,56 @@ s_waitcnt vmcnt(1)
s_waitcnt vmcnt(9)
// GCN: s_waitcnt vmcnt(9) ; encoding: [0x79,0x0f,0x8c,0xbf]
+s_waitcnt vmcnt(15)
+// GCN: s_waitcnt ; encoding: [0x7f,0x0f,0x8c,0xbf]
+
+s_waitcnt vmcnt_sat(9)
+// GCN: s_waitcnt vmcnt(9) ; encoding: [0x79,0x0f,0x8c,0xbf]
+
+s_waitcnt vmcnt_sat(15)
+// GCN: s_waitcnt ; encoding: [0x7f,0x0f,0x8c,0xbf]
+
+s_waitcnt vmcnt_sat(16)
+// GCN: s_waitcnt ; encoding: [0x7f,0x0f,0x8c,0xbf]
+
s_waitcnt expcnt(2)
// GCN: s_waitcnt expcnt(2) ; encoding: [0x2f,0x0f,0x8c,0xbf]
+s_waitcnt expcnt(7)
+// GCN: s_waitcnt ; encoding: [0x7f,0x0f,0x8c,0xbf]
+
+s_waitcnt expcnt_sat(2)
+// GCN: s_waitcnt expcnt(2) ; encoding: [0x2f,0x0f,0x8c,0xbf]
+
+s_waitcnt expcnt_sat(7)
+// GCN: s_waitcnt ; encoding: [0x7f,0x0f,0x8c,0xbf]
+
+s_waitcnt expcnt_sat(0xFFFF0000)
+// GCN: s_waitcnt ; encoding: [0x7f,0x0f,0x8c,0xbf]
+
s_waitcnt lgkmcnt(3)
// GCN: s_waitcnt lgkmcnt(3) ; encoding: [0x7f,0x03,0x8c,0xbf]
s_waitcnt lgkmcnt(9)
// GCN: s_waitcnt lgkmcnt(9) ; encoding: [0x7f,0x09,0x8c,0xbf]
+s_waitcnt lgkmcnt(15)
+// GCN: s_waitcnt ; encoding: [0x7f,0x0f,0x8c,0xbf]
+
s_waitcnt vmcnt(0), expcnt(0)
// GCN: s_waitcnt vmcnt(0) expcnt(0) ; encoding: [0x00,0x0f,0x8c,0xbf]
+s_waitcnt lgkmcnt_sat(3)
+// GCN: s_waitcnt lgkmcnt(3) ; encoding: [0x7f,0x03,0x8c,0xbf]
+
+s_waitcnt lgkmcnt_sat(9)
+// GCN: s_waitcnt lgkmcnt(9) ; encoding: [0x7f,0x09,0x8c,0xbf]
+
+s_waitcnt lgkmcnt_sat(15)
+// GCN: s_waitcnt ; encoding: [0x7f,0x0f,0x8c,0xbf]
+
+s_waitcnt lgkmcnt_sat(16)
+// GCN: s_waitcnt ; encoding: [0x7f,0x0f,0x8c,0xbf]
s_sethalt 9
// GCN: s_sethalt 9 ; encoding: [0x09,0x00,0x8d,0xbf]
diff --git a/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt b/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
index 21d1d5a5dab1..37725e960f92 100644
--- a/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
+++ b/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt
@@ -1,4066 +1,4141 @@
# RUN: llvm-mc -arch=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s
-# CHECK: ds_add_u32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x00,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x00,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_u32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x00,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x00,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_u32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x00,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x00,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_add_u32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x00,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x00,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_add_u32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x00,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x00,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_add_u32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x00,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x00,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_add_u32 v0, v0 ; encoding: [0x00,0x00,0x00,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x00,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_u32 v1, v2 ; encoding: [0x00,0x00,0x00,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x00,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_u32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x00,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x00,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_u32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x00,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x00,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_u32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x01,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x01,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_u32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x01,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x01,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_sub_u32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x02,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x02,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_u32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x02,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x02,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_sub_u32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x02,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x02,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_sub_u32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x02,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x02,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_sub_u32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x02,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x02,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_sub_u32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x02,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x02,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_sub_u32 v0, v0 ; encoding: [0x00,0x00,0x02,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x02,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_u32 v1, v2 ; encoding: [0x00,0x00,0x02,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x02,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_sub_u32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x02,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x02,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_u32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x02,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x02,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_sub_u32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x03,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x03,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_u32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x03,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x03,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_rsub_u32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x04,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x04,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_u32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x04,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x04,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_rsub_u32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x04,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x04,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_rsub_u32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x04,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x04,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_rsub_u32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x04,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x04,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_rsub_u32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x04,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x04,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_rsub_u32 v0, v0 ; encoding: [0x00,0x00,0x04,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x04,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_u32 v1, v2 ; encoding: [0x00,0x00,0x04,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x04,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_rsub_u32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x04,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x04,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_u32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x04,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x04,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_rsub_u32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x05,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x05,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_u32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x05,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x05,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_inc_u32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x06,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x06,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_u32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x06,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x06,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_inc_u32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x06,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x06,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_inc_u32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x06,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x06,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_inc_u32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x06,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x06,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_inc_u32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x06,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x06,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_inc_u32 v0, v0 ; encoding: [0x00,0x00,0x06,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x06,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_u32 v1, v2 ; encoding: [0x00,0x00,0x06,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x06,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_inc_u32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x06,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x06,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_u32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x06,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x06,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_inc_u32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x07,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x07,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_u32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x07,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x07,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_dec_u32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x08,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x08,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_u32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x08,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x08,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_dec_u32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x08,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x08,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_dec_u32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x08,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x08,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_dec_u32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x08,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x08,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_dec_u32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x08,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x08,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_dec_u32 v0, v0 ; encoding: [0x00,0x00,0x08,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x08,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_u32 v1, v2 ; encoding: [0x00,0x00,0x08,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x08,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_dec_u32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x08,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x08,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_u32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x08,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x08,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_dec_u32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x09,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x09,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_u32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x09,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x09,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_i32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x0a,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_i32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x0a,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x0a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_i32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x0a,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x0a,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_i32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x0a,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x0a,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_min_i32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x0a,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x0a,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_min_i32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x0a,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x0a,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_min_i32 v0, v0 ; encoding: [0x00,0x00,0x0a,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_i32 v1, v2 ; encoding: [0x00,0x00,0x0a,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_i32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x0a,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x0a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_i32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x0a,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x0a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_i32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x0b,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0b,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_i32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x0b,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x0b,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_i32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x0c,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_i32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x0c,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x0c,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_i32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x0c,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x0c,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_i32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x0c,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x0c,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_max_i32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x0c,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x0c,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_max_i32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x0c,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x0c,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_max_i32 v0, v0 ; encoding: [0x00,0x00,0x0c,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_i32 v1, v2 ; encoding: [0x00,0x00,0x0c,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0c,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_i32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x0c,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x0c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_i32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x0c,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x0c,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_i32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x0d,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0d,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_i32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x0d,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x0d,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_u32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x0e,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_u32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x0e,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x0e,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_u32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x0e,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x0e,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_u32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x0e,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x0e,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_min_u32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x0e,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x0e,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_min_u32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x0e,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x0e,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_min_u32 v0, v0 ; encoding: [0x00,0x00,0x0e,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_u32 v1, v2 ; encoding: [0x00,0x00,0x0e,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0e,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_u32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x0e,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x0e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_u32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x0e,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x0e,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_u32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x0f,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0f,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_u32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x0f,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x0f,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_u32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x10,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x10,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_u32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x10,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x10,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_u32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x10,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x10,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_u32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x10,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x10,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_max_u32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x10,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x10,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_max_u32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x10,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x10,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_max_u32 v0, v0 ; encoding: [0x00,0x00,0x10,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_u32 v1, v2 ; encoding: [0x00,0x00,0x10,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x10,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_u32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x10,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x10,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_u32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x10,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x10,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_u32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x11,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x11,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_u32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x11,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x11,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_and_b32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x12,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x12,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_b32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x12,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x12,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_and_b32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x12,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x12,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_and_b32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x12,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x12,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_and_b32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x12,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x12,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_and_b32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x12,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x12,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_and_b32 v0, v0 ; encoding: [0x00,0x00,0x12,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_b32 v1, v2 ; encoding: [0x00,0x00,0x12,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x12,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_and_b32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x12,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x12,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_b32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x12,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x12,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_and_b32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x13,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x13,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_b32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x13,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x13,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_or_b32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x14,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x14,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_b32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x14,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x14,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_or_b32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x14,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x14,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_or_b32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x14,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x14,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_or_b32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x14,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x14,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_or_b32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x14,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x14,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_or_b32 v0, v0 ; encoding: [0x00,0x00,0x14,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_b32 v1, v2 ; encoding: [0x00,0x00,0x14,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x14,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_or_b32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x14,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x14,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_b32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x14,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x14,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_or_b32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x15,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x15,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_b32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x15,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x15,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_xor_b32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x16,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x16,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_b32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x16,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x16,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_xor_b32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x16,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x16,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_xor_b32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x16,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x16,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_xor_b32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x16,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x16,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_xor_b32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x16,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x16,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_xor_b32 v0, v0 ; encoding: [0x00,0x00,0x16,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x16,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_b32 v1, v2 ; encoding: [0x00,0x00,0x16,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x16,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_xor_b32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x16,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x16,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_b32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x16,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x16,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_xor_b32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x17,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x17,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_b32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x17,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x17,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_mskor_b32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x18,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x18,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_b32 v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x18,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0x18,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_mskor_b32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x18,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x18,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_mskor_b32 v255, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x18,0xd8,0xff,0x02,0x03,0x00]
+0xff,0xff,0x18,0xd8,0xff,0x02,0x03,0x00
-# CHECK: ds_mskor_b32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x18,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x18,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_mskor_b32 v1, v255, v3 offset:65535 ; encoding: [0xff,0xff,0x18,0xd8,0x01,0xff,0x03,0x00]
+0xff,0xff,0x18,0xd8,0x01,0xff,0x03,0x00
-# CHECK: ds_mskor_b32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x18,0xd8,0x00,0x00,0xff,0x00]
-0xff,0xff,0x18,0xd8,0x00,0x00,0xff,0x00
+# CHECK: ds_mskor_b32 v1, v2, v255 offset:65535 ; encoding: [0xff,0xff,0x18,0xd8,0x01,0x02,0xff,0x00]
+0xff,0xff,0x18,0xd8,0x01,0x02,0xff,0x00
-# CHECK: ds_mskor_b32 v0, v0, v0 ; encoding: [0x00,0x00,0x18,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x18,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_b32 v1, v2, v3 ; encoding: [0x00,0x00,0x18,0xd8,0x01,0x02,0x03,0x00]
+0x00,0x00,0x18,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_mskor_b32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x18,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x18,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_b32 v1, v2, v3 offset:4 ; encoding: [0x04,0x00,0x18,0xd8,0x01,0x02,0x03,0x00]
+0x04,0x00,0x18,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_mskor_b32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x19,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x19,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_b32 v1, v2, v3 offset:65535 gds ; encoding: [0xff,0xff,0x19,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0x19,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write_b32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x1a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x1a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x1a,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_write_b32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x1a,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_write_b32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x1a,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_write_b32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x1a,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x1a,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_write_b32 v0, v0 ; encoding: [0x00,0x00,0x1a,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b32 v1, v2 ; encoding: [0x00,0x00,0x1a,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x1a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x1a,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x1a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x1a,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x1a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x1b,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x1b,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x1b,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x1b,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write2_b32 v0, v0, v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1c,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x1c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b32 v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1c,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0xff,0x1c,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2_b32 v255, v0, v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1c,0xd8,0xff,0x00,0x00,0x00]
-0x7f,0xff,0x1c,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_write2_b32 v255, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1c,0xd8,0xff,0x02,0x03,0x00]
+0x7f,0xff,0x1c,0xd8,0xff,0x02,0x03,0x00
-# CHECK: ds_write2_b32 v0, v255, v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1c,0xd8,0x00,0xff,0x00,0x00]
-0x7f,0xff,0x1c,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_write2_b32 v1, v255, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1c,0xd8,0x01,0xff,0x03,0x00]
+0x7f,0xff,0x1c,0xd8,0x01,0xff,0x03,0x00
-# CHECK: ds_write2_b32 v0, v0, v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1c,0xd8,0x00,0x00,0xff,0x00]
-0x7f,0xff,0x1c,0xd8,0x00,0x00,0xff,0x00
+# CHECK: ds_write2_b32 v1, v2, v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1c,0xd8,0x01,0x02,0xff,0x00]
+0x7f,0xff,0x1c,0xd8,0x01,0x02,0xff,0x00
-# CHECK: ds_write2_b32 v0, v0, v0 offset1:255 ; encoding: [0x00,0xff,0x1c,0xd8,0x00,0x00,0x00,0x00]
-0x00,0xff,0x1c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b32 v1, v2, v3 offset1:255 ; encoding: [0x00,0xff,0x1c,0xd8,0x01,0x02,0x03,0x00]
+0x00,0xff,0x1c,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2_b32 v0, v0, v0 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x1c,0xd8,0x00,0x00,0x00,0x00]
-0x10,0xff,0x1c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b32 v1, v2, v3 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x1c,0xd8,0x01,0x02,0x03,0x00]
+0x10,0xff,0x1c,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2_b32 v0, v0, v0 offset0:127 ; encoding: [0x7f,0x00,0x1c,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x00,0x1c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b32 v1, v2, v3 offset0:127 ; encoding: [0x7f,0x00,0x1c,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0x00,0x1c,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2_b32 v0, v0, v0 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x1c,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x01,0x1c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b32 v1, v2, v3 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x1c,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0x01,0x1c,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2_b32 v0, v0, v0 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x1d,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x1d,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b32 v1, v2, v3 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x1d,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0xff,0x1d,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b32 v0, v0, v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1e,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x1e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b32 v1, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1e,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0xff,0x1e,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b32 v255, v0, v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1e,0xd8,0xff,0x00,0x00,0x00]
-0x7f,0xff,0x1e,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_write2st64_b32 v255, v2, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1e,0xd8,0xff,0x02,0x03,0x00]
+0x7f,0xff,0x1e,0xd8,0xff,0x02,0x03,0x00
-# CHECK: ds_write2st64_b32 v0, v255, v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1e,0xd8,0x00,0xff,0x00,0x00]
-0x7f,0xff,0x1e,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_write2st64_b32 v1, v255, v3 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1e,0xd8,0x01,0xff,0x03,0x00]
+0x7f,0xff,0x1e,0xd8,0x01,0xff,0x03,0x00
-# CHECK: ds_write2st64_b32 v0, v0, v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1e,0xd8,0x00,0x00,0xff,0x00]
-0x7f,0xff,0x1e,0xd8,0x00,0x00,0xff,0x00
+# CHECK: ds_write2st64_b32 v1, v2, v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x1e,0xd8,0x01,0x02,0xff,0x00]
+0x7f,0xff,0x1e,0xd8,0x01,0x02,0xff,0x00
-# CHECK: ds_write2st64_b32 v0, v0, v0 offset1:255 ; encoding: [0x00,0xff,0x1e,0xd8,0x00,0x00,0x00,0x00]
-0x00,0xff,0x1e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b32 v1, v2, v3 offset1:255 ; encoding: [0x00,0xff,0x1e,0xd8,0x01,0x02,0x03,0x00]
+0x00,0xff,0x1e,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b32 v0, v0, v0 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x1e,0xd8,0x00,0x00,0x00,0x00]
-0x10,0xff,0x1e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b32 v1, v2, v3 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x1e,0xd8,0x01,0x02,0x03,0x00]
+0x10,0xff,0x1e,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b32 v0, v0, v0 offset0:127 ; encoding: [0x7f,0x00,0x1e,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x00,0x1e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b32 v1, v2, v3 offset0:127 ; encoding: [0x7f,0x00,0x1e,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0x00,0x1e,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b32 v0, v0, v0 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x1e,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x01,0x1e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b32 v1, v2, v3 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x1e,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0x01,0x1e,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b32 v0, v0, v0 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x1f,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x1f,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b32 v1, v2, v3 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x1f,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0xff,0x1f,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_b32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x20,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x20,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_b32 v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x20,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0x20,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_b32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x20,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x20,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_cmpst_b32 v255, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x20,0xd8,0xff,0x02,0x03,0x00]
+0xff,0xff,0x20,0xd8,0xff,0x02,0x03,0x00
-# CHECK: ds_cmpst_b32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x20,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x20,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_cmpst_b32 v1, v255, v3 offset:65535 ; encoding: [0xff,0xff,0x20,0xd8,0x01,0xff,0x03,0x00]
+0xff,0xff,0x20,0xd8,0x01,0xff,0x03,0x00
-# CHECK: ds_cmpst_b32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x20,0xd8,0x00,0x00,0xff,0x00]
-0xff,0xff,0x20,0xd8,0x00,0x00,0xff,0x00
+# CHECK: ds_cmpst_b32 v1, v2, v255 offset:65535 ; encoding: [0xff,0xff,0x20,0xd8,0x01,0x02,0xff,0x00]
+0xff,0xff,0x20,0xd8,0x01,0x02,0xff,0x00
-# CHECK: ds_cmpst_b32 v0, v0, v0 ; encoding: [0x00,0x00,0x20,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_b32 v1, v2, v3 ; encoding: [0x00,0x00,0x20,0xd8,0x01,0x02,0x03,0x00]
+0x00,0x00,0x20,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_b32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x20,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x20,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_b32 v1, v2, v3 offset:4 ; encoding: [0x04,0x00,0x20,0xd8,0x01,0x02,0x03,0x00]
+0x04,0x00,0x20,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_b32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x21,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x21,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_b32 v1, v2, v3 offset:65535 gds ; encoding: [0xff,0xff,0x21,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0x21,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_f32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x22,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x22,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_f32 v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x22,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0x22,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_f32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x22,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x22,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_cmpst_f32 v255, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x22,0xd8,0xff,0x02,0x03,0x00]
+0xff,0xff,0x22,0xd8,0xff,0x02,0x03,0x00
-# CHECK: ds_cmpst_f32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x22,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x22,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_cmpst_f32 v1, v255, v3 offset:65535 ; encoding: [0xff,0xff,0x22,0xd8,0x01,0xff,0x03,0x00]
+0xff,0xff,0x22,0xd8,0x01,0xff,0x03,0x00
-# CHECK: ds_cmpst_f32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x22,0xd8,0x00,0x00,0xff,0x00]
-0xff,0xff,0x22,0xd8,0x00,0x00,0xff,0x00
+# CHECK: ds_cmpst_f32 v1, v2, v255 offset:65535 ; encoding: [0xff,0xff,0x22,0xd8,0x01,0x02,0xff,0x00]
+0xff,0xff,0x22,0xd8,0x01,0x02,0xff,0x00
-# CHECK: ds_cmpst_f32 v0, v0, v0 ; encoding: [0x00,0x00,0x22,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_f32 v1, v2, v3 ; encoding: [0x00,0x00,0x22,0xd8,0x01,0x02,0x03,0x00]
+0x00,0x00,0x22,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_f32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x22,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x22,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_f32 v1, v2, v3 offset:4 ; encoding: [0x04,0x00,0x22,0xd8,0x01,0x02,0x03,0x00]
+0x04,0x00,0x22,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_f32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x23,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x23,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_f32 v1, v2, v3 offset:65535 gds ; encoding: [0xff,0xff,0x23,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0x23,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_min_f32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x24,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x24,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_f32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x24,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x24,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_f32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x24,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x24,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_f32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x24,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x24,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_min_f32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x24,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x24,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_min_f32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x24,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x24,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_min_f32 v0, v0 ; encoding: [0x00,0x00,0x24,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x24,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_f32 v1, v2 ; encoding: [0x00,0x00,0x24,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x24,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_f32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x24,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x24,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_f32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x24,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x24,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_f32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x25,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x25,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_f32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x25,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x25,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_f32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x26,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x26,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_f32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x26,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x26,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_f32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x26,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x26,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_f32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x26,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x26,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_max_f32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x26,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x26,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_max_f32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x26,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x26,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_max_f32 v0, v0 ; encoding: [0x00,0x00,0x26,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_f32 v1, v2 ; encoding: [0x00,0x00,0x26,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x26,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_f32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x26,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x26,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_f32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x26,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x26,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_f32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x27,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x27,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_f32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x27,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x27,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_f32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x2a,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x2a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_nop ; encoding: [0x00,0x00,0x28,0xd8,0x00,0x00,0x00,0x00]
+0x00,0x00,0x28,0xd8,0x00,0x00,0x00,0x00
-# CHECK: ds_add_f32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x2a,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x2a,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_add_f32 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x2a,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x2a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_f32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x2a,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x2a,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_add_f32 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x2a,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x2a,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_add_f32 v0, v0 ; encoding: [0x00,0x00,0x2a,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_f32 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x2a,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x2a,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_add_f32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x2a,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x2a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_f32 v1, v2 ; encoding: [0x00,0x00,0x2a,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x2a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_f32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x2b,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x2b,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_f32 v1, v2 offset:4 ; encoding: [0x04,0x00,0x2a,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x2a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b8 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x3c,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x3c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_f32 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x2b,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x2b,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b8 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x3c,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x3c,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_write_b8 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x3c,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x3c,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b8 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x3c,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x3c,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_write_b8 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x3c,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x3c,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_write_b8 v0, v0 ; encoding: [0x00,0x00,0x3c,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x3c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b8 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x3c,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x3c,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_write_b8 v0, v0 offset:4 ; encoding: [0x04,0x00,0x3c,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x3c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b8 v1, v2 ; encoding: [0x00,0x00,0x3c,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x3c,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b8 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x3d,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x3d,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b8 v1, v2 offset:4 ; encoding: [0x04,0x00,0x3c,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x3c,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b16 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x3e,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x3e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b8 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x3d,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x3d,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b16 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x3e,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x3e,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_write_b16 v1, v2 offset:65535 ; encoding: [0xff,0xff,0x3e,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x3e,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b16 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x3e,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x3e,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_write_b16 v255, v2 offset:65535 ; encoding: [0xff,0xff,0x3e,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x3e,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_write_b16 v0, v0 ; encoding: [0x00,0x00,0x3e,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x3e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b16 v1, v255 offset:65535 ; encoding: [0xff,0xff,0x3e,0xd8,0x01,0xff,0x00,0x00]
+0xff,0xff,0x3e,0xd8,0x01,0xff,0x00,0x00
-# CHECK: ds_write_b16 v0, v0 offset:4 ; encoding: [0x04,0x00,0x3e,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x3e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b16 v1, v2 ; encoding: [0x00,0x00,0x3e,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x3e,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b16 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x3f,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x3f,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b16 v1, v2 offset:4 ; encoding: [0x04,0x00,0x3e,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x3e,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_rtn_u32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x40,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b16 v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x3f,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x3f,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_rtn_u32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x40,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_add_rtn_u32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x40,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_add_rtn_u32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x40,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_add_rtn_u32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x40,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_add_rtn_u32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x40,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_add_rtn_u32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x40,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_add_rtn_u32 v0, v0, v0 ; encoding: [0x00,0x00,0x40,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x40,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_u32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x40,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x40,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_add_rtn_u32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x40,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x40,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_u32 v5, v1, v2 ; encoding: [0x00,0x00,0x40,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x40,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_add_rtn_u32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x41,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x41,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_u32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x40,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x40,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_sub_rtn_u32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x42,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x42,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_u32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x41,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x41,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_sub_rtn_u32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x42,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x42,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_sub_rtn_u32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x42,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x42,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_sub_rtn_u32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x42,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x42,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_sub_rtn_u32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x42,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x42,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_sub_rtn_u32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x42,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x42,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_sub_rtn_u32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x42,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x42,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_sub_rtn_u32 v0, v0, v0 ; encoding: [0x00,0x00,0x42,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x42,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_rtn_u32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x42,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x42,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_sub_rtn_u32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x42,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x42,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_rtn_u32 v5, v1, v2 ; encoding: [0x00,0x00,0x42,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x42,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_sub_rtn_u32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x43,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x43,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_rtn_u32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x42,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x42,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_rsub_rtn_u32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x44,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x44,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_rtn_u32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x43,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x43,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_rsub_rtn_u32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x44,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x44,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_rsub_rtn_u32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x44,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x44,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_rsub_rtn_u32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x44,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x44,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_rsub_rtn_u32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x44,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x44,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_rsub_rtn_u32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x44,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x44,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_rsub_rtn_u32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x44,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x44,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_rsub_rtn_u32 v0, v0, v0 ; encoding: [0x00,0x00,0x44,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_rtn_u32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x44,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x44,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_rsub_rtn_u32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x44,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x44,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_rtn_u32 v5, v1, v2 ; encoding: [0x00,0x00,0x44,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x44,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_rsub_rtn_u32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x45,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x45,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_rtn_u32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x44,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x44,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_inc_rtn_u32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x46,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x46,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_rtn_u32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x45,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x45,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_inc_rtn_u32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x46,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x46,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_inc_rtn_u32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x46,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x46,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_inc_rtn_u32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x46,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x46,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_inc_rtn_u32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x46,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x46,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_inc_rtn_u32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x46,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x46,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_inc_rtn_u32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x46,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x46,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_inc_rtn_u32 v0, v0, v0 ; encoding: [0x00,0x00,0x46,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_rtn_u32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x46,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x46,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_inc_rtn_u32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x46,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x46,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_rtn_u32 v5, v1, v2 ; encoding: [0x00,0x00,0x46,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x46,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_inc_rtn_u32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x47,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x47,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_rtn_u32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x46,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x46,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_dec_rtn_u32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x48,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x48,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_rtn_u32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x47,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x47,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_dec_rtn_u32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x48,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x48,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_dec_rtn_u32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x48,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x48,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_dec_rtn_u32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x48,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x48,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_dec_rtn_u32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x48,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x48,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_dec_rtn_u32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x48,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x48,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_dec_rtn_u32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x48,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x48,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_dec_rtn_u32 v0, v0, v0 ; encoding: [0x00,0x00,0x48,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_rtn_u32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x48,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x48,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_dec_rtn_u32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x48,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x48,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_rtn_u32 v5, v1, v2 ; encoding: [0x00,0x00,0x48,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x48,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_dec_rtn_u32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x49,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x49,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_rtn_u32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x48,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x48,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_i32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x4a,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x4a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_rtn_u32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x49,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x49,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_i32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x4a,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x4a,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_min_rtn_i32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x4a,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x4a,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_i32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x4a,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x4a,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_rtn_i32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x4a,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x4a,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_min_rtn_i32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x4a,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x4a,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_min_rtn_i32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x4a,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x4a,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_min_rtn_i32 v0, v0, v0 ; encoding: [0x00,0x00,0x4a,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_i32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x4a,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x4a,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_min_rtn_i32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x4a,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x4a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_i32 v5, v1, v2 ; encoding: [0x00,0x00,0x4a,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x4a,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_i32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x4b,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x4b,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_i32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x4a,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x4a,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_i32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x4c,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x4c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_i32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x4b,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x4b,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_i32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x4c,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x4c,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_max_rtn_i32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x4c,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x4c,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_i32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x4c,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x4c,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_rtn_i32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x4c,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x4c,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_max_rtn_i32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x4c,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x4c,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_max_rtn_i32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x4c,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x4c,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_max_rtn_i32 v0, v0, v0 ; encoding: [0x00,0x00,0x4c,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_i32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x4c,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x4c,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_max_rtn_i32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x4c,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x4c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_i32 v5, v1, v2 ; encoding: [0x00,0x00,0x4c,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x4c,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_i32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x4d,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x4d,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_i32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x4c,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x4c,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_u32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x4e,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x4e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_i32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x4d,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x4d,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_u32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x4e,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x4e,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_min_rtn_u32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x4e,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x4e,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_u32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x4e,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x4e,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_rtn_u32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x4e,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x4e,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_min_rtn_u32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x4e,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x4e,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_min_rtn_u32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x4e,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x4e,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_min_rtn_u32 v0, v0, v0 ; encoding: [0x00,0x00,0x4e,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_u32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x4e,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x4e,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_min_rtn_u32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x4e,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x4e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_u32 v5, v1, v2 ; encoding: [0x00,0x00,0x4e,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x4e,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_u32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x4f,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x4f,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_u32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x4e,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x4e,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_u32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x50,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x50,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_u32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x4f,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x4f,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_u32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x50,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x50,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_max_rtn_u32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x50,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x50,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_u32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x50,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x50,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_rtn_u32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x50,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x50,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_max_rtn_u32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x50,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x50,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_max_rtn_u32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x50,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x50,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_max_rtn_u32 v0, v0, v0 ; encoding: [0x00,0x00,0x50,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_u32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x50,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x50,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_max_rtn_u32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x50,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x50,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_u32 v5, v1, v2 ; encoding: [0x00,0x00,0x50,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x50,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_u32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x51,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x51,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_u32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x50,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x50,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_and_rtn_b32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x52,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x52,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_u32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x51,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x51,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_and_rtn_b32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x52,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x52,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_and_rtn_b32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x52,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x52,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_and_rtn_b32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x52,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x52,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_and_rtn_b32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x52,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x52,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_and_rtn_b32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x52,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x52,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_and_rtn_b32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x52,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x52,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_and_rtn_b32 v0, v0, v0 ; encoding: [0x00,0x00,0x52,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_rtn_b32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x52,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x52,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_and_rtn_b32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x52,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x52,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_rtn_b32 v5, v1, v2 ; encoding: [0x00,0x00,0x52,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x52,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_and_rtn_b32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x53,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x53,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_rtn_b32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x52,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x52,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_or_rtn_b32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x54,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x54,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_rtn_b32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x53,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x53,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_or_rtn_b32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x54,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x54,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_or_rtn_b32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x54,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x54,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_or_rtn_b32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x54,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x54,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_or_rtn_b32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x54,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x54,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_or_rtn_b32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x54,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x54,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_or_rtn_b32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x54,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x54,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_or_rtn_b32 v0, v0, v0 ; encoding: [0x00,0x00,0x54,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_rtn_b32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x54,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x54,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_or_rtn_b32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x54,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x54,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_rtn_b32 v5, v1, v2 ; encoding: [0x00,0x00,0x54,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x54,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_or_rtn_b32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x55,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x55,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_rtn_b32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x54,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x54,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_xor_rtn_b32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x56,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x56,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_rtn_b32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x55,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x55,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_xor_rtn_b32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x56,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x56,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_xor_rtn_b32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x56,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x56,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_xor_rtn_b32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x56,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x56,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_xor_rtn_b32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x56,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x56,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_xor_rtn_b32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x56,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x56,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_xor_rtn_b32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x56,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x56,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_xor_rtn_b32 v0, v0, v0 ; encoding: [0x00,0x00,0x56,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_rtn_b32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x56,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x56,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_xor_rtn_b32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x56,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x56,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_rtn_b32 v5, v1, v2 ; encoding: [0x00,0x00,0x56,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x56,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_xor_rtn_b32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x57,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x57,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_rtn_b32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x56,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x56,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_mskor_rtn_b32 v0, v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x58,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x58,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_rtn_b32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x57,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x57,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_mskor_rtn_b32 v255, v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x58,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x58,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_mskor_rtn_b32 v5, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x58,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0x58,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_mskor_rtn_b32 v0, v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x58,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x58,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_mskor_rtn_b32 v255, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x58,0xd8,0x01,0x02,0x03,0xff]
+0xff,0xff,0x58,0xd8,0x01,0x02,0x03,0xff
-# CHECK: ds_mskor_rtn_b32 v0, v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x58,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x58,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_mskor_rtn_b32 v5, v255, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x58,0xd8,0xff,0x02,0x03,0x05]
+0xff,0xff,0x58,0xd8,0xff,0x02,0x03,0x05
-# CHECK: ds_mskor_rtn_b32 v0, v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x58,0xd8,0x00,0x00,0xff,0x00]
-0xff,0xff,0x58,0xd8,0x00,0x00,0xff,0x00
+# CHECK: ds_mskor_rtn_b32 v5, v1, v255, v3 offset:65535 ; encoding: [0xff,0xff,0x58,0xd8,0x01,0xff,0x03,0x05]
+0xff,0xff,0x58,0xd8,0x01,0xff,0x03,0x05
-# CHECK: ds_mskor_rtn_b32 v0, v0, v0, v0 ; encoding: [0x00,0x00,0x58,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_rtn_b32 v5, v1, v2, v255 offset:65535 ; encoding: [0xff,0xff,0x58,0xd8,0x01,0x02,0xff,0x05]
+0xff,0xff,0x58,0xd8,0x01,0x02,0xff,0x05
-# CHECK: ds_mskor_rtn_b32 v0, v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x58,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x58,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_rtn_b32 v5, v1, v2, v3 ; encoding: [0x00,0x00,0x58,0xd8,0x01,0x02,0x03,0x05]
+0x00,0x00,0x58,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_mskor_rtn_b32 v0, v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x59,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x59,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_rtn_b32 v5, v1, v2, v3 offset:4 ; encoding: [0x04,0x00,0x58,0xd8,0x01,0x02,0x03,0x05]
+0x04,0x00,0x58,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_wrxchg_rtn_b32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x5a,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x5a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_rtn_b32 v5, v1, v2, v3 offset:65535 gds ; encoding: [0xff,0xff,0x59,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0x59,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_wrxchg_rtn_b32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x5a,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x5a,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_wrxchg_rtn_b32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x5a,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x5a,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_wrxchg_rtn_b32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x5a,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x5a,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x5a,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x5a,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_wrxchg_rtn_b32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x5a,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x5a,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x5a,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x5a,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_wrxchg_rtn_b32 v0, v0, v0 ; encoding: [0x00,0x00,0x5a,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x5a,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x5a,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_wrxchg_rtn_b32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x5a,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x5a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b32 v5, v1, v2 ; encoding: [0x00,0x00,0x5a,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x5a,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_wrxchg_rtn_b32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x5b,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x5b,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x5a,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x5a,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_cmpst_rtn_b32 v0, v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x60,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x60,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x5b,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x5b,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_cmpst_rtn_b32 v255, v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x60,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x60,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_cmpst_rtn_b32 v5, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x60,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0x60,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_b32 v0, v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x60,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x60,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_b32 v255, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x60,0xd8,0x01,0x02,0x03,0xff]
+0xff,0xff,0x60,0xd8,0x01,0x02,0x03,0xff
-# CHECK: ds_cmpst_rtn_b32 v0, v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x60,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x60,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_cmpst_rtn_b32 v5, v255, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x60,0xd8,0xff,0x02,0x03,0x05]
+0xff,0xff,0x60,0xd8,0xff,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_b32 v0, v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x60,0xd8,0x00,0x00,0xff,0x00]
-0xff,0xff,0x60,0xd8,0x00,0x00,0xff,0x00
+# CHECK: ds_cmpst_rtn_b32 v5, v1, v255, v3 offset:65535 ; encoding: [0xff,0xff,0x60,0xd8,0x01,0xff,0x03,0x05]
+0xff,0xff,0x60,0xd8,0x01,0xff,0x03,0x05
-# CHECK: ds_cmpst_rtn_b32 v0, v0, v0, v0 ; encoding: [0x00,0x00,0x60,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_b32 v5, v1, v2, v255 offset:65535 ; encoding: [0xff,0xff,0x60,0xd8,0x01,0x02,0xff,0x05]
+0xff,0xff,0x60,0xd8,0x01,0x02,0xff,0x05
-# CHECK: ds_cmpst_rtn_b32 v0, v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x60,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x60,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_b32 v5, v1, v2, v3 ; encoding: [0x00,0x00,0x60,0xd8,0x01,0x02,0x03,0x05]
+0x00,0x00,0x60,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_b32 v0, v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x61,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x61,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_b32 v5, v1, v2, v3 offset:4 ; encoding: [0x04,0x00,0x60,0xd8,0x01,0x02,0x03,0x05]
+0x04,0x00,0x60,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_f32 v0, v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x62,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x62,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_b32 v5, v1, v2, v3 offset:65535 gds ; encoding: [0xff,0xff,0x61,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0x61,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_f32 v255, v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x62,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x62,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_cmpst_rtn_f32 v5, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x62,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0x62,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_f32 v0, v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x62,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x62,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_f32 v255, v1, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x62,0xd8,0x01,0x02,0x03,0xff]
+0xff,0xff,0x62,0xd8,0x01,0x02,0x03,0xff
-# CHECK: ds_cmpst_rtn_f32 v0, v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x62,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x62,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_cmpst_rtn_f32 v5, v255, v2, v3 offset:65535 ; encoding: [0xff,0xff,0x62,0xd8,0xff,0x02,0x03,0x05]
+0xff,0xff,0x62,0xd8,0xff,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_f32 v0, v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x62,0xd8,0x00,0x00,0xff,0x00]
-0xff,0xff,0x62,0xd8,0x00,0x00,0xff,0x00
+# CHECK: ds_cmpst_rtn_f32 v5, v1, v255, v3 offset:65535 ; encoding: [0xff,0xff,0x62,0xd8,0x01,0xff,0x03,0x05]
+0xff,0xff,0x62,0xd8,0x01,0xff,0x03,0x05
-# CHECK: ds_cmpst_rtn_f32 v0, v0, v0, v0 ; encoding: [0x00,0x00,0x62,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_f32 v5, v1, v2, v255 offset:65535 ; encoding: [0xff,0xff,0x62,0xd8,0x01,0x02,0xff,0x05]
+0xff,0xff,0x62,0xd8,0x01,0x02,0xff,0x05
-# CHECK: ds_cmpst_rtn_f32 v0, v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x62,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x62,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_f32 v5, v1, v2, v3 ; encoding: [0x00,0x00,0x62,0xd8,0x01,0x02,0x03,0x05]
+0x00,0x00,0x62,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_f32 v0, v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x63,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x63,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_f32 v5, v1, v2, v3 offset:4 ; encoding: [0x04,0x00,0x62,0xd8,0x01,0x02,0x03,0x05]
+0x04,0x00,0x62,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_min_rtn_f32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x64,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x64,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_f32 v5, v1, v2, v3 offset:65535 gds ; encoding: [0xff,0xff,0x63,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0x63,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_min_rtn_f32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x64,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x64,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_min_rtn_f32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x64,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x64,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_f32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x64,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x64,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_rtn_f32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x64,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x64,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_min_rtn_f32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x64,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x64,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_min_rtn_f32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x64,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x64,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_min_rtn_f32 v0, v0, v0 ; encoding: [0x00,0x00,0x64,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_f32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x64,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x64,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_min_rtn_f32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x64,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x64,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_f32 v5, v1, v2 ; encoding: [0x00,0x00,0x64,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x64,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_f32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x65,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x65,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_f32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x64,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x64,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_f32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x66,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x66,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_f32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x65,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x65,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_f32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x66,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x66,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_max_rtn_f32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x66,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x66,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_f32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x66,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x66,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_rtn_f32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x66,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x66,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_max_rtn_f32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x66,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x66,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_max_rtn_f32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x66,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x66,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_max_rtn_f32 v0, v0, v0 ; encoding: [0x00,0x00,0x66,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_f32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x66,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x66,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_max_rtn_f32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x66,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x66,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_f32 v5, v1, v2 ; encoding: [0x00,0x00,0x66,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x66,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_f32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x67,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x67,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_f32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x66,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x66,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_add_rtn_f32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x6a,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x6a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_f32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x67,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x67,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_add_rtn_f32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x6a,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x6a,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_add_rtn_f32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x6a,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x6a,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_add_rtn_f32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x6a,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x6a,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_add_rtn_f32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x6a,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x6a,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_add_rtn_f32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x6a,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x6a,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_add_rtn_f32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x6a,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x6a,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_add_rtn_f32 v0, v0, v0 ; encoding: [0x00,0x00,0x6a,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_f32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x6a,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x6a,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_add_rtn_f32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x6a,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x6a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_f32 v5, v1, v2 ; encoding: [0x00,0x00,0x6a,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x6a,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_add_rtn_f32 v0, v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x6b,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x6b,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_f32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x6a,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x6a,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_read_b32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x6c,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x6c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_f32 v5, v1, v2 offset:65535 gds ; encoding: [0xff,0xff,0x6b,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x6b,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_read_b32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x6c,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x6c,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_read_b32 v5, v1 offset:65535 ; encoding: [0xff,0xff,0x6c,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x6c,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_b32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x6c,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x6c,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_read_b32 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x6c,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0x6c,0xd8,0x01,0x00,0x00,0xff
-# CHECK: ds_read_b32 v0, v0 ; encoding: [0x00,0x00,0x6c,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b32 v5, v255 offset:65535 ; encoding: [0xff,0xff,0x6c,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0x6c,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_read_b32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x6c,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x6c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b32 v5, v1 ; encoding: [0x00,0x00,0x6c,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x6c,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_b32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x6d,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x6d,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b32 v5, v1 offset:4 ; encoding: [0x04,0x00,0x6c,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0x6c,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b32 v[0:1], v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x6e,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x6e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b32 v5, v1 offset:65535 gds ; encoding: [0xff,0xff,0x6d,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x6d,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b32 v[254:255], v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x6e,0xd8,0x00,0x00,0x00,0xfe]
-0x7f,0xff,0x6e,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_read2_b32 v[5:6], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x6e,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0xff,0x6e,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b32 v[0:1], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x6e,0xd8,0xff,0x00,0x00,0x00]
-0x7f,0xff,0x6e,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_read2_b32 v[254:255], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x6e,0xd8,0x01,0x00,0x00,0xfe]
+0x7f,0xff,0x6e,0xd8,0x01,0x00,0x00,0xfe
-# CHECK: ds_read2_b32 v[0:1], v0 offset1:255 ; encoding: [0x00,0xff,0x6e,0xd8,0x00,0x00,0x00,0x00]
-0x00,0xff,0x6e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b32 v[5:6], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x6e,0xd8,0xff,0x00,0x00,0x05]
+0x7f,0xff,0x6e,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_read2_b32 v[0:1], v0 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x6e,0xd8,0x00,0x00,0x00,0x00]
-0x10,0xff,0x6e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b32 v[5:6], v1 offset1:255 ; encoding: [0x00,0xff,0x6e,0xd8,0x01,0x00,0x00,0x05]
+0x00,0xff,0x6e,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b32 v[0:1], v0 offset0:127 ; encoding: [0x7f,0x00,0x6e,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x00,0x6e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b32 v[5:6], v1 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x6e,0xd8,0x01,0x00,0x00,0x05]
+0x10,0xff,0x6e,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b32 v[0:1], v0 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x6e,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x01,0x6e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b32 v[5:6], v1 offset0:127 ; encoding: [0x7f,0x00,0x6e,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x00,0x6e,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b32 v[0:1], v0 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x6f,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x6f,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b32 v[5:6], v1 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x6e,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x01,0x6e,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b32 v[0:1], v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x70,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x70,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b32 v[5:6], v1 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x6f,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0xff,0x6f,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b32 v[254:255], v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x70,0xd8,0x00,0x00,0x00,0xfe]
-0x7f,0xff,0x70,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_read2st64_b32 v[5:6], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x70,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0xff,0x70,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b32 v[0:1], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x70,0xd8,0xff,0x00,0x00,0x00]
-0x7f,0xff,0x70,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_read2st64_b32 v[254:255], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x70,0xd8,0x01,0x00,0x00,0xfe]
+0x7f,0xff,0x70,0xd8,0x01,0x00,0x00,0xfe
-# CHECK: ds_read2st64_b32 v[0:1], v0 offset1:255 ; encoding: [0x00,0xff,0x70,0xd8,0x00,0x00,0x00,0x00]
-0x00,0xff,0x70,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b32 v[5:6], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x70,0xd8,0xff,0x00,0x00,0x05]
+0x7f,0xff,0x70,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_read2st64_b32 v[0:1], v0 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x70,0xd8,0x00,0x00,0x00,0x00]
-0x10,0xff,0x70,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b32 v[5:6], v1 offset1:255 ; encoding: [0x00,0xff,0x70,0xd8,0x01,0x00,0x00,0x05]
+0x00,0xff,0x70,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b32 v[0:1], v0 offset0:127 ; encoding: [0x7f,0x00,0x70,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x00,0x70,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b32 v[5:6], v1 offset0:16 offset1:255 ; encoding: [0x10,0xff,0x70,0xd8,0x01,0x00,0x00,0x05]
+0x10,0xff,0x70,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b32 v[0:1], v0 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x70,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x01,0x70,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b32 v[5:6], v1 offset0:127 ; encoding: [0x7f,0x00,0x70,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x00,0x70,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b32 v[0:1], v0 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x71,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x71,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b32 v[5:6], v1 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x70,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x01,0x70,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_i8 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x72,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x72,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b32 v[5:6], v1 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x71,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0xff,0x71,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_i8 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x72,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x72,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_read_i8 v5, v1 offset:65535 ; encoding: [0xff,0xff,0x72,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x72,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_i8 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x72,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x72,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_read_i8 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x72,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0x72,0xd8,0x01,0x00,0x00,0xff
-# CHECK: ds_read_i8 v0, v0 ; encoding: [0x00,0x00,0x72,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x72,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_i8 v5, v255 offset:65535 ; encoding: [0xff,0xff,0x72,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0x72,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_read_i8 v0, v0 offset:4 ; encoding: [0x04,0x00,0x72,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x72,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_i8 v5, v1 ; encoding: [0x00,0x00,0x72,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x72,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_i8 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x73,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x73,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_i8 v5, v1 offset:4 ; encoding: [0x04,0x00,0x72,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0x72,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_u8 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x74,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x74,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_i8 v5, v1 offset:65535 gds ; encoding: [0xff,0xff,0x73,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x73,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_u8 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x74,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x74,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_read_u8 v5, v1 offset:65535 ; encoding: [0xff,0xff,0x74,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x74,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_u8 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x74,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x74,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_read_u8 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x74,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0x74,0xd8,0x01,0x00,0x00,0xff
-# CHECK: ds_read_u8 v0, v0 ; encoding: [0x00,0x00,0x74,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_u8 v5, v255 offset:65535 ; encoding: [0xff,0xff,0x74,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0x74,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_read_u8 v0, v0 offset:4 ; encoding: [0x04,0x00,0x74,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x74,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_u8 v5, v1 ; encoding: [0x00,0x00,0x74,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x74,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_u8 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x75,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x75,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_u8 v5, v1 offset:4 ; encoding: [0x04,0x00,0x74,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0x74,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_i16 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x76,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x76,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_u8 v5, v1 offset:65535 gds ; encoding: [0xff,0xff,0x75,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x75,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_i16 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x76,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x76,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_read_i16 v5, v1 offset:65535 ; encoding: [0xff,0xff,0x76,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x76,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_i16 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x76,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x76,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_read_i16 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x76,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0x76,0xd8,0x01,0x00,0x00,0xff
-# CHECK: ds_read_i16 v0, v0 ; encoding: [0x00,0x00,0x76,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_i16 v5, v255 offset:65535 ; encoding: [0xff,0xff,0x76,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0x76,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_read_i16 v0, v0 offset:4 ; encoding: [0x04,0x00,0x76,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x76,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_i16 v5, v1 ; encoding: [0x00,0x00,0x76,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x76,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_i16 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x77,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x77,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_i16 v5, v1 offset:4 ; encoding: [0x04,0x00,0x76,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0x76,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_u16 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x78,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_i16 v5, v1 offset:65535 gds ; encoding: [0xff,0xff,0x77,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x77,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_u16 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x78,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_read_u16 v5, v1 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x78,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_u16 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x78,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_read_u16 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0x78,0xd8,0x01,0x00,0x00,0xff
-# CHECK: ds_read_u16 v0, v0 ; encoding: [0x00,0x00,0x78,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x78,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_u16 v5, v255 offset:65535 ; encoding: [0xff,0xff,0x78,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0x78,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_read_u16 v0, v0 offset:4 ; encoding: [0x04,0x00,0x78,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x78,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_u16 v5, v1 ; encoding: [0x00,0x00,0x78,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x78,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_u16 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x79,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x79,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_u16 v5, v1 offset:4 ; encoding: [0x04,0x00,0x78,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0x78,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_swizzle_b32 v0, v0 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x7a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_u16 v5, v1 offset:65535 gds ; encoding: [0xff,0xff,0x79,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x79,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_swizzle_b32 v255, v0 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x7a,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_swizzle_b32 v5, v1 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x7a,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_swizzle_b32 v0, v255 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x7a,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_swizzle_b32 v255, v1 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd8,0x01,0x00,0x00,0xff]
+0xff,0xff,0x7a,0xd8,0x01,0x00,0x00,0xff
-# CHECK: ds_swizzle_b32 v0, v0 ; encoding: [0x00,0x00,0x7a,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_swizzle_b32 v5, v255 offset:65535 ; encoding: [0xff,0xff,0x7a,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0x7a,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_swizzle_b32 v0, v0 offset:4 ; encoding: [0x04,0x00,0x7a,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x7a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_swizzle_b32 v5, v1 ; encoding: [0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_swizzle_b32 v0, v0 offset:65535 gds ; encoding: [0xff,0xff,0x7b,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x7b,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_swizzle_b32 v5, v1 offset:4 ; encoding: [0x04,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0x7a,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_permute_b32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x7c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_swizzle_b32 v5, v1 offset:65535 gds ; encoding: [0xff,0xff,0x7b,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0x7b,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_permute_b32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x7c,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_permute_b32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_permute_b32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x7c,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_permute_b32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x7c,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_permute_b32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x7c,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_permute_b32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x7c,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_permute_b32 v0, v0, v0 ; encoding: [0x00,0x00,0x7c,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_permute_b32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x7c,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x7c,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_permute_b32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x7c,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x7c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_permute_b32 v5, v1, v2 ; encoding: [0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x7c,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_bpermute_b32 v0, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x7e,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x7e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_permute_b32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x7c,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x7c,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_bpermute_b32 v255, v0, v0 offset:65535 ; encoding: [0xff,0xff,0x7e,0xd8,0x00,0x00,0x00,0xff]
-0xff,0xff,0x7e,0xd8,0x00,0x00,0x00,0xff
+# CHECK: ds_bpermute_b32 v5, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x7e,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0x7e,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_bpermute_b32 v0, v255, v0 offset:65535 ; encoding: [0xff,0xff,0x7e,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x7e,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_bpermute_b32 v255, v1, v2 offset:65535 ; encoding: [0xff,0xff,0x7e,0xd8,0x01,0x02,0x00,0xff]
+0xff,0xff,0x7e,0xd8,0x01,0x02,0x00,0xff
-# CHECK: ds_bpermute_b32 v0, v0, v255 offset:65535 ; encoding: [0xff,0xff,0x7e,0xd8,0x00,0xff,0x00,0x00]
-0xff,0xff,0x7e,0xd8,0x00,0xff,0x00,0x00
+# CHECK: ds_bpermute_b32 v5, v255, v2 offset:65535 ; encoding: [0xff,0xff,0x7e,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0x7e,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_bpermute_b32 v0, v0, v0 ; encoding: [0x00,0x00,0x7e,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_bpermute_b32 v5, v1, v255 offset:65535 ; encoding: [0xff,0xff,0x7e,0xd8,0x01,0xff,0x00,0x05]
+0xff,0xff,0x7e,0xd8,0x01,0xff,0x00,0x05
-# CHECK: ds_bpermute_b32 v0, v0, v0 offset:4 ; encoding: [0x04,0x00,0x7e,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x7e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_bpermute_b32 v5, v1, v2 ; encoding: [0x00,0x00,0x7e,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0x7e,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_add_u64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x80,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x80,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_bpermute_b32 v5, v1, v2 offset:4 ; encoding: [0x04,0x00,0x7e,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0x7e,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_add_u64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x80,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x80,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_add_u64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x80,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x80,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_u64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x80,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x80,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_add_u64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x80,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x80,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_add_u64 v0, v[0:1] ; encoding: [0x00,0x00,0x80,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_u64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x80,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x80,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_add_u64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x80,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x80,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_u64 v1, v[2:3] ; encoding: [0x00,0x00,0x80,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x80,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_u64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x81,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x81,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_u64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x80,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x80,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_sub_u64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x82,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x82,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_u64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x81,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x81,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_sub_u64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x82,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x82,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_sub_u64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x82,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x82,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_sub_u64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x82,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x82,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_sub_u64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x82,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x82,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_sub_u64 v0, v[0:1] ; encoding: [0x00,0x00,0x82,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_u64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x82,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x82,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_sub_u64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x82,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x82,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_u64 v1, v[2:3] ; encoding: [0x00,0x00,0x82,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x82,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_sub_u64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x83,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x83,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_u64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x82,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x82,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_rsub_u64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x84,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x84,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_u64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x83,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x83,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_rsub_u64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x84,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x84,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_rsub_u64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x84,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x84,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_rsub_u64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x84,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x84,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_rsub_u64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x84,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x84,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_rsub_u64 v0, v[0:1] ; encoding: [0x00,0x00,0x84,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_u64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x84,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x84,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_rsub_u64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x84,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x84,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_u64 v1, v[2:3] ; encoding: [0x00,0x00,0x84,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x84,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_rsub_u64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x85,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x85,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_u64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x84,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x84,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_inc_u64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x86,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x86,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_u64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x85,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x85,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_inc_u64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x86,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x86,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_inc_u64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x86,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x86,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_inc_u64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x86,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x86,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_inc_u64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x86,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x86,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_inc_u64 v0, v[0:1] ; encoding: [0x00,0x00,0x86,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_u64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x86,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x86,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_inc_u64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x86,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x86,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_u64 v1, v[2:3] ; encoding: [0x00,0x00,0x86,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x86,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_inc_u64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x87,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x87,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_u64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x86,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x86,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_dec_u64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x88,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_u64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x87,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x87,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_dec_u64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x88,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_dec_u64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x88,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_dec_u64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x88,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_dec_u64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x88,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_dec_u64 v0, v[0:1] ; encoding: [0x00,0x00,0x88,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_u64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x88,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x88,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_dec_u64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x88,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x88,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_u64 v1, v[2:3] ; encoding: [0x00,0x00,0x88,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x88,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_dec_u64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x89,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x89,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_u64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x88,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x88,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_i64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x8a,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_u64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x89,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x89,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_i64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x8a,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x8a,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_i64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x8a,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x8a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_i64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x8a,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x8a,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_min_i64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x8a,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x8a,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_min_i64 v0, v[0:1] ; encoding: [0x00,0x00,0x8a,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_i64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x8a,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x8a,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_min_i64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x8a,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x8a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_i64 v1, v[2:3] ; encoding: [0x00,0x00,0x8a,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x8a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_i64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x8b,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8b,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_i64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x8a,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x8a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_i64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x8c,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_i64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x8b,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x8b,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_i64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x8c,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x8c,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_i64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x8c,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x8c,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_i64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x8c,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x8c,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_max_i64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x8c,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x8c,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_max_i64 v0, v[0:1] ; encoding: [0x00,0x00,0x8c,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_i64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x8c,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x8c,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_max_i64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x8c,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x8c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_i64 v1, v[2:3] ; encoding: [0x00,0x00,0x8c,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x8c,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_i64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x8d,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8d,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_i64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x8c,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x8c,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_u64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x8e,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_i64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x8d,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x8d,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_u64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x8e,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x8e,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_u64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x8e,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x8e,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_u64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x8e,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x8e,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_min_u64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x8e,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x8e,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_min_u64 v0, v[0:1] ; encoding: [0x00,0x00,0x8e,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_u64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x8e,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x8e,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_min_u64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x8e,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x8e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_u64 v1, v[2:3] ; encoding: [0x00,0x00,0x8e,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x8e,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_u64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x8f,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8f,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_u64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x8e,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x8e,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_u64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x90,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x90,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_u64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x8f,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x8f,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_u64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x90,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x90,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_u64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x90,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x90,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_u64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x90,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x90,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_max_u64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x90,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x90,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_max_u64 v0, v[0:1] ; encoding: [0x00,0x00,0x90,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x90,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_u64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x90,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x90,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_max_u64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x90,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x90,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_u64 v1, v[2:3] ; encoding: [0x00,0x00,0x90,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x90,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_u64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x91,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x91,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_u64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x90,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x90,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_and_b64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x92,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x92,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_u64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x91,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x91,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_and_b64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x92,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x92,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_and_b64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x92,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x92,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_and_b64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x92,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x92,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_and_b64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x92,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x92,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_and_b64 v0, v[0:1] ; encoding: [0x00,0x00,0x92,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x92,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_b64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x92,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x92,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_and_b64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x92,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x92,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_b64 v1, v[2:3] ; encoding: [0x00,0x00,0x92,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x92,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_and_b64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x93,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x93,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_b64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x92,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x92,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_or_b64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x94,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x94,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_b64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x93,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x93,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_or_b64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x94,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x94,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_or_b64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x94,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x94,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_or_b64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x94,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x94,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_or_b64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x94,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x94,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_or_b64 v0, v[0:1] ; encoding: [0x00,0x00,0x94,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x94,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_b64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x94,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x94,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_or_b64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x94,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x94,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_b64 v1, v[2:3] ; encoding: [0x00,0x00,0x94,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x94,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_or_b64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x95,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x95,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_b64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x94,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x94,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_xor_b64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x96,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x96,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_b64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x95,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x95,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_xor_b64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x96,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x96,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_xor_b64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x96,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x96,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_xor_b64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x96,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x96,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_xor_b64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x96,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x96,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_xor_b64 v0, v[0:1] ; encoding: [0x00,0x00,0x96,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x96,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_b64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x96,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x96,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_xor_b64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x96,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x96,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_b64 v1, v[2:3] ; encoding: [0x00,0x00,0x96,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x96,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_xor_b64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x97,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x97,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_b64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x96,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x96,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_mskor_b64 v0, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x98,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_b64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x97,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x97,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_mskor_b64 v255, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x98,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_mskor_b64 v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0x98,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_mskor_b64 v0, v[254:255], v[0:1] offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x98,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_mskor_b64 v255, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0xff,0x02,0x03,0x00]
+0xff,0xff,0x98,0xd8,0xff,0x02,0x03,0x00
-# CHECK: ds_mskor_b64 v0, v[0:1], v[254:255] offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0x00,0x00,0xfe,0x00]
-0xff,0xff,0x98,0xd8,0x00,0x00,0xfe,0x00
+# CHECK: ds_mskor_b64 v1, v[254:255], v[3:4] offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0x01,0xfe,0x03,0x00]
+0xff,0xff,0x98,0xd8,0x01,0xfe,0x03,0x00
-# CHECK: ds_mskor_b64 v0, v[0:1], v[0:1] ; encoding: [0x00,0x00,0x98,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x98,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_b64 v1, v[2:3], v[254:255] offset:65535 ; encoding: [0xff,0xff,0x98,0xd8,0x01,0x02,0xfe,0x00]
+0xff,0xff,0x98,0xd8,0x01,0x02,0xfe,0x00
-# CHECK: ds_mskor_b64 v0, v[0:1], v[0:1] offset:4 ; encoding: [0x04,0x00,0x98,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x98,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_b64 v1, v[2:3], v[3:4] ; encoding: [0x00,0x00,0x98,0xd8,0x01,0x02,0x03,0x00]
+0x00,0x00,0x98,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_mskor_b64 v0, v[0:1], v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x99,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x99,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_b64 v1, v[2:3], v[3:4] offset:4 ; encoding: [0x04,0x00,0x98,0xd8,0x01,0x02,0x03,0x00]
+0x04,0x00,0x98,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write_b64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x9a,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x9a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_b64 v1, v[2:3], v[3:4] offset:65535 gds ; encoding: [0xff,0xff,0x99,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0x99,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write_b64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0x9a,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0x9a,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_write_b64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x9a,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x9a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x9a,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0x9a,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_write_b64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0x9a,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0x9a,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_write_b64 v0, v[0:1] ; encoding: [0x00,0x00,0x9a,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0x9a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0x9a,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0x9a,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_write_b64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0x9a,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0x9a,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b64 v1, v[2:3] ; encoding: [0x00,0x00,0x9a,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0x9a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write_b64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0x9b,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0x9b,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0x9a,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0x9a,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write2_b64 v0, v[0:1], v[0:1] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9c,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x9c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write_b64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0x9b,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0x9b,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_write2_b64 v255, v[0:1], v[0:1] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9c,0xd8,0xff,0x00,0x00,0x00]
-0x7f,0xff,0x9c,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_write2_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9c,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0xff,0x9c,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2_b64 v0, v[254:255], v[0:1] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9c,0xd8,0x00,0xfe,0x00,0x00]
-0x7f,0xff,0x9c,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_write2_b64 v255, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9c,0xd8,0xff,0x02,0x03,0x00]
+0x7f,0xff,0x9c,0xd8,0xff,0x02,0x03,0x00
-# CHECK: ds_write2_b64 v0, v[0:1], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9c,0xd8,0x00,0x00,0xfe,0x00]
-0x7f,0xff,0x9c,0xd8,0x00,0x00,0xfe,0x00
+# CHECK: ds_write2_b64 v1, v[254:255], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9c,0xd8,0x01,0xfe,0x03,0x00]
+0x7f,0xff,0x9c,0xd8,0x01,0xfe,0x03,0x00
-# CHECK: ds_write2_b64 v0, v[0:1], v[0:1] offset1:255 ; encoding: [0x00,0xff,0x9c,0xd8,0x00,0x00,0x00,0x00]
-0x00,0xff,0x9c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b64 v1, v[2:3], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9c,0xd8,0x01,0x02,0xfe,0x00]
+0x7f,0xff,0x9c,0xd8,0x01,0x02,0xfe,0x00
-# CHECK: ds_write2_b64 v0, v[0:1], v[0:1] offset0:16 offset1:255 ; encoding: [0x10,0xff,0x9c,0xd8,0x00,0x00,0x00,0x00]
-0x10,0xff,0x9c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b64 v1, v[2:3], v[3:4] offset1:255 ; encoding: [0x00,0xff,0x9c,0xd8,0x01,0x02,0x03,0x00]
+0x00,0xff,0x9c,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2_b64 v0, v[0:1], v[0:1] offset0:127 ; encoding: [0x7f,0x00,0x9c,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x00,0x9c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b64 v1, v[2:3], v[3:4] offset0:16 offset1:255 ; encoding: [0x10,0xff,0x9c,0xd8,0x01,0x02,0x03,0x00]
+0x10,0xff,0x9c,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2_b64 v0, v[0:1], v[0:1] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x9c,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x01,0x9c,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b64 v1, v[2:3], v[3:4] offset0:127 ; encoding: [0x7f,0x00,0x9c,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0x00,0x9c,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2_b64 v0, v[0:1], v[0:1] offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x9d,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x9d,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b64 v1, v[2:3], v[3:4] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x9c,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0x01,0x9c,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b64 v0, v[0:1], v[0:1] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9e,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x9e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x9d,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0xff,0x9d,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b64 v255, v[0:1], v[0:1] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9e,0xd8,0xff,0x00,0x00,0x00]
-0x7f,0xff,0x9e,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9e,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0xff,0x9e,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b64 v0, v[254:255], v[0:1] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9e,0xd8,0x00,0xfe,0x00,0x00]
-0x7f,0xff,0x9e,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_write2st64_b64 v255, v[2:3], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9e,0xd8,0xff,0x02,0x03,0x00]
+0x7f,0xff,0x9e,0xd8,0xff,0x02,0x03,0x00
-# CHECK: ds_write2st64_b64 v0, v[0:1], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9e,0xd8,0x00,0x00,0xfe,0x00]
-0x7f,0xff,0x9e,0xd8,0x00,0x00,0xfe,0x00
+# CHECK: ds_write2st64_b64 v1, v[254:255], v[3:4] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9e,0xd8,0x01,0xfe,0x03,0x00]
+0x7f,0xff,0x9e,0xd8,0x01,0xfe,0x03,0x00
-# CHECK: ds_write2st64_b64 v0, v[0:1], v[0:1] offset1:255 ; encoding: [0x00,0xff,0x9e,0xd8,0x00,0x00,0x00,0x00]
-0x00,0xff,0x9e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b64 v1, v[2:3], v[254:255] offset0:127 offset1:255 ; encoding: [0x7f,0xff,0x9e,0xd8,0x01,0x02,0xfe,0x00]
+0x7f,0xff,0x9e,0xd8,0x01,0x02,0xfe,0x00
-# CHECK: ds_write2st64_b64 v0, v[0:1], v[0:1] offset0:16 offset1:255 ; encoding: [0x10,0xff,0x9e,0xd8,0x00,0x00,0x00,0x00]
-0x10,0xff,0x9e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b64 v1, v[2:3], v[3:4] offset1:255 ; encoding: [0x00,0xff,0x9e,0xd8,0x01,0x02,0x03,0x00]
+0x00,0xff,0x9e,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b64 v0, v[0:1], v[0:1] offset0:127 ; encoding: [0x7f,0x00,0x9e,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x00,0x9e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:16 offset1:255 ; encoding: [0x10,0xff,0x9e,0xd8,0x01,0x02,0x03,0x00]
+0x10,0xff,0x9e,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b64 v0, v[0:1], v[0:1] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x9e,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x01,0x9e,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:127 ; encoding: [0x7f,0x00,0x9e,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0x00,0x9e,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_write2st64_b64 v0, v[0:1], v[0:1] offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x9f,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0x9f,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:1 ; encoding: [0x7f,0x01,0x9e,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0x01,0x9e,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_b64 v0, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_write2st64_b64 v1, v[2:3], v[3:4] offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0x9f,0xd8,0x01,0x02,0x03,0x00]
+0x7f,0xff,0x9f,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_b64 v255, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xa0,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_cmpst_b64 v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0xa0,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_b64 v0, v[254:255], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xa0,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_cmpst_b64 v255, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0xff,0x02,0x03,0x00]
+0xff,0xff,0xa0,0xd8,0xff,0x02,0x03,0x00
-# CHECK: ds_cmpst_b64 v0, v[0:1], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0x00,0x00,0xfe,0x00]
-0xff,0xff,0xa0,0xd8,0x00,0x00,0xfe,0x00
+# CHECK: ds_cmpst_b64 v1, v[254:255], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0x01,0xfe,0x03,0x00]
+0xff,0xff,0xa0,0xd8,0x01,0xfe,0x03,0x00
-# CHECK: ds_cmpst_b64 v0, v[0:1], v[0:1] ; encoding: [0x00,0x00,0xa0,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_b64 v1, v[2:3], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa0,0xd8,0x01,0x02,0xfe,0x00]
+0xff,0xff,0xa0,0xd8,0x01,0x02,0xfe,0x00
-# CHECK: ds_cmpst_b64 v0, v[0:1], v[0:1] offset:4 ; encoding: [0x04,0x00,0xa0,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xa0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_b64 v1, v[2:3], v[3:4] ; encoding: [0x00,0x00,0xa0,0xd8,0x01,0x02,0x03,0x00]
+0x00,0x00,0xa0,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_b64 v0, v[0:1], v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xa1,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa1,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_b64 v1, v[2:3], v[3:4] offset:4 ; encoding: [0x04,0x00,0xa0,0xd8,0x01,0x02,0x03,0x00]
+0x04,0x00,0xa0,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_f64 v0, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xa2,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_b64 v1, v[2:3], v[3:4] offset:65535 gds ; encoding: [0xff,0xff,0xa1,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0xa1,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_f64 v255, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xa2,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xa2,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_cmpst_f64 v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xa2,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0xa2,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_f64 v0, v[254:255], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xa2,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xa2,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_cmpst_f64 v255, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xa2,0xd8,0xff,0x02,0x03,0x00]
+0xff,0xff,0xa2,0xd8,0xff,0x02,0x03,0x00
-# CHECK: ds_cmpst_f64 v0, v[0:1], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa2,0xd8,0x00,0x00,0xfe,0x00]
-0xff,0xff,0xa2,0xd8,0x00,0x00,0xfe,0x00
+# CHECK: ds_cmpst_f64 v1, v[254:255], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xa2,0xd8,0x01,0xfe,0x03,0x00]
+0xff,0xff,0xa2,0xd8,0x01,0xfe,0x03,0x00
-# CHECK: ds_cmpst_f64 v0, v[0:1], v[0:1] ; encoding: [0x00,0x00,0xa2,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_f64 v1, v[2:3], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa2,0xd8,0x01,0x02,0xfe,0x00]
+0xff,0xff,0xa2,0xd8,0x01,0x02,0xfe,0x00
-# CHECK: ds_cmpst_f64 v0, v[0:1], v[0:1] offset:4 ; encoding: [0x04,0x00,0xa2,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xa2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_f64 v1, v[2:3], v[3:4] ; encoding: [0x00,0x00,0xa2,0xd8,0x01,0x02,0x03,0x00]
+0x00,0x00,0xa2,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_cmpst_f64 v0, v[0:1], v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xa3,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa3,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_f64 v1, v[2:3], v[3:4] offset:4 ; encoding: [0x04,0x00,0xa2,0xd8,0x01,0x02,0x03,0x00]
+0x04,0x00,0xa2,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_min_f64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xa4,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_f64 v1, v[2:3], v[3:4] offset:65535 gds ; encoding: [0xff,0xff,0xa3,0xd8,0x01,0x02,0x03,0x00]
+0xff,0xff,0xa3,0xd8,0x01,0x02,0x03,0x00
-# CHECK: ds_min_f64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xa4,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xa4,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_f64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa4,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0xa4,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_f64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa4,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xa4,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_min_f64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa4,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0xa4,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_min_f64 v0, v[0:1] ; encoding: [0x00,0x00,0xa4,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_f64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa4,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0xa4,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_min_f64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xa4,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xa4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_f64 v1, v[2:3] ; encoding: [0x00,0x00,0xa4,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa4,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_min_f64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xa5,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa5,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_f64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xa4,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0xa4,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_f64 v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xa6,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_f64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xa5,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0xa5,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_f64 v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xa6,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xa6,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_f64 v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa6,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0xa6,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_f64 v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa6,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xa6,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_max_f64 v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xa6,0xd8,0xff,0x02,0x00,0x00]
+0xff,0xff,0xa6,0xd8,0xff,0x02,0x00,0x00
-# CHECK: ds_max_f64 v0, v[0:1] ; encoding: [0x00,0x00,0xa6,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_f64 v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xa6,0xd8,0x01,0xfe,0x00,0x00]
+0xff,0xff,0xa6,0xd8,0x01,0xfe,0x00,0x00
-# CHECK: ds_max_f64 v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xa6,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xa6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_f64 v1, v[2:3] ; encoding: [0x00,0x00,0xa6,0xd8,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa6,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_max_f64 v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xa7,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa7,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_f64 v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xa6,0xd8,0x01,0x02,0x00,0x00]
+0x04,0x00,0xa6,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_rtn_u64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xc0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_f64 v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xa7,0xd8,0x01,0x02,0x00,0x00]
+0xff,0xff,0xa7,0xd8,0x01,0x02,0x00,0x00
-# CHECK: ds_add_rtn_u64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xc0,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc0,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_add_rtn_u64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xc0,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_add_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xc0,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_add_rtn_u64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xc0,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_add_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xc0,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_add_rtn_u64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xc0,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc0,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xc0,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_add_rtn_u64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xc0,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xc0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_u64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xc0,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xc0,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_add_rtn_u64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xc1,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xc1,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xc0,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xc0,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_sub_rtn_u64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc2,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xc2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_add_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xc1,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc1,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_sub_rtn_u64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc2,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xc2,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc2,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc2,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_sub_rtn_u64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc2,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xc2,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_sub_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc2,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xc2,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_sub_rtn_u64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc2,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xc2,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_sub_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc2,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xc2,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_sub_rtn_u64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xc2,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc2,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xc2,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_sub_rtn_u64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xc2,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xc2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_rtn_u64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xc2,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xc2,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_sub_rtn_u64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xc3,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xc3,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xc2,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xc2,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_rsub_rtn_u64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc4,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xc4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xc3,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc3,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_rsub_rtn_u64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc4,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xc4,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc4,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc4,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_rsub_rtn_u64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc4,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xc4,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_rsub_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc4,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xc4,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_rsub_rtn_u64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc4,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xc4,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_rsub_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc4,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xc4,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_rsub_rtn_u64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xc4,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc4,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xc4,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_rsub_rtn_u64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xc4,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xc4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_rtn_u64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xc4,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xc4,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_rsub_rtn_u64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xc5,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xc5,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xc4,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xc4,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_inc_rtn_u64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc6,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xc6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xc5,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc5,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_inc_rtn_u64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc6,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xc6,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc6,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc6,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_inc_rtn_u64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc6,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xc6,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_inc_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc6,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xc6,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_inc_rtn_u64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc6,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xc6,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_inc_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc6,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xc6,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_inc_rtn_u64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xc6,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc6,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xc6,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_inc_rtn_u64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xc6,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xc6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_rtn_u64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xc6,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xc6,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_inc_rtn_u64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xc7,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xc7,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xc6,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xc6,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_dec_rtn_u64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xc8,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xc7,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc7,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_dec_rtn_u64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xc8,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_dec_rtn_u64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xc8,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_dec_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xc8,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_dec_rtn_u64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xc8,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_dec_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xc8,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_dec_rtn_u64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xc8,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xc8,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xc8,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_dec_rtn_u64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xc8,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xc8,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_rtn_u64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_dec_rtn_u64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xc9,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xc9,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xc8,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_i64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xca,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xca,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xc9,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xc9,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_i64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xca,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xca,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xca,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xca,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_i64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xca,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xca,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_rtn_i64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xca,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xca,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_min_rtn_i64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xca,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xca,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_min_rtn_i64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xca,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xca,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_min_rtn_i64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xca,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_i64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xca,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xca,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_min_rtn_i64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xca,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xca,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_i64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xca,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xca,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_i64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xcb,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xcb,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xca,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xca,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_i64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xcc,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_i64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xcb,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xcb,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_i64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xcc,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_i64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xcc,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_rtn_i64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xcc,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_max_rtn_i64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xcc,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_max_rtn_i64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xcc,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_max_rtn_i64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xcc,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_i64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xcc,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xcc,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_max_rtn_i64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xcc,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xcc,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_i64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_i64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xcd,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xcd,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xcc,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_u64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xce,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xce,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_i64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xcd,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xcd,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_u64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xce,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xce,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xce,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xce,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_u64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xce,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xce,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xce,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xce,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_min_rtn_u64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xce,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xce,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_min_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xce,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xce,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_min_rtn_u64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xce,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xce,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xce,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_min_rtn_u64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xce,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xce,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_u64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xce,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xce,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_u64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xcf,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xcf,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xce,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xce,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_u64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd0,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xd0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xcf,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xcf,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_u64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd0,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xd0,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd0,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xd0,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_u64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd0,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xd0,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_rtn_u64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd0,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xd0,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_max_rtn_u64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xd0,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xd0,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_max_rtn_u64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd0,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xd0,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_max_rtn_u64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xd0,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_u64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xd0,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xd0,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_max_rtn_u64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xd0,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xd0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_u64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xd0,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xd0,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_u64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xd1,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xd1,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xd0,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xd0,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_and_rtn_b64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd2,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xd2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_u64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xd1,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xd1,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_and_rtn_b64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd2,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xd2,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd2,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xd2,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_and_rtn_b64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd2,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xd2,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_and_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd2,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xd2,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_and_rtn_b64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xd2,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xd2,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_and_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd2,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xd2,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_and_rtn_b64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xd2,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xd2,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xd2,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_and_rtn_b64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xd2,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xd2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_rtn_b64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xd2,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xd2,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_and_rtn_b64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xd3,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xd3,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xd2,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xd2,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_or_rtn_b64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd4,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xd4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_and_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xd3,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xd3,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_or_rtn_b64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd4,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xd4,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd4,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xd4,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_or_rtn_b64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd4,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xd4,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_or_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd4,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xd4,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_or_rtn_b64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xd4,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xd4,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_or_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd4,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xd4,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_or_rtn_b64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xd4,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xd4,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xd4,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_or_rtn_b64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xd4,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xd4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_rtn_b64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xd4,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xd4,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_or_rtn_b64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xd5,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xd5,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xd4,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xd4,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_xor_rtn_b64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd6,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xd6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_or_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xd5,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xd5,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_xor_rtn_b64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd6,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xd6,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd6,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xd6,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_xor_rtn_b64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd6,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xd6,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_xor_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd6,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xd6,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_xor_rtn_b64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xd6,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xd6,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_xor_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xd6,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xd6,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_xor_rtn_b64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xd6,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xd6,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xd6,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_xor_rtn_b64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xd6,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xd6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_rtn_b64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xd6,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xd6,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_xor_rtn_b64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xd7,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xd7,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xd6,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xd6,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_mskor_rtn_b64 v[0:1], v0, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd8,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xd8,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xd7,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xd7,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_mskor_rtn_b64 v[254:255], v0, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd8,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xd8,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xd8,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0xd8,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_mskor_rtn_b64 v[0:1], v255, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd8,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xd8,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_mskor_rtn_b64 v[254:255], v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xd8,0xd8,0x01,0x02,0x03,0xfe]
+0xff,0xff,0xd8,0xd8,0x01,0x02,0x03,0xfe
-# CHECK: ds_mskor_rtn_b64 v[0:1], v0, v[254:255], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xd8,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xd8,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_mskor_rtn_b64 v[5:6], v255, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xd8,0xd8,0xff,0x02,0x03,0x05]
+0xff,0xff,0xd8,0xd8,0xff,0x02,0x03,0x05
-# CHECK: ds_mskor_rtn_b64 v[0:1], v0, v[0:1], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xd8,0xd8,0x00,0x00,0xfe,0x00]
-0xff,0xff,0xd8,0xd8,0x00,0x00,0xfe,0x00
+# CHECK: ds_mskor_rtn_b64 v[5:6], v1, v[254:255], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xd8,0xd8,0x01,0xfe,0x03,0x05]
+0xff,0xff,0xd8,0xd8,0x01,0xfe,0x03,0x05
-# CHECK: ds_mskor_rtn_b64 v[0:1], v0, v[0:1], v[0:1] ; encoding: [0x00,0x00,0xd8,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xd8,0xd8,0x01,0x02,0xfe,0x05]
+0xff,0xff,0xd8,0xd8,0x01,0x02,0xfe,0x05
-# CHECK: ds_mskor_rtn_b64 v[0:1], v0, v[0:1], v[0:1] offset:4 ; encoding: [0x04,0x00,0xd8,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xd8,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] ; encoding: [0x00,0x00,0xd8,0xd8,0x01,0x02,0x03,0x05]
+0x00,0x00,0xd8,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_mskor_rtn_b64 v[0:1], v0, v[0:1], v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xd9,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xd9,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:4 ; encoding: [0x04,0x00,0xd8,0xd8,0x01,0x02,0x03,0x05]
+0x04,0x00,0xd8,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_wrxchg_rtn_b64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xda,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xda,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_mskor_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535 gds ; encoding: [0xff,0xff,0xd9,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0xd9,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_wrxchg_rtn_b64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xda,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xda,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xda,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xda,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_wrxchg_rtn_b64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xda,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xda,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xda,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xda,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_wrxchg_rtn_b64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xda,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xda,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xda,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xda,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_wrxchg_rtn_b64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xda,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xda,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xda,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_wrxchg_rtn_b64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xda,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xda,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xda,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xda,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_wrxchg_rtn_b64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xdb,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xdb,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xda,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xda,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_cmpst_rtn_b64 v[0:1], v0, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe0,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xe0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_wrxchg_rtn_b64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xdb,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xdb,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_cmpst_rtn_b64 v[254:255], v0, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe0,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xe0,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xe0,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0xe0,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_b64 v[0:1], v255, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe0,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xe0,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_b64 v[254:255], v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xe0,0xd8,0x01,0x02,0x03,0xfe]
+0xff,0xff,0xe0,0xd8,0x01,0x02,0x03,0xfe
-# CHECK: ds_cmpst_rtn_b64 v[0:1], v0, v[254:255], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe0,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xe0,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_cmpst_rtn_b64 v[5:6], v255, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xe0,0xd8,0xff,0x02,0x03,0x05]
+0xff,0xff,0xe0,0xd8,0xff,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_b64 v[0:1], v0, v[0:1], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xe0,0xd8,0x00,0x00,0xfe,0x00]
-0xff,0xff,0xe0,0xd8,0x00,0x00,0xfe,0x00
+# CHECK: ds_cmpst_rtn_b64 v[5:6], v1, v[254:255], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xe0,0xd8,0x01,0xfe,0x03,0x05]
+0xff,0xff,0xe0,0xd8,0x01,0xfe,0x03,0x05
-# CHECK: ds_cmpst_rtn_b64 v[0:1], v0, v[0:1], v[0:1] ; encoding: [0x00,0x00,0xe0,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xe0,0xd8,0x01,0x02,0xfe,0x05]
+0xff,0xff,0xe0,0xd8,0x01,0x02,0xfe,0x05
-# CHECK: ds_cmpst_rtn_b64 v[0:1], v0, v[0:1], v[0:1] offset:4 ; encoding: [0x04,0x00,0xe0,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xe0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4] ; encoding: [0x00,0x00,0xe0,0xd8,0x01,0x02,0x03,0x05]
+0x00,0x00,0xe0,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_b64 v[0:1], v0, v[0:1], v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xe1,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xe1,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:4 ; encoding: [0x04,0x00,0xe0,0xd8,0x01,0x02,0x03,0x05]
+0x04,0x00,0xe0,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_f64 v[0:1], v0, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe2,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xe2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_b64 v[5:6], v1, v[2:3], v[3:4] offset:65535 gds ; encoding: [0xff,0xff,0xe1,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0xe1,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_f64 v[254:255], v0, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe2,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xe2,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xe2,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0xe2,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_f64 v[0:1], v255, v[0:1], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe2,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xe2,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_f64 v[254:255], v1, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xe2,0xd8,0x01,0x02,0x03,0xfe]
+0xff,0xff,0xe2,0xd8,0x01,0x02,0x03,0xfe
-# CHECK: ds_cmpst_rtn_f64 v[0:1], v0, v[254:255], v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe2,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xe2,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_cmpst_rtn_f64 v[5:6], v255, v[2:3], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xe2,0xd8,0xff,0x02,0x03,0x05]
+0xff,0xff,0xe2,0xd8,0xff,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_f64 v[0:1], v0, v[0:1], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xe2,0xd8,0x00,0x00,0xfe,0x00]
-0xff,0xff,0xe2,0xd8,0x00,0x00,0xfe,0x00
+# CHECK: ds_cmpst_rtn_f64 v[5:6], v1, v[254:255], v[3:4] offset:65535 ; encoding: [0xff,0xff,0xe2,0xd8,0x01,0xfe,0x03,0x05]
+0xff,0xff,0xe2,0xd8,0x01,0xfe,0x03,0x05
-# CHECK: ds_cmpst_rtn_f64 v[0:1], v0, v[0:1], v[0:1] ; encoding: [0x00,0x00,0xe2,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[254:255] offset:65535 ; encoding: [0xff,0xff,0xe2,0xd8,0x01,0x02,0xfe,0x05]
+0xff,0xff,0xe2,0xd8,0x01,0x02,0xfe,0x05
-# CHECK: ds_cmpst_rtn_f64 v[0:1], v0, v[0:1], v[0:1] offset:4 ; encoding: [0x04,0x00,0xe2,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xe2,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[3:4] ; encoding: [0x00,0x00,0xe2,0xd8,0x01,0x02,0x03,0x05]
+0x00,0x00,0xe2,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_cmpst_rtn_f64 v[0:1], v0, v[0:1], v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xe3,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xe3,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[3:4] offset:4 ; encoding: [0x04,0x00,0xe2,0xd8,0x01,0x02,0x03,0x05]
+0x04,0x00,0xe2,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_min_rtn_f64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe4,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xe4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_cmpst_rtn_f64 v[5:6], v1, v[2:3], v[3:4] offset:65535 gds ; encoding: [0xff,0xff,0xe3,0xd8,0x01,0x02,0x03,0x05]
+0xff,0xff,0xe3,0xd8,0x01,0x02,0x03,0x05
-# CHECK: ds_min_rtn_f64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe4,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xe4,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_min_rtn_f64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xe4,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xe4,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_f64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe4,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xe4,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_min_rtn_f64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xe4,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xe4,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_min_rtn_f64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xe4,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xe4,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_min_rtn_f64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xe4,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xe4,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_min_rtn_f64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xe4,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_f64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xe4,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xe4,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_min_rtn_f64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xe4,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xe4,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_f64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xe4,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xe4,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_min_rtn_f64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xe5,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xe5,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_f64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xe4,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xe4,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_f64 v[0:1], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe6,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xe6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_min_rtn_f64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xe5,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xe5,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_f64 v[254:255], v0, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe6,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xe6,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_max_rtn_f64 v[5:6], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xe6,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xe6,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_f64 v[0:1], v255, v[0:1] offset:65535 ; encoding: [0xff,0xff,0xe6,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xe6,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_max_rtn_f64 v[254:255], v1, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xe6,0xd8,0x01,0x02,0x00,0xfe]
+0xff,0xff,0xe6,0xd8,0x01,0x02,0x00,0xfe
-# CHECK: ds_max_rtn_f64 v[0:1], v0, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xe6,0xd8,0x00,0xfe,0x00,0x00]
-0xff,0xff,0xe6,0xd8,0x00,0xfe,0x00,0x00
+# CHECK: ds_max_rtn_f64 v[5:6], v255, v[2:3] offset:65535 ; encoding: [0xff,0xff,0xe6,0xd8,0xff,0x02,0x00,0x05]
+0xff,0xff,0xe6,0xd8,0xff,0x02,0x00,0x05
-# CHECK: ds_max_rtn_f64 v[0:1], v0, v[0:1] ; encoding: [0x00,0x00,0xe6,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_f64 v[5:6], v1, v[254:255] offset:65535 ; encoding: [0xff,0xff,0xe6,0xd8,0x01,0xfe,0x00,0x05]
+0xff,0xff,0xe6,0xd8,0x01,0xfe,0x00,0x05
-# CHECK: ds_max_rtn_f64 v[0:1], v0, v[0:1] offset:4 ; encoding: [0x04,0x00,0xe6,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xe6,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_f64 v[5:6], v1, v[2:3] ; encoding: [0x00,0x00,0xe6,0xd8,0x01,0x02,0x00,0x05]
+0x00,0x00,0xe6,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_max_rtn_f64 v[0:1], v0, v[0:1] offset:65535 gds ; encoding: [0xff,0xff,0xe7,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xe7,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_f64 v[5:6], v1, v[2:3] offset:4 ; encoding: [0x04,0x00,0xe6,0xd8,0x01,0x02,0x00,0x05]
+0x04,0x00,0xe6,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_read_b64 v[0:1], v0 offset:65535 ; encoding: [0xff,0xff,0xec,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xec,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_max_rtn_f64 v[5:6], v1, v[2:3] offset:65535 gds ; encoding: [0xff,0xff,0xe7,0xd8,0x01,0x02,0x00,0x05]
+0xff,0xff,0xe7,0xd8,0x01,0x02,0x00,0x05
-# CHECK: ds_read_b64 v[254:255], v0 offset:65535 ; encoding: [0xff,0xff,0xec,0xd8,0x00,0x00,0x00,0xfe]
-0xff,0xff,0xec,0xd8,0x00,0x00,0x00,0xfe
+# CHECK: ds_read_b64 v[5:6], v1 offset:65535 ; encoding: [0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_b64 v[0:1], v255 offset:65535 ; encoding: [0xff,0xff,0xec,0xd8,0xff,0x00,0x00,0x00]
-0xff,0xff,0xec,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_read_b64 v[254:255], v1 offset:65535 ; encoding: [0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0xfe]
+0xff,0xff,0xec,0xd8,0x01,0x00,0x00,0xfe
-# CHECK: ds_read_b64 v[0:1], v0 ; encoding: [0x00,0x00,0xec,0xd8,0x00,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b64 v[5:6], v255 offset:65535 ; encoding: [0xff,0xff,0xec,0xd8,0xff,0x00,0x00,0x05]
+0xff,0xff,0xec,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_read_b64 v[0:1], v0 offset:4 ; encoding: [0x04,0x00,0xec,0xd8,0x00,0x00,0x00,0x00]
-0x04,0x00,0xec,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b64 v[5:6], v1 ; encoding: [0x00,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+0x00,0x00,0xec,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read_b64 v[0:1], v0 offset:65535 gds ; encoding: [0xff,0xff,0xed,0xd8,0x00,0x00,0x00,0x00]
-0xff,0xff,0xed,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b64 v[5:6], v1 offset:4 ; encoding: [0x04,0x00,0xec,0xd8,0x01,0x00,0x00,0x05]
+0x04,0x00,0xec,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b64 v[0:3], v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xee,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0xee,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b64 v[5:6], v1 offset:65535 gds ; encoding: [0xff,0xff,0xed,0xd8,0x01,0x00,0x00,0x05]
+0xff,0xff,0xed,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b64 v[252:255], v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xee,0xd8,0x00,0x00,0x00,0xfc]
-0x7f,0xff,0xee,0xd8,0x00,0x00,0x00,0xfc
+# CHECK: ds_read2_b64 v[5:8], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xee,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0xff,0xee,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b64 v[0:3], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xee,0xd8,0xff,0x00,0x00,0x00]
-0x7f,0xff,0xee,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_read2_b64 v[252:255], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xee,0xd8,0x01,0x00,0x00,0xfc]
+0x7f,0xff,0xee,0xd8,0x01,0x00,0x00,0xfc
-# CHECK: ds_read2_b64 v[0:3], v0 offset1:255 ; encoding: [0x00,0xff,0xee,0xd8,0x00,0x00,0x00,0x00]
-0x00,0xff,0xee,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b64 v[5:8], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xee,0xd8,0xff,0x00,0x00,0x05]
+0x7f,0xff,0xee,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_read2_b64 v[0:3], v0 offset0:16 offset1:255 ; encoding: [0x10,0xff,0xee,0xd8,0x00,0x00,0x00,0x00]
-0x10,0xff,0xee,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b64 v[5:8], v1 offset1:255 ; encoding: [0x00,0xff,0xee,0xd8,0x01,0x00,0x00,0x05]
+0x00,0xff,0xee,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b64 v[0:3], v0 offset0:127 ; encoding: [0x7f,0x00,0xee,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x00,0xee,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b64 v[5:8], v1 offset0:16 offset1:255 ; encoding: [0x10,0xff,0xee,0xd8,0x01,0x00,0x00,0x05]
+0x10,0xff,0xee,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b64 v[0:3], v0 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xee,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x01,0xee,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b64 v[5:8], v1 offset0:127 ; encoding: [0x7f,0x00,0xee,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x00,0xee,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2_b64 v[0:3], v0 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0xef,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0xef,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b64 v[5:8], v1 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xee,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x01,0xee,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b64 v[0:3], v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xf0,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0xf0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2_b64 v[5:8], v1 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0xef,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0xff,0xef,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b64 v[252:255], v0 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xf0,0xd8,0x00,0x00,0x00,0xfc]
-0x7f,0xff,0xf0,0xd8,0x00,0x00,0x00,0xfc
+# CHECK: ds_read2st64_b64 v[5:8], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b64 v[0:3], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xf0,0xd8,0xff,0x00,0x00,0x00]
-0x7f,0xff,0xf0,0xd8,0xff,0x00,0x00,0x00
+# CHECK: ds_read2st64_b64 v[252:255], v1 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xf0,0xd8,0x01,0x00,0x00,0xfc]
+0x7f,0xff,0xf0,0xd8,0x01,0x00,0x00,0xfc
-# CHECK: ds_read2st64_b64 v[0:3], v0 offset1:255 ; encoding: [0x00,0xff,0xf0,0xd8,0x00,0x00,0x00,0x00]
-0x00,0xff,0xf0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b64 v[5:8], v255 offset0:127 offset1:255 ; encoding: [0x7f,0xff,0xf0,0xd8,0xff,0x00,0x00,0x05]
+0x7f,0xff,0xf0,0xd8,0xff,0x00,0x00,0x05
-# CHECK: ds_read2st64_b64 v[0:3], v0 offset0:16 offset1:255 ; encoding: [0x10,0xff,0xf0,0xd8,0x00,0x00,0x00,0x00]
-0x10,0xff,0xf0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b64 v[5:8], v1 offset1:255 ; encoding: [0x00,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05]
+0x00,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b64 v[0:3], v0 offset0:127 ; encoding: [0x7f,0x00,0xf0,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x00,0xf0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b64 v[5:8], v1 offset0:16 offset1:255 ; encoding: [0x10,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05]
+0x10,0xff,0xf0,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b64 v[0:3], v0 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xf0,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0x01,0xf0,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b64 v[5:8], v1 offset0:127 ; encoding: [0x7f,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x00,0xf0,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_read2st64_b64 v[0:3], v0 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0xf1,0xd8,0x00,0x00,0x00,0x00]
-0x7f,0xff,0xf1,0xd8,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b64 v[5:8], v1 offset0:127 offset1:1 ; encoding: [0x7f,0x01,0xf0,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0x01,0xf0,0xd8,0x01,0x00,0x00,0x05
-# CHECK: ds_add_src2_u32 v0 offset:65535 ; encoding: [0xff,0xff,0x00,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x00,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_read2st64_b64 v[5:8], v1 offset0:127 offset1:255 gds ; encoding: [0x7f,0xff,0xf1,0xd8,0x01,0x00,0x00,0x05]
+0x7f,0xff,0xf1,0xd8,0x01,0x00,0x00,0x05
+
+# CHECK: ds_add_src2_u32 v1 offset:65535 ; encoding: [0xff,0xff,0x00,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x00,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_add_src2_u32 v255 offset:65535 ; encoding: [0xff,0xff,0x00,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x00,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_add_src2_u32 v0 ; encoding: [0x00,0x00,0x00,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x00,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_add_src2_u32 v1 ; encoding: [0x00,0x00,0x00,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x00,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_add_src2_u32 v0 offset:4 ; encoding: [0x04,0x00,0x00,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x00,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_add_src2_u32 v1 offset:4 ; encoding: [0x04,0x00,0x00,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x00,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_add_src2_u32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x01,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x01,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_add_src2_u32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x01,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x01,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_sub_src2_u32 v0 offset:65535 ; encoding: [0xff,0xff,0x02,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x02,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_src2_u32 v1 offset:65535 ; encoding: [0xff,0xff,0x02,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x02,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_sub_src2_u32 v255 offset:65535 ; encoding: [0xff,0xff,0x02,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x02,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_sub_src2_u32 v0 ; encoding: [0x00,0x00,0x02,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x02,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_src2_u32 v1 ; encoding: [0x00,0x00,0x02,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x02,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_sub_src2_u32 v0 offset:4 ; encoding: [0x04,0x00,0x02,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x02,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_src2_u32 v1 offset:4 ; encoding: [0x04,0x00,0x02,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x02,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_sub_src2_u32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x03,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x03,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_src2_u32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x03,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x03,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_rsub_src2_u32 v0 offset:65535 ; encoding: [0xff,0xff,0x04,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x04,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_src2_u32 v1 offset:65535 ; encoding: [0xff,0xff,0x04,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x04,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_rsub_src2_u32 v255 offset:65535 ; encoding: [0xff,0xff,0x04,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x04,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_rsub_src2_u32 v0 ; encoding: [0x00,0x00,0x04,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x04,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_src2_u32 v1 ; encoding: [0x00,0x00,0x04,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x04,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_rsub_src2_u32 v0 offset:4 ; encoding: [0x04,0x00,0x04,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x04,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_src2_u32 v1 offset:4 ; encoding: [0x04,0x00,0x04,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x04,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_rsub_src2_u32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x05,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x05,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_src2_u32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x05,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x05,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_inc_src2_u32 v0 offset:65535 ; encoding: [0xff,0xff,0x06,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x06,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_src2_u32 v1 offset:65535 ; encoding: [0xff,0xff,0x06,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x06,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_inc_src2_u32 v255 offset:65535 ; encoding: [0xff,0xff,0x06,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x06,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_inc_src2_u32 v0 ; encoding: [0x00,0x00,0x06,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x06,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_src2_u32 v1 ; encoding: [0x00,0x00,0x06,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x06,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_inc_src2_u32 v0 offset:4 ; encoding: [0x04,0x00,0x06,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x06,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_src2_u32 v1 offset:4 ; encoding: [0x04,0x00,0x06,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x06,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_inc_src2_u32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x07,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x07,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_src2_u32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x07,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x07,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_dec_src2_u32 v0 offset:65535 ; encoding: [0xff,0xff,0x08,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x08,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_src2_u32 v1 offset:65535 ; encoding: [0xff,0xff,0x08,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x08,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_dec_src2_u32 v255 offset:65535 ; encoding: [0xff,0xff,0x08,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x08,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_dec_src2_u32 v0 ; encoding: [0x00,0x00,0x08,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x08,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_src2_u32 v1 ; encoding: [0x00,0x00,0x08,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x08,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_dec_src2_u32 v0 offset:4 ; encoding: [0x04,0x00,0x08,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x08,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_src2_u32 v1 offset:4 ; encoding: [0x04,0x00,0x08,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x08,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_dec_src2_u32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x09,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x09,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_src2_u32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x09,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x09,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_i32 v0 offset:65535 ; encoding: [0xff,0xff,0x0a,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0a,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_i32 v1 offset:65535 ; encoding: [0xff,0xff,0x0a,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x0a,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_min_src2_i32 v255 offset:65535 ; encoding: [0xff,0xff,0x0a,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x0a,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_min_src2_i32 v0 ; encoding: [0x00,0x00,0x0a,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0a,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_i32 v1 ; encoding: [0x00,0x00,0x0a,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x0a,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_i32 v0 offset:4 ; encoding: [0x04,0x00,0x0a,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x0a,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_i32 v1 offset:4 ; encoding: [0x04,0x00,0x0a,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x0a,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_i32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x0b,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0b,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_i32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x0b,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x0b,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_i32 v0 offset:65535 ; encoding: [0xff,0xff,0x0c,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0c,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_i32 v1 offset:65535 ; encoding: [0xff,0xff,0x0c,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x0c,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_max_src2_i32 v255 offset:65535 ; encoding: [0xff,0xff,0x0c,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x0c,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_max_src2_i32 v0 ; encoding: [0x00,0x00,0x0c,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_i32 v1 ; encoding: [0x00,0x00,0x0c,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x0c,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_i32 v0 offset:4 ; encoding: [0x04,0x00,0x0c,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x0c,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_i32 v1 offset:4 ; encoding: [0x04,0x00,0x0c,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x0c,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_i32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x0d,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0d,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_i32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x0d,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x0d,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_u32 v0 offset:65535 ; encoding: [0xff,0xff,0x0e,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0e,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_u32 v1 offset:65535 ; encoding: [0xff,0xff,0x0e,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x0e,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_min_src2_u32 v255 offset:65535 ; encoding: [0xff,0xff,0x0e,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x0e,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_min_src2_u32 v0 ; encoding: [0x00,0x00,0x0e,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0e,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_u32 v1 ; encoding: [0x00,0x00,0x0e,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x0e,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_u32 v0 offset:4 ; encoding: [0x04,0x00,0x0e,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x0e,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_u32 v1 offset:4 ; encoding: [0x04,0x00,0x0e,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x0e,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_u32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x0f,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x0f,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_u32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x0f,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x0f,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_u32 v0 offset:65535 ; encoding: [0xff,0xff,0x10,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x10,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_u32 v1 offset:65535 ; encoding: [0xff,0xff,0x10,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x10,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_max_src2_u32 v255 offset:65535 ; encoding: [0xff,0xff,0x10,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x10,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_max_src2_u32 v0 ; encoding: [0x00,0x00,0x10,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_u32 v1 ; encoding: [0x00,0x00,0x10,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x10,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_u32 v0 offset:4 ; encoding: [0x04,0x00,0x10,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x10,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_u32 v1 offset:4 ; encoding: [0x04,0x00,0x10,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x10,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_u32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x11,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x11,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_u32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x11,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x11,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_or_src2_b32 v0 offset:65535 ; encoding: [0xff,0xff,0x14,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x14,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_or_src2_b32 v1 offset:65535 ; encoding: [0xff,0xff,0x14,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x14,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_or_src2_b32 v255 offset:65535 ; encoding: [0xff,0xff,0x14,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x14,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_or_src2_b32 v0 ; encoding: [0x00,0x00,0x14,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_or_src2_b32 v1 ; encoding: [0x00,0x00,0x14,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x14,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_or_src2_b32 v0 offset:4 ; encoding: [0x04,0x00,0x14,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x14,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_or_src2_b32 v1 offset:4 ; encoding: [0x04,0x00,0x14,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x14,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_or_src2_b32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x15,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x15,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_or_src2_b32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x15,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x15,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_xor_src2_b32 v0 offset:65535 ; encoding: [0xff,0xff,0x16,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x16,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_src2_b32 v1 offset:65535 ; encoding: [0xff,0xff,0x16,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x16,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_xor_src2_b32 v255 offset:65535 ; encoding: [0xff,0xff,0x16,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x16,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_xor_src2_b32 v0 ; encoding: [0x00,0x00,0x16,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x16,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_src2_b32 v1 ; encoding: [0x00,0x00,0x16,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x16,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_xor_src2_b32 v0 offset:4 ; encoding: [0x04,0x00,0x16,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x16,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_src2_b32 v1 offset:4 ; encoding: [0x04,0x00,0x16,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x16,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_xor_src2_b32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x17,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x17,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_src2_b32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x17,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x17,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_write_src2_b32 v0 ; encoding: [0x00,0x00,0x1a,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1a,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_write_src2_b32 v1 ; encoding: [0x00,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x1a,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_f32 v0 offset:65535 ; encoding: [0xff,0xff,0x24,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x24,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_f32 v1 offset:65535 ; encoding: [0xff,0xff,0x24,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x24,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_min_src2_f32 v255 offset:65535 ; encoding: [0xff,0xff,0x24,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x24,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_min_src2_f32 v0 ; encoding: [0x00,0x00,0x24,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x24,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_f32 v1 ; encoding: [0x00,0x00,0x24,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x24,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_f32 v0 offset:4 ; encoding: [0x04,0x00,0x24,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x24,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_f32 v1 offset:4 ; encoding: [0x04,0x00,0x24,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x24,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_f32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x25,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x25,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_f32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x25,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x25,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_f32 v0 offset:65535 ; encoding: [0xff,0xff,0x26,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x26,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_f32 v1 offset:65535 ; encoding: [0xff,0xff,0x26,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x26,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_max_src2_f32 v255 offset:65535 ; encoding: [0xff,0xff,0x26,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x26,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_max_src2_f32 v0 ; encoding: [0x00,0x00,0x26,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_f32 v1 ; encoding: [0x00,0x00,0x26,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x26,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_f32 v0 offset:4 ; encoding: [0x04,0x00,0x26,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x26,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_f32 v1 offset:4 ; encoding: [0x04,0x00,0x26,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x26,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_f32 v0 offset:65535 gds ; encoding: [0xff,0xff,0x27,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x27,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_f32 v1 offset:65535 gds ; encoding: [0xff,0xff,0x27,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x27,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_add_src2_u64 v0 offset:65535 ; encoding: [0xff,0xff,0x80,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x80,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_add_src2_u64 v1 offset:65535 ; encoding: [0xff,0xff,0x80,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x80,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_add_src2_u64 v255 offset:65535 ; encoding: [0xff,0xff,0x80,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x80,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_add_src2_u64 v0 ; encoding: [0x00,0x00,0x80,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_add_src2_u64 v1 ; encoding: [0x00,0x00,0x80,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x80,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_add_src2_u64 v0 offset:4 ; encoding: [0x04,0x00,0x80,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x80,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_add_src2_u64 v1 offset:4 ; encoding: [0x04,0x00,0x80,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x80,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_add_src2_u64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x81,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x81,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_add_src2_u64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x81,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x81,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_sub_src2_u64 v0 offset:65535 ; encoding: [0xff,0xff,0x82,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x82,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_src2_u64 v1 offset:65535 ; encoding: [0xff,0xff,0x82,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x82,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_sub_src2_u64 v255 offset:65535 ; encoding: [0xff,0xff,0x82,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x82,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_sub_src2_u64 v0 ; encoding: [0x00,0x00,0x82,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_src2_u64 v1 ; encoding: [0x00,0x00,0x82,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x82,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_sub_src2_u64 v0 offset:4 ; encoding: [0x04,0x00,0x82,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x82,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_src2_u64 v1 offset:4 ; encoding: [0x04,0x00,0x82,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x82,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_sub_src2_u64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x83,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x83,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_sub_src2_u64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x83,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x83,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_rsub_src2_u64 v0 offset:65535 ; encoding: [0xff,0xff,0x84,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x84,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_src2_u64 v1 offset:65535 ; encoding: [0xff,0xff,0x84,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x84,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_rsub_src2_u64 v255 offset:65535 ; encoding: [0xff,0xff,0x84,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x84,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_rsub_src2_u64 v0 ; encoding: [0x00,0x00,0x84,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_src2_u64 v1 ; encoding: [0x00,0x00,0x84,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x84,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_rsub_src2_u64 v0 offset:4 ; encoding: [0x04,0x00,0x84,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x84,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_src2_u64 v1 offset:4 ; encoding: [0x04,0x00,0x84,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x84,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_rsub_src2_u64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x85,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x85,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_rsub_src2_u64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x85,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x85,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_inc_src2_u64 v0 offset:65535 ; encoding: [0xff,0xff,0x86,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x86,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_src2_u64 v1 offset:65535 ; encoding: [0xff,0xff,0x86,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x86,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_inc_src2_u64 v255 offset:65535 ; encoding: [0xff,0xff,0x86,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x86,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_inc_src2_u64 v0 ; encoding: [0x00,0x00,0x86,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_src2_u64 v1 ; encoding: [0x00,0x00,0x86,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x86,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_inc_src2_u64 v0 offset:4 ; encoding: [0x04,0x00,0x86,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x86,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_src2_u64 v1 offset:4 ; encoding: [0x04,0x00,0x86,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x86,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_inc_src2_u64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x87,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x87,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_inc_src2_u64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x87,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x87,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_dec_src2_u64 v0 offset:65535 ; encoding: [0xff,0xff,0x88,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x88,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_src2_u64 v1 offset:65535 ; encoding: [0xff,0xff,0x88,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x88,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_dec_src2_u64 v255 offset:65535 ; encoding: [0xff,0xff,0x88,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x88,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_dec_src2_u64 v0 ; encoding: [0x00,0x00,0x88,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_src2_u64 v1 ; encoding: [0x00,0x00,0x88,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x88,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_dec_src2_u64 v0 offset:4 ; encoding: [0x04,0x00,0x88,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x88,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_src2_u64 v1 offset:4 ; encoding: [0x04,0x00,0x88,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x88,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_dec_src2_u64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x89,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x89,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_dec_src2_u64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x89,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x89,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_i64 v0 offset:65535 ; encoding: [0xff,0xff,0x8a,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8a,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_i64 v1 offset:65535 ; encoding: [0xff,0xff,0x8a,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x8a,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_min_src2_i64 v255 offset:65535 ; encoding: [0xff,0xff,0x8a,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x8a,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_min_src2_i64 v0 ; encoding: [0x00,0x00,0x8a,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_i64 v1 ; encoding: [0x00,0x00,0x8a,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x8a,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_i64 v0 offset:4 ; encoding: [0x04,0x00,0x8a,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x8a,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_i64 v1 offset:4 ; encoding: [0x04,0x00,0x8a,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x8a,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_i64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x8b,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8b,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_i64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x8b,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x8b,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_i64 v0 offset:65535 ; encoding: [0xff,0xff,0x8c,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8c,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_i64 v1 offset:65535 ; encoding: [0xff,0xff,0x8c,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x8c,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_max_src2_i64 v255 offset:65535 ; encoding: [0xff,0xff,0x8c,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x8c,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_max_src2_i64 v0 ; encoding: [0x00,0x00,0x8c,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_i64 v1 ; encoding: [0x00,0x00,0x8c,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x8c,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_i64 v0 offset:4 ; encoding: [0x04,0x00,0x8c,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x8c,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_i64 v1 offset:4 ; encoding: [0x04,0x00,0x8c,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x8c,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_i64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x8d,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8d,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_i64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x8d,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x8d,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_u64 v0 offset:65535 ; encoding: [0xff,0xff,0x8e,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8e,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_u64 v1 offset:65535 ; encoding: [0xff,0xff,0x8e,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x8e,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_min_src2_u64 v255 offset:65535 ; encoding: [0xff,0xff,0x8e,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x8e,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_min_src2_u64 v0 ; encoding: [0x00,0x00,0x8e,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8e,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_u64 v1 ; encoding: [0x00,0x00,0x8e,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x8e,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_u64 v0 offset:4 ; encoding: [0x04,0x00,0x8e,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x8e,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_u64 v1 offset:4 ; encoding: [0x04,0x00,0x8e,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x8e,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_u64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x8f,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x8f,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_u64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x8f,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x8f,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_u64 v0 offset:65535 ; encoding: [0xff,0xff,0x90,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x90,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_u64 v1 offset:65535 ; encoding: [0xff,0xff,0x90,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x90,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_max_src2_u64 v255 offset:65535 ; encoding: [0xff,0xff,0x90,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x90,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_max_src2_u64 v0 ; encoding: [0x00,0x00,0x90,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x90,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_u64 v1 ; encoding: [0x00,0x00,0x90,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x90,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_u64 v0 offset:4 ; encoding: [0x04,0x00,0x90,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x90,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_u64 v1 offset:4 ; encoding: [0x04,0x00,0x90,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x90,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_u64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x91,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x91,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_u64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x91,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x91,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_and_src2_b64 v0 offset:65535 ; encoding: [0xff,0xff,0x92,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x92,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_and_src2_b64 v1 offset:65535 ; encoding: [0xff,0xff,0x92,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x92,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_and_src2_b64 v255 offset:65535 ; encoding: [0xff,0xff,0x92,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x92,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_and_src2_b64 v0 ; encoding: [0x00,0x00,0x92,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x92,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_and_src2_b64 v1 ; encoding: [0x00,0x00,0x92,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x92,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_and_src2_b64 v0 offset:4 ; encoding: [0x04,0x00,0x92,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x92,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_and_src2_b64 v1 offset:4 ; encoding: [0x04,0x00,0x92,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x92,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_and_src2_b64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x93,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x93,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_and_src2_b64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x93,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x93,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_or_src2_b64 v0 offset:65535 ; encoding: [0xff,0xff,0x94,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x94,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_or_src2_b64 v1 offset:65535 ; encoding: [0xff,0xff,0x94,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x94,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_or_src2_b64 v255 offset:65535 ; encoding: [0xff,0xff,0x94,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x94,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_or_src2_b64 v0 ; encoding: [0x00,0x00,0x94,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x94,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_or_src2_b64 v1 ; encoding: [0x00,0x00,0x94,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x94,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_or_src2_b64 v0 offset:4 ; encoding: [0x04,0x00,0x94,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x94,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_or_src2_b64 v1 offset:4 ; encoding: [0x04,0x00,0x94,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x94,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_or_src2_b64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x95,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x95,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_or_src2_b64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x95,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x95,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_xor_src2_b64 v0 offset:65535 ; encoding: [0xff,0xff,0x96,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x96,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_src2_b64 v1 offset:65535 ; encoding: [0xff,0xff,0x96,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x96,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_xor_src2_b64 v255 offset:65535 ; encoding: [0xff,0xff,0x96,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0x96,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_xor_src2_b64 v0 ; encoding: [0x00,0x00,0x96,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x96,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_src2_b64 v1 ; encoding: [0x00,0x00,0x96,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x96,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_xor_src2_b64 v0 offset:4 ; encoding: [0x04,0x00,0x96,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0x96,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_src2_b64 v1 offset:4 ; encoding: [0x04,0x00,0x96,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0x96,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_xor_src2_b64 v0 offset:65535 gds ; encoding: [0xff,0xff,0x97,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0x97,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_xor_src2_b64 v1 offset:65535 gds ; encoding: [0xff,0xff,0x97,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0x97,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_write_src2_b64 v0 ; encoding: [0x00,0x00,0x9a,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0x9a,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_write_src2_b64 v1 ; encoding: [0x00,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0x9a,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_f64 v0 offset:65535 ; encoding: [0xff,0xff,0xa4,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa4,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_f64 v1 offset:65535 ; encoding: [0xff,0xff,0xa4,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0xa4,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_min_src2_f64 v255 offset:65535 ; encoding: [0xff,0xff,0xa4,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0xa4,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_min_src2_f64 v0 ; encoding: [0x00,0x00,0xa4,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_f64 v1 ; encoding: [0x00,0x00,0xa4,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0xa4,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_f64 v0 offset:4 ; encoding: [0x04,0x00,0xa4,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0xa4,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_f64 v1 offset:4 ; encoding: [0x04,0x00,0xa4,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0xa4,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_min_src2_f64 v0 offset:65535 gds ; encoding: [0xff,0xff,0xa5,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa5,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_min_src2_f64 v1 offset:65535 gds ; encoding: [0xff,0xff,0xa5,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0xa5,0xd9,0x01,0x00,0x00,0x00
-# CHECK: ds_max_src2_f64 v0 offset:65535 ; encoding: [0xff,0xff,0xa6,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa6,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_f64 v1 offset:65535 ; encoding: [0xff,0xff,0xa6,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0xa6,0xd9,0x01,0x00,0x00,0x00
# CHECK: ds_max_src2_f64 v255 offset:65535 ; encoding: [0xff,0xff,0xa6,0xd9,0xff,0x00,0x00,0x00]
0xff,0xff,0xa6,0xd9,0xff,0x00,0x00,0x00
-# CHECK: ds_max_src2_f64 v0 ; encoding: [0x00,0x00,0xa6,0xd9,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa6,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_max_src2_f64 v1 ; encoding: [0x00,0x00,0xa6,0xd9,0x01,0x00,0x00,0x00]
+0x00,0x00,0xa6,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_max_src2_f64 v1 offset:4 ; encoding: [0x04,0x00,0xa6,0xd9,0x01,0x00,0x00,0x00]
+0x04,0x00,0xa6,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_max_src2_f64 v1 offset:65535 gds ; encoding: [0xff,0xff,0xa7,0xd9,0x01,0x00,0x00,0x00]
+0xff,0xff,0xa7,0xd9,0x01,0x00,0x00,0x00
+
+# CHECK: ds_write_b96 v1, v[2:4] offset:65535 ; encoding: [0xff,0xff,0xbc,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0xbc,0xd9,0x01,0x02,0x00,0x00
+
+# CHECK: ds_write_b96 v255, v[2:4] offset:65535 ; encoding: [0xff,0xff,0xbc,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0xbc,0xd9,0xff,0x02,0x00,0x00
+
+# CHECK: ds_write_b96 v1, v[253:255] offset:65535 ; encoding: [0xff,0xff,0xbc,0xd9,0x01,0xfd,0x00,0x00]
+0xff,0xff,0xbc,0xd9,0x01,0xfd,0x00,0x00
+
+# CHECK: ds_write_b96 v1, v[2:4] ; encoding: [0x00,0x00,0xbc,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0xbc,0xd9,0x01,0x02,0x00,0x00
+
+# CHECK: ds_write_b96 v1, v[2:4] offset:4 ; encoding: [0x04,0x00,0xbc,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0xbc,0xd9,0x01,0x02,0x00,0x00
+
+# CHECK: ds_write_b96 v1, v[2:4] offset:65535 gds ; encoding: [0xff,0xff,0xbd,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0xbd,0xd9,0x01,0x02,0x00,0x00
+
+# CHECK: ds_write_b128 v1, v[2:5] offset:65535 ; encoding: [0xff,0xff,0xbe,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0xbe,0xd9,0x01,0x02,0x00,0x00
+
+# CHECK: ds_write_b128 v255, v[2:5] offset:65535 ; encoding: [0xff,0xff,0xbe,0xd9,0xff,0x02,0x00,0x00]
+0xff,0xff,0xbe,0xd9,0xff,0x02,0x00,0x00
+
+# CHECK: ds_write_b128 v1, v[252:255] offset:65535 ; encoding: [0xff,0xff,0xbe,0xd9,0x01,0xfc,0x00,0x00]
+0xff,0xff,0xbe,0xd9,0x01,0xfc,0x00,0x00
+
+# CHECK: ds_write_b128 v1, v[2:5] ; encoding: [0x00,0x00,0xbe,0xd9,0x01,0x02,0x00,0x00]
+0x00,0x00,0xbe,0xd9,0x01,0x02,0x00,0x00
+
+# CHECK: ds_write_b128 v1, v[2:5] offset:4 ; encoding: [0x04,0x00,0xbe,0xd9,0x01,0x02,0x00,0x00]
+0x04,0x00,0xbe,0xd9,0x01,0x02,0x00,0x00
+
+# CHECK: ds_write_b128 v1, v[2:5] offset:65535 gds ; encoding: [0xff,0xff,0xbf,0xd9,0x01,0x02,0x00,0x00]
+0xff,0xff,0xbf,0xd9,0x01,0x02,0x00,0x00
+
+# CHECK: ds_read_b96 v[5:7], v1 offset:65535 ; encoding: [0xff,0xff,0xfc,0xd9,0x01,0x00,0x00,0x05]
+0xff,0xff,0xfc,0xd9,0x01,0x00,0x00,0x05
+
+# CHECK: ds_read_b96 v[253:255], v1 offset:65535 ; encoding: [0xff,0xff,0xfc,0xd9,0x01,0x00,0x00,0xfd]
+0xff,0xff,0xfc,0xd9,0x01,0x00,0x00,0xfd
+
+# CHECK: ds_read_b96 v[5:7], v255 offset:65535 ; encoding: [0xff,0xff,0xfc,0xd9,0xff,0x00,0x00,0x05]
+0xff,0xff,0xfc,0xd9,0xff,0x00,0x00,0x05
+
+# CHECK: ds_read_b96 v[5:7], v1 ; encoding: [0x00,0x00,0xfc,0xd9,0x01,0x00,0x00,0x05]
+0x00,0x00,0xfc,0xd9,0x01,0x00,0x00,0x05
+
+# CHECK: ds_read_b96 v[5:7], v1 offset:4 ; encoding: [0x04,0x00,0xfc,0xd9,0x01,0x00,0x00,0x05]
+0x04,0x00,0xfc,0xd9,0x01,0x00,0x00,0x05
+
+# CHECK: ds_read_b96 v[5:7], v1 offset:65535 gds ; encoding: [0xff,0xff,0xfd,0xd9,0x01,0x00,0x00,0x05]
+0xff,0xff,0xfd,0xd9,0x01,0x00,0x00,0x05
-# CHECK: ds_max_src2_f64 v0 offset:4 ; encoding: [0x04,0x00,0xa6,0xd9,0x00,0x00,0x00,0x00]
-0x04,0x00,0xa6,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b128 v[5:8], v1 offset:65535 ; encoding: [0xff,0xff,0xfe,0xd9,0x01,0x00,0x00,0x05]
+0xff,0xff,0xfe,0xd9,0x01,0x00,0x00,0x05
-# CHECK: ds_max_src2_f64 v0 offset:65535 gds ; encoding: [0xff,0xff,0xa7,0xd9,0x00,0x00,0x00,0x00]
-0xff,0xff,0xa7,0xd9,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b128 v[252:255], v1 offset:65535 ; encoding: [0xff,0xff,0xfe,0xd9,0x01,0x00,0x00,0xfc]
+0xff,0xff,0xfe,0xd9,0x01,0x00,0x00,0xfc
-# CHECK: flat_load_ubyte v0, v[0:1] ; encoding: [0x00,0x00,0x40,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x40,0xdc,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b128 v[5:8], v255 offset:65535 ; encoding: [0xff,0xff,0xfe,0xd9,0xff,0x00,0x00,0x05]
+0xff,0xff,0xfe,0xd9,0xff,0x00,0x00,0x05
-# CHECK: flat_load_ubyte v255, v[0:1] ; encoding: [0x00,0x00,0x40,0xdc,0x00,0x00,0x00,0xff]
-0x00,0x00,0x40,0xdc,0x00,0x00,0x00,0xff
+# CHECK: ds_read_b128 v[5:8], v1 ; encoding: [0x00,0x00,0xfe,0xd9,0x01,0x00,0x00,0x05]
+0x00,0x00,0xfe,0xd9,0x01,0x00,0x00,0x05
-# CHECK: flat_load_ubyte v0, v[254:255] ; encoding: [0x00,0x00,0x40,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x40,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: ds_read_b128 v[5:8], v1 offset:4 ; encoding: [0x04,0x00,0xfe,0xd9,0x01,0x00,0x00,0x05]
+0x04,0x00,0xfe,0xd9,0x01,0x00,0x00,0x05
-# CHECK: flat_load_ubyte v0, v[0:1] glc ; encoding: [0x00,0x00,0x41,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x41,0xdc,0x00,0x00,0x00,0x00
+# CHECK: ds_read_b128 v[5:8], v1 offset:65535 gds ; encoding: [0xff,0xff,0xff,0xd9,0x01,0x00,0x00,0x05]
+0xff,0xff,0xff,0xd9,0x01,0x00,0x00,0x05
-# CHECK: flat_load_ubyte v0, v[0:1] slc ; encoding: [0x00,0x00,0x42,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x42,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_ubyte v5, v[1:2] ; encoding: [0x00,0x00,0x40,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x40,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_sbyte v0, v[0:1] ; encoding: [0x00,0x00,0x44,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x44,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_ubyte v255, v[1:2] ; encoding: [0x00,0x00,0x40,0xdc,0x01,0x00,0x00,0xff]
+0x00,0x00,0x40,0xdc,0x01,0x00,0x00,0xff
-# CHECK: flat_load_sbyte v255, v[0:1] ; encoding: [0x00,0x00,0x44,0xdc,0x00,0x00,0x00,0xff]
-0x00,0x00,0x44,0xdc,0x00,0x00,0x00,0xff
+# CHECK: flat_load_ubyte v5, v[254:255] ; encoding: [0x00,0x00,0x40,0xdc,0xfe,0x00,0x00,0x05]
+0x00,0x00,0x40,0xdc,0xfe,0x00,0x00,0x05
-# CHECK: flat_load_sbyte v0, v[254:255] ; encoding: [0x00,0x00,0x44,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x44,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_load_ubyte v5, v[1:2] glc ; encoding: [0x00,0x00,0x41,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x41,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_sbyte v0, v[0:1] glc ; encoding: [0x00,0x00,0x45,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x45,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_ubyte v5, v[1:2] slc ; encoding: [0x00,0x00,0x42,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x42,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_sbyte v0, v[0:1] slc ; encoding: [0x00,0x00,0x46,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x46,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_sbyte v5, v[1:2] ; encoding: [0x00,0x00,0x44,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x44,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_ushort v0, v[0:1] ; encoding: [0x00,0x00,0x48,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x48,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_sbyte v255, v[1:2] ; encoding: [0x00,0x00,0x44,0xdc,0x01,0x00,0x00,0xff]
+0x00,0x00,0x44,0xdc,0x01,0x00,0x00,0xff
-# CHECK: flat_load_ushort v255, v[0:1] ; encoding: [0x00,0x00,0x48,0xdc,0x00,0x00,0x00,0xff]
-0x00,0x00,0x48,0xdc,0x00,0x00,0x00,0xff
+# CHECK: flat_load_sbyte v5, v[254:255] ; encoding: [0x00,0x00,0x44,0xdc,0xfe,0x00,0x00,0x05]
+0x00,0x00,0x44,0xdc,0xfe,0x00,0x00,0x05
-# CHECK: flat_load_ushort v0, v[254:255] ; encoding: [0x00,0x00,0x48,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x48,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_load_sbyte v5, v[1:2] glc ; encoding: [0x00,0x00,0x45,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x45,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_ushort v0, v[0:1] glc ; encoding: [0x00,0x00,0x49,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x49,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_sbyte v5, v[1:2] slc ; encoding: [0x00,0x00,0x46,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x46,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_ushort v0, v[0:1] slc ; encoding: [0x00,0x00,0x4a,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_ushort v5, v[1:2] ; encoding: [0x00,0x00,0x48,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x48,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_sshort v0, v[0:1] ; encoding: [0x00,0x00,0x4c,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_ushort v255, v[1:2] ; encoding: [0x00,0x00,0x48,0xdc,0x01,0x00,0x00,0xff]
+0x00,0x00,0x48,0xdc,0x01,0x00,0x00,0xff
-# CHECK: flat_load_sshort v255, v[0:1] ; encoding: [0x00,0x00,0x4c,0xdc,0x00,0x00,0x00,0xff]
-0x00,0x00,0x4c,0xdc,0x00,0x00,0x00,0xff
+# CHECK: flat_load_ushort v5, v[254:255] ; encoding: [0x00,0x00,0x48,0xdc,0xfe,0x00,0x00,0x05]
+0x00,0x00,0x48,0xdc,0xfe,0x00,0x00,0x05
-# CHECK: flat_load_sshort v0, v[254:255] ; encoding: [0x00,0x00,0x4c,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_load_ushort v5, v[1:2] glc ; encoding: [0x00,0x00,0x49,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x49,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_sshort v0, v[0:1] glc ; encoding: [0x00,0x00,0x4d,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_ushort v5, v[1:2] slc ; encoding: [0x00,0x00,0x4a,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x4a,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_sshort v0, v[0:1] slc ; encoding: [0x00,0x00,0x4e,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_sshort v5, v[1:2] ; encoding: [0x00,0x00,0x4c,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x4c,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dword v0, v[0:1] ; encoding: [0x00,0x00,0x50,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x50,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_sshort v255, v[1:2] ; encoding: [0x00,0x00,0x4c,0xdc,0x01,0x00,0x00,0xff]
+0x00,0x00,0x4c,0xdc,0x01,0x00,0x00,0xff
-# CHECK: flat_load_dword v255, v[0:1] ; encoding: [0x00,0x00,0x50,0xdc,0x00,0x00,0x00,0xff]
-0x00,0x00,0x50,0xdc,0x00,0x00,0x00,0xff
+# CHECK: flat_load_sshort v5, v[254:255] ; encoding: [0x00,0x00,0x4c,0xdc,0xfe,0x00,0x00,0x05]
+0x00,0x00,0x4c,0xdc,0xfe,0x00,0x00,0x05
-# CHECK: flat_load_dword v0, v[254:255] ; encoding: [0x00,0x00,0x50,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x50,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_load_sshort v5, v[1:2] glc ; encoding: [0x00,0x00,0x4d,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x4d,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dword v0, v[0:1] glc ; encoding: [0x00,0x00,0x51,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x51,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_sshort v5, v[1:2] slc ; encoding: [0x00,0x00,0x4e,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x4e,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dword v0, v[0:1] slc ; encoding: [0x00,0x00,0x52,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x52,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dword v5, v[1:2] ; encoding: [0x00,0x00,0x50,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x50,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dwordx2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x54,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x54,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dword v255, v[1:2] ; encoding: [0x00,0x00,0x50,0xdc,0x01,0x00,0x00,0xff]
+0x00,0x00,0x50,0xdc,0x01,0x00,0x00,0xff
-# CHECK: flat_load_dwordx2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0x54,0xdc,0x00,0x00,0x00,0xfe]
-0x00,0x00,0x54,0xdc,0x00,0x00,0x00,0xfe
+# CHECK: flat_load_dword v5, v[254:255] ; encoding: [0x00,0x00,0x50,0xdc,0xfe,0x00,0x00,0x05]
+0x00,0x00,0x50,0xdc,0xfe,0x00,0x00,0x05
-# CHECK: flat_load_dwordx2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x54,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x54,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_load_dword v5, v[1:2] glc ; encoding: [0x00,0x00,0x51,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x51,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dwordx2 v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0x55,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x55,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dword v5, v[1:2] slc ; encoding: [0x00,0x00,0x52,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x52,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dwordx2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0x56,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x56,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dwordx2 v[5:6], v[1:2] ; encoding: [0x00,0x00,0x54,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x54,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dwordx3 v[0:2], v[0:1] ; encoding: [0x00,0x00,0x58,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x58,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dwordx2 v[254:255], v[1:2] ; encoding: [0x00,0x00,0x54,0xdc,0x01,0x00,0x00,0xfe]
+0x00,0x00,0x54,0xdc,0x01,0x00,0x00,0xfe
-# CHECK: flat_load_dwordx3 v[253:255], v[0:1] ; encoding: [0x00,0x00,0x58,0xdc,0x00,0x00,0x00,0xfd]
-0x00,0x00,0x58,0xdc,0x00,0x00,0x00,0xfd
+# CHECK: flat_load_dwordx2 v[5:6], v[254:255] ; encoding: [0x00,0x00,0x54,0xdc,0xfe,0x00,0x00,0x05]
+0x00,0x00,0x54,0xdc,0xfe,0x00,0x00,0x05
-# CHECK: flat_load_dwordx3 v[0:2], v[254:255] ; encoding: [0x00,0x00,0x58,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x58,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_load_dwordx2 v[5:6], v[1:2] glc ; encoding: [0x00,0x00,0x55,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x55,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dwordx3 v[0:2], v[0:1] glc ; encoding: [0x00,0x00,0x59,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x59,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dwordx2 v[5:6], v[1:2] slc ; encoding: [0x00,0x00,0x56,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x56,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dwordx3 v[0:2], v[0:1] slc ; encoding: [0x00,0x00,0x5a,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dwordx3 v[5:7], v[1:2] ; encoding: [0x00,0x00,0x58,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x58,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dwordx4 v[0:3], v[0:1] ; encoding: [0x00,0x00,0x5c,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dwordx3 v[253:255], v[1:2] ; encoding: [0x00,0x00,0x58,0xdc,0x01,0x00,0x00,0xfd]
+0x00,0x00,0x58,0xdc,0x01,0x00,0x00,0xfd
-# CHECK: flat_load_dwordx4 v[252:255], v[0:1] ; encoding: [0x00,0x00,0x5c,0xdc,0x00,0x00,0x00,0xfc]
-0x00,0x00,0x5c,0xdc,0x00,0x00,0x00,0xfc
+# CHECK: flat_load_dwordx3 v[5:7], v[254:255] ; encoding: [0x00,0x00,0x58,0xdc,0xfe,0x00,0x00,0x05]
+0x00,0x00,0x58,0xdc,0xfe,0x00,0x00,0x05
-# CHECK: flat_load_dwordx4 v[0:3], v[254:255] ; encoding: [0x00,0x00,0x5c,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_load_dwordx3 v[5:7], v[1:2] glc ; encoding: [0x00,0x00,0x59,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x59,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dwordx4 v[0:3], v[0:1] glc ; encoding: [0x00,0x00,0x5d,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dwordx3 v[5:7], v[1:2] slc ; encoding: [0x00,0x00,0x5a,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x5a,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_load_dwordx4 v[0:3], v[0:1] slc ; encoding: [0x00,0x00,0x5e,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dwordx4 v[5:8], v[1:2] ; encoding: [0x00,0x00,0x5c,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x5c,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_store_byte v[0:1], v0 ; encoding: [0x00,0x00,0x60,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x60,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dwordx4 v[252:255], v[1:2] ; encoding: [0x00,0x00,0x5c,0xdc,0x01,0x00,0x00,0xfc]
+0x00,0x00,0x5c,0xdc,0x01,0x00,0x00,0xfc
-# CHECK: flat_store_byte v[254:255], v0 ; encoding: [0x00,0x00,0x60,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x60,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_load_dwordx4 v[5:8], v[254:255] ; encoding: [0x00,0x00,0x5c,0xdc,0xfe,0x00,0x00,0x05]
+0x00,0x00,0x5c,0xdc,0xfe,0x00,0x00,0x05
-# CHECK: flat_store_byte v[0:1], v255 ; encoding: [0x00,0x00,0x60,0xdc,0x00,0xff,0x00,0x00]
-0x00,0x00,0x60,0xdc,0x00,0xff,0x00,0x00
+# CHECK: flat_load_dwordx4 v[5:8], v[1:2] glc ; encoding: [0x00,0x00,0x5d,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x5d,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_store_byte v[0:1], v0 glc ; encoding: [0x00,0x00,0x61,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x61,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_load_dwordx4 v[5:8], v[1:2] slc ; encoding: [0x00,0x00,0x5e,0xdc,0x01,0x00,0x00,0x05]
+0x00,0x00,0x5e,0xdc,0x01,0x00,0x00,0x05
-# CHECK: flat_store_byte v[0:1], v0 slc ; encoding: [0x00,0x00,0x62,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x62,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_byte v[1:2], v2 ; encoding: [0x00,0x00,0x60,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x60,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_short v[0:1], v0 ; encoding: [0x00,0x00,0x68,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x68,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_byte v[254:255], v2 ; encoding: [0x00,0x00,0x60,0xdc,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x60,0xdc,0xfe,0x02,0x00,0x00
-# CHECK: flat_store_short v[254:255], v0 ; encoding: [0x00,0x00,0x68,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x68,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_store_byte v[1:2], v255 ; encoding: [0x00,0x00,0x60,0xdc,0x01,0xff,0x00,0x00]
+0x00,0x00,0x60,0xdc,0x01,0xff,0x00,0x00
-# CHECK: flat_store_short v[0:1], v255 ; encoding: [0x00,0x00,0x68,0xdc,0x00,0xff,0x00,0x00]
-0x00,0x00,0x68,0xdc,0x00,0xff,0x00,0x00
+# CHECK: flat_store_byte v[1:2], v2 glc ; encoding: [0x00,0x00,0x61,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x61,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_short v[0:1], v0 glc ; encoding: [0x00,0x00,0x69,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x69,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_byte v[1:2], v2 slc ; encoding: [0x00,0x00,0x62,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x62,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_short v[0:1], v0 slc ; encoding: [0x00,0x00,0x6a,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_short v[1:2], v2 ; encoding: [0x00,0x00,0x68,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x68,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dword v[0:1], v0 ; encoding: [0x00,0x00,0x70,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x70,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_short v[254:255], v2 ; encoding: [0x00,0x00,0x68,0xdc,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x68,0xdc,0xfe,0x02,0x00,0x00
-# CHECK: flat_store_dword v[254:255], v0 ; encoding: [0x00,0x00,0x70,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x70,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_store_short v[1:2], v255 ; encoding: [0x00,0x00,0x68,0xdc,0x01,0xff,0x00,0x00]
+0x00,0x00,0x68,0xdc,0x01,0xff,0x00,0x00
-# CHECK: flat_store_dword v[0:1], v255 ; encoding: [0x00,0x00,0x70,0xdc,0x00,0xff,0x00,0x00]
-0x00,0x00,0x70,0xdc,0x00,0xff,0x00,0x00
+# CHECK: flat_store_short v[1:2], v2 glc ; encoding: [0x00,0x00,0x69,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x69,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dword v[0:1], v0 glc ; encoding: [0x00,0x00,0x71,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x71,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_short v[1:2], v2 slc ; encoding: [0x00,0x00,0x6a,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x6a,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dword v[0:1], v0 slc ; encoding: [0x00,0x00,0x72,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x72,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dword v[1:2], v2 ; encoding: [0x00,0x00,0x70,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x70,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dwordx2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x74,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x74,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dword v[254:255], v2 ; encoding: [0x00,0x00,0x70,0xdc,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x70,0xdc,0xfe,0x02,0x00,0x00
-# CHECK: flat_store_dwordx2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0x74,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x74,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_store_dword v[1:2], v255 ; encoding: [0x00,0x00,0x70,0xdc,0x01,0xff,0x00,0x00]
+0x00,0x00,0x70,0xdc,0x01,0xff,0x00,0x00
-# CHECK: flat_store_dwordx2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x74,0xdc,0x00,0xfe,0x00,0x00]
-0x00,0x00,0x74,0xdc,0x00,0xfe,0x00,0x00
+# CHECK: flat_store_dword v[1:2], v2 glc ; encoding: [0x00,0x00,0x71,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x71,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dwordx2 v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0x75,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x75,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dword v[1:2], v2 slc ; encoding: [0x00,0x00,0x72,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x72,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dwordx2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0x76,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x76,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dwordx2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0x74,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x74,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dwordx3 v[0:1], v[0:2] ; encoding: [0x00,0x00,0x78,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x78,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dwordx2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0x74,0xdc,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x74,0xdc,0xfe,0x02,0x00,0x00
-# CHECK: flat_store_dwordx3 v[254:255], v[0:2] ; encoding: [0x00,0x00,0x78,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x78,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_store_dwordx2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0x74,0xdc,0x01,0xfe,0x00,0x00]
+0x00,0x00,0x74,0xdc,0x01,0xfe,0x00,0x00
-# CHECK: flat_store_dwordx3 v[0:1], v[253:255] ; encoding: [0x00,0x00,0x78,0xdc,0x00,0xfd,0x00,0x00]
-0x00,0x00,0x78,0xdc,0x00,0xfd,0x00,0x00
+# CHECK: flat_store_dwordx2 v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0x75,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x75,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dwordx3 v[0:1], v[0:2] glc ; encoding: [0x00,0x00,0x79,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x79,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dwordx2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0x76,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x76,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dwordx3 v[0:1], v[0:2] slc ; encoding: [0x00,0x00,0x7a,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dwordx3 v[1:2], v[2:4] ; encoding: [0x00,0x00,0x78,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x78,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dwordx4 v[0:1], v[0:3] ; encoding: [0x00,0x00,0x7c,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dwordx3 v[254:255], v[2:4] ; encoding: [0x00,0x00,0x78,0xdc,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x78,0xdc,0xfe,0x02,0x00,0x00
-# CHECK: flat_store_dwordx4 v[254:255], v[0:3] ; encoding: [0x00,0x00,0x7c,0xdc,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xdc,0xfe,0x00,0x00,0x00
+# CHECK: flat_store_dwordx3 v[1:2], v[253:255] ; encoding: [0x00,0x00,0x78,0xdc,0x01,0xfd,0x00,0x00]
+0x00,0x00,0x78,0xdc,0x01,0xfd,0x00,0x00
-# CHECK: flat_store_dwordx4 v[0:1], v[252:255] ; encoding: [0x00,0x00,0x7c,0xdc,0x00,0xfc,0x00,0x00]
-0x00,0x00,0x7c,0xdc,0x00,0xfc,0x00,0x00
+# CHECK: flat_store_dwordx3 v[1:2], v[2:4] glc ; encoding: [0x00,0x00,0x79,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x79,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dwordx4 v[0:1], v[0:3] glc ; encoding: [0x00,0x00,0x7d,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dwordx3 v[1:2], v[2:4] slc ; encoding: [0x00,0x00,0x7a,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x7a,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_store_dwordx4 v[0:1], v[0:3] slc ; encoding: [0x00,0x00,0x7e,0xdc,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xdc,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dwordx4 v[1:2], v[2:5] ; encoding: [0x00,0x00,0x7c,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x7c,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_swap v[0:1], v0 ; encoding: [0x00,0x00,0x00,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x00,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dwordx4 v[254:255], v[2:5] ; encoding: [0x00,0x00,0x7c,0xdc,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x7c,0xdc,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_swap v[254:255], v0 ; encoding: [0x00,0x00,0x00,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x00,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_store_dwordx4 v[1:2], v[252:255] ; encoding: [0x00,0x00,0x7c,0xdc,0x01,0xfc,0x00,0x00]
+0x00,0x00,0x7c,0xdc,0x01,0xfc,0x00,0x00
-# CHECK: flat_atomic_swap v[0:1], v255 ; encoding: [0x00,0x00,0x00,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x00,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_store_dwordx4 v[1:2], v[2:5] glc ; encoding: [0x00,0x00,0x7d,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x7d,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_swap v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x01,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x01,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_store_dwordx4 v[1:2], v[2:5] slc ; encoding: [0x00,0x00,0x7e,0xdc,0x01,0x02,0x00,0x00]
+0x00,0x00,0x7e,0xdc,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_swap v[0:1], v0 slc ; encoding: [0x00,0x00,0x02,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x02,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_swap v[1:2], v2 ; encoding: [0x00,0x00,0x00,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x00,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_cmpswap v[0:1], v[0:1] ; encoding: [0x00,0x00,0x04,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x04,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_swap v[254:255], v2 ; encoding: [0x00,0x00,0x00,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x00,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_cmpswap v[254:255], v[0:1] ; encoding: [0x00,0x00,0x04,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x04,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_swap v[1:2], v255 ; encoding: [0x00,0x00,0x00,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x00,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_cmpswap v[0:1], v[254:255] ; encoding: [0x00,0x00,0x04,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0x04,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_swap v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x01,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x01,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_cmpswap v0, v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0x05,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x05,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_swap v[1:2], v2 slc ; encoding: [0x00,0x00,0x02,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x02,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_cmpswap v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0x06,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x06,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_cmpswap v[1:2], v[2:3] ; encoding: [0x00,0x00,0x04,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x04,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_add v[0:1], v0 ; encoding: [0x00,0x00,0x08,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x08,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_cmpswap v[254:255], v[2:3] ; encoding: [0x00,0x00,0x04,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x04,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_add v[254:255], v0 ; encoding: [0x00,0x00,0x08,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x08,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_cmpswap v[1:2], v[254:255] ; encoding: [0x00,0x00,0x04,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0x04,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_add v[0:1], v255 ; encoding: [0x00,0x00,0x08,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x08,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_cmpswap v0, v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0x05,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x05,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_add v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x09,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x09,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_cmpswap v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0x06,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x06,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_add v[0:1], v0 slc ; encoding: [0x00,0x00,0x0a,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0a,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_add v[1:2], v2 ; encoding: [0x00,0x00,0x08,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x08,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_sub v[0:1], v0 ; encoding: [0x00,0x00,0x0c,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_add v[254:255], v2 ; encoding: [0x00,0x00,0x08,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x08,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_sub v[254:255], v0 ; encoding: [0x00,0x00,0x0c,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_add v[1:2], v255 ; encoding: [0x00,0x00,0x08,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x08,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_sub v[0:1], v255 ; encoding: [0x00,0x00,0x0c,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x0c,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_add v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x09,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x09,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_sub v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x0d,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0d,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_add v[1:2], v2 slc ; encoding: [0x00,0x00,0x0a,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0a,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_sub v[0:1], v0 slc ; encoding: [0x00,0x00,0x0e,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0e,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_sub v[1:2], v2 ; encoding: [0x00,0x00,0x0c,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0c,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smin v[0:1], v0 ; encoding: [0x00,0x00,0x10,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x10,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_sub v[254:255], v2 ; encoding: [0x00,0x00,0x0c,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x0c,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_smin v[254:255], v0 ; encoding: [0x00,0x00,0x10,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x10,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_sub v[1:2], v255 ; encoding: [0x00,0x00,0x0c,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x0c,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_smin v[0:1], v255 ; encoding: [0x00,0x00,0x10,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x10,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_sub v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x0d,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0d,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smin v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x11,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x11,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_sub v[1:2], v2 slc ; encoding: [0x00,0x00,0x0e,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x0e,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smin v[0:1], v0 slc ; encoding: [0x00,0x00,0x12,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x12,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smin v[1:2], v2 ; encoding: [0x00,0x00,0x10,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x10,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umin v[0:1], v0 ; encoding: [0x00,0x00,0x14,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x14,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smin v[254:255], v2 ; encoding: [0x00,0x00,0x10,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x10,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_umin v[254:255], v0 ; encoding: [0x00,0x00,0x14,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x14,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_smin v[1:2], v255 ; encoding: [0x00,0x00,0x10,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x10,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_umin v[0:1], v255 ; encoding: [0x00,0x00,0x14,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x14,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_smin v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x11,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x11,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umin v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x15,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x15,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smin v[1:2], v2 slc ; encoding: [0x00,0x00,0x12,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x12,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umin v[0:1], v0 slc ; encoding: [0x00,0x00,0x16,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x16,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umin v[1:2], v2 ; encoding: [0x00,0x00,0x14,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x14,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smax v[0:1], v0 ; encoding: [0x00,0x00,0x18,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x18,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umin v[254:255], v2 ; encoding: [0x00,0x00,0x14,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x14,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_smax v[254:255], v0 ; encoding: [0x00,0x00,0x18,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x18,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_umin v[1:2], v255 ; encoding: [0x00,0x00,0x14,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x14,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_smax v[0:1], v255 ; encoding: [0x00,0x00,0x18,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x18,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_umin v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x15,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x15,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smax v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x19,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x19,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umin v[1:2], v2 slc ; encoding: [0x00,0x00,0x16,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x16,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smax v[0:1], v0 slc ; encoding: [0x00,0x00,0x1a,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1a,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smax v[1:2], v2 ; encoding: [0x00,0x00,0x18,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x18,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umax v[0:1], v0 ; encoding: [0x00,0x00,0x1c,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1c,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smax v[254:255], v2 ; encoding: [0x00,0x00,0x18,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x18,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_umax v[254:255], v0 ; encoding: [0x00,0x00,0x1c,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x1c,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_smax v[1:2], v255 ; encoding: [0x00,0x00,0x18,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x18,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_umax v[0:1], v255 ; encoding: [0x00,0x00,0x1c,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x1c,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_smax v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x19,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x19,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umax v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x1d,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1d,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smax v[1:2], v2 slc ; encoding: [0x00,0x00,0x1a,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x1a,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umax v[0:1], v0 slc ; encoding: [0x00,0x00,0x1e,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1e,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umax v[1:2], v2 ; encoding: [0x00,0x00,0x1c,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x1c,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_and v[0:1], v0 ; encoding: [0x00,0x00,0x20,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x20,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umax v[254:255], v2 ; encoding: [0x00,0x00,0x1c,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x1c,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_and v[254:255], v0 ; encoding: [0x00,0x00,0x20,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x20,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_umax v[1:2], v255 ; encoding: [0x00,0x00,0x1c,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x1c,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_and v[0:1], v255 ; encoding: [0x00,0x00,0x20,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x20,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_umax v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x1d,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x1d,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_and v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x21,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x21,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umax v[1:2], v2 slc ; encoding: [0x00,0x00,0x1e,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x1e,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_and v[0:1], v0 slc ; encoding: [0x00,0x00,0x22,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x22,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_and v[1:2], v2 ; encoding: [0x00,0x00,0x20,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x20,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_or v[0:1], v0 ; encoding: [0x00,0x00,0x24,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x24,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_and v[254:255], v2 ; encoding: [0x00,0x00,0x20,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x20,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_or v[254:255], v0 ; encoding: [0x00,0x00,0x24,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x24,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_and v[1:2], v255 ; encoding: [0x00,0x00,0x20,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x20,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_or v[0:1], v255 ; encoding: [0x00,0x00,0x24,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x24,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_and v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x21,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x21,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_or v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x25,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x25,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_and v[1:2], v2 slc ; encoding: [0x00,0x00,0x22,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x22,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_or v[0:1], v0 slc ; encoding: [0x00,0x00,0x26,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x26,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_or v[1:2], v2 ; encoding: [0x00,0x00,0x24,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x24,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_xor v[0:1], v0 ; encoding: [0x00,0x00,0x28,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x28,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_or v[254:255], v2 ; encoding: [0x00,0x00,0x24,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x24,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_xor v[254:255], v0 ; encoding: [0x00,0x00,0x28,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x28,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_or v[1:2], v255 ; encoding: [0x00,0x00,0x24,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x24,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_xor v[0:1], v255 ; encoding: [0x00,0x00,0x28,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x28,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_or v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x25,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x25,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_xor v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x29,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x29,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_or v[1:2], v2 slc ; encoding: [0x00,0x00,0x26,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x26,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_xor v[0:1], v0 slc ; encoding: [0x00,0x00,0x2a,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_xor v[1:2], v2 ; encoding: [0x00,0x00,0x28,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x28,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_inc v[0:1], v0 ; encoding: [0x00,0x00,0x2c,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_xor v[254:255], v2 ; encoding: [0x00,0x00,0x28,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x28,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_inc v[254:255], v0 ; encoding: [0x00,0x00,0x2c,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_xor v[1:2], v255 ; encoding: [0x00,0x00,0x28,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x28,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_inc v[0:1], v255 ; encoding: [0x00,0x00,0x2c,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x2c,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_xor v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x29,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x29,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_inc v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x2d,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_xor v[1:2], v2 slc ; encoding: [0x00,0x00,0x2a,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x2a,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_inc v[0:1], v0 slc ; encoding: [0x00,0x00,0x2e,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_inc v[1:2], v2 ; encoding: [0x00,0x00,0x2c,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x2c,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_dec v[0:1], v0 ; encoding: [0x00,0x00,0x30,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x30,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_inc v[254:255], v2 ; encoding: [0x00,0x00,0x2c,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x2c,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_dec v[254:255], v0 ; encoding: [0x00,0x00,0x30,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x30,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_inc v[1:2], v255 ; encoding: [0x00,0x00,0x2c,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x2c,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_dec v[0:1], v255 ; encoding: [0x00,0x00,0x30,0xdd,0x00,0xff,0x00,0x00]
-0x00,0x00,0x30,0xdd,0x00,0xff,0x00,0x00
+# CHECK: flat_atomic_inc v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x2d,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x2d,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_dec v0, v[0:1], v0 glc ; encoding: [0x00,0x00,0x31,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x31,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_inc v[1:2], v2 slc ; encoding: [0x00,0x00,0x2e,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x2e,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_dec v[0:1], v0 slc ; encoding: [0x00,0x00,0x32,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x32,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_dec v[1:2], v2 ; encoding: [0x00,0x00,0x30,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x30,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_swap_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x80,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x80,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_dec v[254:255], v2 ; encoding: [0x00,0x00,0x30,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x30,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_swap_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0x80,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x80,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_dec v[1:2], v255 ; encoding: [0x00,0x00,0x30,0xdd,0x01,0xff,0x00,0x00]
+0x00,0x00,0x30,0xdd,0x01,0xff,0x00,0x00
-# CHECK: flat_atomic_swap_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x80,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0x80,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_dec v0, v[1:2], v2 glc ; encoding: [0x00,0x00,0x31,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x31,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_swap_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0x81,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x81,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_dec v[1:2], v2 slc ; encoding: [0x00,0x00,0x32,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x32,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_swap_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0x82,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x82,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_swap_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0x80,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x80,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_cmpswap_x2 v[0:1], v[0:3] ; encoding: [0x00,0x00,0x84,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x84,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_swap_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0x80,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x80,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_cmpswap_x2 v[254:255], v[0:3] ; encoding: [0x00,0x00,0x84,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x84,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_swap_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0x80,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0x80,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_cmpswap_x2 v[0:1], v[252:255] ; encoding: [0x00,0x00,0x84,0xdd,0x00,0xfc,0x00,0x00]
-0x00,0x00,0x84,0xdd,0x00,0xfc,0x00,0x00
+# CHECK: flat_atomic_swap_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0x81,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x81,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_cmpswap_x2 v[0:1], v[0:1], v[0:3] glc ; encoding: [0x00,0x00,0x85,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x85,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_swap_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0x82,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x82,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_cmpswap_x2 v[0:1], v[0:3] slc ; encoding: [0x00,0x00,0x86,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x86,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_cmpswap_x2 v[1:2], v[2:5] ; encoding: [0x00,0x00,0x84,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x84,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_add_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x88,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x88,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_cmpswap_x2 v[254:255], v[2:5] ; encoding: [0x00,0x00,0x84,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x84,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_add_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0x88,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x88,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_cmpswap_x2 v[1:2], v[252:255] ; encoding: [0x00,0x00,0x84,0xdd,0x01,0xfc,0x00,0x00]
+0x00,0x00,0x84,0xdd,0x01,0xfc,0x00,0x00
-# CHECK: flat_atomic_add_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x88,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0x88,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_cmpswap_x2 v[0:1], v[1:2], v[2:5] glc ; encoding: [0x00,0x00,0x85,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x85,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_add_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0x89,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x89,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_cmpswap_x2 v[1:2], v[2:5] slc ; encoding: [0x00,0x00,0x86,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x86,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_add_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0x8a,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_add_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0x88,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x88,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_sub_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x8c,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_add_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0x88,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x88,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_sub_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0x8c,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_add_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0x88,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0x88,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_sub_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x8c,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0x8c,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_add_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0x89,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x89,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_sub_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0x8d,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8d,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_add_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0x8a,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x8a,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_sub_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0x8e,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8e,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_sub_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0x8c,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x8c,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smin_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x90,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x90,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_sub_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0x8c,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x8c,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_smin_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0x90,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x90,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_sub_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0x8c,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0x8c,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_smin_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x90,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0x90,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_sub_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0x8d,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x8d,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smin_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0x91,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x91,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_sub_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0x8e,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x8e,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smin_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0x92,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x92,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smin_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0x90,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x90,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umin_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x94,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x94,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smin_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0x90,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x90,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_umin_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0x94,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x94,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_smin_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0x90,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0x90,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_umin_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x94,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0x94,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_smin_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0x91,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x91,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umin_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0x95,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x95,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smin_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0x92,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x92,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umin_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0x96,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x96,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umin_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0x94,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x94,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smax_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x98,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x98,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umin_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0x94,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x94,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_smax_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0x98,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x98,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_umin_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0x94,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0x94,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_smax_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x98,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0x98,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_umin_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0x95,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x95,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smax_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0x99,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x99,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umin_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0x96,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x96,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_smax_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0x9a,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x9a,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smax_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0x98,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x98,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umax_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x9c,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x9c,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smax_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0x98,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x98,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_umax_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0x9c,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0x9c,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_smax_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0x98,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0x98,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_umax_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x9c,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0x9c,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_smax_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0x99,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x99,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umax_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0x9d,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x9d,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_smax_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0x9a,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x9a,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_umax_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0x9e,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0x9e,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umax_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0x9c,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x9c,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_and_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0xa0,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa0,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umax_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0x9c,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0x9c,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_and_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0xa0,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0xa0,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_umax_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0x9c,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0x9c,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_and_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0xa0,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0xa0,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_umax_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0x9d,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x9d,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_and_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0xa1,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa1,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_umax_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0x9e,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0x9e,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_and_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0xa2,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa2,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_and_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0xa0,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa0,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_or_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0xa4,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_and_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0xa0,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0xa0,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_or_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0xa4,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_and_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0xa0,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0xa0,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_or_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0xa4,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0xa4,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_and_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0xa1,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa1,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_or_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0xa5,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa5,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_and_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0xa2,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa2,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_or_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0xa6,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa6,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_or_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0xa4,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa4,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_xor_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0xa8,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa8,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_or_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0xa4,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0xa4,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_xor_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0xa8,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0xa8,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_or_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0xa4,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0xa4,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_xor_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0xa8,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0xa8,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_or_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0xa5,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa5,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_xor_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0xa9,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa9,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_or_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0xa6,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa6,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_xor_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0xaa,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xaa,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_xor_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0xa8,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa8,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_inc_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0xac,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xac,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_xor_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0xa8,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0xa8,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_inc_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0xac,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0xac,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_xor_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0xa8,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0xa8,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_inc_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0xac,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0xac,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_xor_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0xa9,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xa9,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_inc_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0xad,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xad,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_xor_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0xaa,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xaa,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_inc_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0xae,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xae,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_inc_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0xac,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xac,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_dec_x2 v[0:1], v[0:1] ; encoding: [0x00,0x00,0xb0,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb0,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_inc_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0xac,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0xac,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: flat_atomic_dec_x2 v[254:255], v[0:1] ; encoding: [0x00,0x00,0xb0,0xdd,0xfe,0x00,0x00,0x00]
-0x00,0x00,0xb0,0xdd,0xfe,0x00,0x00,0x00
+# CHECK: flat_atomic_inc_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0xac,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0xac,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: flat_atomic_dec_x2 v[0:1], v[254:255] ; encoding: [0x00,0x00,0xb0,0xdd,0x00,0xfe,0x00,0x00]
-0x00,0x00,0xb0,0xdd,0x00,0xfe,0x00,0x00
+# CHECK: flat_atomic_inc_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0xad,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xad,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_dec_x2 v[0:1], v[0:1], v[0:1] glc ; encoding: [0x00,0x00,0xb1,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb1,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_inc_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0xae,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xae,0xdd,0x01,0x02,0x00,0x00
-# CHECK: flat_atomic_dec_x2 v[0:1], v[0:1] slc ; encoding: [0x00,0x00,0xb2,0xdd,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb2,0xdd,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_dec_x2 v[1:2], v[2:3] ; encoding: [0x00,0x00,0xb0,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xb0,0xdd,0x01,0x02,0x00,0x00
-# CHECK: image_get_lod v0, v0, s[0:7], s[0:3] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x80,0xf1,0x00,0x00,0x00,0x00
+# CHECK: flat_atomic_dec_x2 v[254:255], v[2:3] ; encoding: [0x00,0x00,0xb0,0xdd,0xfe,0x02,0x00,0x00]
+0x00,0x00,0xb0,0xdd,0xfe,0x02,0x00,0x00
-# CHECK: image_get_lod v252, v0, s[0:7], s[0:3] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x00,0xfc,0x00,0x00]
-0x00,0x01,0x80,0xf1,0x00,0xfc,0x00,0x00
+# CHECK: flat_atomic_dec_x2 v[1:2], v[254:255] ; encoding: [0x00,0x00,0xb0,0xdd,0x01,0xfe,0x00,0x00]
+0x00,0x00,0xb0,0xdd,0x01,0xfe,0x00,0x00
-# CHECK: image_get_lod v0, v255, s[0:7], s[0:3] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0xff,0x00,0x00,0x00]
-0x00,0x01,0x80,0xf1,0xff,0x00,0x00,0x00
+# CHECK: flat_atomic_dec_x2 v[0:1], v[1:2], v[2:3] glc ; encoding: [0x00,0x00,0xb1,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xb1,0xdd,0x01,0x02,0x00,0x00
-# CHECK: image_get_lod v0, v0, s[4:11], s[0:3] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x00,0x00,0x01,0x00]
-0x00,0x01,0x80,0xf1,0x00,0x00,0x01,0x00
+# CHECK: flat_atomic_dec_x2 v[1:2], v[2:3] slc ; encoding: [0x00,0x00,0xb2,0xdd,0x01,0x02,0x00,0x00]
+0x00,0x00,0xb2,0xdd,0x01,0x02,0x00,0x00
-# CHECK: image_get_lod v0, v0, s[92:99], s[0:3] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x00,0x00,0x17,0x00]
-0x00,0x01,0x80,0xf1,0x00,0x00,0x17,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x01,0x05,0x62,0x00]
+0x00,0x01,0x80,0xf1,0x01,0x05,0x62,0x00
-# CHECK: image_get_lod v0, v0, s[0:7], s[4:7] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x00,0x00,0x20,0x00]
-0x00,0x01,0x80,0xf1,0x00,0x00,0x20,0x00
+# CHECK: image_get_lod v252, v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x01,0xfc,0x62,0x00]
+0x00,0x01,0x80,0xf1,0x01,0xfc,0x62,0x00
-# CHECK: image_get_lod v0, v0, s[0:7], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x00,0x00,0x00,0x03]
-0x00,0x01,0x80,0xf1,0x00,0x00,0x00,0x03
+# CHECK: image_get_lod v5, v255, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0xff,0x05,0x62,0x00]
+0x00,0x01,0x80,0xf1,0xff,0x05,0x62,0x00
-# CHECK: image_get_lod v0, v0, s[0:7], ttmp[8:11] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x00,0x00,0xc0,0x03]
-0x00,0x01,0x80,0xf1,0x00,0x00,0xc0,0x03
+# CHECK: image_get_lod v5, v1, s[12:19], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x01,0x05,0x63,0x00]
+0x00,0x01,0x80,0xf1,0x01,0x05,0x63,0x00
-# CHECK: image_get_lod v0, v0, s[0:7], s[0:3] dmask:0x2 ; encoding: [0x00,0x02,0x80,0xf1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x80,0xf1,0x00,0x00,0x00,0x00
+# CHECK: image_get_lod v5, v1, s[92:99], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x01,0x05,0x77,0x00]
+0x00,0x01,0x80,0xf1,0x01,0x05,0x77,0x00
-# CHECK: image_get_lod v0, v0, s[0:7], s[0:3] dmask:0x4 ; encoding: [0x00,0x04,0x80,0xf1,0x00,0x00,0x00,0x00]
-0x00,0x04,0x80,0xf1,0x00,0x00,0x00,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[16:19] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x01,0x05,0x82,0x00]
+0x00,0x01,0x80,0xf1,0x01,0x05,0x82,0x00
-# CHECK: image_get_lod v0, v0, s[0:7], s[0:3] dmask:0x8 ; encoding: [0x00,0x08,0x80,0xf1,0x00,0x00,0x00,0x00]
-0x00,0x08,0x80,0xf1,0x00,0x00,0x00,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[96:99] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x01,0x05,0x02,0x03]
+0x00,0x01,0x80,0xf1,0x01,0x05,0x02,0x03
-# CHECK: image_get_lod v0, v0, s[0:7], s[0:3] dmask:0x1 unorm ; encoding: [0x00,0x11,0x80,0xf1,0x00,0x00,0x00,0x00]
-0x00,0x11,0x80,0xf1,0x00,0x00,0x00,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], ttmp[8:11] dmask:0x1 ; encoding: [0x00,0x01,0x80,0xf1,0x01,0x05,0xc2,0x03]
+0x00,0x01,0x80,0xf1,0x01,0x05,0xc2,0x03
-# CHECK: image_get_lod v0, v0, s[0:7], s[0:3] dmask:0x1 glc ; encoding: [0x00,0x21,0x80,0xf1,0x00,0x00,0x00,0x00]
-0x00,0x21,0x80,0xf1,0x00,0x00,0x00,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x80,0xf1,0x01,0x05,0x62,0x00]
+0x00,0x02,0x80,0xf1,0x01,0x05,0x62,0x00
-# CHECK: image_get_lod v0, v0, s[0:7], s[0:3] dmask:0x1 slc ; encoding: [0x00,0x01,0x80,0xf3,0x00,0x00,0x00,0x00]
-0x00,0x01,0x80,0xf3,0x00,0x00,0x00,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x80,0xf1,0x01,0x05,0x62,0x00]
+0x00,0x04,0x80,0xf1,0x01,0x05,0x62,0x00
-# CHECK: image_get_lod v0, v0, s[0:7], s[0:3] dmask:0x1 lwe ; encoding: [0x00,0x01,0x82,0xf1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x82,0xf1,0x00,0x00,0x00,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x80,0xf1,0x01,0x05,0x62,0x00]
+0x00,0x08,0x80,0xf1,0x01,0x05,0x62,0x00
-# CHECK: image_get_lod v0, v0, s[0:7], s[0:3] dmask:0x1 da ; encoding: [0x00,0x41,0x80,0xf1,0x00,0x00,0x00,0x00]
-0x00,0x41,0x80,0xf1,0x00,0x00,0x00,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x80,0xf1,0x01,0x05,0x62,0x00]
+0x00,0x11,0x80,0xf1,0x01,0x05,0x62,0x00
-# CHECK: buffer_load_format_x v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x80,0xf1,0x01,0x05,0x62,0x00]
+0x00,0x21,0x80,0xf1,0x01,0x05,0x62,0x00
-# CHECK: buffer_load_format_x v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x00,0xe0,0x00,0xff,0x00,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x1 slc ; encoding: [0x00,0x01,0x80,0xf3,0x01,0x05,0x62,0x00]
+0x00,0x01,0x80,0xf3,0x01,0x05,0x62,0x00
-# CHECK: buffer_load_format_x v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x00,0xe0,0x00,0x00,0x01,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x82,0xf1,0x01,0x05,0x62,0x00]
+0x00,0x01,0x82,0xf1,0x01,0x05,0x62,0x00
-# CHECK: buffer_load_format_x v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x00,0xe0,0x00,0x00,0x18,0x00
+# CHECK: image_get_lod v5, v1, s[8:15], s[12:15] dmask:0x1 da ; encoding: [0x00,0x41,0x80,0xf1,0x01,0x05,0x62,0x00]
+0x00,0x41,0x80,0xf1,0x01,0x05,0x62,0x00
-# CHECK: buffer_load_format_x v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x00,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_format_x v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_x v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_format_x v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x00,0xe0,0x00,0xff,0x02,0x03
-# CHECK: buffer_load_format_x v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_format_x v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x00,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_format_x v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_format_x v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x00,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_format_x v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_format_x v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x00,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_format_x v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_format_x v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_format_x v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x00,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_format_x v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_format_x v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x00,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x00,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_x v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_format_x v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x00,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x00,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_x v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_format_x v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x00,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_x v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_format_x v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x00,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x00,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_x v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x00,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_format_x v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x00,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x00,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_x v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x00,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x00,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_x v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x02,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x02,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_x v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x00,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x00,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_x v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x00,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x00,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xy v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x04,0xe0,0x00,0xfe,0x00,0x00
+# CHECK: buffer_load_format_x v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x00,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x00,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xy v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x04,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_format_x v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x00,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x00,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xy v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x04,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_format_x v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x02,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x02,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xy v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x04,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_format_xy v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0x04,0xe0,0x00,0xfe,0x02,0x03
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_format_xy v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x04,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_format_xy v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x04,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_format_xy v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x04,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x04,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_format_xy v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x04,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x04,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_format_xy v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x04,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x04,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x04,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x04,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x04,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x04,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x04,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x04,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x04,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xy v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x04,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x04,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xy v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x06,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x06,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xy v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x04,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x04,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0x04,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x04,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyz v[253:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0xfd,0x00,0x00]
-0xff,0x0f,0x08,0xe0,0x00,0xfd,0x00,0x00
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x04,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x04,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyz v[0:2], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x08,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x04,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x04,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyz v[0:2], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x08,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_format_xy v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x06,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x06,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyz v[0:2], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x08,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_format_xyz v[253:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0xfd,0x02,0x03]
+0xff,0x0f,0x08,0xe0,0x00,0xfd,0x02,0x03
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_format_xyz v[5:7], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x08,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_format_xyz v[5:7], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x08,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_format_xyz v[5:7], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x08,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x08,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_format_xyz v[0:2], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x08,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x08,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_format_xyz v[0:2], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x08,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x08,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], s0 ; encoding: [0x00,0x00,0x08,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x08,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x08,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x08,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x08,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x08,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x08,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyz v[5:7], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x08,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x08,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyz v[0:2], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x0a,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x0a,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyz v[5:7], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x08,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x08,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], s3 ; encoding: [0x00,0x00,0x08,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x08,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyzw v[252:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0xfc,0x00,0x00]
-0xff,0x0f,0x0c,0xe0,0x00,0xfc,0x00,0x00
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x08,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x08,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x0c,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x08,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x08,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x0c,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_format_xyz v[5:7], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x0a,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x0a,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyzw v[0:3], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x0c,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_format_xyzw v[252:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0xfc,0x02,0x03]
+0xff,0x0f,0x0c,0xe0,0x00,0xfc,0x02,0x03
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x0c,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x0c,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_format_xyzw v[5:8], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x0c,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x0c,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_format_xyzw v[0:3], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x0c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x0c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_format_xyzw v[0:3], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x0c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x0c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], s0 ; encoding: [0x00,0x00,0x0c,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x0c,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x0c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x0c,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x0c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x0c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x0c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x0c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_format_xyzw v[0:3], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x0e,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x0e,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x0c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x0c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_store_format_x v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], s3 ; encoding: [0x00,0x00,0x0c,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x0c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_store_format_x v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x10,0xe0,0x00,0xff,0x00,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x0c,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x0c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_store_format_x v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x10,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x0c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x0c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_store_format_x v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x10,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_format_xyzw v[5:8], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x0e,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x0e,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_store_format_x v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x10,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_store_format_x v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_x v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_store_format_x v255, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0xff,0x03,0x04]
+0xff,0x0f,0x10,0xe0,0x00,0xff,0x03,0x04
-# CHECK: buffer_store_format_x v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_store_format_x v1, off, s[16:19], s4 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x04,0x04]
+0xff,0x0f,0x10,0xe0,0x00,0x01,0x04,0x04
-# CHECK: buffer_store_format_x v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_store_format_x v1, off, s[96:99], s4 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x18,0x04]
+0xff,0x0f,0x10,0xe0,0x00,0x01,0x18,0x04
-# CHECK: buffer_store_format_x v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_store_format_x v1, off, ttmp[8:11], s4 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x1e,0x04]
+0xff,0x0f,0x10,0xe0,0x00,0x01,0x1e,0x04
-# CHECK: buffer_store_format_x v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_store_format_x v1, off, s[12:15], s101 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x65]
+0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x65
-# CHECK: buffer_store_format_x v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x10,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_store_format_x v1, off, s[12:15], m0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x7c]
+0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x7c
-# CHECK: buffer_store_format_x v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x10,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x10,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_x v1, off, s[12:15], 0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x80]
+0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0x80
-# CHECK: buffer_store_format_x v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x10,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x10,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_x v1, off, s[12:15], -1 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0xc1]
+0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0xc1
-# CHECK: buffer_store_format_x v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x10,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x10,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_x v1, off, s[12:15], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0xf0]
+0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0xf0
-# CHECK: buffer_store_format_x v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x10,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x10,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_x v1, off, s[12:15], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0xf7]
+0xff,0x0f,0x10,0xe0,0x00,0x01,0x03,0xf7
-# CHECK: buffer_store_format_x v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x10,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x10,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_x v1, v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x10,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x2f,0x10,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_x v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x12,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x12,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_x v1, v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x10,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x1f,0x10,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_x v1, off, s[12:15], s4 ; encoding: [0x00,0x00,0x10,0xe0,0x00,0x01,0x03,0x04]
+0x00,0x00,0x10,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xy v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x14,0xe0,0x00,0xfe,0x00,0x00
+# CHECK: buffer_store_format_x v1, off, s[12:15], s4 offset:7 ; encoding: [0x07,0x00,0x10,0xe0,0x00,0x01,0x03,0x04]
+0x07,0x00,0x10,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xy v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x14,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_store_format_x v1, off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x10,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x4f,0x10,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xy v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x14,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_store_format_x v1, off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x12,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x12,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xy v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x14,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_store_format_xy v[254:255], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0xfe,0x03,0x04]
+0xff,0x0f,0x14,0xe0,0x00,0xfe,0x03,0x04
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_store_format_xy v[1:2], off, s[16:19], s4 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x04,0x04]
+0xff,0x0f,0x14,0xe0,0x00,0x01,0x04,0x04
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_store_format_xy v[1:2], off, s[96:99], s4 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x18,0x04]
+0xff,0x0f,0x14,0xe0,0x00,0x01,0x18,0x04
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_store_format_xy v[1:2], off, ttmp[8:11], s4 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x1e,0x04]
+0xff,0x0f,0x14,0xe0,0x00,0x01,0x1e,0x04
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], s101 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x65]
+0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x65
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x14,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], m0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x7c]
+0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x7c
-# CHECK: buffer_store_format_xy v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x14,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x14,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], 0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x80]
+0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0x80
-# CHECK: buffer_store_format_xy v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x14,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x14,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], -1 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0xc1]
+0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0xc1
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x14,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x14,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0xf0]
+0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0xf0
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x14,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x14,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0xf7]
+0xff,0x0f,0x14,0xe0,0x00,0x01,0x03,0xf7
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x14,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x14,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xy v[1:2], v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x14,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x2f,0x14,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xy v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x16,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x16,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xy v[1:2], v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x14,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x1f,0x14,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], s4 ; encoding: [0x00,0x00,0x14,0xe0,0x00,0x01,0x03,0x04]
+0x00,0x00,0x14,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyz v[253:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0xfd,0x00,0x00]
-0xff,0x0f,0x18,0xe0,0x00,0xfd,0x00,0x00
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], s4 offset:7 ; encoding: [0x07,0x00,0x14,0xe0,0x00,0x01,0x03,0x04]
+0x07,0x00,0x14,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyz v[0:2], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x18,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x14,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x4f,0x14,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyz v[0:2], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x18,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_store_format_xy v[1:2], off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x16,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x16,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyz v[0:2], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x18,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_store_format_xyz v[253:255], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0xfd,0x03,0x04]
+0xff,0x0f,0x18,0xe0,0x00,0xfd,0x03,0x04
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_store_format_xyz v[1:3], off, s[16:19], s4 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x04,0x04]
+0xff,0x0f,0x18,0xe0,0x00,0x01,0x04,0x04
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_store_format_xyz v[1:3], off, s[96:99], s4 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x18,0x04]
+0xff,0x0f,0x18,0xe0,0x00,0x01,0x18,0x04
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_store_format_xyz v[1:3], off, ttmp[8:11], s4 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x1e,0x04]
+0xff,0x0f,0x18,0xe0,0x00,0x01,0x1e,0x04
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], s101 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x65]
+0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x65
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x18,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], m0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x7c]
+0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x7c
-# CHECK: buffer_store_format_xyz v[0:2], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x18,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x18,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], 0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x80]
+0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0x80
-# CHECK: buffer_store_format_xyz v[0:2], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x18,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x18,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], -1 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0xc1]
+0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0xc1
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], s0 ; encoding: [0x00,0x00,0x18,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x18,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0xf0]
+0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0xf0
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x18,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x18,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0xf7]
+0xff,0x0f,0x18,0xe0,0x00,0x01,0x03,0xf7
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x18,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x18,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyz v[1:3], v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x18,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x2f,0x18,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyz v[0:2], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x1a,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x1a,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyz v[1:3], v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x18,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x1f,0x18,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], s4 ; encoding: [0x00,0x00,0x18,0xe0,0x00,0x01,0x03,0x04]
+0x00,0x00,0x18,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyzw v[252:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0xfc,0x00,0x00]
-0xff,0x0f,0x1c,0xe0,0x00,0xfc,0x00,0x00
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], s4 offset:7 ; encoding: [0x07,0x00,0x18,0xe0,0x00,0x01,0x03,0x04]
+0x07,0x00,0x18,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x1c,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x18,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x4f,0x18,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x1c,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_store_format_xyz v[1:3], off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x1a,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x1a,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyzw v[0:3], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x1c,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_store_format_xyzw v[252:255], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0xfc,0x03,0x04]
+0xff,0x0f,0x1c,0xe0,0x00,0xfc,0x03,0x04
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[16:19], s4 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x04,0x04]
+0xff,0x0f,0x1c,0xe0,0x00,0x01,0x04,0x04
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[96:99], s4 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x18,0x04]
+0xff,0x0f,0x1c,0xe0,0x00,0x01,0x18,0x04
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_store_format_xyzw v[1:4], off, ttmp[8:11], s4 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x1e,0x04]
+0xff,0x0f,0x1c,0xe0,0x00,0x01,0x1e,0x04
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], s101 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x65]
+0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x65
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x1c,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], m0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x7c]
+0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x7c
-# CHECK: buffer_store_format_xyzw v[0:3], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x1c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x1c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], 0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x80]
+0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0x80
-# CHECK: buffer_store_format_xyzw v[0:3], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x1c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x1c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], -1 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0xc1]
+0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0xc1
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], s0 ; encoding: [0x00,0x00,0x1c,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0xf0]
+0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0xf0
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x1c,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x1c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0xf7]
+0xff,0x0f,0x1c,0xe0,0x00,0x01,0x03,0xf7
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x1c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x1c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x1c,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x2f,0x1c,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_format_xyzw v[0:3], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x1e,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x1e,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x1c,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x1f,0x1c,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_load_ubyte v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], s4 ; encoding: [0x00,0x00,0x1c,0xe0,0x00,0x01,0x03,0x04]
+0x00,0x00,0x1c,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_load_ubyte v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x40,0xe0,0x00,0xff,0x00,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], s4 offset:7 ; encoding: [0x07,0x00,0x1c,0xe0,0x00,0x01,0x03,0x04]
+0x07,0x00,0x1c,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_load_ubyte v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x40,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x1c,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x4f,0x1c,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_load_ubyte v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x40,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_store_format_xyzw v[1:4], off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x1e,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x1e,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_load_ubyte v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x40,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_ubyte v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_ubyte v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_ubyte v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x40,0xe0,0x00,0xff,0x02,0x03
-# CHECK: buffer_load_ubyte v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_ubyte v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x40,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_ubyte v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_ubyte v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x40,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_ubyte v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_ubyte v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x40,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_ubyte v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_ubyte v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_ubyte v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x40,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_ubyte v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_ubyte v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x40,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x40,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ubyte v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_ubyte v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x40,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x40,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ubyte v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_ubyte v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x40,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x40,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ubyte v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_ubyte v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x40,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x40,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ubyte v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_ubyte v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x40,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x40,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ubyte v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x40,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x40,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_ubyte v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x42,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x42,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ubyte v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x40,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x40,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sbyte v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ubyte v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x40,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x40,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sbyte v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x44,0xe0,0x00,0xff,0x00,0x00
+# CHECK: buffer_load_ubyte v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x40,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x40,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sbyte v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x44,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_ubyte v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x40,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x40,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sbyte v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x44,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_ubyte v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x42,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x42,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sbyte v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x44,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_sbyte v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sbyte v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_sbyte v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x44,0xe0,0x00,0xff,0x02,0x03
-# CHECK: buffer_load_sbyte v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_sbyte v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x44,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_sbyte v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_sbyte v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x44,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_sbyte v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_sbyte v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x44,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_sbyte v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_sbyte v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_sbyte v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x44,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_sbyte v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_sbyte v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x44,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x44,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sbyte v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_sbyte v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x44,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x44,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sbyte v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_sbyte v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x44,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x44,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sbyte v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_sbyte v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x44,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x44,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sbyte v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_sbyte v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x44,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x44,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sbyte v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x44,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x44,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sbyte v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x46,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x46,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sbyte v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x44,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x44,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_ushort v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sbyte v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x44,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x44,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_ushort v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x48,0xe0,0x00,0xff,0x00,0x00
+# CHECK: buffer_load_sbyte v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x44,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x44,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_ushort v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x48,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_sbyte v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x44,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x44,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_ushort v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x48,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_sbyte v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x46,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x46,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_ushort v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x48,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_ushort v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_ushort v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_ushort v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x48,0xe0,0x00,0xff,0x02,0x03
-# CHECK: buffer_load_ushort v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_ushort v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x48,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_ushort v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_ushort v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x48,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_ushort v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_ushort v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x48,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_ushort v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_ushort v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_ushort v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x48,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_ushort v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_ushort v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x48,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x48,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ushort v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_ushort v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x48,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x48,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ushort v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_ushort v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x48,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x48,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ushort v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_ushort v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x48,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x48,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ushort v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_ushort v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x48,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x48,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ushort v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x48,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x48,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_ushort v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x4a,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x4a,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ushort v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x48,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x48,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sshort v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_ushort v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x48,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x48,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sshort v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x4c,0xe0,0x00,0xff,0x00,0x00
+# CHECK: buffer_load_ushort v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x48,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x48,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sshort v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x4c,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_ushort v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x48,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x48,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sshort v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x4c,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_ushort v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x4a,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x4a,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sshort v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x4c,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_sshort v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sshort v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_sshort v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x4c,0xe0,0x00,0xff,0x02,0x03
-# CHECK: buffer_load_sshort v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_sshort v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x4c,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_sshort v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_sshort v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x4c,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_sshort v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_sshort v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x4c,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_sshort v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_sshort v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_sshort v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x4c,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_sshort v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_sshort v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x4c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x4c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sshort v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_sshort v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x4c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x4c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sshort v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_sshort v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x4c,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sshort v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_sshort v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x4c,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x4c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sshort v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_sshort v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x4c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x4c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sshort v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x4c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x4c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_sshort v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x4e,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x4e,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sshort v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x4c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x4c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dword v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_sshort v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x4c,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x4c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dword v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x50,0xe0,0x00,0xff,0x00,0x00
+# CHECK: buffer_load_sshort v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x4c,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x4c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dword v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x50,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_sshort v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x4c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x4c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dword v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x50,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_sshort v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x4e,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x4e,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dword v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x50,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_dword v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dword v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_dword v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x50,0xe0,0x00,0xff,0x02,0x03
-# CHECK: buffer_load_dword v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_dword v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x50,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_dword v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_dword v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x50,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_dword v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_dword v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x50,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_dword v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_dword v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_dword v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x50,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_dword v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_dword v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x50,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x50,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dword v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_dword v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x50,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x50,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dword v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_dword v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x50,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x50,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dword v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_dword v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x50,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x50,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dword v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_dword v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x50,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x50,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dword v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x50,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x50,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dword v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x52,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x52,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dword v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x50,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x50,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dword v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x50,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x50,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x54,0xe0,0x00,0xfe,0x00,0x00
+# CHECK: buffer_load_dword v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x50,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x50,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x54,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_dword v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x50,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x50,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x54,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_dword v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x52,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x52,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x54,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_dwordx2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0x54,0xe0,0x00,0xfe,0x02,0x03
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x54,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x54,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_dwordx2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x54,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x54,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_dwordx2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x54,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x54,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_dwordx2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x54,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x54,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x54,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x54,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x54,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x54,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x54,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x54,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x54,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x54,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x56,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x56,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x54,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x54,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0x54,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x54,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx3 v[253:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0xfd,0x00,0x00]
-0xff,0x0f,0x58,0xe0,0x00,0xfd,0x00,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x54,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x54,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x58,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x54,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x54,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x58,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_dwordx2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x56,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x56,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx3 v[0:2], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x58,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_dwordx3 v[253:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0xfd,0x02,0x03]
+0xff,0x0f,0x58,0xe0,0x00,0xfd,0x02,0x03
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x58,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x58,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_dwordx3 v[5:7], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x58,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x58,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_dwordx3 v[0:2], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x58,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x58,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_dwordx3 v[0:2], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x58,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x58,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], s0 ; encoding: [0x00,0x00,0x58,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x58,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x58,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x58,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x58,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x58,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x58,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x58,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx3 v[0:2], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x5a,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x5a,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x58,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x58,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], s3 ; encoding: [0x00,0x00,0x58,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x58,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx4 v[252:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0xfc,0x00,0x00]
-0xff,0x0f,0x5c,0xe0,0x00,0xfc,0x00,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x58,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x58,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x5c,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x58,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x58,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x5c,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_dwordx3 v[5:7], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x5a,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x5a,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx4 v[0:3], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x5c,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_load_dwordx4 v[252:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0xfc,0x02,0x03]
+0xff,0x0f,0x5c,0xe0,0x00,0xfc,0x02,0x03
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x5c,0xe0,0x00,0x05,0x03,0x03
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x5c,0xe0,0x00,0x05,0x18,0x03
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_load_dwordx4 v[5:8], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x5c,0xe0,0x00,0x05,0x1e,0x03
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x65
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x5c,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x7c
-# CHECK: buffer_load_dwordx4 v[0:3], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x5c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x5c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x80
-# CHECK: buffer_load_dwordx4 v[0:3], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x5c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x5c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0xc1
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], s0 ; encoding: [0x00,0x00,0x5c,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0xf0
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x5c,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x5c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0xf7
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x5c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x5c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x5c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x5c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_load_dwordx4 v[0:3], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x5e,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x5e,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x5c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x5c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_store_byte v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], s3 ; encoding: [0x00,0x00,0x5c,0xe0,0x00,0x05,0x02,0x03]
+0x00,0x00,0x5c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_store_byte v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x60,0xe0,0x00,0xff,0x00,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x5c,0xe0,0x00,0x05,0x02,0x03]
+0x07,0x00,0x5c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_store_byte v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x60,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x5c,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x5c,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_store_byte v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x60,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_load_dwordx4 v[5:8], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x5e,0xe0,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x5e,0xe0,0x00,0x05,0x02,0x03
-# CHECK: buffer_store_byte v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x60,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_store_byte v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_byte v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_store_byte v255, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0xff,0x03,0x04]
+0xff,0x0f,0x60,0xe0,0x00,0xff,0x03,0x04
-# CHECK: buffer_store_byte v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_store_byte v1, off, s[16:19], s4 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x04,0x04]
+0xff,0x0f,0x60,0xe0,0x00,0x01,0x04,0x04
-# CHECK: buffer_store_byte v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_store_byte v1, off, s[96:99], s4 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x18,0x04]
+0xff,0x0f,0x60,0xe0,0x00,0x01,0x18,0x04
-# CHECK: buffer_store_byte v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_store_byte v1, off, ttmp[8:11], s4 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x1e,0x04]
+0xff,0x0f,0x60,0xe0,0x00,0x01,0x1e,0x04
-# CHECK: buffer_store_byte v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_store_byte v1, off, s[12:15], s101 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x65]
+0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x65
-# CHECK: buffer_store_byte v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x60,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_store_byte v1, off, s[12:15], m0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x7c]
+0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x7c
-# CHECK: buffer_store_byte v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x60,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x60,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_byte v1, off, s[12:15], 0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x80]
+0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x80
-# CHECK: buffer_store_byte v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x60,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x60,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_byte v1, off, s[12:15], -1 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0xc1]
+0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0xc1
-# CHECK: buffer_store_byte v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x60,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x60,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_byte v1, off, s[12:15], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0xf0]
+0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0xf0
-# CHECK: buffer_store_byte v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x60,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x60,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_byte v1, off, s[12:15], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0xf7]
+0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0xf7
-# CHECK: buffer_store_byte v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x60,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x60,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_byte v1, v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x60,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x2f,0x60,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_byte v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x62,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x62,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_byte v1, v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x60,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x1f,0x60,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_short v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_byte v1, off, s[12:15], s4 ; encoding: [0x00,0x00,0x60,0xe0,0x00,0x01,0x03,0x04]
+0x00,0x00,0x60,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_short v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x68,0xe0,0x00,0xff,0x00,0x00
+# CHECK: buffer_store_byte v1, off, s[12:15], s4 offset:7 ; encoding: [0x07,0x00,0x60,0xe0,0x00,0x01,0x03,0x04]
+0x07,0x00,0x60,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_short v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x68,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_store_byte v1, off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x60,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x4f,0x60,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_short v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x68,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_store_byte v1, off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x62,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x62,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_short v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x68,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_store_short v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_short v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_store_short v255, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0xff,0x03,0x04]
+0xff,0x0f,0x68,0xe0,0x00,0xff,0x03,0x04
-# CHECK: buffer_store_short v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_store_short v1, off, s[16:19], s4 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x04,0x04]
+0xff,0x0f,0x68,0xe0,0x00,0x01,0x04,0x04
-# CHECK: buffer_store_short v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_store_short v1, off, s[96:99], s4 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x18,0x04]
+0xff,0x0f,0x68,0xe0,0x00,0x01,0x18,0x04
-# CHECK: buffer_store_short v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_store_short v1, off, ttmp[8:11], s4 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x1e,0x04]
+0xff,0x0f,0x68,0xe0,0x00,0x01,0x1e,0x04
-# CHECK: buffer_store_short v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_store_short v1, off, s[12:15], s101 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x65]
+0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x65
-# CHECK: buffer_store_short v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x68,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_store_short v1, off, s[12:15], m0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x7c]
+0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x7c
-# CHECK: buffer_store_short v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x68,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x68,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_short v1, off, s[12:15], 0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x80]
+0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x80
-# CHECK: buffer_store_short v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x68,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x68,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_short v1, off, s[12:15], -1 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0xc1]
+0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0xc1
-# CHECK: buffer_store_short v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x68,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x68,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_short v1, off, s[12:15], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0xf0]
+0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0xf0
-# CHECK: buffer_store_short v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x68,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x68,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_short v1, off, s[12:15], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0xf7]
+0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0xf7
-# CHECK: buffer_store_short v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x68,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x68,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_short v1, v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x68,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x2f,0x68,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_short v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x6a,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x6a,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_short v1, v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x68,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x1f,0x68,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dword v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_short v1, off, s[12:15], s4 ; encoding: [0x00,0x00,0x68,0xe0,0x00,0x01,0x03,0x04]
+0x00,0x00,0x68,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dword v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x70,0xe0,0x00,0xff,0x00,0x00
+# CHECK: buffer_store_short v1, off, s[12:15], s4 offset:7 ; encoding: [0x07,0x00,0x68,0xe0,0x00,0x01,0x03,0x04]
+0x07,0x00,0x68,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dword v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x70,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_store_short v1, off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x68,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x4f,0x68,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dword v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x70,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_store_short v1, off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x6a,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x6a,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dword v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x70,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_store_dword v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dword v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_store_dword v255, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0xff,0x03,0x04]
+0xff,0x0f,0x70,0xe0,0x00,0xff,0x03,0x04
-# CHECK: buffer_store_dword v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_store_dword v1, off, s[16:19], s4 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x04,0x04]
+0xff,0x0f,0x70,0xe0,0x00,0x01,0x04,0x04
-# CHECK: buffer_store_dword v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_store_dword v1, off, s[96:99], s4 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x18,0x04]
+0xff,0x0f,0x70,0xe0,0x00,0x01,0x18,0x04
-# CHECK: buffer_store_dword v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_store_dword v1, off, ttmp[8:11], s4 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x1e,0x04]
+0xff,0x0f,0x70,0xe0,0x00,0x01,0x1e,0x04
-# CHECK: buffer_store_dword v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_store_dword v1, off, s[12:15], s101 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x65]
+0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x65
-# CHECK: buffer_store_dword v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x70,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_store_dword v1, off, s[12:15], m0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x7c]
+0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x7c
-# CHECK: buffer_store_dword v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x70,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x70,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dword v1, off, s[12:15], 0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x80]
+0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x80
-# CHECK: buffer_store_dword v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x70,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x70,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dword v1, off, s[12:15], -1 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0xc1]
+0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0xc1
-# CHECK: buffer_store_dword v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x70,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x70,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dword v1, off, s[12:15], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0xf0]
+0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0xf0
-# CHECK: buffer_store_dword v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x70,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x70,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dword v1, off, s[12:15], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0xf7]
+0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0xf7
-# CHECK: buffer_store_dword v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x70,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x70,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dword v1, v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x70,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x2f,0x70,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dword v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x72,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x72,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dword v1, v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x70,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x1f,0x70,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dword v1, off, s[12:15], s4 ; encoding: [0x00,0x00,0x70,0xe0,0x00,0x01,0x03,0x04]
+0x00,0x00,0x70,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x74,0xe0,0x00,0xfe,0x00,0x00
+# CHECK: buffer_store_dword v1, off, s[12:15], s4 offset:7 ; encoding: [0x07,0x00,0x70,0xe0,0x00,0x01,0x03,0x04]
+0x07,0x00,0x70,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x74,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_store_dword v1, off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x70,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x4f,0x70,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x74,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_store_dword v1, off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x72,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x72,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x74,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_store_dwordx2 v[254:255], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0xfe,0x03,0x04]
+0xff,0x0f,0x74,0xe0,0x00,0xfe,0x03,0x04
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[16:19], s4 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x04,0x04]
+0xff,0x0f,0x74,0xe0,0x00,0x01,0x04,0x04
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[96:99], s4 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x18,0x04]
+0xff,0x0f,0x74,0xe0,0x00,0x01,0x18,0x04
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_store_dwordx2 v[1:2], off, ttmp[8:11], s4 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x1e,0x04]
+0xff,0x0f,0x74,0xe0,0x00,0x01,0x1e,0x04
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], s101 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x65]
+0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x65
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x74,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], m0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x7c]
+0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x7c
-# CHECK: buffer_store_dwordx2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x74,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x74,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], 0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x80]
+0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x80
-# CHECK: buffer_store_dwordx2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x74,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x74,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], -1 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0xc1]
+0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0xc1
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x74,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x74,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0xf0]
+0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0xf0
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x74,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x74,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0xf7]
+0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0xf7
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x74,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x74,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x74,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x2f,0x74,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x76,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x76,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x74,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x1f,0x74,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], s4 ; encoding: [0x00,0x00,0x74,0xe0,0x00,0x01,0x03,0x04]
+0x00,0x00,0x74,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx3 v[253:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0xfd,0x00,0x00]
-0xff,0x0f,0x78,0xe0,0x00,0xfd,0x00,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], s4 offset:7 ; encoding: [0x07,0x00,0x74,0xe0,0x00,0x01,0x03,0x04]
+0x07,0x00,0x74,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x78,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x74,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x4f,0x74,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x78,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_store_dwordx2 v[1:2], off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x76,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x76,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx3 v[0:2], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x78,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_store_dwordx3 v[253:255], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0xfd,0x03,0x04]
+0xff,0x0f,0x78,0xe0,0x00,0xfd,0x03,0x04
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[16:19], s4 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x04,0x04]
+0xff,0x0f,0x78,0xe0,0x00,0x01,0x04,0x04
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[96:99], s4 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x18,0x04]
+0xff,0x0f,0x78,0xe0,0x00,0x01,0x18,0x04
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_store_dwordx3 v[1:3], off, ttmp[8:11], s4 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x1e,0x04]
+0xff,0x0f,0x78,0xe0,0x00,0x01,0x1e,0x04
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], s101 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x65]
+0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x65
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x78,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], m0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x7c]
+0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x7c
-# CHECK: buffer_store_dwordx3 v[0:2], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x78,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x78,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], 0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x80]
+0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0x80
-# CHECK: buffer_store_dwordx3 v[0:2], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x78,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x78,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], -1 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0xc1]
+0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0xc1
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], s0 ; encoding: [0x00,0x00,0x78,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x78,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0xf0]
+0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0xf0
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x78,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x78,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0xf7]
+0xff,0x0f,0x78,0xe0,0x00,0x01,0x03,0xf7
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x78,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x78,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x78,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x2f,0x78,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx3 v[0:2], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x7a,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x7a,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x78,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x1f,0x78,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], s4 ; encoding: [0x00,0x00,0x78,0xe0,0x00,0x01,0x03,0x04]
+0x00,0x00,0x78,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx4 v[252:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0xfc,0x00,0x00]
-0xff,0x0f,0x7c,0xe0,0x00,0xfc,0x00,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], s4 offset:7 ; encoding: [0x07,0x00,0x78,0xe0,0x00,0x01,0x03,0x04]
+0x07,0x00,0x78,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x7c,0xe0,0x00,0x00,0x01,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x78,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x4f,0x78,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x7c,0xe0,0x00,0x00,0x18,0x00
+# CHECK: buffer_store_dwordx3 v[1:3], off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x7a,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x7a,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx4 v[0:3], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x7c,0xe0,0x00,0x00,0x1e,0x00
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0x65
+# CHECK: buffer_store_dwordx4 v[252:255], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0xfc,0x03,0x04]
+0xff,0x0f,0x7c,0xe0,0x00,0xfc,0x03,0x04
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0x7c
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[16:19], s4 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x04,0x04]
+0xff,0x0f,0x7c,0xe0,0x00,0x01,0x04,0x04
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0x80
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[96:99], s4 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x18,0x04]
+0xff,0x0f,0x7c,0xe0,0x00,0x01,0x18,0x04
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0xc1
+# CHECK: buffer_store_dwordx4 v[1:4], off, ttmp[8:11], s4 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x1e,0x04]
+0xff,0x0f,0x7c,0xe0,0x00,0x01,0x1e,0x04
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0xf0
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], s101 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x65]
+0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x65
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x7c,0xe0,0x00,0x00,0x00,0xf7
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], m0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x7c]
+0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x7c
-# CHECK: buffer_store_dwordx4 v[0:3], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x7c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x7c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], 0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x80]
+0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0x80
-# CHECK: buffer_store_dwordx4 v[0:3], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x7c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x7c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], -1 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0xc1]
+0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0xc1
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], s0 ; encoding: [0x00,0x00,0x7c,0xe0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0xf0]
+0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0xf0
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x7c,0xe0,0x00,0x00,0x00,0x00]
-0x07,0x00,0x7c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0xf7]
+0xff,0x0f,0x7c,0xe0,0x00,0x01,0x03,0xf7
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x7c,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x7c,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx4 v[1:4], v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x7c,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x2f,0x7c,0xe0,0x00,0x01,0x03,0x04
-# CHECK: buffer_store_dwordx4 v[0:3], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x7e,0xe0,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x7e,0xe0,0x00,0x00,0x00,0x00
+# CHECK: buffer_store_dwordx4 v[1:4], v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x7c,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x1f,0x7c,0xe0,0x00,0x01,0x03,0x04
+
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], s4 ; encoding: [0x00,0x00,0x7c,0xe0,0x00,0x01,0x03,0x04]
+0x00,0x00,0x7c,0xe0,0x00,0x01,0x03,0x04
+
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], s4 offset:7 ; encoding: [0x07,0x00,0x7c,0xe0,0x00,0x01,0x03,0x04]
+0x07,0x00,0x7c,0xe0,0x00,0x01,0x03,0x04
+
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x7c,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x4f,0x7c,0xe0,0x00,0x01,0x03,0x04
+
+# CHECK: buffer_store_dwordx4 v[1:4], off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x7e,0xe0,0x00,0x01,0x03,0x04]
+0xff,0x0f,0x7e,0xe0,0x00,0x01,0x03,0x04
# CHECK: buffer_wbinvl1 ; encoding: [0x00,0x00,0xf8,0xe0,0x00,0x00,0x00,0x00]
0x00,0x00,0xf8,0xe0,0x00,0x00,0x00,0x00
@@ -4068,2309 +4143,2309 @@
# CHECK: buffer_wbinvl1_vol ; encoding: [0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00]
0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00
-# CHECK: buffer_atomic_swap v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x00,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_swap v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x00,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_swap v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x00,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_swap v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x00,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_swap v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x00,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_swap v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x00,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_swap v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x00,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_swap v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x00,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_swap v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_swap v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_swap v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_swap v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_swap v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_swap v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_swap v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_swap v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_swap v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_swap v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_swap v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x00,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_swap v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_swap v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x00,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x00,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x00,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x00,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x00,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x00,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x00,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x00,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x00,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x00,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x00,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x00,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x00,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x00,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x00,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x00,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x00,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x00,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x00,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x00,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x02,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x02,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x02,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x02,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x04,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_cmpswap v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0x04,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x04,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x04,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x04,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x04,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_cmpswap v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x04,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_cmpswap v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x04,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x04,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_cmpswap v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x04,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x04,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x04,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x04,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x04,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x04,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x04,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x04,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x04,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x04,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0x04,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x04,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x04,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x04,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x04,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x04,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x04,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x04,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x04,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x04,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x06,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x06,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x06,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x06,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x08,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_add v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x08,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_add v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x08,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_add v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x08,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_add v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x08,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_add v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x08,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_add v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x08,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_add v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x08,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_add v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_add v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_add v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_add v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_add v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_add v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_add v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_add v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_add v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_add v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_add v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_add v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_add v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x08,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x08,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x08,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x08,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x08,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x08,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x08,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x08,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x08,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x08,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x08,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x08,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x08,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x08,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x08,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x08,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x08,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x08,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x08,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x08,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x0a,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x0a,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x0a,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x0a,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x0c,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_sub v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x0c,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_sub v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x0c,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_sub v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x0c,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_sub v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x0c,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_sub v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x0c,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_sub v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x0c,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_sub v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x0c,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_sub v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_sub v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_sub v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_sub v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_sub v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_sub v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_sub v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_sub v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_sub v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_sub v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_sub v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x0c,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_sub v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_sub v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x0c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x0c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x0c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x0c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x0c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x0c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x0c,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x0c,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x0c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x0c,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x0c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x0c,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x0c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x0c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x0c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x0c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x0c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x0e,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x0e,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x0e,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x0e,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x10,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_smin v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x10,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_smin v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x10,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_smin v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x10,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_smin v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x10,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_smin v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x10,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_smin v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x10,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_smin v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x10,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_smin v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_smin v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_smin v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_smin v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_smin v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_smin v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_smin v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_smin v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_smin v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_smin v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_smin v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x10,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_smin v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_smin v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x10,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x10,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x10,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x10,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x10,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x10,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x10,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x10,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x10,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x10,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x10,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x10,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x10,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x10,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x10,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x10,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x10,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x10,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x10,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x10,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x12,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x12,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x12,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x12,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x14,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_umin v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x14,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_umin v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x14,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_umin v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x14,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_umin v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x14,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_umin v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x14,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_umin v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x14,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_umin v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x14,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_umin v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_umin v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_umin v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_umin v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_umin v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_umin v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_umin v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_umin v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_umin v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_umin v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_umin v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x14,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_umin v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_umin v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x14,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x14,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x14,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x14,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x14,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x14,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x14,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x14,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x14,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x14,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x14,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x14,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x14,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x14,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x14,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x14,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x14,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x14,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x14,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x14,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x16,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x16,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x16,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x16,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x18,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_smax v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x18,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_smax v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x18,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_smax v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x18,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_smax v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x18,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_smax v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x18,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_smax v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x18,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_smax v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x18,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_smax v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_smax v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_smax v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_smax v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_smax v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_smax v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_smax v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_smax v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_smax v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_smax v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_smax v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x18,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_smax v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_smax v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x18,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x18,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x18,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x18,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x18,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x18,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x18,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x18,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x18,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x18,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x18,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x18,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x18,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x18,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x18,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x18,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x18,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x18,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x18,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x18,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x1a,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x1a,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x1a,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x1a,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x1c,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_umax v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x1c,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_umax v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x1c,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_umax v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x1c,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_umax v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x1c,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_umax v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x1c,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_umax v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x1c,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_umax v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x1c,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_umax v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_umax v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_umax v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_umax v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_umax v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_umax v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_umax v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_umax v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_umax v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_umax v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_umax v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x1c,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_umax v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_umax v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x1c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x1c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x1c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x1c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x1c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x1c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x1c,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x1c,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x1c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x1c,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x1c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x1c,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x1c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x1c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x1c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x1c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x1c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x1e,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x1e,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x1e,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x1e,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x20,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_and v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x20,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_and v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x20,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_and v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x20,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_and v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x20,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_and v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x20,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_and v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x20,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_and v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x20,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_and v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_and v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_and v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_and v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_and v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_and v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_and v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_and v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_and v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_and v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_and v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x20,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_and v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_and v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x20,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x20,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x20,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x20,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x20,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x20,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x20,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x20,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x20,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x20,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x20,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x20,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x20,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x20,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x20,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x20,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x20,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x20,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x20,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x20,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x22,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x22,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x22,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x22,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x24,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_or v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x24,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_or v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x24,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_or v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x24,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_or v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x24,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_or v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x24,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_or v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x24,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_or v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x24,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_or v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_or v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_or v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_or v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_or v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_or v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_or v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_or v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_or v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_or v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_or v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x24,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_or v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_or v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x24,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x24,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x24,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x24,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x24,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x24,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x24,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x24,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x24,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x24,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x24,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x24,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x24,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x24,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x24,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x24,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x24,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x24,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x24,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x24,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x26,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x26,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x26,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x26,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x28,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_xor v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x28,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_xor v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x28,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_xor v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x28,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_xor v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x28,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_xor v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x28,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_xor v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x28,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_xor v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x28,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_xor v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_xor v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_xor v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_xor v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_xor v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_xor v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_xor v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_xor v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_xor v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_xor v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_xor v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x28,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_xor v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_xor v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x28,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x28,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x28,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x28,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x28,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x28,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x28,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x28,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x28,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x28,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x28,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x28,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x28,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x28,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x28,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x28,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x28,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x28,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x28,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x28,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x2a,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x2a,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x2a,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x2a,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x2c,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_inc v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x2c,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_inc v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x2c,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_inc v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x2c,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_inc v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x2c,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_inc v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x2c,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_inc v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x2c,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_inc v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x2c,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_inc v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_inc v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_inc v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_inc v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_inc v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_inc v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_inc v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_inc v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_inc v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_inc v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_inc v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x2c,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_inc v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_inc v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x2c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x2c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x2c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x2c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x2c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x2c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x2c,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x2c,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x2c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x2c,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x2c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x2c,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x2c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x2c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x2c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x2c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x2c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x2e,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x2e,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x2e,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x2e,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec v0, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec v255, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0xff,0x00,0x00]
-0xff,0x0f,0x30,0xe1,0x00,0xff,0x00,0x00
+# CHECK: buffer_atomic_dec v255, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0xff,0x02,0x03]
+0xff,0x0f,0x30,0xe1,0x00,0xff,0x02,0x03
-# CHECK: buffer_atomic_dec v0, off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x30,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_dec v5, off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x30,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_dec v0, off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x30,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_dec v5, off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x30,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_dec v0, off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x30,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_dec v5, off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x30,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_dec v0, off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_dec v5, off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_dec v0, off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_dec v5, off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_dec v0, off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_dec v5, off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_dec v0, off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_dec v5, off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_dec v0, off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_dec v5, off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_dec v0, off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x30,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_dec v5, off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_dec v0, v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x30,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x30,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x30,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x30,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec v0, v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x30,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x30,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x30,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x30,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x30,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x30,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x30,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x30,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x30,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x30,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec v5, off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x30,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x30,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x30,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x30,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x30,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x30,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec v0, off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x32,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x32,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x32,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x32,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x80,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_swap_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0x80,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x80,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x80,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x80,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x80,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x80,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x80,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x80,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x80,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_swap_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x80,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x80,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x80,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x80,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x80,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x80,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x80,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x80,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x80,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x80,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0x80,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x80,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x80,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x80,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x80,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x80,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x80,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x80,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x80,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x80,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_swap_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x82,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x82,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x82,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x82,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[252:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0xfc,0x00,0x00]
-0xff,0x0f,0x84,0xe1,0x00,0xfc,0x00,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[252:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0xfc,0x02,0x03]
+0xff,0x0f,0x84,0xe1,0x00,0xfc,0x02,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x84,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x84,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x84,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x84,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x84,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x84,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x84,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x84,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x84,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x84,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x84,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x84,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x84,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x84,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x84,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x84,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], s0 ; encoding: [0x00,0x00,0x84,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x84,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 ; encoding: [0x00,0x00,0x84,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x84,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x84,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x84,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x84,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x84,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x84,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x84,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x84,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x84,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_cmpswap_x2 v[0:3], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x86,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x86,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x86,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x86,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x88,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_add_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0x88,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x88,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x88,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x88,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x88,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_add_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x88,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_add_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x88,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x88,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x88,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_add_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x88,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x88,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x88,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x88,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x88,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x88,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x88,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x88,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x88,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x88,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0x88,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x88,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x88,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x88,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x88,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x88,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x88,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x88,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x88,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x88,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_add_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x8a,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x8a,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x8a,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x8a,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x8c,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_sub_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0x8c,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x8c,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x8c,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x8c,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x8c,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x8c,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x8c,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x8c,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x8c,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_sub_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x8c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x8c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x8c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x8c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x8c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x8c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x8c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x8c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x8c,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0x8c,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x8c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x8c,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x8c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x8c,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x8c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x8c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x8c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x8c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x8c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_sub_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x8e,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x8e,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x8e,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x8e,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x90,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_smin_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0x90,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x90,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x90,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x90,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x90,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x90,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x90,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x90,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x90,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_smin_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x90,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x90,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x90,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x90,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x90,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x90,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x90,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x90,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x90,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x90,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0x90,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x90,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x90,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x90,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x90,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x90,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x90,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x90,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x90,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x90,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smin_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x92,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x92,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x92,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x92,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x94,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_umin_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0x94,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x94,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x94,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x94,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x94,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x94,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x94,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x94,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x94,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_umin_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x94,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x94,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x94,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x94,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x94,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x94,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x94,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x94,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x94,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x94,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0x94,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x94,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x94,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x94,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x94,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x94,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x94,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x94,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x94,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x94,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umin_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x96,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x96,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x96,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x96,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x98,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_smax_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0x98,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x98,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x98,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x98,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x98,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x98,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x98,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x98,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x98,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_smax_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x98,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x98,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x98,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x98,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x98,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x98,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x98,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x98,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x98,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x98,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0x98,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x98,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x98,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x98,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x98,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x98,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x98,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x98,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x98,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x98,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_smax_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x9a,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x9a,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x9a,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x9a,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0x9c,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_umax_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0x9c,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0x9c,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0x9c,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0x9c,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0x9c,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0x9c,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0x9c,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0x9c,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0x9c,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_umax_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x9c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0x9c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x9c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0x9c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0x9c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0x9c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x9c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0x9c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0x9c,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x9c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0x9c,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0x9c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x9c,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0x9c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0x9c,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0x9c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x9c,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0x9c,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x9c,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0x9c,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_umax_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x9e,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0x9e,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x9e,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0x9e,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0xa0,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_and_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0xa0,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0xa0,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0xa0,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0xa0,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0xa0,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_and_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0xa0,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_and_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0xa0,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0xa0,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0xa0,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_and_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0xa0,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0xa0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0xa0,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xa0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0xa0,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0xa0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0xa0,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0xa0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0xa0,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0xa0,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0xa0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0xa0,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0xa0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0xa0,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0xa0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0xa0,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0xa0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0xa0,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0xa0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_and_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0xa2,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0xa2,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0xa2,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0xa2,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0xa4,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_or_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0xa4,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0xa4,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0xa4,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0xa4,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0xa4,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_or_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0xa4,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_or_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0xa4,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0xa4,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0xa4,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_or_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0xa4,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0xa4,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0xa4,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xa4,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0xa4,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0xa4,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0xa4,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0xa4,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0xa4,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0xa4,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0xa4,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0xa4,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0xa4,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0xa4,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0xa4,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0xa4,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0xa4,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0xa4,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0xa4,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_or_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0xa6,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0xa6,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0xa6,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0xa6,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0xa8,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_xor_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0xa8,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0xa8,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0xa8,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0xa8,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0xa8,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0xa8,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0xa8,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0xa8,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0xa8,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_xor_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0xa8,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0xa8,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0xa8,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xa8,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0xa8,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0xa8,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0xa8,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0xa8,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0xa8,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa8,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0xa8,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0xa8,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0xa8,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0xa8,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0xa8,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0xa8,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0xa8,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0xa8,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0xa8,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0xa8,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_xor_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0xaa,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0xaa,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0xaa,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0xaa,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0xac,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_inc_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0xac,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0xac,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0xac,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0xac,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0xac,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0xac,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0xac,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0xac,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0xac,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_inc_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0xac,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0xac,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0xac,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xac,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0xac,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0xac,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0xac,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0xac,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0xac,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xac,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0xac,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0xac,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0xac,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0xac,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0xac,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0xac,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0xac,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0xac,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0xac,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0xac,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_inc_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0xae,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0xae,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0xae,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0xae,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec_x2 v[254:255], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0xfe,0x00,0x00]
-0xff,0x0f,0xb0,0xe1,0x00,0xfe,0x00,0x00
+# CHECK: buffer_atomic_dec_x2 v[254:255], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0xfe,0x02,0x03]
+0xff,0x0f,0xb0,0xe1,0x00,0xfe,0x02,0x03
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[4:7], s0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x00,0x01,0x00]
-0xff,0x0f,0xb0,0xe1,0x00,0x00,0x01,0x00
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[12:15], s3 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x03,0x03]
+0xff,0x0f,0xb0,0xe1,0x00,0x05,0x03,0x03
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[96:99], s0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x00,0x18,0x00]
-0xff,0x0f,0xb0,0xe1,0x00,0x00,0x18,0x00
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[96:99], s3 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x18,0x03]
+0xff,0x0f,0xb0,0xe1,0x00,0x05,0x18,0x03
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, ttmp[8:11], s0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x00,0x1e,0x00]
-0xff,0x0f,0xb0,0xe1,0x00,0x00,0x1e,0x00
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, ttmp[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x1e,0x03]
+0xff,0x0f,0xb0,0xe1,0x00,0x05,0x1e,0x03
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], s101 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0x65]
-0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0x65
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], s101 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x65]
+0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x65
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], m0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0x7c]
-0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0x7c
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], m0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x7c]
+0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x7c
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], 0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0x80]
-0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0x80
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], 0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x80]
+0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0x80
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], -1 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0xc1]
-0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0xc1
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], -1 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0xc1]
+0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0xc1
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], 0.5 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0xf0]
-0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0xf0
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], 0.5 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0xf0]
+0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0xf0
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], -4.0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0xf7]
-0xff,0x0f,0xb0,0xe1,0x00,0x00,0x00,0xf7
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], -4.0 offset:4095 ; encoding: [0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0xf7]
+0xff,0x0f,0xb0,0xe1,0x00,0x05,0x02,0xf7
-# CHECK: buffer_atomic_dec_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0xb0,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x2f,0xb0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec_x2 v[5:6], v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0xb0,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x2f,0xb0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec_x2 v[0:1], v0, s[0:3], s0 offen offset:4095 ; encoding: [0xff,0x1f,0xb0,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x1f,0xb0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec_x2 v[5:6], v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0xb0,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x1f,0xb0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], s0 ; encoding: [0x00,0x00,0xb0,0xe1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 ; encoding: [0x00,0x00,0xb0,0xe1,0x00,0x05,0x02,0x03]
+0x00,0x00,0xb0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0xb0,0xe1,0x00,0x00,0x00,0x00]
-0x07,0x00,0xb0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 offset:7 ; encoding: [0x07,0x00,0xb0,0xe1,0x00,0x05,0x02,0x03]
+0x07,0x00,0xb0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0xb0,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x4f,0xb0,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0xb0,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x4f,0xb0,0xe1,0x00,0x05,0x02,0x03
-# CHECK: buffer_atomic_dec_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0xb2,0xe1,0x00,0x00,0x00,0x00]
-0xff,0x0f,0xb2,0xe1,0x00,0x00,0x00,0x00
+# CHECK: buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0xb2,0xe1,0x00,0x05,0x02,0x03]
+0xff,0x0f,0xb2,0xe1,0x00,0x05,0x02,0x03
-# CHECK: s_load_dword s0, s[0:1], s0 ; encoding: [0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], s2 ; encoding: [0x41,0x01,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword s101, s[0:1], s0 ; encoding: [0x40,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x40,0x19,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword s101, s[2:3], s2 ; encoding: [0x41,0x19,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x41,0x19,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword flat_scratch_lo, s[0:1], s0 ; encoding: [0x80,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x19,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword flat_scratch_lo, s[2:3], s2 ; encoding: [0x81,0x19,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x81,0x19,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword flat_scratch_hi, s[0:1], s0 ; encoding: [0xc0,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
-0xc0,0x19,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword flat_scratch_hi, s[2:3], s2 ; encoding: [0xc1,0x19,0x00,0xc0,0x02,0x00,0x00,0x00]
+0xc1,0x19,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword vcc_lo, s[0:1], s0 ; encoding: [0x80,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword vcc_lo, s[2:3], s2 ; encoding: [0x81,0x1a,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x81,0x1a,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword vcc_hi, s[0:1], s0 ; encoding: [0xc0,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00]
-0xc0,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword vcc_hi, s[2:3], s2 ; encoding: [0xc1,0x1a,0x00,0xc0,0x02,0x00,0x00,0x00]
+0xc1,0x1a,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword tba_lo, s[0:1], s0 ; encoding: [0x00,0x1b,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x1b,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword tba_lo, s[2:3], s2 ; encoding: [0x01,0x1b,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x1b,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword tba_hi, s[0:1], s0 ; encoding: [0x40,0x1b,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x40,0x1b,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword tba_hi, s[2:3], s2 ; encoding: [0x41,0x1b,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x41,0x1b,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword tma_lo, s[0:1], s0 ; encoding: [0x80,0x1b,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x1b,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword tma_lo, s[2:3], s2 ; encoding: [0x81,0x1b,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x81,0x1b,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword tma_hi, s[0:1], s0 ; encoding: [0xc0,0x1b,0x00,0xc0,0x00,0x00,0x00,0x00]
-0xc0,0x1b,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword tma_hi, s[2:3], s2 ; encoding: [0xc1,0x1b,0x00,0xc0,0x02,0x00,0x00,0x00]
+0xc1,0x1b,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword ttmp11, s[0:1], s0 ; encoding: [0xc0,0x1e,0x00,0xc0,0x00,0x00,0x00,0x00]
-0xc0,0x1e,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword ttmp11, s[2:3], s2 ; encoding: [0xc1,0x1e,0x00,0xc0,0x02,0x00,0x00,0x00]
+0xc1,0x1e,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[2:3], s0 ; encoding: [0x01,0x00,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x01,0x00,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[4:5], s2 ; encoding: [0x42,0x01,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x42,0x01,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[100:101], s0 ; encoding: [0x32,0x00,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x32,0x00,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[100:101], s2 ; encoding: [0x72,0x01,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x72,0x01,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword s0, flat_scratch, s0 ; encoding: [0x33,0x00,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x33,0x00,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword s5, flat_scratch, s2 ; encoding: [0x73,0x01,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x73,0x01,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword s0, vcc, s0 ; encoding: [0x35,0x00,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x35,0x00,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword s5, vcc, s2 ; encoding: [0x75,0x01,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x75,0x01,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword s0, tba, s0 ; encoding: [0x36,0x00,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x36,0x00,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword s5, tba, s2 ; encoding: [0x76,0x01,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x76,0x01,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword s0, tma, s0 ; encoding: [0x37,0x00,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x37,0x00,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword s5, tma, s2 ; encoding: [0x77,0x01,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x77,0x01,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword s0, ttmp[10:11], s0 ; encoding: [0x3d,0x00,0x00,0xc0,0x00,0x00,0x00,0x00]
-0x3d,0x00,0x00,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword s5, ttmp[10:11], s2 ; encoding: [0x7d,0x01,0x00,0xc0,0x02,0x00,0x00,0x00]
+0x7d,0x01,0x00,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], s101 ; encoding: [0x00,0x00,0x00,0xc0,0x65,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x65,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], s101 ; encoding: [0x41,0x01,0x00,0xc0,0x65,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x65,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], flat_scratch_lo ; encoding: [0x00,0x00,0x00,0xc0,0x66,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x66,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], flat_scratch_lo ; encoding: [0x41,0x01,0x00,0xc0,0x66,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x66,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], flat_scratch_hi ; encoding: [0x00,0x00,0x00,0xc0,0x67,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x67,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], flat_scratch_hi ; encoding: [0x41,0x01,0x00,0xc0,0x67,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x67,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], vcc_lo ; encoding: [0x00,0x00,0x00,0xc0,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x6a,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], vcc_lo ; encoding: [0x41,0x01,0x00,0xc0,0x6a,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x6a,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], vcc_hi ; encoding: [0x00,0x00,0x00,0xc0,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x6b,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], vcc_hi ; encoding: [0x41,0x01,0x00,0xc0,0x6b,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x6b,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], tba_lo ; encoding: [0x00,0x00,0x00,0xc0,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x6c,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], tba_lo ; encoding: [0x41,0x01,0x00,0xc0,0x6c,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x6c,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], tba_hi ; encoding: [0x00,0x00,0x00,0xc0,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x6d,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], tba_hi ; encoding: [0x41,0x01,0x00,0xc0,0x6d,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x6d,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], tma_lo ; encoding: [0x00,0x00,0x00,0xc0,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x6e,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], tma_lo ; encoding: [0x41,0x01,0x00,0xc0,0x6e,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x6e,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], tma_hi ; encoding: [0x00,0x00,0x00,0xc0,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x6f,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], tma_hi ; encoding: [0x41,0x01,0x00,0xc0,0x6f,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x6f,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], ttmp11 ; encoding: [0x00,0x00,0x00,0xc0,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x7b,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], ttmp11 ; encoding: [0x41,0x01,0x00,0xc0,0x7b,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x7b,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], m0 ; encoding: [0x00,0x00,0x00,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x00,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], m0 ; encoding: [0x41,0x01,0x00,0xc0,0x7c,0x00,0x00,0x00]
+0x41,0x01,0x00,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_load_dword s0, s[0:1], 0x7ffff ; encoding: [0x00,0x00,0x02,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x02,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_load_dword s5, s[2:3], 0x7ffff ; encoding: [0x41,0x01,0x02,0xc0,0xff,0xff,0x07,0x00]
+0x41,0x01,0x02,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_load_dword s0, s[0:1], s0 glc ; encoding: [0x00,0x00,0x01,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x01,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dword s5, s[2:3], s2 glc ; encoding: [0x41,0x01,0x01,0xc0,0x02,0x00,0x00,0x00]
+0x41,0x01,0x01,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], s0 ; encoding: [0x00,0x00,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], s2 ; encoding: [0x81,0x02,0x04,0xc0,0x02,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[2:3], s[0:1], s0 ; encoding: [0x80,0x00,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x00,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[12:13], s[2:3], s2 ; encoding: [0x01,0x03,0x04,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x03,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[100:101], s[0:1], s0 ; encoding: [0x00,0x19,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x19,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[100:101], s[2:3], s2 ; encoding: [0x01,0x19,0x04,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x19,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 flat_scratch, s[0:1], s0 ; encoding: [0x80,0x19,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x19,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 flat_scratch, s[2:3], s2 ; encoding: [0x81,0x19,0x04,0xc0,0x02,0x00,0x00,0x00]
+0x81,0x19,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 vcc, s[0:1], s0 ; encoding: [0x80,0x1a,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x1a,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 vcc, s[2:3], s2 ; encoding: [0x81,0x1a,0x04,0xc0,0x02,0x00,0x00,0x00]
+0x81,0x1a,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 tba, s[0:1], s0 ; encoding: [0x00,0x1b,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x1b,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 tba, s[2:3], s2 ; encoding: [0x01,0x1b,0x04,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x1b,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 tma, s[0:1], s0 ; encoding: [0x80,0x1b,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x1b,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 tma, s[2:3], s2 ; encoding: [0x81,0x1b,0x04,0xc0,0x02,0x00,0x00,0x00]
+0x81,0x1b,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 ttmp[10:11], s[0:1], s0 ; encoding: [0x80,0x1e,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x1e,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 ttmp[10:11], s[2:3], s2 ; encoding: [0x81,0x1e,0x04,0xc0,0x02,0x00,0x00,0x00]
+0x81,0x1e,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[2:3], s0 ; encoding: [0x01,0x00,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x01,0x00,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[4:5], s2 ; encoding: [0x82,0x02,0x04,0xc0,0x02,0x00,0x00,0x00]
+0x82,0x02,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[100:101], s0 ; encoding: [0x32,0x00,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x32,0x00,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[100:101], s2 ; encoding: [0xb2,0x02,0x04,0xc0,0x02,0x00,0x00,0x00]
+0xb2,0x02,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], flat_scratch, s0 ; encoding: [0x33,0x00,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x33,0x00,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], flat_scratch, s2 ; encoding: [0xb3,0x02,0x04,0xc0,0x02,0x00,0x00,0x00]
+0xb3,0x02,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], vcc, s0 ; encoding: [0x35,0x00,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x35,0x00,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], vcc, s2 ; encoding: [0xb5,0x02,0x04,0xc0,0x02,0x00,0x00,0x00]
+0xb5,0x02,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], tba, s0 ; encoding: [0x36,0x00,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x36,0x00,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], tba, s2 ; encoding: [0xb6,0x02,0x04,0xc0,0x02,0x00,0x00,0x00]
+0xb6,0x02,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], tma, s0 ; encoding: [0x37,0x00,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x37,0x00,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], tma, s2 ; encoding: [0xb7,0x02,0x04,0xc0,0x02,0x00,0x00,0x00]
+0xb7,0x02,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], ttmp[10:11], s0 ; encoding: [0x3d,0x00,0x04,0xc0,0x00,0x00,0x00,0x00]
-0x3d,0x00,0x04,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], ttmp[10:11], s2 ; encoding: [0xbd,0x02,0x04,0xc0,0x02,0x00,0x00,0x00]
+0xbd,0x02,0x04,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], s101 ; encoding: [0x00,0x00,0x04,0xc0,0x65,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x65,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x04,0xc0,0x65,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x65,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], flat_scratch_lo ; encoding: [0x00,0x00,0x04,0xc0,0x66,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x66,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x81,0x02,0x04,0xc0,0x66,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x66,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], flat_scratch_hi ; encoding: [0x00,0x00,0x04,0xc0,0x67,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x67,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x81,0x02,0x04,0xc0,0x67,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x67,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], vcc_lo ; encoding: [0x00,0x00,0x04,0xc0,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x6a,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], vcc_lo ; encoding: [0x81,0x02,0x04,0xc0,0x6a,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x6a,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], vcc_hi ; encoding: [0x00,0x00,0x04,0xc0,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x6b,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], vcc_hi ; encoding: [0x81,0x02,0x04,0xc0,0x6b,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x6b,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], tba_lo ; encoding: [0x00,0x00,0x04,0xc0,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x6c,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], tba_lo ; encoding: [0x81,0x02,0x04,0xc0,0x6c,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x6c,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], tba_hi ; encoding: [0x00,0x00,0x04,0xc0,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x6d,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], tba_hi ; encoding: [0x81,0x02,0x04,0xc0,0x6d,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x6d,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], tma_lo ; encoding: [0x00,0x00,0x04,0xc0,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x6e,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], tma_lo ; encoding: [0x81,0x02,0x04,0xc0,0x6e,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x6e,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], tma_hi ; encoding: [0x00,0x00,0x04,0xc0,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x6f,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], tma_hi ; encoding: [0x81,0x02,0x04,0xc0,0x6f,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x6f,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], ttmp11 ; encoding: [0x00,0x00,0x04,0xc0,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x7b,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], ttmp11 ; encoding: [0x81,0x02,0x04,0xc0,0x7b,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x7b,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], m0 ; encoding: [0x00,0x00,0x04,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x04,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], m0 ; encoding: [0x81,0x02,0x04,0xc0,0x7c,0x00,0x00,0x00]
+0x81,0x02,0x04,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], 0x7ffff ; encoding: [0x00,0x00,0x06,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x06,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], 0x7ffff ; encoding: [0x81,0x02,0x06,0xc0,0xff,0xff,0x07,0x00]
+0x81,0x02,0x06,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_load_dwordx2 s[0:1], s[0:1], s0 glc ; encoding: [0x00,0x00,0x05,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x05,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx2 s[10:11], s[2:3], s2 glc ; encoding: [0x81,0x02,0x05,0xc0,0x02,0x00,0x00,0x00]
+0x81,0x02,0x05,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], s0 ; encoding: [0x00,0x00,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], s2 ; encoding: [0x01,0x05,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[4:7], s[0:1], s0 ; encoding: [0x00,0x01,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x01,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[24:27], s[2:3], s2 ; encoding: [0x01,0x06,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x06,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[96:99], s[0:1], s0 ; encoding: [0x00,0x18,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x18,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[96:99], s[2:3], s2 ; encoding: [0x01,0x18,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x18,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 ttmp[8:11], s[0:1], s0 ; encoding: [0x00,0x1e,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x1e,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 ttmp[8:11], s[2:3], s2 ; encoding: [0x01,0x1e,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x1e,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[2:3], s0 ; encoding: [0x01,0x00,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x01,0x00,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[4:5], s2 ; encoding: [0x02,0x05,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x05,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[100:101], s0 ; encoding: [0x32,0x00,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x32,0x00,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[100:101], s2 ; encoding: [0x32,0x05,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x32,0x05,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], flat_scratch, s0 ; encoding: [0x33,0x00,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x33,0x00,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], flat_scratch, s2 ; encoding: [0x33,0x05,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x33,0x05,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], vcc, s0 ; encoding: [0x35,0x00,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x35,0x00,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], vcc, s2 ; encoding: [0x35,0x05,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x35,0x05,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], tba, s0 ; encoding: [0x36,0x00,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x36,0x00,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], tba, s2 ; encoding: [0x36,0x05,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x36,0x05,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], tma, s0 ; encoding: [0x37,0x00,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x37,0x00,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], tma, s2 ; encoding: [0x37,0x05,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x37,0x05,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], ttmp[10:11], s0 ; encoding: [0x3d,0x00,0x08,0xc0,0x00,0x00,0x00,0x00]
-0x3d,0x00,0x08,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], ttmp[10:11], s2 ; encoding: [0x3d,0x05,0x08,0xc0,0x02,0x00,0x00,0x00]
+0x3d,0x05,0x08,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], s101 ; encoding: [0x00,0x00,0x08,0xc0,0x65,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x65,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], s101 ; encoding: [0x01,0x05,0x08,0xc0,0x65,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x65,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], flat_scratch_lo ; encoding: [0x00,0x00,0x08,0xc0,0x66,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x66,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], flat_scratch_lo ; encoding: [0x01,0x05,0x08,0xc0,0x66,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x66,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], flat_scratch_hi ; encoding: [0x00,0x00,0x08,0xc0,0x67,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x67,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], flat_scratch_hi ; encoding: [0x01,0x05,0x08,0xc0,0x67,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x67,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], vcc_lo ; encoding: [0x00,0x00,0x08,0xc0,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x6a,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x08,0xc0,0x6a,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x6a,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], vcc_hi ; encoding: [0x00,0x00,0x08,0xc0,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x6b,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x08,0xc0,0x6b,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x6b,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], tba_lo ; encoding: [0x00,0x00,0x08,0xc0,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x6c,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], tba_lo ; encoding: [0x01,0x05,0x08,0xc0,0x6c,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x6c,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], tba_hi ; encoding: [0x00,0x00,0x08,0xc0,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x6d,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], tba_hi ; encoding: [0x01,0x05,0x08,0xc0,0x6d,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x6d,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], tma_lo ; encoding: [0x00,0x00,0x08,0xc0,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x6e,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], tma_lo ; encoding: [0x01,0x05,0x08,0xc0,0x6e,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x6e,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], tma_hi ; encoding: [0x00,0x00,0x08,0xc0,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x6f,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], tma_hi ; encoding: [0x01,0x05,0x08,0xc0,0x6f,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x6f,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], ttmp11 ; encoding: [0x00,0x00,0x08,0xc0,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x7b,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], ttmp11 ; encoding: [0x01,0x05,0x08,0xc0,0x7b,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x7b,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], m0 ; encoding: [0x00,0x00,0x08,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x08,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], m0 ; encoding: [0x01,0x05,0x08,0xc0,0x7c,0x00,0x00,0x00]
+0x01,0x05,0x08,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], 0x7ffff ; encoding: [0x00,0x00,0x0a,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x0a,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], 0x7ffff ; encoding: [0x01,0x05,0x0a,0xc0,0xff,0xff,0x07,0x00]
+0x01,0x05,0x0a,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_load_dwordx4 s[0:3], s[0:1], s0 glc ; encoding: [0x00,0x00,0x09,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x09,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx4 s[20:23], s[2:3], s2 glc ; encoding: [0x01,0x05,0x09,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x05,0x09,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], s0 ; encoding: [0x00,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], s2 ; encoding: [0x01,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[4:11], s[0:1], s0 ; encoding: [0x00,0x01,0x0c,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x01,0x0c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[24:31], s[2:3], s2 ; encoding: [0x01,0x06,0x0c,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x06,0x0c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[92:99], s[0:1], s0 ; encoding: [0x00,0x17,0x0c,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x17,0x0c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[92:99], s[2:3], s2 ; encoding: [0x01,0x17,0x0c,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x17,0x0c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[2:3], s0 ; encoding: [0x01,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00]
-0x01,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[4:5], s2 ; encoding: [0x02,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[100:101], s0 ; encoding: [0x32,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00]
-0x32,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[100:101], s2 ; encoding: [0x32,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00]
+0x32,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], flat_scratch, s0 ; encoding: [0x33,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00]
-0x33,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], flat_scratch, s2 ; encoding: [0x33,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00]
+0x33,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], vcc, s0 ; encoding: [0x35,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00]
-0x35,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], vcc, s2 ; encoding: [0x35,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00]
+0x35,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], tba, s0 ; encoding: [0x36,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00]
-0x36,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], tba, s2 ; encoding: [0x36,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00]
+0x36,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], tma, s0 ; encoding: [0x37,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00]
-0x37,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], tma, s2 ; encoding: [0x37,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00]
+0x37,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], ttmp[10:11], s0 ; encoding: [0x3d,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00]
-0x3d,0x00,0x0c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], ttmp[10:11], s2 ; encoding: [0x3d,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00]
+0x3d,0x05,0x0c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], s101 ; encoding: [0x00,0x00,0x0c,0xc0,0x65,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x65,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], s101 ; encoding: [0x01,0x05,0x0c,0xc0,0x65,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x65,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], flat_scratch_lo ; encoding: [0x00,0x00,0x0c,0xc0,0x66,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x66,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], flat_scratch_lo ; encoding: [0x01,0x05,0x0c,0xc0,0x66,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x66,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], flat_scratch_hi ; encoding: [0x00,0x00,0x0c,0xc0,0x67,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x67,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], flat_scratch_hi ; encoding: [0x01,0x05,0x0c,0xc0,0x67,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x67,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], vcc_lo ; encoding: [0x00,0x00,0x0c,0xc0,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x6a,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x0c,0xc0,0x6a,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x6a,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], vcc_hi ; encoding: [0x00,0x00,0x0c,0xc0,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x6b,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x0c,0xc0,0x6b,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x6b,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], tba_lo ; encoding: [0x00,0x00,0x0c,0xc0,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x6c,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], tba_lo ; encoding: [0x01,0x05,0x0c,0xc0,0x6c,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x6c,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], tba_hi ; encoding: [0x00,0x00,0x0c,0xc0,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x6d,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], tba_hi ; encoding: [0x01,0x05,0x0c,0xc0,0x6d,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x6d,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], tma_lo ; encoding: [0x00,0x00,0x0c,0xc0,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x6e,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], tma_lo ; encoding: [0x01,0x05,0x0c,0xc0,0x6e,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x6e,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], tma_hi ; encoding: [0x00,0x00,0x0c,0xc0,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x6f,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], tma_hi ; encoding: [0x01,0x05,0x0c,0xc0,0x6f,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x6f,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], ttmp11 ; encoding: [0x00,0x00,0x0c,0xc0,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x7b,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], ttmp11 ; encoding: [0x01,0x05,0x0c,0xc0,0x7b,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x7b,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], m0 ; encoding: [0x00,0x00,0x0c,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], m0 ; encoding: [0x01,0x05,0x0c,0xc0,0x7c,0x00,0x00,0x00]
+0x01,0x05,0x0c,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], 0x7ffff ; encoding: [0x00,0x00,0x0e,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x0e,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], 0x7ffff ; encoding: [0x01,0x05,0x0e,0xc0,0xff,0xff,0x07,0x00]
+0x01,0x05,0x0e,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_load_dwordx8 s[0:7], s[0:1], s0 glc ; encoding: [0x00,0x00,0x0d,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0d,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx8 s[20:27], s[2:3], s2 glc ; encoding: [0x01,0x05,0x0d,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x05,0x0d,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], s0 ; encoding: [0x00,0x00,0x10,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], s2 ; encoding: [0x01,0x05,0x10,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[4:19], s[0:1], s0 ; encoding: [0x00,0x01,0x10,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x01,0x10,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[24:39], s[2:3], s2 ; encoding: [0x01,0x06,0x10,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x06,0x10,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[84:99], s[0:1], s0 ; encoding: [0x00,0x15,0x10,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x15,0x10,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[84:99], s[2:3], s2 ; encoding: [0x01,0x15,0x10,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x15,0x10,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[2:3], s0 ; encoding: [0x01,0x00,0x10,0xc0,0x00,0x00,0x00,0x00]
-0x01,0x00,0x10,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[4:5], s2 ; encoding: [0x02,0x05,0x10,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x05,0x10,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[100:101], s0 ; encoding: [0x32,0x00,0x10,0xc0,0x00,0x00,0x00,0x00]
-0x32,0x00,0x10,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[100:101], s2 ; encoding: [0x32,0x05,0x10,0xc0,0x02,0x00,0x00,0x00]
+0x32,0x05,0x10,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], flat_scratch, s0 ; encoding: [0x33,0x00,0x10,0xc0,0x00,0x00,0x00,0x00]
-0x33,0x00,0x10,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], flat_scratch, s2 ; encoding: [0x33,0x05,0x10,0xc0,0x02,0x00,0x00,0x00]
+0x33,0x05,0x10,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], vcc, s0 ; encoding: [0x35,0x00,0x10,0xc0,0x00,0x00,0x00,0x00]
-0x35,0x00,0x10,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], vcc, s2 ; encoding: [0x35,0x05,0x10,0xc0,0x02,0x00,0x00,0x00]
+0x35,0x05,0x10,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], tba, s0 ; encoding: [0x36,0x00,0x10,0xc0,0x00,0x00,0x00,0x00]
-0x36,0x00,0x10,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], tba, s2 ; encoding: [0x36,0x05,0x10,0xc0,0x02,0x00,0x00,0x00]
+0x36,0x05,0x10,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], tma, s0 ; encoding: [0x37,0x00,0x10,0xc0,0x00,0x00,0x00,0x00]
-0x37,0x00,0x10,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], tma, s2 ; encoding: [0x37,0x05,0x10,0xc0,0x02,0x00,0x00,0x00]
+0x37,0x05,0x10,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], ttmp[10:11], s0 ; encoding: [0x3d,0x00,0x10,0xc0,0x00,0x00,0x00,0x00]
-0x3d,0x00,0x10,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], ttmp[10:11], s2 ; encoding: [0x3d,0x05,0x10,0xc0,0x02,0x00,0x00,0x00]
+0x3d,0x05,0x10,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], s101 ; encoding: [0x00,0x00,0x10,0xc0,0x65,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x65,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], s101 ; encoding: [0x01,0x05,0x10,0xc0,0x65,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x65,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], flat_scratch_lo ; encoding: [0x00,0x00,0x10,0xc0,0x66,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x66,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], flat_scratch_lo ; encoding: [0x01,0x05,0x10,0xc0,0x66,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x66,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], flat_scratch_hi ; encoding: [0x00,0x00,0x10,0xc0,0x67,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x67,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], flat_scratch_hi ; encoding: [0x01,0x05,0x10,0xc0,0x67,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x67,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], vcc_lo ; encoding: [0x00,0x00,0x10,0xc0,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x6a,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x10,0xc0,0x6a,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x6a,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], vcc_hi ; encoding: [0x00,0x00,0x10,0xc0,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x6b,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x10,0xc0,0x6b,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x6b,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], tba_lo ; encoding: [0x00,0x00,0x10,0xc0,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x6c,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], tba_lo ; encoding: [0x01,0x05,0x10,0xc0,0x6c,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x6c,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], tba_hi ; encoding: [0x00,0x00,0x10,0xc0,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x6d,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], tba_hi ; encoding: [0x01,0x05,0x10,0xc0,0x6d,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x6d,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], tma_lo ; encoding: [0x00,0x00,0x10,0xc0,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x6e,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], tma_lo ; encoding: [0x01,0x05,0x10,0xc0,0x6e,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x6e,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], tma_hi ; encoding: [0x00,0x00,0x10,0xc0,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x6f,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], tma_hi ; encoding: [0x01,0x05,0x10,0xc0,0x6f,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x6f,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], ttmp11 ; encoding: [0x00,0x00,0x10,0xc0,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x7b,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], ttmp11 ; encoding: [0x01,0x05,0x10,0xc0,0x7b,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x7b,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], m0 ; encoding: [0x00,0x00,0x10,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x10,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], m0 ; encoding: [0x01,0x05,0x10,0xc0,0x7c,0x00,0x00,0x00]
+0x01,0x05,0x10,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], 0x7ffff ; encoding: [0x00,0x00,0x12,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x12,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], 0x7ffff ; encoding: [0x01,0x05,0x12,0xc0,0xff,0xff,0x07,0x00]
+0x01,0x05,0x12,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_load_dwordx16 s[0:15], s[0:1], s0 glc ; encoding: [0x00,0x00,0x11,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x11,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_load_dwordx16 s[20:35], s[2:3], s2 glc ; encoding: [0x01,0x05,0x11,0xc0,0x02,0x00,0x00,0x00]
+0x01,0x05,0x11,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], s0 ; encoding: [0x00,0x00,0x20,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], s2 ; encoding: [0x42,0x01,0x20,0xc0,0x02,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s101, s[0:3], s0 ; encoding: [0x40,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
-0x40,0x19,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s101, s[4:7], s2 ; encoding: [0x42,0x19,0x20,0xc0,0x02,0x00,0x00,0x00]
+0x42,0x19,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword flat_scratch_lo, s[0:3], s0 ; encoding: [0x80,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x19,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword flat_scratch_lo, s[4:7], s2 ; encoding: [0x82,0x19,0x20,0xc0,0x02,0x00,0x00,0x00]
+0x82,0x19,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword flat_scratch_hi, s[0:3], s0 ; encoding: [0xc0,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
-0xc0,0x19,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword flat_scratch_hi, s[4:7], s2 ; encoding: [0xc2,0x19,0x20,0xc0,0x02,0x00,0x00,0x00]
+0xc2,0x19,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword vcc_lo, s[0:3], s0 ; encoding: [0x80,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword vcc_lo, s[4:7], s2 ; encoding: [0x82,0x1a,0x20,0xc0,0x02,0x00,0x00,0x00]
+0x82,0x1a,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword vcc_hi, s[0:3], s0 ; encoding: [0xc0,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00]
-0xc0,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword vcc_hi, s[4:7], s2 ; encoding: [0xc2,0x1a,0x20,0xc0,0x02,0x00,0x00,0x00]
+0xc2,0x1a,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword tba_lo, s[0:3], s0 ; encoding: [0x00,0x1b,0x20,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x1b,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword tba_lo, s[4:7], s2 ; encoding: [0x02,0x1b,0x20,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x1b,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword tba_hi, s[0:3], s0 ; encoding: [0x40,0x1b,0x20,0xc0,0x00,0x00,0x00,0x00]
-0x40,0x1b,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword tba_hi, s[4:7], s2 ; encoding: [0x42,0x1b,0x20,0xc0,0x02,0x00,0x00,0x00]
+0x42,0x1b,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword tma_lo, s[0:3], s0 ; encoding: [0x80,0x1b,0x20,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x1b,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword tma_lo, s[4:7], s2 ; encoding: [0x82,0x1b,0x20,0xc0,0x02,0x00,0x00,0x00]
+0x82,0x1b,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword tma_hi, s[0:3], s0 ; encoding: [0xc0,0x1b,0x20,0xc0,0x00,0x00,0x00,0x00]
-0xc0,0x1b,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword tma_hi, s[4:7], s2 ; encoding: [0xc2,0x1b,0x20,0xc0,0x02,0x00,0x00,0x00]
+0xc2,0x1b,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword ttmp11, s[0:3], s0 ; encoding: [0xc0,0x1e,0x20,0xc0,0x00,0x00,0x00,0x00]
-0xc0,0x1e,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword ttmp11, s[4:7], s2 ; encoding: [0xc2,0x1e,0x20,0xc0,0x02,0x00,0x00,0x00]
+0xc2,0x1e,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[4:7], s0 ; encoding: [0x02,0x00,0x20,0xc0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[8:11], s2 ; encoding: [0x44,0x01,0x20,0xc0,0x02,0x00,0x00,0x00]
+0x44,0x01,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[96:99], s0 ; encoding: [0x30,0x00,0x20,0xc0,0x00,0x00,0x00,0x00]
-0x30,0x00,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[96:99], s2 ; encoding: [0x70,0x01,0x20,0xc0,0x02,0x00,0x00,0x00]
+0x70,0x01,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, ttmp[8:11], s0 ; encoding: [0x3c,0x00,0x20,0xc0,0x00,0x00,0x00,0x00]
-0x3c,0x00,0x20,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, ttmp[8:11], s2 ; encoding: [0x7c,0x01,0x20,0xc0,0x02,0x00,0x00,0x00]
+0x7c,0x01,0x20,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], s101 ; encoding: [0x00,0x00,0x20,0xc0,0x65,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x65,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], s101 ; encoding: [0x42,0x01,0x20,0xc0,0x65,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x65,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], flat_scratch_lo ; encoding: [0x00,0x00,0x20,0xc0,0x66,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x66,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], flat_scratch_lo ; encoding: [0x42,0x01,0x20,0xc0,0x66,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x66,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], flat_scratch_hi ; encoding: [0x00,0x00,0x20,0xc0,0x67,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x67,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], flat_scratch_hi ; encoding: [0x42,0x01,0x20,0xc0,0x67,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x67,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], vcc_lo ; encoding: [0x00,0x00,0x20,0xc0,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x6a,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], vcc_lo ; encoding: [0x42,0x01,0x20,0xc0,0x6a,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x6a,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], vcc_hi ; encoding: [0x00,0x00,0x20,0xc0,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x6b,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], vcc_hi ; encoding: [0x42,0x01,0x20,0xc0,0x6b,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x6b,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], tba_lo ; encoding: [0x00,0x00,0x20,0xc0,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x6c,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], tba_lo ; encoding: [0x42,0x01,0x20,0xc0,0x6c,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x6c,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], tba_hi ; encoding: [0x00,0x00,0x20,0xc0,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x6d,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], tba_hi ; encoding: [0x42,0x01,0x20,0xc0,0x6d,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x6d,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], tma_lo ; encoding: [0x00,0x00,0x20,0xc0,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x6e,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], tma_lo ; encoding: [0x42,0x01,0x20,0xc0,0x6e,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x6e,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], tma_hi ; encoding: [0x00,0x00,0x20,0xc0,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x6f,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], tma_hi ; encoding: [0x42,0x01,0x20,0xc0,0x6f,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x6f,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], ttmp11 ; encoding: [0x00,0x00,0x20,0xc0,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x7b,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], ttmp11 ; encoding: [0x42,0x01,0x20,0xc0,0x7b,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x7b,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], m0 ; encoding: [0x00,0x00,0x20,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x20,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], m0 ; encoding: [0x42,0x01,0x20,0xc0,0x7c,0x00,0x00,0x00]
+0x42,0x01,0x20,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], 0x7ffff ; encoding: [0x00,0x00,0x22,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x22,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], 0x7ffff ; encoding: [0x42,0x01,0x22,0xc0,0xff,0xff,0x07,0x00]
+0x42,0x01,0x22,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_buffer_load_dword s0, s[0:3], s0 glc ; encoding: [0x00,0x00,0x21,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x21,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dword s5, s[4:7], s2 glc ; encoding: [0x42,0x01,0x21,0xc0,0x02,0x00,0x00,0x00]
+0x42,0x01,0x21,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], s0 ; encoding: [0x00,0x00,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], s2 ; encoding: [0x82,0x02,0x24,0xc0,0x02,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[2:3], s[0:3], s0 ; encoding: [0x80,0x00,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x00,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[12:13], s[4:7], s2 ; encoding: [0x02,0x03,0x24,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x03,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[100:101], s[0:3], s0 ; encoding: [0x00,0x19,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x19,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[100:101], s[4:7], s2 ; encoding: [0x02,0x19,0x24,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x19,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 flat_scratch, s[0:3], s0 ; encoding: [0x80,0x19,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x19,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 flat_scratch, s[4:7], s2 ; encoding: [0x82,0x19,0x24,0xc0,0x02,0x00,0x00,0x00]
+0x82,0x19,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 vcc, s[0:3], s0 ; encoding: [0x80,0x1a,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x1a,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 vcc, s[4:7], s2 ; encoding: [0x82,0x1a,0x24,0xc0,0x02,0x00,0x00,0x00]
+0x82,0x1a,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 tba, s[0:3], s0 ; encoding: [0x00,0x1b,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x1b,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 tba, s[4:7], s2 ; encoding: [0x02,0x1b,0x24,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x1b,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 tma, s[0:3], s0 ; encoding: [0x80,0x1b,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x1b,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 tma, s[4:7], s2 ; encoding: [0x82,0x1b,0x24,0xc0,0x02,0x00,0x00,0x00]
+0x82,0x1b,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 ttmp[10:11], s[0:3], s0 ; encoding: [0x80,0x1e,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x1e,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 ttmp[10:11], s[4:7], s2 ; encoding: [0x82,0x1e,0x24,0xc0,0x02,0x00,0x00,0x00]
+0x82,0x1e,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[4:7], s0 ; encoding: [0x02,0x00,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[8:11], s2 ; encoding: [0x84,0x02,0x24,0xc0,0x02,0x00,0x00,0x00]
+0x84,0x02,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[96:99], s0 ; encoding: [0x30,0x00,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x30,0x00,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[96:99], s2 ; encoding: [0xb0,0x02,0x24,0xc0,0x02,0x00,0x00,0x00]
+0xb0,0x02,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], ttmp[8:11], s0 ; encoding: [0x3c,0x00,0x24,0xc0,0x00,0x00,0x00,0x00]
-0x3c,0x00,0x24,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], ttmp[8:11], s2 ; encoding: [0xbc,0x02,0x24,0xc0,0x02,0x00,0x00,0x00]
+0xbc,0x02,0x24,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], s101 ; encoding: [0x00,0x00,0x24,0xc0,0x65,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x65,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], s101 ; encoding: [0x82,0x02,0x24,0xc0,0x65,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x65,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], flat_scratch_lo ; encoding: [0x00,0x00,0x24,0xc0,0x66,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x66,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], flat_scratch_lo ; encoding: [0x82,0x02,0x24,0xc0,0x66,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x66,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], flat_scratch_hi ; encoding: [0x00,0x00,0x24,0xc0,0x67,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x67,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], flat_scratch_hi ; encoding: [0x82,0x02,0x24,0xc0,0x67,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x67,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], vcc_lo ; encoding: [0x00,0x00,0x24,0xc0,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x6a,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], vcc_lo ; encoding: [0x82,0x02,0x24,0xc0,0x6a,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x6a,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], vcc_hi ; encoding: [0x00,0x00,0x24,0xc0,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x6b,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], vcc_hi ; encoding: [0x82,0x02,0x24,0xc0,0x6b,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x6b,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], tba_lo ; encoding: [0x00,0x00,0x24,0xc0,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x6c,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], tba_lo ; encoding: [0x82,0x02,0x24,0xc0,0x6c,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x6c,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], tba_hi ; encoding: [0x00,0x00,0x24,0xc0,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x6d,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], tba_hi ; encoding: [0x82,0x02,0x24,0xc0,0x6d,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x6d,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], tma_lo ; encoding: [0x00,0x00,0x24,0xc0,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x6e,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], tma_lo ; encoding: [0x82,0x02,0x24,0xc0,0x6e,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x6e,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], tma_hi ; encoding: [0x00,0x00,0x24,0xc0,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x6f,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], tma_hi ; encoding: [0x82,0x02,0x24,0xc0,0x6f,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x6f,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], ttmp11 ; encoding: [0x00,0x00,0x24,0xc0,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x7b,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], ttmp11 ; encoding: [0x82,0x02,0x24,0xc0,0x7b,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x7b,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], m0 ; encoding: [0x00,0x00,0x24,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x24,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], m0 ; encoding: [0x82,0x02,0x24,0xc0,0x7c,0x00,0x00,0x00]
+0x82,0x02,0x24,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], 0x7ffff ; encoding: [0x00,0x00,0x26,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x26,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], 0x7ffff ; encoding: [0x82,0x02,0x26,0xc0,0xff,0xff,0x07,0x00]
+0x82,0x02,0x26,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_buffer_load_dwordx2 s[0:1], s[0:3], s0 glc ; encoding: [0x00,0x00,0x25,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x25,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], s2 glc ; encoding: [0x82,0x02,0x25,0xc0,0x02,0x00,0x00,0x00]
+0x82,0x02,0x25,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], s0 ; encoding: [0x00,0x00,0x28,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], s2 ; encoding: [0x02,0x05,0x28,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[4:7], s[0:3], s0 ; encoding: [0x00,0x01,0x28,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x01,0x28,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[24:27], s[4:7], s2 ; encoding: [0x02,0x06,0x28,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x06,0x28,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[96:99], s[0:3], s0 ; encoding: [0x00,0x18,0x28,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x18,0x28,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[96:99], s[4:7], s2 ; encoding: [0x02,0x18,0x28,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x18,0x28,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 ttmp[8:11], s[0:3], s0 ; encoding: [0x00,0x1e,0x28,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x1e,0x28,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 ttmp[8:11], s[4:7], s2 ; encoding: [0x02,0x1e,0x28,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x1e,0x28,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[4:7], s0 ; encoding: [0x02,0x00,0x28,0xc0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x28,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[8:11], s2 ; encoding: [0x04,0x05,0x28,0xc0,0x02,0x00,0x00,0x00]
+0x04,0x05,0x28,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[96:99], s0 ; encoding: [0x30,0x00,0x28,0xc0,0x00,0x00,0x00,0x00]
-0x30,0x00,0x28,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[96:99], s2 ; encoding: [0x30,0x05,0x28,0xc0,0x02,0x00,0x00,0x00]
+0x30,0x05,0x28,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], ttmp[8:11], s0 ; encoding: [0x3c,0x00,0x28,0xc0,0x00,0x00,0x00,0x00]
-0x3c,0x00,0x28,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], ttmp[8:11], s2 ; encoding: [0x3c,0x05,0x28,0xc0,0x02,0x00,0x00,0x00]
+0x3c,0x05,0x28,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], s101 ; encoding: [0x00,0x00,0x28,0xc0,0x65,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x65,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], s101 ; encoding: [0x02,0x05,0x28,0xc0,0x65,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x65,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], flat_scratch_lo ; encoding: [0x00,0x00,0x28,0xc0,0x66,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x66,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], flat_scratch_lo ; encoding: [0x02,0x05,0x28,0xc0,0x66,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x66,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], flat_scratch_hi ; encoding: [0x00,0x00,0x28,0xc0,0x67,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x67,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], flat_scratch_hi ; encoding: [0x02,0x05,0x28,0xc0,0x67,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x67,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], vcc_lo ; encoding: [0x00,0x00,0x28,0xc0,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x6a,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x28,0xc0,0x6a,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x6a,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], vcc_hi ; encoding: [0x00,0x00,0x28,0xc0,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x6b,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x28,0xc0,0x6b,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x6b,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], tba_lo ; encoding: [0x00,0x00,0x28,0xc0,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x6c,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], tba_lo ; encoding: [0x02,0x05,0x28,0xc0,0x6c,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x6c,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], tba_hi ; encoding: [0x00,0x00,0x28,0xc0,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x6d,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], tba_hi ; encoding: [0x02,0x05,0x28,0xc0,0x6d,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x6d,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], tma_lo ; encoding: [0x00,0x00,0x28,0xc0,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x6e,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], tma_lo ; encoding: [0x02,0x05,0x28,0xc0,0x6e,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x6e,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], tma_hi ; encoding: [0x00,0x00,0x28,0xc0,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x6f,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], tma_hi ; encoding: [0x02,0x05,0x28,0xc0,0x6f,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x6f,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], ttmp11 ; encoding: [0x00,0x00,0x28,0xc0,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x7b,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], ttmp11 ; encoding: [0x02,0x05,0x28,0xc0,0x7b,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x7b,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], m0 ; encoding: [0x00,0x00,0x28,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x28,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], m0 ; encoding: [0x02,0x05,0x28,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x05,0x28,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], 0x7ffff ; encoding: [0x00,0x00,0x2a,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x2a,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], 0x7ffff ; encoding: [0x02,0x05,0x2a,0xc0,0xff,0xff,0x07,0x00]
+0x02,0x05,0x2a,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_buffer_load_dwordx4 s[0:3], s[0:3], s0 glc ; encoding: [0x00,0x00,0x29,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x29,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], s2 glc ; encoding: [0x02,0x05,0x29,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x05,0x29,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], s0 ; encoding: [0x00,0x00,0x2c,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], s2 ; encoding: [0x02,0x05,0x2c,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[4:11], s[0:3], s0 ; encoding: [0x00,0x01,0x2c,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x01,0x2c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[24:31], s[4:7], s2 ; encoding: [0x02,0x06,0x2c,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x06,0x2c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[92:99], s[0:3], s0 ; encoding: [0x00,0x17,0x2c,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x17,0x2c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[92:99], s[4:7], s2 ; encoding: [0x02,0x17,0x2c,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x17,0x2c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[4:7], s0 ; encoding: [0x02,0x00,0x2c,0xc0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x2c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[8:11], s2 ; encoding: [0x04,0x05,0x2c,0xc0,0x02,0x00,0x00,0x00]
+0x04,0x05,0x2c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[96:99], s0 ; encoding: [0x30,0x00,0x2c,0xc0,0x00,0x00,0x00,0x00]
-0x30,0x00,0x2c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[96:99], s2 ; encoding: [0x30,0x05,0x2c,0xc0,0x02,0x00,0x00,0x00]
+0x30,0x05,0x2c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], ttmp[8:11], s0 ; encoding: [0x3c,0x00,0x2c,0xc0,0x00,0x00,0x00,0x00]
-0x3c,0x00,0x2c,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], ttmp[8:11], s2 ; encoding: [0x3c,0x05,0x2c,0xc0,0x02,0x00,0x00,0x00]
+0x3c,0x05,0x2c,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], s101 ; encoding: [0x00,0x00,0x2c,0xc0,0x65,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x65,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], s101 ; encoding: [0x02,0x05,0x2c,0xc0,0x65,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x65,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], flat_scratch_lo ; encoding: [0x00,0x00,0x2c,0xc0,0x66,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x66,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], flat_scratch_lo ; encoding: [0x02,0x05,0x2c,0xc0,0x66,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x66,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], flat_scratch_hi ; encoding: [0x00,0x00,0x2c,0xc0,0x67,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x67,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], flat_scratch_hi ; encoding: [0x02,0x05,0x2c,0xc0,0x67,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x67,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], vcc_lo ; encoding: [0x00,0x00,0x2c,0xc0,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x6a,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x2c,0xc0,0x6a,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x6a,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], vcc_hi ; encoding: [0x00,0x00,0x2c,0xc0,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x6b,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x2c,0xc0,0x6b,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x6b,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], tba_lo ; encoding: [0x00,0x00,0x2c,0xc0,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x6c,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], tba_lo ; encoding: [0x02,0x05,0x2c,0xc0,0x6c,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x6c,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], tba_hi ; encoding: [0x00,0x00,0x2c,0xc0,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x6d,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], tba_hi ; encoding: [0x02,0x05,0x2c,0xc0,0x6d,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x6d,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], tma_lo ; encoding: [0x00,0x00,0x2c,0xc0,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x6e,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], tma_lo ; encoding: [0x02,0x05,0x2c,0xc0,0x6e,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x6e,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], tma_hi ; encoding: [0x00,0x00,0x2c,0xc0,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x6f,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], tma_hi ; encoding: [0x02,0x05,0x2c,0xc0,0x6f,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x6f,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], ttmp11 ; encoding: [0x00,0x00,0x2c,0xc0,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x7b,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], ttmp11 ; encoding: [0x02,0x05,0x2c,0xc0,0x7b,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x7b,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], m0 ; encoding: [0x00,0x00,0x2c,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], m0 ; encoding: [0x02,0x05,0x2c,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x05,0x2c,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], 0x7ffff ; encoding: [0x00,0x00,0x2e,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x2e,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], 0x7ffff ; encoding: [0x02,0x05,0x2e,0xc0,0xff,0xff,0x07,0x00]
+0x02,0x05,0x2e,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_buffer_load_dwordx8 s[0:7], s[0:3], s0 glc ; encoding: [0x00,0x00,0x2d,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], s2 glc ; encoding: [0x02,0x05,0x2d,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x05,0x2d,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], s0 ; encoding: [0x00,0x00,0x30,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], s2 ; encoding: [0x02,0x05,0x30,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[4:19], s[0:3], s0 ; encoding: [0x00,0x01,0x30,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x01,0x30,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[24:39], s[4:7], s2 ; encoding: [0x02,0x06,0x30,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x06,0x30,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[84:99], s[0:3], s0 ; encoding: [0x00,0x15,0x30,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x15,0x30,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[84:99], s[4:7], s2 ; encoding: [0x02,0x15,0x30,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x15,0x30,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[4:7], s0 ; encoding: [0x02,0x00,0x30,0xc0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x30,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[8:11], s2 ; encoding: [0x04,0x05,0x30,0xc0,0x02,0x00,0x00,0x00]
+0x04,0x05,0x30,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[96:99], s0 ; encoding: [0x30,0x00,0x30,0xc0,0x00,0x00,0x00,0x00]
-0x30,0x00,0x30,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[96:99], s2 ; encoding: [0x30,0x05,0x30,0xc0,0x02,0x00,0x00,0x00]
+0x30,0x05,0x30,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], ttmp[8:11], s0 ; encoding: [0x3c,0x00,0x30,0xc0,0x00,0x00,0x00,0x00]
-0x3c,0x00,0x30,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], ttmp[8:11], s2 ; encoding: [0x3c,0x05,0x30,0xc0,0x02,0x00,0x00,0x00]
+0x3c,0x05,0x30,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], s101 ; encoding: [0x00,0x00,0x30,0xc0,0x65,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x65,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], s101 ; encoding: [0x02,0x05,0x30,0xc0,0x65,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x65,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], flat_scratch_lo ; encoding: [0x00,0x00,0x30,0xc0,0x66,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x66,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], flat_scratch_lo ; encoding: [0x02,0x05,0x30,0xc0,0x66,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x66,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], flat_scratch_hi ; encoding: [0x00,0x00,0x30,0xc0,0x67,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x67,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], flat_scratch_hi ; encoding: [0x02,0x05,0x30,0xc0,0x67,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x67,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], vcc_lo ; encoding: [0x00,0x00,0x30,0xc0,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x6a,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x30,0xc0,0x6a,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x6a,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], vcc_hi ; encoding: [0x00,0x00,0x30,0xc0,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x6b,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x30,0xc0,0x6b,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x6b,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], tba_lo ; encoding: [0x00,0x00,0x30,0xc0,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x6c,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], tba_lo ; encoding: [0x02,0x05,0x30,0xc0,0x6c,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x6c,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], tba_hi ; encoding: [0x00,0x00,0x30,0xc0,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x6d,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], tba_hi ; encoding: [0x02,0x05,0x30,0xc0,0x6d,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x6d,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], tma_lo ; encoding: [0x00,0x00,0x30,0xc0,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x6e,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], tma_lo ; encoding: [0x02,0x05,0x30,0xc0,0x6e,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x6e,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], tma_hi ; encoding: [0x00,0x00,0x30,0xc0,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x6f,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], tma_hi ; encoding: [0x02,0x05,0x30,0xc0,0x6f,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x6f,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], ttmp11 ; encoding: [0x00,0x00,0x30,0xc0,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x7b,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], ttmp11 ; encoding: [0x02,0x05,0x30,0xc0,0x7b,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x7b,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], m0 ; encoding: [0x00,0x00,0x30,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x30,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], m0 ; encoding: [0x02,0x05,0x30,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x05,0x30,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], 0x7ffff ; encoding: [0x00,0x00,0x32,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x32,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], 0x7ffff ; encoding: [0x02,0x05,0x32,0xc0,0xff,0xff,0x07,0x00]
+0x02,0x05,0x32,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_buffer_load_dwordx16 s[0:15], s[0:3], s0 glc ; encoding: [0x00,0x00,0x31,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x31,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], s2 glc ; encoding: [0x02,0x05,0x31,0xc0,0x02,0x00,0x00,0x00]
+0x02,0x05,0x31,0xc0,0x02,0x00,0x00,0x00
-# CHECK: s_store_dword s0, s[0:1], m0 ; encoding: [0x00,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword s1, s[4:5], m0 ; encoding: [0x42,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x42,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword s101, s[0:1], m0 ; encoding: [0x40,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x40,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword s101, s[4:5], m0 ; encoding: [0x42,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x42,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword flat_scratch_lo, s[0:1], m0 ; encoding: [0x80,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword flat_scratch_lo, s[4:5], m0 ; encoding: [0x82,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x82,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword flat_scratch_hi, s[0:1], m0 ; encoding: [0xc0,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0xc0,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword flat_scratch_hi, s[4:5], m0 ; encoding: [0xc2,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0xc2,0x19,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword vcc_lo, s[0:1], m0 ; encoding: [0x80,0x1a,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x1a,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword vcc_lo, s[4:5], m0 ; encoding: [0x82,0x1a,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x82,0x1a,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword vcc_hi, s[0:1], m0 ; encoding: [0xc0,0x1a,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0xc0,0x1a,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword vcc_hi, s[4:5], m0 ; encoding: [0xc2,0x1a,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0xc2,0x1a,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword tba_lo, s[0:1], m0 ; encoding: [0x00,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword tba_lo, s[4:5], m0 ; encoding: [0x02,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword tba_hi, s[0:1], m0 ; encoding: [0x40,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x40,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword tba_hi, s[4:5], m0 ; encoding: [0x42,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x42,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword tma_lo, s[0:1], m0 ; encoding: [0x80,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword tma_lo, s[4:5], m0 ; encoding: [0x82,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x82,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword tma_hi, s[0:1], m0 ; encoding: [0xc0,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0xc0,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword tma_hi, s[4:5], m0 ; encoding: [0xc2,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0xc2,0x1b,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword ttmp11, s[0:1], m0 ; encoding: [0xc0,0x1e,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0xc0,0x1e,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword ttmp11, s[4:5], m0 ; encoding: [0xc2,0x1e,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0xc2,0x1e,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword s0, s[2:3], m0 ; encoding: [0x01,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x01,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword s1, s[6:7], m0 ; encoding: [0x43,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x43,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword s0, s[100:101], m0 ; encoding: [0x32,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x32,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword s1, s[100:101], m0 ; encoding: [0x72,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x72,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword s0, flat_scratch, m0 ; encoding: [0x33,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x33,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword s1, flat_scratch, m0 ; encoding: [0x73,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x73,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword s0, vcc, m0 ; encoding: [0x35,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x35,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword s1, vcc, m0 ; encoding: [0x75,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x75,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword s0, tba, m0 ; encoding: [0x36,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x36,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword s1, tba, m0 ; encoding: [0x76,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x76,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword s0, tma, m0 ; encoding: [0x37,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x37,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword s1, tma, m0 ; encoding: [0x77,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x77,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword s0, ttmp[10:11], m0 ; encoding: [0x3d,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
-0x3d,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword s1, ttmp[10:11], m0 ; encoding: [0x7d,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
+0x7d,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dword s0, s[0:1], 0x7ffff ; encoding: [0x00,0x00,0x42,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x42,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_store_dword s1, s[4:5], 0x7ffff ; encoding: [0x42,0x00,0x42,0xc0,0xff,0xff,0x07,0x00]
+0x42,0x00,0x42,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_store_dword s0, s[0:1], m0 glc ; encoding: [0x00,0x00,0x41,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x41,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dword s1, s[4:5], m0 glc ; encoding: [0x42,0x00,0x41,0xc0,0x7c,0x00,0x00,0x00]
+0x42,0x00,0x41,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[0:1], s[0:1], m0 ; encoding: [0x00,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[2:3], s[4:5], m0 ; encoding: [0x82,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0x82,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[2:3], s[0:1], m0 ; encoding: [0x80,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[4:5], s[4:5], m0 ; encoding: [0x02,0x01,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x01,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[100:101], s[0:1], m0 ; encoding: [0x00,0x19,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x19,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[100:101], s[4:5], m0 ; encoding: [0x02,0x19,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x19,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 flat_scratch, s[0:1], m0 ; encoding: [0x80,0x19,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x19,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 flat_scratch, s[4:5], m0 ; encoding: [0x82,0x19,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0x82,0x19,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 vcc, s[0:1], m0 ; encoding: [0x80,0x1a,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x1a,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 vcc, s[4:5], m0 ; encoding: [0x82,0x1a,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0x82,0x1a,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 tba, s[0:1], m0 ; encoding: [0x00,0x1b,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x1b,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 tba, s[4:5], m0 ; encoding: [0x02,0x1b,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x1b,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 tma, s[0:1], m0 ; encoding: [0x80,0x1b,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x1b,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 tma, s[4:5], m0 ; encoding: [0x82,0x1b,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0x82,0x1b,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 ttmp[10:11], s[0:1], m0 ; encoding: [0x80,0x1e,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x1e,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 ttmp[10:11], s[4:5], m0 ; encoding: [0x82,0x1e,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0x82,0x1e,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[0:1], s[2:3], m0 ; encoding: [0x01,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x01,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[2:3], s[6:7], m0 ; encoding: [0x83,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0x83,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[0:1], s[100:101], m0 ; encoding: [0x32,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x32,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[2:3], s[100:101], m0 ; encoding: [0xb2,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0xb2,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[0:1], flat_scratch, m0 ; encoding: [0x33,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x33,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[2:3], flat_scratch, m0 ; encoding: [0xb3,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0xb3,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[0:1], vcc, m0 ; encoding: [0x35,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x35,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[2:3], vcc, m0 ; encoding: [0xb5,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0xb5,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[0:1], tba, m0 ; encoding: [0x36,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x36,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[2:3], tba, m0 ; encoding: [0xb6,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0xb6,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[0:1], tma, m0 ; encoding: [0x37,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x37,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[2:3], tma, m0 ; encoding: [0xb7,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0xb7,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[0:1], ttmp[10:11], m0 ; encoding: [0x3d,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
-0x3d,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[2:3], ttmp[10:11], m0 ; encoding: [0xbd,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
+0xbd,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx2 s[0:1], s[0:1], 0x7ffff ; encoding: [0x00,0x00,0x46,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x46,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_store_dwordx2 s[2:3], s[4:5], 0x7ffff ; encoding: [0x82,0x00,0x46,0xc0,0xff,0xff,0x07,0x00]
+0x82,0x00,0x46,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_store_dwordx2 s[0:1], s[0:1], m0 glc ; encoding: [0x00,0x00,0x45,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x45,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx2 s[2:3], s[4:5], m0 glc ; encoding: [0x82,0x00,0x45,0xc0,0x7c,0x00,0x00,0x00]
+0x82,0x00,0x45,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[0:3], s[0:1], m0 ; encoding: [0x00,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[4:7], s[4:5], m0 ; encoding: [0x02,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[4:7], s[0:1], m0 ; encoding: [0x00,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[8:11], s[4:5], m0 ; encoding: [0x02,0x02,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x02,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[96:99], s[0:1], m0 ; encoding: [0x00,0x18,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x18,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[96:99], s[4:5], m0 ; encoding: [0x02,0x18,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x18,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 ttmp[8:11], s[0:1], m0 ; encoding: [0x00,0x1e,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x1e,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 ttmp[8:11], s[4:5], m0 ; encoding: [0x02,0x1e,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x1e,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[0:3], s[2:3], m0 ; encoding: [0x01,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x01,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[4:7], s[6:7], m0 ; encoding: [0x03,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x03,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[0:3], s[100:101], m0 ; encoding: [0x32,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x32,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[4:7], s[100:101], m0 ; encoding: [0x32,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x32,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[0:3], flat_scratch, m0 ; encoding: [0x33,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x33,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[4:7], flat_scratch, m0 ; encoding: [0x33,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x33,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[0:3], vcc, m0 ; encoding: [0x35,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x35,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[4:7], vcc, m0 ; encoding: [0x35,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x35,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[0:3], tba, m0 ; encoding: [0x36,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x36,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[4:7], tba, m0 ; encoding: [0x36,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x36,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[0:3], tma, m0 ; encoding: [0x37,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x37,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[4:7], tma, m0 ; encoding: [0x37,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x37,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[0:3], ttmp[10:11], m0 ; encoding: [0x3d,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00]
-0x3d,0x00,0x48,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[4:7], ttmp[10:11], m0 ; encoding: [0x3d,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
+0x3d,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_store_dwordx4 s[0:3], s[0:1], 0x7ffff ; encoding: [0x00,0x00,0x4a,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x4a,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_store_dwordx4 s[4:7], s[4:5], 0x7ffff ; encoding: [0x02,0x01,0x4a,0xc0,0xff,0xff,0x07,0x00]
+0x02,0x01,0x4a,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_store_dwordx4 s[0:3], s[0:1], m0 glc ; encoding: [0x00,0x00,0x49,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x49,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_store_dwordx4 s[4:7], s[4:5], m0 glc ; encoding: [0x02,0x01,0x49,0xc0,0x7c,0x00,0x00,0x00]
+0x02,0x01,0x49,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword s0, s[0:3], m0 ; encoding: [0x00,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword s1, s[8:11], m0 ; encoding: [0x44,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0x44,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword s101, s[0:3], m0 ; encoding: [0x40,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0x40,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword s101, s[8:11], m0 ; encoding: [0x44,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0x44,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword flat_scratch_lo, s[0:3], m0 ; encoding: [0x80,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword flat_scratch_lo, s[8:11], m0 ; encoding: [0x84,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0x84,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword flat_scratch_hi, s[0:3], m0 ; encoding: [0xc0,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0xc0,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword flat_scratch_hi, s[8:11], m0 ; encoding: [0xc4,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0xc4,0x19,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword vcc_lo, s[0:3], m0 ; encoding: [0x80,0x1a,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x1a,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword vcc_lo, s[8:11], m0 ; encoding: [0x84,0x1a,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0x84,0x1a,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword vcc_hi, s[0:3], m0 ; encoding: [0xc0,0x1a,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0xc0,0x1a,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword vcc_hi, s[8:11], m0 ; encoding: [0xc4,0x1a,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0xc4,0x1a,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword tba_lo, s[0:3], m0 ; encoding: [0x00,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword tba_lo, s[8:11], m0 ; encoding: [0x04,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0x04,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword tba_hi, s[0:3], m0 ; encoding: [0x40,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0x40,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword tba_hi, s[8:11], m0 ; encoding: [0x44,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0x44,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword tma_lo, s[0:3], m0 ; encoding: [0x80,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword tma_lo, s[8:11], m0 ; encoding: [0x84,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0x84,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword tma_hi, s[0:3], m0 ; encoding: [0xc0,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0xc0,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword tma_hi, s[8:11], m0 ; encoding: [0xc4,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0xc4,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword ttmp11, s[0:3], m0 ; encoding: [0xc0,0x1e,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0xc0,0x1e,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword ttmp11, s[8:11], m0 ; encoding: [0xc4,0x1e,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0xc4,0x1e,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword s0, s[4:7], m0 ; encoding: [0x02,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0x02,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword s1, s[12:15], m0 ; encoding: [0x46,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0x46,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword s0, s[96:99], m0 ; encoding: [0x30,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0x30,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword s1, s[96:99], m0 ; encoding: [0x70,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0x70,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword s0, ttmp[8:11], m0 ; encoding: [0x3c,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00]
-0x3c,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword s1, ttmp[8:11], m0 ; encoding: [0x7c,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00]
+0x7c,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dword s0, s[0:3], 0x7ffff ; encoding: [0x00,0x00,0x62,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x62,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_buffer_store_dword s1, s[8:11], 0x7ffff ; encoding: [0x44,0x00,0x62,0xc0,0xff,0xff,0x07,0x00]
+0x44,0x00,0x62,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_buffer_store_dword s0, s[0:3], m0 glc ; encoding: [0x00,0x00,0x61,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x61,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dword s1, s[8:11], m0 glc ; encoding: [0x44,0x00,0x61,0xc0,0x7c,0x00,0x00,0x00]
+0x44,0x00,0x61,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 s[0:1], s[0:3], m0 ; encoding: [0x00,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], m0 ; encoding: [0x84,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0x84,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 s[2:3], s[0:3], m0 ; encoding: [0x80,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 s[4:5], s[8:11], m0 ; encoding: [0x04,0x01,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0x04,0x01,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 s[100:101], s[0:3], m0 ; encoding: [0x00,0x19,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x19,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 s[100:101], s[8:11], m0 ; encoding: [0x04,0x19,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0x04,0x19,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 flat_scratch, s[0:3], m0 ; encoding: [0x80,0x19,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x19,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 flat_scratch, s[8:11], m0 ; encoding: [0x84,0x19,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0x84,0x19,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 vcc, s[0:3], m0 ; encoding: [0x80,0x1a,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x1a,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 vcc, s[8:11], m0 ; encoding: [0x84,0x1a,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0x84,0x1a,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 tba, s[0:3], m0 ; encoding: [0x00,0x1b,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x1b,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 tba, s[8:11], m0 ; encoding: [0x04,0x1b,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0x04,0x1b,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 tma, s[0:3], m0 ; encoding: [0x80,0x1b,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x1b,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 tma, s[8:11], m0 ; encoding: [0x84,0x1b,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0x84,0x1b,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 ttmp[10:11], s[0:3], m0 ; encoding: [0x80,0x1e,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x80,0x1e,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 ttmp[10:11], s[8:11], m0 ; encoding: [0x84,0x1e,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0x84,0x1e,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 s[0:1], s[4:7], m0 ; encoding: [0x02,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x02,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[12:15], m0 ; encoding: [0x86,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0x86,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 s[0:1], s[96:99], m0 ; encoding: [0x30,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x30,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[96:99], m0 ; encoding: [0xb0,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0xb0,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 s[0:1], ttmp[8:11], m0 ; encoding: [0x3c,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
-0x3c,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 s[2:3], ttmp[8:11], m0 ; encoding: [0xbc,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
+0xbc,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx2 s[0:1], s[0:3], 0x7ffff ; encoding: [0x00,0x00,0x66,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x66,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], 0x7ffff ; encoding: [0x84,0x00,0x66,0xc0,0xff,0xff,0x07,0x00]
+0x84,0x00,0x66,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_buffer_store_dwordx2 s[0:1], s[0:3], m0 glc ; encoding: [0x00,0x00,0x65,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x65,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], m0 glc ; encoding: [0x84,0x00,0x65,0xc0,0x7c,0x00,0x00,0x00]
+0x84,0x00,0x65,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx4 s[0:3], s[0:3], m0 ; encoding: [0x00,0x00,0x68,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x68,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], m0 ; encoding: [0x04,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00]
+0x04,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx4 s[4:7], s[0:3], m0 ; encoding: [0x00,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx4 s[8:11], s[8:11], m0 ; encoding: [0x04,0x02,0x68,0xc0,0x7c,0x00,0x00,0x00]
+0x04,0x02,0x68,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx4 s[96:99], s[0:3], m0 ; encoding: [0x00,0x18,0x68,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x18,0x68,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx4 s[96:99], s[8:11], m0 ; encoding: [0x04,0x18,0x68,0xc0,0x7c,0x00,0x00,0x00]
+0x04,0x18,0x68,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx4 ttmp[8:11], s[0:3], m0 ; encoding: [0x00,0x1e,0x68,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x1e,0x68,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx4 ttmp[8:11], s[8:11], m0 ; encoding: [0x04,0x1e,0x68,0xc0,0x7c,0x00,0x00,0x00]
+0x04,0x1e,0x68,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx4 s[0:3], s[4:7], m0 ; encoding: [0x02,0x00,0x68,0xc0,0x7c,0x00,0x00,0x00]
-0x02,0x00,0x68,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[12:15], m0 ; encoding: [0x06,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00]
+0x06,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx4 s[0:3], s[96:99], m0 ; encoding: [0x30,0x00,0x68,0xc0,0x7c,0x00,0x00,0x00]
-0x30,0x00,0x68,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[96:99], m0 ; encoding: [0x30,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00]
+0x30,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx4 s[0:3], ttmp[8:11], m0 ; encoding: [0x3c,0x00,0x68,0xc0,0x7c,0x00,0x00,0x00]
-0x3c,0x00,0x68,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx4 s[4:7], ttmp[8:11], m0 ; encoding: [0x3c,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00]
+0x3c,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00
-# CHECK: s_buffer_store_dwordx4 s[0:3], s[0:3], 0x7ffff ; encoding: [0x00,0x00,0x6a,0xc0,0xff,0xff,0x07,0x00]
-0x00,0x00,0x6a,0xc0,0xff,0xff,0x07,0x00
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], 0x7ffff ; encoding: [0x04,0x01,0x6a,0xc0,0xff,0xff,0x07,0x00]
+0x04,0x01,0x6a,0xc0,0xff,0xff,0x07,0x00
-# CHECK: s_buffer_store_dwordx4 s[0:3], s[0:3], m0 glc ; encoding: [0x00,0x00,0x69,0xc0,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x69,0xc0,0x7c,0x00,0x00,0x00
+# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], m0 glc ; encoding: [0x04,0x01,0x69,0xc0,0x7c,0x00,0x00,0x00]
+0x04,0x01,0x69,0xc0,0x7c,0x00,0x00,0x00
# CHECK: s_dcache_inv ; encoding: [0x00,0x00,0x80,0xc0,0x00,0x00,0x00,0x00]
0x00,0x00,0x80,0xc0,0x00,0x00,0x00,0x00
@@ -6384,11 +6459,11 @@
# CHECK: s_dcache_wb_vol ; encoding: [0x00,0x00,0x8c,0xc0,0x00,0x00,0x00,0x00]
0x00,0x00,0x8c,0xc0,0x00,0x00,0x00,0x00
-# CHECK: s_memtime s[0:1] ; encoding: [0x00,0x00,0x90,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x90,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_memtime s[10:11] ; encoding: [0x80,0x02,0x90,0xc0,0x00,0x00,0x00,0x00]
+0x80,0x02,0x90,0xc0,0x00,0x00,0x00,0x00
-# CHECK: s_memtime s[2:3] ; encoding: [0x80,0x00,0x90,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x00,0x90,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_memtime s[12:13] ; encoding: [0x00,0x03,0x90,0xc0,0x00,0x00,0x00,0x00]
+0x00,0x03,0x90,0xc0,0x00,0x00,0x00,0x00
# CHECK: s_memtime s[100:101] ; encoding: [0x00,0x19,0x90,0xc0,0x00,0x00,0x00,0x00]
0x00,0x19,0x90,0xc0,0x00,0x00,0x00,0x00
@@ -6408,11 +6483,11 @@
# CHECK: s_memtime ttmp[10:11] ; encoding: [0x80,0x1e,0x90,0xc0,0x00,0x00,0x00,0x00]
0x80,0x1e,0x90,0xc0,0x00,0x00,0x00,0x00
-# CHECK: s_memrealtime s[0:1] ; encoding: [0x00,0x00,0x94,0xc0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x94,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_memrealtime s[10:11] ; encoding: [0x80,0x02,0x94,0xc0,0x00,0x00,0x00,0x00]
+0x80,0x02,0x94,0xc0,0x00,0x00,0x00,0x00
-# CHECK: s_memrealtime s[2:3] ; encoding: [0x80,0x00,0x94,0xc0,0x00,0x00,0x00,0x00]
-0x80,0x00,0x94,0xc0,0x00,0x00,0x00,0x00
+# CHECK: s_memrealtime s[12:13] ; encoding: [0x00,0x03,0x94,0xc0,0x00,0x00,0x00,0x00]
+0x00,0x03,0x94,0xc0,0x00,0x00,0x00,0x00
# CHECK: s_memrealtime s[100:101] ; encoding: [0x00,0x19,0x94,0xc0,0x00,0x00,0x00,0x00]
0x00,0x19,0x94,0xc0,0x00,0x00,0x00,0x00
@@ -6432,2564 +6507,2564 @@
# CHECK: s_memrealtime ttmp[10:11] ; encoding: [0x80,0x1e,0x94,0xc0,0x00,0x00,0x00,0x00]
0x80,0x1e,0x94,0xc0,0x00,0x00,0x00,0x00
-# CHECK: s_mov_b32 s0, s0 ; encoding: [0x00,0x00,0x80,0xbe]
-0x00,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, s1 ; encoding: [0x01,0x00,0x85,0xbe]
+0x01,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s101, s0 ; encoding: [0x00,0x00,0xe5,0xbe]
-0x00,0x00,0xe5,0xbe
+# CHECK: s_mov_b32 s101, s1 ; encoding: [0x01,0x00,0xe5,0xbe]
+0x01,0x00,0xe5,0xbe
-# CHECK: s_mov_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x00,0xe6,0xbe]
-0x00,0x00,0xe6,0xbe
+# CHECK: s_mov_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x00,0xe6,0xbe]
+0x01,0x00,0xe6,0xbe
-# CHECK: s_mov_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x00,0xe7,0xbe]
-0x00,0x00,0xe7,0xbe
+# CHECK: s_mov_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x00,0xe7,0xbe]
+0x01,0x00,0xe7,0xbe
-# CHECK: s_mov_b32 vcc_lo, s0 ; encoding: [0x00,0x00,0xea,0xbe]
-0x00,0x00,0xea,0xbe
+# CHECK: s_mov_b32 vcc_lo, s1 ; encoding: [0x01,0x00,0xea,0xbe]
+0x01,0x00,0xea,0xbe
-# CHECK: s_mov_b32 vcc_hi, s0 ; encoding: [0x00,0x00,0xeb,0xbe]
-0x00,0x00,0xeb,0xbe
+# CHECK: s_mov_b32 vcc_hi, s1 ; encoding: [0x01,0x00,0xeb,0xbe]
+0x01,0x00,0xeb,0xbe
-# CHECK: s_mov_b32 tba_lo, s0 ; encoding: [0x00,0x00,0xec,0xbe]
-0x00,0x00,0xec,0xbe
+# CHECK: s_mov_b32 tba_lo, s1 ; encoding: [0x01,0x00,0xec,0xbe]
+0x01,0x00,0xec,0xbe
-# CHECK: s_mov_b32 tba_hi, s0 ; encoding: [0x00,0x00,0xed,0xbe]
-0x00,0x00,0xed,0xbe
+# CHECK: s_mov_b32 tba_hi, s1 ; encoding: [0x01,0x00,0xed,0xbe]
+0x01,0x00,0xed,0xbe
-# CHECK: s_mov_b32 tma_lo, s0 ; encoding: [0x00,0x00,0xee,0xbe]
-0x00,0x00,0xee,0xbe
+# CHECK: s_mov_b32 tma_lo, s1 ; encoding: [0x01,0x00,0xee,0xbe]
+0x01,0x00,0xee,0xbe
-# CHECK: s_mov_b32 tma_hi, s0 ; encoding: [0x00,0x00,0xef,0xbe]
-0x00,0x00,0xef,0xbe
+# CHECK: s_mov_b32 tma_hi, s1 ; encoding: [0x01,0x00,0xef,0xbe]
+0x01,0x00,0xef,0xbe
-# CHECK: s_mov_b32 ttmp11, s0 ; encoding: [0x00,0x00,0xfb,0xbe]
-0x00,0x00,0xfb,0xbe
+# CHECK: s_mov_b32 ttmp11, s1 ; encoding: [0x01,0x00,0xfb,0xbe]
+0x01,0x00,0xfb,0xbe
-# CHECK: s_mov_b32 m0, s0 ; encoding: [0x00,0x00,0xfc,0xbe]
-0x00,0x00,0xfc,0xbe
+# CHECK: s_mov_b32 m0, s1 ; encoding: [0x01,0x00,0xfc,0xbe]
+0x01,0x00,0xfc,0xbe
-# CHECK: s_mov_b32 exec_lo, s0 ; encoding: [0x00,0x00,0xfe,0xbe]
-0x00,0x00,0xfe,0xbe
+# CHECK: s_mov_b32 exec_lo, s1 ; encoding: [0x01,0x00,0xfe,0xbe]
+0x01,0x00,0xfe,0xbe
-# CHECK: s_mov_b32 exec_hi, s0 ; encoding: [0x00,0x00,0xff,0xbe]
-0x00,0x00,0xff,0xbe
+# CHECK: s_mov_b32 exec_hi, s1 ; encoding: [0x01,0x00,0xff,0xbe]
+0x01,0x00,0xff,0xbe
-# CHECK: s_mov_b32 s0, s101 ; encoding: [0x65,0x00,0x80,0xbe]
-0x65,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, s101 ; encoding: [0x65,0x00,0x85,0xbe]
+0x65,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, flat_scratch_lo ; encoding: [0x66,0x00,0x80,0xbe]
-0x66,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, flat_scratch_lo ; encoding: [0x66,0x00,0x85,0xbe]
+0x66,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, flat_scratch_hi ; encoding: [0x67,0x00,0x80,0xbe]
-0x67,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, flat_scratch_hi ; encoding: [0x67,0x00,0x85,0xbe]
+0x67,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, vcc_lo ; encoding: [0x6a,0x00,0x80,0xbe]
-0x6a,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, vcc_lo ; encoding: [0x6a,0x00,0x85,0xbe]
+0x6a,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, vcc_hi ; encoding: [0x6b,0x00,0x80,0xbe]
-0x6b,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, vcc_hi ; encoding: [0x6b,0x00,0x85,0xbe]
+0x6b,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, tba_lo ; encoding: [0x6c,0x00,0x80,0xbe]
-0x6c,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, tba_lo ; encoding: [0x6c,0x00,0x85,0xbe]
+0x6c,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, tba_hi ; encoding: [0x6d,0x00,0x80,0xbe]
-0x6d,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, tba_hi ; encoding: [0x6d,0x00,0x85,0xbe]
+0x6d,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, tma_lo ; encoding: [0x6e,0x00,0x80,0xbe]
-0x6e,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, tma_lo ; encoding: [0x6e,0x00,0x85,0xbe]
+0x6e,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, tma_hi ; encoding: [0x6f,0x00,0x80,0xbe]
-0x6f,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, tma_hi ; encoding: [0x6f,0x00,0x85,0xbe]
+0x6f,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, ttmp11 ; encoding: [0x7b,0x00,0x80,0xbe]
-0x7b,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, ttmp11 ; encoding: [0x7b,0x00,0x85,0xbe]
+0x7b,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, m0 ; encoding: [0x7c,0x00,0x80,0xbe]
-0x7c,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, m0 ; encoding: [0x7c,0x00,0x85,0xbe]
+0x7c,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, exec_lo ; encoding: [0x7e,0x00,0x80,0xbe]
-0x7e,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, exec_lo ; encoding: [0x7e,0x00,0x85,0xbe]
+0x7e,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, exec_hi ; encoding: [0x7f,0x00,0x80,0xbe]
-0x7f,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, exec_hi ; encoding: [0x7f,0x00,0x85,0xbe]
+0x7f,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, 0 ; encoding: [0x80,0x00,0x80,0xbe]
-0x80,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, 0 ; encoding: [0x80,0x00,0x85,0xbe]
+0x80,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, -1 ; encoding: [0xc1,0x00,0x80,0xbe]
-0xc1,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, -1 ; encoding: [0xc1,0x00,0x85,0xbe]
+0xc1,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, 0.5 ; encoding: [0xf0,0x00,0x80,0xbe]
-0xf0,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, 0.5 ; encoding: [0xf0,0x00,0x85,0xbe]
+0xf0,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, -4.0 ; encoding: [0xf7,0x00,0x80,0xbe]
-0xf7,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, -4.0 ; encoding: [0xf7,0x00,0x85,0xbe]
+0xf7,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, scc ; encoding: [0xfd,0x00,0x80,0xbe]
-0xfd,0x00,0x80,0xbe
+# CHECK: s_mov_b32 s5, scc ; encoding: [0xfd,0x00,0x85,0xbe]
+0xfd,0x00,0x85,0xbe
-# CHECK: s_mov_b32 s0, 0xaf123456 ; encoding: [0xff,0x00,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_mov_b32 s5, 0xaf123456 ; encoding: [0xff,0x00,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x00,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_mov_b32 s0, 0x3f717273 ; encoding: [0xff,0x00,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_mov_b32 s5, 0x3f717273 ; encoding: [0xff,0x00,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x00,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_mov_b64 s[0:1], s[0:1] ; encoding: [0x00,0x01,0x80,0xbe]
-0x00,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], s[2:3] ; encoding: [0x02,0x01,0x8a,0xbe]
+0x02,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[2:3], s[0:1] ; encoding: [0x00,0x01,0x82,0xbe]
-0x00,0x01,0x82,0xbe
+# CHECK: s_mov_b64 s[12:13], s[2:3] ; encoding: [0x02,0x01,0x8c,0xbe]
+0x02,0x01,0x8c,0xbe
-# CHECK: s_mov_b64 s[100:101], s[0:1] ; encoding: [0x00,0x01,0xe4,0xbe]
-0x00,0x01,0xe4,0xbe
+# CHECK: s_mov_b64 s[100:101], s[2:3] ; encoding: [0x02,0x01,0xe4,0xbe]
+0x02,0x01,0xe4,0xbe
-# CHECK: s_mov_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x01,0xe6,0xbe]
-0x00,0x01,0xe6,0xbe
+# CHECK: s_mov_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x01,0xe6,0xbe]
+0x02,0x01,0xe6,0xbe
-# CHECK: s_mov_b64 vcc, s[0:1] ; encoding: [0x00,0x01,0xea,0xbe]
-0x00,0x01,0xea,0xbe
+# CHECK: s_mov_b64 vcc, s[2:3] ; encoding: [0x02,0x01,0xea,0xbe]
+0x02,0x01,0xea,0xbe
-# CHECK: s_mov_b64 tba, s[0:1] ; encoding: [0x00,0x01,0xec,0xbe]
-0x00,0x01,0xec,0xbe
+# CHECK: s_mov_b64 tba, s[2:3] ; encoding: [0x02,0x01,0xec,0xbe]
+0x02,0x01,0xec,0xbe
-# CHECK: s_mov_b64 tma, s[0:1] ; encoding: [0x00,0x01,0xee,0xbe]
-0x00,0x01,0xee,0xbe
+# CHECK: s_mov_b64 tma, s[2:3] ; encoding: [0x02,0x01,0xee,0xbe]
+0x02,0x01,0xee,0xbe
-# CHECK: s_mov_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x01,0xfa,0xbe]
-0x00,0x01,0xfa,0xbe
+# CHECK: s_mov_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x01,0xfa,0xbe]
+0x02,0x01,0xfa,0xbe
-# CHECK: s_mov_b64 exec, s[0:1] ; encoding: [0x00,0x01,0xfe,0xbe]
-0x00,0x01,0xfe,0xbe
+# CHECK: s_mov_b64 exec, s[2:3] ; encoding: [0x02,0x01,0xfe,0xbe]
+0x02,0x01,0xfe,0xbe
-# CHECK: s_mov_b64 s[0:1], s[2:3] ; encoding: [0x02,0x01,0x80,0xbe]
-0x02,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], s[4:5] ; encoding: [0x04,0x01,0x8a,0xbe]
+0x04,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], s[100:101] ; encoding: [0x64,0x01,0x80,0xbe]
-0x64,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], s[100:101] ; encoding: [0x64,0x01,0x8a,0xbe]
+0x64,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], flat_scratch ; encoding: [0x66,0x01,0x80,0xbe]
-0x66,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], flat_scratch ; encoding: [0x66,0x01,0x8a,0xbe]
+0x66,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], vcc ; encoding: [0x6a,0x01,0x80,0xbe]
-0x6a,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], vcc ; encoding: [0x6a,0x01,0x8a,0xbe]
+0x6a,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], tba ; encoding: [0x6c,0x01,0x80,0xbe]
-0x6c,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], tba ; encoding: [0x6c,0x01,0x8a,0xbe]
+0x6c,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], tma ; encoding: [0x6e,0x01,0x80,0xbe]
-0x6e,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], tma ; encoding: [0x6e,0x01,0x8a,0xbe]
+0x6e,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x01,0x80,0xbe]
-0x7a,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x01,0x8a,0xbe]
+0x7a,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], exec ; encoding: [0x7e,0x01,0x80,0xbe]
-0x7e,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], exec ; encoding: [0x7e,0x01,0x8a,0xbe]
+0x7e,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], 0 ; encoding: [0x80,0x01,0x80,0xbe]
-0x80,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], 0 ; encoding: [0x80,0x01,0x8a,0xbe]
+0x80,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], -1 ; encoding: [0xc1,0x01,0x80,0xbe]
-0xc1,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], -1 ; encoding: [0xc1,0x01,0x8a,0xbe]
+0xc1,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], 0.5 ; encoding: [0xf0,0x01,0x80,0xbe]
-0xf0,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], 0.5 ; encoding: [0xf0,0x01,0x8a,0xbe]
+0xf0,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], -4.0 ; encoding: [0xf7,0x01,0x80,0xbe]
-0xf7,0x01,0x80,0xbe
+# CHECK: s_mov_b64 s[10:11], -4.0 ; encoding: [0xf7,0x01,0x8a,0xbe]
+0xf7,0x01,0x8a,0xbe
-# CHECK: s_mov_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x01,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x01,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_mov_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x01,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x01,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_mov_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x01,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x01,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_mov_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x01,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x01,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_cmov_b32 s0, s0 ; encoding: [0x00,0x02,0x80,0xbe]
-0x00,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, s1 ; encoding: [0x01,0x02,0x85,0xbe]
+0x01,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s101, s0 ; encoding: [0x00,0x02,0xe5,0xbe]
-0x00,0x02,0xe5,0xbe
+# CHECK: s_cmov_b32 s101, s1 ; encoding: [0x01,0x02,0xe5,0xbe]
+0x01,0x02,0xe5,0xbe
-# CHECK: s_cmov_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x02,0xe6,0xbe]
-0x00,0x02,0xe6,0xbe
+# CHECK: s_cmov_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x02,0xe6,0xbe]
+0x01,0x02,0xe6,0xbe
-# CHECK: s_cmov_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x02,0xe7,0xbe]
-0x00,0x02,0xe7,0xbe
+# CHECK: s_cmov_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x02,0xe7,0xbe]
+0x01,0x02,0xe7,0xbe
-# CHECK: s_cmov_b32 vcc_lo, s0 ; encoding: [0x00,0x02,0xea,0xbe]
-0x00,0x02,0xea,0xbe
+# CHECK: s_cmov_b32 vcc_lo, s1 ; encoding: [0x01,0x02,0xea,0xbe]
+0x01,0x02,0xea,0xbe
-# CHECK: s_cmov_b32 vcc_hi, s0 ; encoding: [0x00,0x02,0xeb,0xbe]
-0x00,0x02,0xeb,0xbe
+# CHECK: s_cmov_b32 vcc_hi, s1 ; encoding: [0x01,0x02,0xeb,0xbe]
+0x01,0x02,0xeb,0xbe
-# CHECK: s_cmov_b32 tba_lo, s0 ; encoding: [0x00,0x02,0xec,0xbe]
-0x00,0x02,0xec,0xbe
+# CHECK: s_cmov_b32 tba_lo, s1 ; encoding: [0x01,0x02,0xec,0xbe]
+0x01,0x02,0xec,0xbe
-# CHECK: s_cmov_b32 tba_hi, s0 ; encoding: [0x00,0x02,0xed,0xbe]
-0x00,0x02,0xed,0xbe
+# CHECK: s_cmov_b32 tba_hi, s1 ; encoding: [0x01,0x02,0xed,0xbe]
+0x01,0x02,0xed,0xbe
-# CHECK: s_cmov_b32 tma_lo, s0 ; encoding: [0x00,0x02,0xee,0xbe]
-0x00,0x02,0xee,0xbe
+# CHECK: s_cmov_b32 tma_lo, s1 ; encoding: [0x01,0x02,0xee,0xbe]
+0x01,0x02,0xee,0xbe
-# CHECK: s_cmov_b32 tma_hi, s0 ; encoding: [0x00,0x02,0xef,0xbe]
-0x00,0x02,0xef,0xbe
+# CHECK: s_cmov_b32 tma_hi, s1 ; encoding: [0x01,0x02,0xef,0xbe]
+0x01,0x02,0xef,0xbe
-# CHECK: s_cmov_b32 ttmp11, s0 ; encoding: [0x00,0x02,0xfb,0xbe]
-0x00,0x02,0xfb,0xbe
+# CHECK: s_cmov_b32 ttmp11, s1 ; encoding: [0x01,0x02,0xfb,0xbe]
+0x01,0x02,0xfb,0xbe
-# CHECK: s_cmov_b32 m0, s0 ; encoding: [0x00,0x02,0xfc,0xbe]
-0x00,0x02,0xfc,0xbe
+# CHECK: s_cmov_b32 m0, s1 ; encoding: [0x01,0x02,0xfc,0xbe]
+0x01,0x02,0xfc,0xbe
-# CHECK: s_cmov_b32 exec_lo, s0 ; encoding: [0x00,0x02,0xfe,0xbe]
-0x00,0x02,0xfe,0xbe
+# CHECK: s_cmov_b32 exec_lo, s1 ; encoding: [0x01,0x02,0xfe,0xbe]
+0x01,0x02,0xfe,0xbe
-# CHECK: s_cmov_b32 exec_hi, s0 ; encoding: [0x00,0x02,0xff,0xbe]
-0x00,0x02,0xff,0xbe
+# CHECK: s_cmov_b32 exec_hi, s1 ; encoding: [0x01,0x02,0xff,0xbe]
+0x01,0x02,0xff,0xbe
-# CHECK: s_cmov_b32 s0, s101 ; encoding: [0x65,0x02,0x80,0xbe]
-0x65,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, s101 ; encoding: [0x65,0x02,0x85,0xbe]
+0x65,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, flat_scratch_lo ; encoding: [0x66,0x02,0x80,0xbe]
-0x66,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, flat_scratch_lo ; encoding: [0x66,0x02,0x85,0xbe]
+0x66,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, flat_scratch_hi ; encoding: [0x67,0x02,0x80,0xbe]
-0x67,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, flat_scratch_hi ; encoding: [0x67,0x02,0x85,0xbe]
+0x67,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, vcc_lo ; encoding: [0x6a,0x02,0x80,0xbe]
-0x6a,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, vcc_lo ; encoding: [0x6a,0x02,0x85,0xbe]
+0x6a,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, vcc_hi ; encoding: [0x6b,0x02,0x80,0xbe]
-0x6b,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, vcc_hi ; encoding: [0x6b,0x02,0x85,0xbe]
+0x6b,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, tba_lo ; encoding: [0x6c,0x02,0x80,0xbe]
-0x6c,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, tba_lo ; encoding: [0x6c,0x02,0x85,0xbe]
+0x6c,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, tba_hi ; encoding: [0x6d,0x02,0x80,0xbe]
-0x6d,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, tba_hi ; encoding: [0x6d,0x02,0x85,0xbe]
+0x6d,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, tma_lo ; encoding: [0x6e,0x02,0x80,0xbe]
-0x6e,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, tma_lo ; encoding: [0x6e,0x02,0x85,0xbe]
+0x6e,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, tma_hi ; encoding: [0x6f,0x02,0x80,0xbe]
-0x6f,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, tma_hi ; encoding: [0x6f,0x02,0x85,0xbe]
+0x6f,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, ttmp11 ; encoding: [0x7b,0x02,0x80,0xbe]
-0x7b,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, ttmp11 ; encoding: [0x7b,0x02,0x85,0xbe]
+0x7b,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, m0 ; encoding: [0x7c,0x02,0x80,0xbe]
-0x7c,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, m0 ; encoding: [0x7c,0x02,0x85,0xbe]
+0x7c,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, exec_lo ; encoding: [0x7e,0x02,0x80,0xbe]
-0x7e,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, exec_lo ; encoding: [0x7e,0x02,0x85,0xbe]
+0x7e,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, exec_hi ; encoding: [0x7f,0x02,0x80,0xbe]
-0x7f,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, exec_hi ; encoding: [0x7f,0x02,0x85,0xbe]
+0x7f,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, 0 ; encoding: [0x80,0x02,0x80,0xbe]
-0x80,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, 0 ; encoding: [0x80,0x02,0x85,0xbe]
+0x80,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, -1 ; encoding: [0xc1,0x02,0x80,0xbe]
-0xc1,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, -1 ; encoding: [0xc1,0x02,0x85,0xbe]
+0xc1,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, 0.5 ; encoding: [0xf0,0x02,0x80,0xbe]
-0xf0,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, 0.5 ; encoding: [0xf0,0x02,0x85,0xbe]
+0xf0,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, -4.0 ; encoding: [0xf7,0x02,0x80,0xbe]
-0xf7,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, -4.0 ; encoding: [0xf7,0x02,0x85,0xbe]
+0xf7,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, scc ; encoding: [0xfd,0x02,0x80,0xbe]
-0xfd,0x02,0x80,0xbe
+# CHECK: s_cmov_b32 s5, scc ; encoding: [0xfd,0x02,0x85,0xbe]
+0xfd,0x02,0x85,0xbe
-# CHECK: s_cmov_b32 s0, 0xaf123456 ; encoding: [0xff,0x02,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x02,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_cmov_b32 s5, 0xaf123456 ; encoding: [0xff,0x02,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_cmov_b32 s0, 0x3f717273 ; encoding: [0xff,0x02,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x02,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_cmov_b32 s5, 0x3f717273 ; encoding: [0xff,0x02,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_cmov_b64 s[0:1], s[0:1] ; encoding: [0x00,0x03,0x80,0xbe]
-0x00,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], s[2:3] ; encoding: [0x02,0x03,0x8a,0xbe]
+0x02,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[2:3], s[0:1] ; encoding: [0x00,0x03,0x82,0xbe]
-0x00,0x03,0x82,0xbe
+# CHECK: s_cmov_b64 s[12:13], s[2:3] ; encoding: [0x02,0x03,0x8c,0xbe]
+0x02,0x03,0x8c,0xbe
-# CHECK: s_cmov_b64 s[100:101], s[0:1] ; encoding: [0x00,0x03,0xe4,0xbe]
-0x00,0x03,0xe4,0xbe
+# CHECK: s_cmov_b64 s[100:101], s[2:3] ; encoding: [0x02,0x03,0xe4,0xbe]
+0x02,0x03,0xe4,0xbe
-# CHECK: s_cmov_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x03,0xe6,0xbe]
-0x00,0x03,0xe6,0xbe
+# CHECK: s_cmov_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x03,0xe6,0xbe]
+0x02,0x03,0xe6,0xbe
-# CHECK: s_cmov_b64 vcc, s[0:1] ; encoding: [0x00,0x03,0xea,0xbe]
-0x00,0x03,0xea,0xbe
+# CHECK: s_cmov_b64 vcc, s[2:3] ; encoding: [0x02,0x03,0xea,0xbe]
+0x02,0x03,0xea,0xbe
-# CHECK: s_cmov_b64 tba, s[0:1] ; encoding: [0x00,0x03,0xec,0xbe]
-0x00,0x03,0xec,0xbe
+# CHECK: s_cmov_b64 tba, s[2:3] ; encoding: [0x02,0x03,0xec,0xbe]
+0x02,0x03,0xec,0xbe
-# CHECK: s_cmov_b64 tma, s[0:1] ; encoding: [0x00,0x03,0xee,0xbe]
-0x00,0x03,0xee,0xbe
+# CHECK: s_cmov_b64 tma, s[2:3] ; encoding: [0x02,0x03,0xee,0xbe]
+0x02,0x03,0xee,0xbe
-# CHECK: s_cmov_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x03,0xfa,0xbe]
-0x00,0x03,0xfa,0xbe
+# CHECK: s_cmov_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x03,0xfa,0xbe]
+0x02,0x03,0xfa,0xbe
-# CHECK: s_cmov_b64 exec, s[0:1] ; encoding: [0x00,0x03,0xfe,0xbe]
-0x00,0x03,0xfe,0xbe
+# CHECK: s_cmov_b64 exec, s[2:3] ; encoding: [0x02,0x03,0xfe,0xbe]
+0x02,0x03,0xfe,0xbe
-# CHECK: s_cmov_b64 s[0:1], s[2:3] ; encoding: [0x02,0x03,0x80,0xbe]
-0x02,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], s[4:5] ; encoding: [0x04,0x03,0x8a,0xbe]
+0x04,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], s[100:101] ; encoding: [0x64,0x03,0x80,0xbe]
-0x64,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], s[100:101] ; encoding: [0x64,0x03,0x8a,0xbe]
+0x64,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], flat_scratch ; encoding: [0x66,0x03,0x80,0xbe]
-0x66,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], flat_scratch ; encoding: [0x66,0x03,0x8a,0xbe]
+0x66,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], vcc ; encoding: [0x6a,0x03,0x80,0xbe]
-0x6a,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], vcc ; encoding: [0x6a,0x03,0x8a,0xbe]
+0x6a,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], tba ; encoding: [0x6c,0x03,0x80,0xbe]
-0x6c,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], tba ; encoding: [0x6c,0x03,0x8a,0xbe]
+0x6c,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], tma ; encoding: [0x6e,0x03,0x80,0xbe]
-0x6e,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], tma ; encoding: [0x6e,0x03,0x8a,0xbe]
+0x6e,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x03,0x80,0xbe]
-0x7a,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x03,0x8a,0xbe]
+0x7a,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], exec ; encoding: [0x7e,0x03,0x80,0xbe]
-0x7e,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], exec ; encoding: [0x7e,0x03,0x8a,0xbe]
+0x7e,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], 0 ; encoding: [0x80,0x03,0x80,0xbe]
-0x80,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], 0 ; encoding: [0x80,0x03,0x8a,0xbe]
+0x80,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], -1 ; encoding: [0xc1,0x03,0x80,0xbe]
-0xc1,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], -1 ; encoding: [0xc1,0x03,0x8a,0xbe]
+0xc1,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], 0.5 ; encoding: [0xf0,0x03,0x80,0xbe]
-0xf0,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], 0.5 ; encoding: [0xf0,0x03,0x8a,0xbe]
+0xf0,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], -4.0 ; encoding: [0xf7,0x03,0x80,0xbe]
-0xf7,0x03,0x80,0xbe
+# CHECK: s_cmov_b64 s[10:11], -4.0 ; encoding: [0xf7,0x03,0x8a,0xbe]
+0xf7,0x03,0x8a,0xbe
-# CHECK: s_cmov_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x03,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x03,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_cmov_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x03,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x03,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_cmov_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x03,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x03,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_cmov_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x03,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x03,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_not_b32 s0, s0 ; encoding: [0x00,0x04,0x80,0xbe]
-0x00,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, s1 ; encoding: [0x01,0x04,0x85,0xbe]
+0x01,0x04,0x85,0xbe
-# CHECK: s_not_b32 s101, s0 ; encoding: [0x00,0x04,0xe5,0xbe]
-0x00,0x04,0xe5,0xbe
+# CHECK: s_not_b32 s101, s1 ; encoding: [0x01,0x04,0xe5,0xbe]
+0x01,0x04,0xe5,0xbe
-# CHECK: s_not_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x04,0xe6,0xbe]
-0x00,0x04,0xe6,0xbe
+# CHECK: s_not_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x04,0xe6,0xbe]
+0x01,0x04,0xe6,0xbe
-# CHECK: s_not_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x04,0xe7,0xbe]
-0x00,0x04,0xe7,0xbe
+# CHECK: s_not_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x04,0xe7,0xbe]
+0x01,0x04,0xe7,0xbe
-# CHECK: s_not_b32 vcc_lo, s0 ; encoding: [0x00,0x04,0xea,0xbe]
-0x00,0x04,0xea,0xbe
+# CHECK: s_not_b32 vcc_lo, s1 ; encoding: [0x01,0x04,0xea,0xbe]
+0x01,0x04,0xea,0xbe
-# CHECK: s_not_b32 vcc_hi, s0 ; encoding: [0x00,0x04,0xeb,0xbe]
-0x00,0x04,0xeb,0xbe
+# CHECK: s_not_b32 vcc_hi, s1 ; encoding: [0x01,0x04,0xeb,0xbe]
+0x01,0x04,0xeb,0xbe
-# CHECK: s_not_b32 tba_lo, s0 ; encoding: [0x00,0x04,0xec,0xbe]
-0x00,0x04,0xec,0xbe
+# CHECK: s_not_b32 tba_lo, s1 ; encoding: [0x01,0x04,0xec,0xbe]
+0x01,0x04,0xec,0xbe
-# CHECK: s_not_b32 tba_hi, s0 ; encoding: [0x00,0x04,0xed,0xbe]
-0x00,0x04,0xed,0xbe
+# CHECK: s_not_b32 tba_hi, s1 ; encoding: [0x01,0x04,0xed,0xbe]
+0x01,0x04,0xed,0xbe
-# CHECK: s_not_b32 tma_lo, s0 ; encoding: [0x00,0x04,0xee,0xbe]
-0x00,0x04,0xee,0xbe
+# CHECK: s_not_b32 tma_lo, s1 ; encoding: [0x01,0x04,0xee,0xbe]
+0x01,0x04,0xee,0xbe
-# CHECK: s_not_b32 tma_hi, s0 ; encoding: [0x00,0x04,0xef,0xbe]
-0x00,0x04,0xef,0xbe
+# CHECK: s_not_b32 tma_hi, s1 ; encoding: [0x01,0x04,0xef,0xbe]
+0x01,0x04,0xef,0xbe
-# CHECK: s_not_b32 ttmp11, s0 ; encoding: [0x00,0x04,0xfb,0xbe]
-0x00,0x04,0xfb,0xbe
+# CHECK: s_not_b32 ttmp11, s1 ; encoding: [0x01,0x04,0xfb,0xbe]
+0x01,0x04,0xfb,0xbe
-# CHECK: s_not_b32 m0, s0 ; encoding: [0x00,0x04,0xfc,0xbe]
-0x00,0x04,0xfc,0xbe
+# CHECK: s_not_b32 m0, s1 ; encoding: [0x01,0x04,0xfc,0xbe]
+0x01,0x04,0xfc,0xbe
-# CHECK: s_not_b32 exec_lo, s0 ; encoding: [0x00,0x04,0xfe,0xbe]
-0x00,0x04,0xfe,0xbe
+# CHECK: s_not_b32 exec_lo, s1 ; encoding: [0x01,0x04,0xfe,0xbe]
+0x01,0x04,0xfe,0xbe
-# CHECK: s_not_b32 exec_hi, s0 ; encoding: [0x00,0x04,0xff,0xbe]
-0x00,0x04,0xff,0xbe
+# CHECK: s_not_b32 exec_hi, s1 ; encoding: [0x01,0x04,0xff,0xbe]
+0x01,0x04,0xff,0xbe
-# CHECK: s_not_b32 s0, s101 ; encoding: [0x65,0x04,0x80,0xbe]
-0x65,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, s101 ; encoding: [0x65,0x04,0x85,0xbe]
+0x65,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, flat_scratch_lo ; encoding: [0x66,0x04,0x80,0xbe]
-0x66,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, flat_scratch_lo ; encoding: [0x66,0x04,0x85,0xbe]
+0x66,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, flat_scratch_hi ; encoding: [0x67,0x04,0x80,0xbe]
-0x67,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, flat_scratch_hi ; encoding: [0x67,0x04,0x85,0xbe]
+0x67,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, vcc_lo ; encoding: [0x6a,0x04,0x80,0xbe]
-0x6a,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, vcc_lo ; encoding: [0x6a,0x04,0x85,0xbe]
+0x6a,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, vcc_hi ; encoding: [0x6b,0x04,0x80,0xbe]
-0x6b,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, vcc_hi ; encoding: [0x6b,0x04,0x85,0xbe]
+0x6b,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, tba_lo ; encoding: [0x6c,0x04,0x80,0xbe]
-0x6c,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, tba_lo ; encoding: [0x6c,0x04,0x85,0xbe]
+0x6c,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, tba_hi ; encoding: [0x6d,0x04,0x80,0xbe]
-0x6d,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, tba_hi ; encoding: [0x6d,0x04,0x85,0xbe]
+0x6d,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, tma_lo ; encoding: [0x6e,0x04,0x80,0xbe]
-0x6e,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, tma_lo ; encoding: [0x6e,0x04,0x85,0xbe]
+0x6e,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, tma_hi ; encoding: [0x6f,0x04,0x80,0xbe]
-0x6f,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, tma_hi ; encoding: [0x6f,0x04,0x85,0xbe]
+0x6f,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, ttmp11 ; encoding: [0x7b,0x04,0x80,0xbe]
-0x7b,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, ttmp11 ; encoding: [0x7b,0x04,0x85,0xbe]
+0x7b,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, m0 ; encoding: [0x7c,0x04,0x80,0xbe]
-0x7c,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, m0 ; encoding: [0x7c,0x04,0x85,0xbe]
+0x7c,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, exec_lo ; encoding: [0x7e,0x04,0x80,0xbe]
-0x7e,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, exec_lo ; encoding: [0x7e,0x04,0x85,0xbe]
+0x7e,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, exec_hi ; encoding: [0x7f,0x04,0x80,0xbe]
-0x7f,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, exec_hi ; encoding: [0x7f,0x04,0x85,0xbe]
+0x7f,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, 0 ; encoding: [0x80,0x04,0x80,0xbe]
-0x80,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, 0 ; encoding: [0x80,0x04,0x85,0xbe]
+0x80,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, -1 ; encoding: [0xc1,0x04,0x80,0xbe]
-0xc1,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, -1 ; encoding: [0xc1,0x04,0x85,0xbe]
+0xc1,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, 0.5 ; encoding: [0xf0,0x04,0x80,0xbe]
-0xf0,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, 0.5 ; encoding: [0xf0,0x04,0x85,0xbe]
+0xf0,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, -4.0 ; encoding: [0xf7,0x04,0x80,0xbe]
-0xf7,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, -4.0 ; encoding: [0xf7,0x04,0x85,0xbe]
+0xf7,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, scc ; encoding: [0xfd,0x04,0x80,0xbe]
-0xfd,0x04,0x80,0xbe
+# CHECK: s_not_b32 s5, scc ; encoding: [0xfd,0x04,0x85,0xbe]
+0xfd,0x04,0x85,0xbe
-# CHECK: s_not_b32 s0, 0xaf123456 ; encoding: [0xff,0x04,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x04,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_not_b32 s5, 0xaf123456 ; encoding: [0xff,0x04,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_not_b32 s0, 0x3f717273 ; encoding: [0xff,0x04,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x04,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_not_b32 s5, 0x3f717273 ; encoding: [0xff,0x04,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_not_b64 s[0:1], s[0:1] ; encoding: [0x00,0x05,0x80,0xbe]
-0x00,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], s[2:3] ; encoding: [0x02,0x05,0x8a,0xbe]
+0x02,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[2:3], s[0:1] ; encoding: [0x00,0x05,0x82,0xbe]
-0x00,0x05,0x82,0xbe
+# CHECK: s_not_b64 s[12:13], s[2:3] ; encoding: [0x02,0x05,0x8c,0xbe]
+0x02,0x05,0x8c,0xbe
-# CHECK: s_not_b64 s[100:101], s[0:1] ; encoding: [0x00,0x05,0xe4,0xbe]
-0x00,0x05,0xe4,0xbe
+# CHECK: s_not_b64 s[100:101], s[2:3] ; encoding: [0x02,0x05,0xe4,0xbe]
+0x02,0x05,0xe4,0xbe
-# CHECK: s_not_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x05,0xe6,0xbe]
-0x00,0x05,0xe6,0xbe
+# CHECK: s_not_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x05,0xe6,0xbe]
+0x02,0x05,0xe6,0xbe
-# CHECK: s_not_b64 vcc, s[0:1] ; encoding: [0x00,0x05,0xea,0xbe]
-0x00,0x05,0xea,0xbe
+# CHECK: s_not_b64 vcc, s[2:3] ; encoding: [0x02,0x05,0xea,0xbe]
+0x02,0x05,0xea,0xbe
-# CHECK: s_not_b64 tba, s[0:1] ; encoding: [0x00,0x05,0xec,0xbe]
-0x00,0x05,0xec,0xbe
+# CHECK: s_not_b64 tba, s[2:3] ; encoding: [0x02,0x05,0xec,0xbe]
+0x02,0x05,0xec,0xbe
-# CHECK: s_not_b64 tma, s[0:1] ; encoding: [0x00,0x05,0xee,0xbe]
-0x00,0x05,0xee,0xbe
+# CHECK: s_not_b64 tma, s[2:3] ; encoding: [0x02,0x05,0xee,0xbe]
+0x02,0x05,0xee,0xbe
-# CHECK: s_not_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x05,0xfa,0xbe]
-0x00,0x05,0xfa,0xbe
+# CHECK: s_not_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x05,0xfa,0xbe]
+0x02,0x05,0xfa,0xbe
-# CHECK: s_not_b64 exec, s[0:1] ; encoding: [0x00,0x05,0xfe,0xbe]
-0x00,0x05,0xfe,0xbe
+# CHECK: s_not_b64 exec, s[2:3] ; encoding: [0x02,0x05,0xfe,0xbe]
+0x02,0x05,0xfe,0xbe
-# CHECK: s_not_b64 s[0:1], s[2:3] ; encoding: [0x02,0x05,0x80,0xbe]
-0x02,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], s[4:5] ; encoding: [0x04,0x05,0x8a,0xbe]
+0x04,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], s[100:101] ; encoding: [0x64,0x05,0x80,0xbe]
-0x64,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], s[100:101] ; encoding: [0x64,0x05,0x8a,0xbe]
+0x64,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], flat_scratch ; encoding: [0x66,0x05,0x80,0xbe]
-0x66,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], flat_scratch ; encoding: [0x66,0x05,0x8a,0xbe]
+0x66,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], vcc ; encoding: [0x6a,0x05,0x80,0xbe]
-0x6a,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], vcc ; encoding: [0x6a,0x05,0x8a,0xbe]
+0x6a,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], tba ; encoding: [0x6c,0x05,0x80,0xbe]
-0x6c,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], tba ; encoding: [0x6c,0x05,0x8a,0xbe]
+0x6c,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], tma ; encoding: [0x6e,0x05,0x80,0xbe]
-0x6e,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], tma ; encoding: [0x6e,0x05,0x8a,0xbe]
+0x6e,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x05,0x80,0xbe]
-0x7a,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x05,0x8a,0xbe]
+0x7a,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], exec ; encoding: [0x7e,0x05,0x80,0xbe]
-0x7e,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], exec ; encoding: [0x7e,0x05,0x8a,0xbe]
+0x7e,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], 0 ; encoding: [0x80,0x05,0x80,0xbe]
-0x80,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], 0 ; encoding: [0x80,0x05,0x8a,0xbe]
+0x80,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], -1 ; encoding: [0xc1,0x05,0x80,0xbe]
-0xc1,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], -1 ; encoding: [0xc1,0x05,0x8a,0xbe]
+0xc1,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], 0.5 ; encoding: [0xf0,0x05,0x80,0xbe]
-0xf0,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], 0.5 ; encoding: [0xf0,0x05,0x8a,0xbe]
+0xf0,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], -4.0 ; encoding: [0xf7,0x05,0x80,0xbe]
-0xf7,0x05,0x80,0xbe
+# CHECK: s_not_b64 s[10:11], -4.0 ; encoding: [0xf7,0x05,0x8a,0xbe]
+0xf7,0x05,0x8a,0xbe
-# CHECK: s_not_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x05,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x05,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_not_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x05,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x05,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_not_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x05,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x05,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_not_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x05,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x05,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_wqm_b32 s0, s0 ; encoding: [0x00,0x06,0x80,0xbe]
-0x00,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, s1 ; encoding: [0x01,0x06,0x85,0xbe]
+0x01,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s101, s0 ; encoding: [0x00,0x06,0xe5,0xbe]
-0x00,0x06,0xe5,0xbe
+# CHECK: s_wqm_b32 s101, s1 ; encoding: [0x01,0x06,0xe5,0xbe]
+0x01,0x06,0xe5,0xbe
-# CHECK: s_wqm_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x06,0xe6,0xbe]
-0x00,0x06,0xe6,0xbe
+# CHECK: s_wqm_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x06,0xe6,0xbe]
+0x01,0x06,0xe6,0xbe
-# CHECK: s_wqm_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x06,0xe7,0xbe]
-0x00,0x06,0xe7,0xbe
+# CHECK: s_wqm_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x06,0xe7,0xbe]
+0x01,0x06,0xe7,0xbe
-# CHECK: s_wqm_b32 vcc_lo, s0 ; encoding: [0x00,0x06,0xea,0xbe]
-0x00,0x06,0xea,0xbe
+# CHECK: s_wqm_b32 vcc_lo, s1 ; encoding: [0x01,0x06,0xea,0xbe]
+0x01,0x06,0xea,0xbe
-# CHECK: s_wqm_b32 vcc_hi, s0 ; encoding: [0x00,0x06,0xeb,0xbe]
-0x00,0x06,0xeb,0xbe
+# CHECK: s_wqm_b32 vcc_hi, s1 ; encoding: [0x01,0x06,0xeb,0xbe]
+0x01,0x06,0xeb,0xbe
-# CHECK: s_wqm_b32 tba_lo, s0 ; encoding: [0x00,0x06,0xec,0xbe]
-0x00,0x06,0xec,0xbe
+# CHECK: s_wqm_b32 tba_lo, s1 ; encoding: [0x01,0x06,0xec,0xbe]
+0x01,0x06,0xec,0xbe
-# CHECK: s_wqm_b32 tba_hi, s0 ; encoding: [0x00,0x06,0xed,0xbe]
-0x00,0x06,0xed,0xbe
+# CHECK: s_wqm_b32 tba_hi, s1 ; encoding: [0x01,0x06,0xed,0xbe]
+0x01,0x06,0xed,0xbe
-# CHECK: s_wqm_b32 tma_lo, s0 ; encoding: [0x00,0x06,0xee,0xbe]
-0x00,0x06,0xee,0xbe
+# CHECK: s_wqm_b32 tma_lo, s1 ; encoding: [0x01,0x06,0xee,0xbe]
+0x01,0x06,0xee,0xbe
-# CHECK: s_wqm_b32 tma_hi, s0 ; encoding: [0x00,0x06,0xef,0xbe]
-0x00,0x06,0xef,0xbe
+# CHECK: s_wqm_b32 tma_hi, s1 ; encoding: [0x01,0x06,0xef,0xbe]
+0x01,0x06,0xef,0xbe
-# CHECK: s_wqm_b32 ttmp11, s0 ; encoding: [0x00,0x06,0xfb,0xbe]
-0x00,0x06,0xfb,0xbe
+# CHECK: s_wqm_b32 ttmp11, s1 ; encoding: [0x01,0x06,0xfb,0xbe]
+0x01,0x06,0xfb,0xbe
-# CHECK: s_wqm_b32 m0, s0 ; encoding: [0x00,0x06,0xfc,0xbe]
-0x00,0x06,0xfc,0xbe
+# CHECK: s_wqm_b32 m0, s1 ; encoding: [0x01,0x06,0xfc,0xbe]
+0x01,0x06,0xfc,0xbe
-# CHECK: s_wqm_b32 exec_lo, s0 ; encoding: [0x00,0x06,0xfe,0xbe]
-0x00,0x06,0xfe,0xbe
+# CHECK: s_wqm_b32 exec_lo, s1 ; encoding: [0x01,0x06,0xfe,0xbe]
+0x01,0x06,0xfe,0xbe
-# CHECK: s_wqm_b32 exec_hi, s0 ; encoding: [0x00,0x06,0xff,0xbe]
-0x00,0x06,0xff,0xbe
+# CHECK: s_wqm_b32 exec_hi, s1 ; encoding: [0x01,0x06,0xff,0xbe]
+0x01,0x06,0xff,0xbe
-# CHECK: s_wqm_b32 s0, s101 ; encoding: [0x65,0x06,0x80,0xbe]
-0x65,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, s101 ; encoding: [0x65,0x06,0x85,0xbe]
+0x65,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, flat_scratch_lo ; encoding: [0x66,0x06,0x80,0xbe]
-0x66,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, flat_scratch_lo ; encoding: [0x66,0x06,0x85,0xbe]
+0x66,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, flat_scratch_hi ; encoding: [0x67,0x06,0x80,0xbe]
-0x67,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, flat_scratch_hi ; encoding: [0x67,0x06,0x85,0xbe]
+0x67,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, vcc_lo ; encoding: [0x6a,0x06,0x80,0xbe]
-0x6a,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, vcc_lo ; encoding: [0x6a,0x06,0x85,0xbe]
+0x6a,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, vcc_hi ; encoding: [0x6b,0x06,0x80,0xbe]
-0x6b,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, vcc_hi ; encoding: [0x6b,0x06,0x85,0xbe]
+0x6b,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, tba_lo ; encoding: [0x6c,0x06,0x80,0xbe]
-0x6c,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, tba_lo ; encoding: [0x6c,0x06,0x85,0xbe]
+0x6c,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, tba_hi ; encoding: [0x6d,0x06,0x80,0xbe]
-0x6d,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, tba_hi ; encoding: [0x6d,0x06,0x85,0xbe]
+0x6d,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, tma_lo ; encoding: [0x6e,0x06,0x80,0xbe]
-0x6e,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, tma_lo ; encoding: [0x6e,0x06,0x85,0xbe]
+0x6e,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, tma_hi ; encoding: [0x6f,0x06,0x80,0xbe]
-0x6f,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, tma_hi ; encoding: [0x6f,0x06,0x85,0xbe]
+0x6f,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, ttmp11 ; encoding: [0x7b,0x06,0x80,0xbe]
-0x7b,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, ttmp11 ; encoding: [0x7b,0x06,0x85,0xbe]
+0x7b,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, m0 ; encoding: [0x7c,0x06,0x80,0xbe]
-0x7c,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, m0 ; encoding: [0x7c,0x06,0x85,0xbe]
+0x7c,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, exec_lo ; encoding: [0x7e,0x06,0x80,0xbe]
-0x7e,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, exec_lo ; encoding: [0x7e,0x06,0x85,0xbe]
+0x7e,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, exec_hi ; encoding: [0x7f,0x06,0x80,0xbe]
-0x7f,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, exec_hi ; encoding: [0x7f,0x06,0x85,0xbe]
+0x7f,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, 0 ; encoding: [0x80,0x06,0x80,0xbe]
-0x80,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, 0 ; encoding: [0x80,0x06,0x85,0xbe]
+0x80,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, -1 ; encoding: [0xc1,0x06,0x80,0xbe]
-0xc1,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, -1 ; encoding: [0xc1,0x06,0x85,0xbe]
+0xc1,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, 0.5 ; encoding: [0xf0,0x06,0x80,0xbe]
-0xf0,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, 0.5 ; encoding: [0xf0,0x06,0x85,0xbe]
+0xf0,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, -4.0 ; encoding: [0xf7,0x06,0x80,0xbe]
-0xf7,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, -4.0 ; encoding: [0xf7,0x06,0x85,0xbe]
+0xf7,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, scc ; encoding: [0xfd,0x06,0x80,0xbe]
-0xfd,0x06,0x80,0xbe
+# CHECK: s_wqm_b32 s5, scc ; encoding: [0xfd,0x06,0x85,0xbe]
+0xfd,0x06,0x85,0xbe
-# CHECK: s_wqm_b32 s0, 0xaf123456 ; encoding: [0xff,0x06,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x06,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_wqm_b32 s5, 0xaf123456 ; encoding: [0xff,0x06,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x06,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_wqm_b32 s0, 0x3f717273 ; encoding: [0xff,0x06,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x06,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_wqm_b32 s5, 0x3f717273 ; encoding: [0xff,0x06,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x06,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_wqm_b64 s[0:1], s[0:1] ; encoding: [0x00,0x07,0x80,0xbe]
-0x00,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], s[2:3] ; encoding: [0x02,0x07,0x8a,0xbe]
+0x02,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[2:3], s[0:1] ; encoding: [0x00,0x07,0x82,0xbe]
-0x00,0x07,0x82,0xbe
+# CHECK: s_wqm_b64 s[12:13], s[2:3] ; encoding: [0x02,0x07,0x8c,0xbe]
+0x02,0x07,0x8c,0xbe
-# CHECK: s_wqm_b64 s[100:101], s[0:1] ; encoding: [0x00,0x07,0xe4,0xbe]
-0x00,0x07,0xe4,0xbe
+# CHECK: s_wqm_b64 s[100:101], s[2:3] ; encoding: [0x02,0x07,0xe4,0xbe]
+0x02,0x07,0xe4,0xbe
-# CHECK: s_wqm_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x07,0xe6,0xbe]
-0x00,0x07,0xe6,0xbe
+# CHECK: s_wqm_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x07,0xe6,0xbe]
+0x02,0x07,0xe6,0xbe
-# CHECK: s_wqm_b64 vcc, s[0:1] ; encoding: [0x00,0x07,0xea,0xbe]
-0x00,0x07,0xea,0xbe
+# CHECK: s_wqm_b64 vcc, s[2:3] ; encoding: [0x02,0x07,0xea,0xbe]
+0x02,0x07,0xea,0xbe
-# CHECK: s_wqm_b64 tba, s[0:1] ; encoding: [0x00,0x07,0xec,0xbe]
-0x00,0x07,0xec,0xbe
+# CHECK: s_wqm_b64 tba, s[2:3] ; encoding: [0x02,0x07,0xec,0xbe]
+0x02,0x07,0xec,0xbe
-# CHECK: s_wqm_b64 tma, s[0:1] ; encoding: [0x00,0x07,0xee,0xbe]
-0x00,0x07,0xee,0xbe
+# CHECK: s_wqm_b64 tma, s[2:3] ; encoding: [0x02,0x07,0xee,0xbe]
+0x02,0x07,0xee,0xbe
-# CHECK: s_wqm_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x07,0xfa,0xbe]
-0x00,0x07,0xfa,0xbe
+# CHECK: s_wqm_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x07,0xfa,0xbe]
+0x02,0x07,0xfa,0xbe
-# CHECK: s_wqm_b64 exec, s[0:1] ; encoding: [0x00,0x07,0xfe,0xbe]
-0x00,0x07,0xfe,0xbe
+# CHECK: s_wqm_b64 exec, s[2:3] ; encoding: [0x02,0x07,0xfe,0xbe]
+0x02,0x07,0xfe,0xbe
-# CHECK: s_wqm_b64 s[0:1], s[2:3] ; encoding: [0x02,0x07,0x80,0xbe]
-0x02,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], s[4:5] ; encoding: [0x04,0x07,0x8a,0xbe]
+0x04,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], s[100:101] ; encoding: [0x64,0x07,0x80,0xbe]
-0x64,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], s[100:101] ; encoding: [0x64,0x07,0x8a,0xbe]
+0x64,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], flat_scratch ; encoding: [0x66,0x07,0x80,0xbe]
-0x66,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], flat_scratch ; encoding: [0x66,0x07,0x8a,0xbe]
+0x66,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], vcc ; encoding: [0x6a,0x07,0x80,0xbe]
-0x6a,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], vcc ; encoding: [0x6a,0x07,0x8a,0xbe]
+0x6a,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], tba ; encoding: [0x6c,0x07,0x80,0xbe]
-0x6c,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], tba ; encoding: [0x6c,0x07,0x8a,0xbe]
+0x6c,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], tma ; encoding: [0x6e,0x07,0x80,0xbe]
-0x6e,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], tma ; encoding: [0x6e,0x07,0x8a,0xbe]
+0x6e,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x07,0x80,0xbe]
-0x7a,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x07,0x8a,0xbe]
+0x7a,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], exec ; encoding: [0x7e,0x07,0x80,0xbe]
-0x7e,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], exec ; encoding: [0x7e,0x07,0x8a,0xbe]
+0x7e,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], 0 ; encoding: [0x80,0x07,0x80,0xbe]
-0x80,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], 0 ; encoding: [0x80,0x07,0x8a,0xbe]
+0x80,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], -1 ; encoding: [0xc1,0x07,0x80,0xbe]
-0xc1,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], -1 ; encoding: [0xc1,0x07,0x8a,0xbe]
+0xc1,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], 0.5 ; encoding: [0xf0,0x07,0x80,0xbe]
-0xf0,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], 0.5 ; encoding: [0xf0,0x07,0x8a,0xbe]
+0xf0,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], -4.0 ; encoding: [0xf7,0x07,0x80,0xbe]
-0xf7,0x07,0x80,0xbe
+# CHECK: s_wqm_b64 s[10:11], -4.0 ; encoding: [0xf7,0x07,0x8a,0xbe]
+0xf7,0x07,0x8a,0xbe
-# CHECK: s_wqm_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x07,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x07,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_wqm_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x07,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x07,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_wqm_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x07,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x07,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_wqm_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x07,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x07,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_brev_b32 s0, s0 ; encoding: [0x00,0x08,0x80,0xbe]
-0x00,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, s1 ; encoding: [0x01,0x08,0x85,0xbe]
+0x01,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s101, s0 ; encoding: [0x00,0x08,0xe5,0xbe]
-0x00,0x08,0xe5,0xbe
+# CHECK: s_brev_b32 s101, s1 ; encoding: [0x01,0x08,0xe5,0xbe]
+0x01,0x08,0xe5,0xbe
-# CHECK: s_brev_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x08,0xe6,0xbe]
-0x00,0x08,0xe6,0xbe
+# CHECK: s_brev_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x08,0xe6,0xbe]
+0x01,0x08,0xe6,0xbe
-# CHECK: s_brev_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x08,0xe7,0xbe]
-0x00,0x08,0xe7,0xbe
+# CHECK: s_brev_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x08,0xe7,0xbe]
+0x01,0x08,0xe7,0xbe
-# CHECK: s_brev_b32 vcc_lo, s0 ; encoding: [0x00,0x08,0xea,0xbe]
-0x00,0x08,0xea,0xbe
+# CHECK: s_brev_b32 vcc_lo, s1 ; encoding: [0x01,0x08,0xea,0xbe]
+0x01,0x08,0xea,0xbe
-# CHECK: s_brev_b32 vcc_hi, s0 ; encoding: [0x00,0x08,0xeb,0xbe]
-0x00,0x08,0xeb,0xbe
+# CHECK: s_brev_b32 vcc_hi, s1 ; encoding: [0x01,0x08,0xeb,0xbe]
+0x01,0x08,0xeb,0xbe
-# CHECK: s_brev_b32 tba_lo, s0 ; encoding: [0x00,0x08,0xec,0xbe]
-0x00,0x08,0xec,0xbe
+# CHECK: s_brev_b32 tba_lo, s1 ; encoding: [0x01,0x08,0xec,0xbe]
+0x01,0x08,0xec,0xbe
-# CHECK: s_brev_b32 tba_hi, s0 ; encoding: [0x00,0x08,0xed,0xbe]
-0x00,0x08,0xed,0xbe
+# CHECK: s_brev_b32 tba_hi, s1 ; encoding: [0x01,0x08,0xed,0xbe]
+0x01,0x08,0xed,0xbe
-# CHECK: s_brev_b32 tma_lo, s0 ; encoding: [0x00,0x08,0xee,0xbe]
-0x00,0x08,0xee,0xbe
+# CHECK: s_brev_b32 tma_lo, s1 ; encoding: [0x01,0x08,0xee,0xbe]
+0x01,0x08,0xee,0xbe
-# CHECK: s_brev_b32 tma_hi, s0 ; encoding: [0x00,0x08,0xef,0xbe]
-0x00,0x08,0xef,0xbe
+# CHECK: s_brev_b32 tma_hi, s1 ; encoding: [0x01,0x08,0xef,0xbe]
+0x01,0x08,0xef,0xbe
-# CHECK: s_brev_b32 ttmp11, s0 ; encoding: [0x00,0x08,0xfb,0xbe]
-0x00,0x08,0xfb,0xbe
+# CHECK: s_brev_b32 ttmp11, s1 ; encoding: [0x01,0x08,0xfb,0xbe]
+0x01,0x08,0xfb,0xbe
-# CHECK: s_brev_b32 m0, s0 ; encoding: [0x00,0x08,0xfc,0xbe]
-0x00,0x08,0xfc,0xbe
+# CHECK: s_brev_b32 m0, s1 ; encoding: [0x01,0x08,0xfc,0xbe]
+0x01,0x08,0xfc,0xbe
-# CHECK: s_brev_b32 exec_lo, s0 ; encoding: [0x00,0x08,0xfe,0xbe]
-0x00,0x08,0xfe,0xbe
+# CHECK: s_brev_b32 exec_lo, s1 ; encoding: [0x01,0x08,0xfe,0xbe]
+0x01,0x08,0xfe,0xbe
-# CHECK: s_brev_b32 exec_hi, s0 ; encoding: [0x00,0x08,0xff,0xbe]
-0x00,0x08,0xff,0xbe
+# CHECK: s_brev_b32 exec_hi, s1 ; encoding: [0x01,0x08,0xff,0xbe]
+0x01,0x08,0xff,0xbe
-# CHECK: s_brev_b32 s0, s101 ; encoding: [0x65,0x08,0x80,0xbe]
-0x65,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, s101 ; encoding: [0x65,0x08,0x85,0xbe]
+0x65,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, flat_scratch_lo ; encoding: [0x66,0x08,0x80,0xbe]
-0x66,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, flat_scratch_lo ; encoding: [0x66,0x08,0x85,0xbe]
+0x66,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, flat_scratch_hi ; encoding: [0x67,0x08,0x80,0xbe]
-0x67,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, flat_scratch_hi ; encoding: [0x67,0x08,0x85,0xbe]
+0x67,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, vcc_lo ; encoding: [0x6a,0x08,0x80,0xbe]
-0x6a,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, vcc_lo ; encoding: [0x6a,0x08,0x85,0xbe]
+0x6a,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, vcc_hi ; encoding: [0x6b,0x08,0x80,0xbe]
-0x6b,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, vcc_hi ; encoding: [0x6b,0x08,0x85,0xbe]
+0x6b,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, tba_lo ; encoding: [0x6c,0x08,0x80,0xbe]
-0x6c,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, tba_lo ; encoding: [0x6c,0x08,0x85,0xbe]
+0x6c,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, tba_hi ; encoding: [0x6d,0x08,0x80,0xbe]
-0x6d,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, tba_hi ; encoding: [0x6d,0x08,0x85,0xbe]
+0x6d,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, tma_lo ; encoding: [0x6e,0x08,0x80,0xbe]
-0x6e,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, tma_lo ; encoding: [0x6e,0x08,0x85,0xbe]
+0x6e,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, tma_hi ; encoding: [0x6f,0x08,0x80,0xbe]
-0x6f,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, tma_hi ; encoding: [0x6f,0x08,0x85,0xbe]
+0x6f,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, ttmp11 ; encoding: [0x7b,0x08,0x80,0xbe]
-0x7b,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, ttmp11 ; encoding: [0x7b,0x08,0x85,0xbe]
+0x7b,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, m0 ; encoding: [0x7c,0x08,0x80,0xbe]
-0x7c,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, m0 ; encoding: [0x7c,0x08,0x85,0xbe]
+0x7c,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, exec_lo ; encoding: [0x7e,0x08,0x80,0xbe]
-0x7e,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, exec_lo ; encoding: [0x7e,0x08,0x85,0xbe]
+0x7e,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, exec_hi ; encoding: [0x7f,0x08,0x80,0xbe]
-0x7f,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, exec_hi ; encoding: [0x7f,0x08,0x85,0xbe]
+0x7f,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, 0 ; encoding: [0x80,0x08,0x80,0xbe]
-0x80,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, 0 ; encoding: [0x80,0x08,0x85,0xbe]
+0x80,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, -1 ; encoding: [0xc1,0x08,0x80,0xbe]
-0xc1,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, -1 ; encoding: [0xc1,0x08,0x85,0xbe]
+0xc1,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, 0.5 ; encoding: [0xf0,0x08,0x80,0xbe]
-0xf0,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, 0.5 ; encoding: [0xf0,0x08,0x85,0xbe]
+0xf0,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, -4.0 ; encoding: [0xf7,0x08,0x80,0xbe]
-0xf7,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, -4.0 ; encoding: [0xf7,0x08,0x85,0xbe]
+0xf7,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, scc ; encoding: [0xfd,0x08,0x80,0xbe]
-0xfd,0x08,0x80,0xbe
+# CHECK: s_brev_b32 s5, scc ; encoding: [0xfd,0x08,0x85,0xbe]
+0xfd,0x08,0x85,0xbe
-# CHECK: s_brev_b32 s0, 0xaf123456 ; encoding: [0xff,0x08,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x08,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_brev_b32 s5, 0xaf123456 ; encoding: [0xff,0x08,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x08,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_brev_b32 s0, 0x3f717273 ; encoding: [0xff,0x08,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x08,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_brev_b32 s5, 0x3f717273 ; encoding: [0xff,0x08,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x08,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_brev_b64 s[0:1], s[0:1] ; encoding: [0x00,0x09,0x80,0xbe]
-0x00,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], s[2:3] ; encoding: [0x02,0x09,0x8a,0xbe]
+0x02,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[2:3], s[0:1] ; encoding: [0x00,0x09,0x82,0xbe]
-0x00,0x09,0x82,0xbe
+# CHECK: s_brev_b64 s[12:13], s[2:3] ; encoding: [0x02,0x09,0x8c,0xbe]
+0x02,0x09,0x8c,0xbe
-# CHECK: s_brev_b64 s[100:101], s[0:1] ; encoding: [0x00,0x09,0xe4,0xbe]
-0x00,0x09,0xe4,0xbe
+# CHECK: s_brev_b64 s[100:101], s[2:3] ; encoding: [0x02,0x09,0xe4,0xbe]
+0x02,0x09,0xe4,0xbe
-# CHECK: s_brev_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x09,0xe6,0xbe]
-0x00,0x09,0xe6,0xbe
+# CHECK: s_brev_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x09,0xe6,0xbe]
+0x02,0x09,0xe6,0xbe
-# CHECK: s_brev_b64 vcc, s[0:1] ; encoding: [0x00,0x09,0xea,0xbe]
-0x00,0x09,0xea,0xbe
+# CHECK: s_brev_b64 vcc, s[2:3] ; encoding: [0x02,0x09,0xea,0xbe]
+0x02,0x09,0xea,0xbe
-# CHECK: s_brev_b64 tba, s[0:1] ; encoding: [0x00,0x09,0xec,0xbe]
-0x00,0x09,0xec,0xbe
+# CHECK: s_brev_b64 tba, s[2:3] ; encoding: [0x02,0x09,0xec,0xbe]
+0x02,0x09,0xec,0xbe
-# CHECK: s_brev_b64 tma, s[0:1] ; encoding: [0x00,0x09,0xee,0xbe]
-0x00,0x09,0xee,0xbe
+# CHECK: s_brev_b64 tma, s[2:3] ; encoding: [0x02,0x09,0xee,0xbe]
+0x02,0x09,0xee,0xbe
-# CHECK: s_brev_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x09,0xfa,0xbe]
-0x00,0x09,0xfa,0xbe
+# CHECK: s_brev_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x09,0xfa,0xbe]
+0x02,0x09,0xfa,0xbe
-# CHECK: s_brev_b64 exec, s[0:1] ; encoding: [0x00,0x09,0xfe,0xbe]
-0x00,0x09,0xfe,0xbe
+# CHECK: s_brev_b64 exec, s[2:3] ; encoding: [0x02,0x09,0xfe,0xbe]
+0x02,0x09,0xfe,0xbe
-# CHECK: s_brev_b64 s[0:1], s[2:3] ; encoding: [0x02,0x09,0x80,0xbe]
-0x02,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], s[4:5] ; encoding: [0x04,0x09,0x8a,0xbe]
+0x04,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], s[100:101] ; encoding: [0x64,0x09,0x80,0xbe]
-0x64,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], s[100:101] ; encoding: [0x64,0x09,0x8a,0xbe]
+0x64,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], flat_scratch ; encoding: [0x66,0x09,0x80,0xbe]
-0x66,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], flat_scratch ; encoding: [0x66,0x09,0x8a,0xbe]
+0x66,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], vcc ; encoding: [0x6a,0x09,0x80,0xbe]
-0x6a,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], vcc ; encoding: [0x6a,0x09,0x8a,0xbe]
+0x6a,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], tba ; encoding: [0x6c,0x09,0x80,0xbe]
-0x6c,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], tba ; encoding: [0x6c,0x09,0x8a,0xbe]
+0x6c,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], tma ; encoding: [0x6e,0x09,0x80,0xbe]
-0x6e,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], tma ; encoding: [0x6e,0x09,0x8a,0xbe]
+0x6e,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x09,0x80,0xbe]
-0x7a,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x09,0x8a,0xbe]
+0x7a,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], exec ; encoding: [0x7e,0x09,0x80,0xbe]
-0x7e,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], exec ; encoding: [0x7e,0x09,0x8a,0xbe]
+0x7e,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], 0 ; encoding: [0x80,0x09,0x80,0xbe]
-0x80,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], 0 ; encoding: [0x80,0x09,0x8a,0xbe]
+0x80,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], -1 ; encoding: [0xc1,0x09,0x80,0xbe]
-0xc1,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], -1 ; encoding: [0xc1,0x09,0x8a,0xbe]
+0xc1,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], 0.5 ; encoding: [0xf0,0x09,0x80,0xbe]
-0xf0,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], 0.5 ; encoding: [0xf0,0x09,0x8a,0xbe]
+0xf0,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], -4.0 ; encoding: [0xf7,0x09,0x80,0xbe]
-0xf7,0x09,0x80,0xbe
+# CHECK: s_brev_b64 s[10:11], -4.0 ; encoding: [0xf7,0x09,0x8a,0xbe]
+0xf7,0x09,0x8a,0xbe
-# CHECK: s_brev_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x09,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x09,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_brev_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x09,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x09,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_brev_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x09,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x09,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_brev_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x09,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x09,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_bcnt0_i32_b32 s0, s0 ; encoding: [0x00,0x0a,0x80,0xbe]
-0x00,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, s1 ; encoding: [0x01,0x0a,0x85,0xbe]
+0x01,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s101, s0 ; encoding: [0x00,0x0a,0xe5,0xbe]
-0x00,0x0a,0xe5,0xbe
+# CHECK: s_bcnt0_i32_b32 s101, s1 ; encoding: [0x01,0x0a,0xe5,0xbe]
+0x01,0x0a,0xe5,0xbe
-# CHECK: s_bcnt0_i32_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x0a,0xe6,0xbe]
-0x00,0x0a,0xe6,0xbe
+# CHECK: s_bcnt0_i32_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x0a,0xe6,0xbe]
+0x01,0x0a,0xe6,0xbe
-# CHECK: s_bcnt0_i32_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x0a,0xe7,0xbe]
-0x00,0x0a,0xe7,0xbe
+# CHECK: s_bcnt0_i32_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x0a,0xe7,0xbe]
+0x01,0x0a,0xe7,0xbe
-# CHECK: s_bcnt0_i32_b32 vcc_lo, s0 ; encoding: [0x00,0x0a,0xea,0xbe]
-0x00,0x0a,0xea,0xbe
+# CHECK: s_bcnt0_i32_b32 vcc_lo, s1 ; encoding: [0x01,0x0a,0xea,0xbe]
+0x01,0x0a,0xea,0xbe
-# CHECK: s_bcnt0_i32_b32 vcc_hi, s0 ; encoding: [0x00,0x0a,0xeb,0xbe]
-0x00,0x0a,0xeb,0xbe
+# CHECK: s_bcnt0_i32_b32 vcc_hi, s1 ; encoding: [0x01,0x0a,0xeb,0xbe]
+0x01,0x0a,0xeb,0xbe
-# CHECK: s_bcnt0_i32_b32 tba_lo, s0 ; encoding: [0x00,0x0a,0xec,0xbe]
-0x00,0x0a,0xec,0xbe
+# CHECK: s_bcnt0_i32_b32 tba_lo, s1 ; encoding: [0x01,0x0a,0xec,0xbe]
+0x01,0x0a,0xec,0xbe
-# CHECK: s_bcnt0_i32_b32 tba_hi, s0 ; encoding: [0x00,0x0a,0xed,0xbe]
-0x00,0x0a,0xed,0xbe
+# CHECK: s_bcnt0_i32_b32 tba_hi, s1 ; encoding: [0x01,0x0a,0xed,0xbe]
+0x01,0x0a,0xed,0xbe
-# CHECK: s_bcnt0_i32_b32 tma_lo, s0 ; encoding: [0x00,0x0a,0xee,0xbe]
-0x00,0x0a,0xee,0xbe
+# CHECK: s_bcnt0_i32_b32 tma_lo, s1 ; encoding: [0x01,0x0a,0xee,0xbe]
+0x01,0x0a,0xee,0xbe
-# CHECK: s_bcnt0_i32_b32 tma_hi, s0 ; encoding: [0x00,0x0a,0xef,0xbe]
-0x00,0x0a,0xef,0xbe
+# CHECK: s_bcnt0_i32_b32 tma_hi, s1 ; encoding: [0x01,0x0a,0xef,0xbe]
+0x01,0x0a,0xef,0xbe
-# CHECK: s_bcnt0_i32_b32 ttmp11, s0 ; encoding: [0x00,0x0a,0xfb,0xbe]
-0x00,0x0a,0xfb,0xbe
+# CHECK: s_bcnt0_i32_b32 ttmp11, s1 ; encoding: [0x01,0x0a,0xfb,0xbe]
+0x01,0x0a,0xfb,0xbe
-# CHECK: s_bcnt0_i32_b32 m0, s0 ; encoding: [0x00,0x0a,0xfc,0xbe]
-0x00,0x0a,0xfc,0xbe
+# CHECK: s_bcnt0_i32_b32 m0, s1 ; encoding: [0x01,0x0a,0xfc,0xbe]
+0x01,0x0a,0xfc,0xbe
-# CHECK: s_bcnt0_i32_b32 exec_lo, s0 ; encoding: [0x00,0x0a,0xfe,0xbe]
-0x00,0x0a,0xfe,0xbe
+# CHECK: s_bcnt0_i32_b32 exec_lo, s1 ; encoding: [0x01,0x0a,0xfe,0xbe]
+0x01,0x0a,0xfe,0xbe
-# CHECK: s_bcnt0_i32_b32 exec_hi, s0 ; encoding: [0x00,0x0a,0xff,0xbe]
-0x00,0x0a,0xff,0xbe
+# CHECK: s_bcnt0_i32_b32 exec_hi, s1 ; encoding: [0x01,0x0a,0xff,0xbe]
+0x01,0x0a,0xff,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, s101 ; encoding: [0x65,0x0a,0x80,0xbe]
-0x65,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, s101 ; encoding: [0x65,0x0a,0x85,0xbe]
+0x65,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, flat_scratch_lo ; encoding: [0x66,0x0a,0x80,0xbe]
-0x66,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, flat_scratch_lo ; encoding: [0x66,0x0a,0x85,0xbe]
+0x66,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, flat_scratch_hi ; encoding: [0x67,0x0a,0x80,0xbe]
-0x67,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, flat_scratch_hi ; encoding: [0x67,0x0a,0x85,0xbe]
+0x67,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, vcc_lo ; encoding: [0x6a,0x0a,0x80,0xbe]
-0x6a,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, vcc_lo ; encoding: [0x6a,0x0a,0x85,0xbe]
+0x6a,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, vcc_hi ; encoding: [0x6b,0x0a,0x80,0xbe]
-0x6b,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, vcc_hi ; encoding: [0x6b,0x0a,0x85,0xbe]
+0x6b,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, tba_lo ; encoding: [0x6c,0x0a,0x80,0xbe]
-0x6c,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, tba_lo ; encoding: [0x6c,0x0a,0x85,0xbe]
+0x6c,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, tba_hi ; encoding: [0x6d,0x0a,0x80,0xbe]
-0x6d,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, tba_hi ; encoding: [0x6d,0x0a,0x85,0xbe]
+0x6d,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, tma_lo ; encoding: [0x6e,0x0a,0x80,0xbe]
-0x6e,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, tma_lo ; encoding: [0x6e,0x0a,0x85,0xbe]
+0x6e,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, tma_hi ; encoding: [0x6f,0x0a,0x80,0xbe]
-0x6f,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, tma_hi ; encoding: [0x6f,0x0a,0x85,0xbe]
+0x6f,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, ttmp11 ; encoding: [0x7b,0x0a,0x80,0xbe]
-0x7b,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, ttmp11 ; encoding: [0x7b,0x0a,0x85,0xbe]
+0x7b,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, m0 ; encoding: [0x7c,0x0a,0x80,0xbe]
-0x7c,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, m0 ; encoding: [0x7c,0x0a,0x85,0xbe]
+0x7c,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, exec_lo ; encoding: [0x7e,0x0a,0x80,0xbe]
-0x7e,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, exec_lo ; encoding: [0x7e,0x0a,0x85,0xbe]
+0x7e,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, exec_hi ; encoding: [0x7f,0x0a,0x80,0xbe]
-0x7f,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, exec_hi ; encoding: [0x7f,0x0a,0x85,0xbe]
+0x7f,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, 0 ; encoding: [0x80,0x0a,0x80,0xbe]
-0x80,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, 0 ; encoding: [0x80,0x0a,0x85,0xbe]
+0x80,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, -1 ; encoding: [0xc1,0x0a,0x80,0xbe]
-0xc1,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, -1 ; encoding: [0xc1,0x0a,0x85,0xbe]
+0xc1,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, 0.5 ; encoding: [0xf0,0x0a,0x80,0xbe]
-0xf0,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, 0.5 ; encoding: [0xf0,0x0a,0x85,0xbe]
+0xf0,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, -4.0 ; encoding: [0xf7,0x0a,0x80,0xbe]
-0xf7,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, -4.0 ; encoding: [0xf7,0x0a,0x85,0xbe]
+0xf7,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, scc ; encoding: [0xfd,0x0a,0x80,0xbe]
-0xfd,0x0a,0x80,0xbe
+# CHECK: s_bcnt0_i32_b32 s5, scc ; encoding: [0xfd,0x0a,0x85,0xbe]
+0xfd,0x0a,0x85,0xbe
-# CHECK: s_bcnt0_i32_b32 s0, 0xaf123456 ; encoding: [0xff,0x0a,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x0a,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_bcnt0_i32_b32 s5, 0xaf123456 ; encoding: [0xff,0x0a,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x0a,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_bcnt0_i32_b32 s0, 0x3f717273 ; encoding: [0xff,0x0a,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x0a,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_bcnt0_i32_b32 s5, 0x3f717273 ; encoding: [0xff,0x0a,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0a,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_bcnt0_i32_b64 s0, s[0:1] ; encoding: [0x00,0x0b,0x80,0xbe]
-0x00,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, s[2:3] ; encoding: [0x02,0x0b,0x85,0xbe]
+0x02,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s101, s[0:1] ; encoding: [0x00,0x0b,0xe5,0xbe]
-0x00,0x0b,0xe5,0xbe
+# CHECK: s_bcnt0_i32_b64 s101, s[2:3] ; encoding: [0x02,0x0b,0xe5,0xbe]
+0x02,0x0b,0xe5,0xbe
-# CHECK: s_bcnt0_i32_b64 flat_scratch_lo, s[0:1] ; encoding: [0x00,0x0b,0xe6,0xbe]
-0x00,0x0b,0xe6,0xbe
+# CHECK: s_bcnt0_i32_b64 flat_scratch_lo, s[2:3] ; encoding: [0x02,0x0b,0xe6,0xbe]
+0x02,0x0b,0xe6,0xbe
-# CHECK: s_bcnt0_i32_b64 flat_scratch_hi, s[0:1] ; encoding: [0x00,0x0b,0xe7,0xbe]
-0x00,0x0b,0xe7,0xbe
+# CHECK: s_bcnt0_i32_b64 flat_scratch_hi, s[2:3] ; encoding: [0x02,0x0b,0xe7,0xbe]
+0x02,0x0b,0xe7,0xbe
-# CHECK: s_bcnt0_i32_b64 vcc_lo, s[0:1] ; encoding: [0x00,0x0b,0xea,0xbe]
-0x00,0x0b,0xea,0xbe
+# CHECK: s_bcnt0_i32_b64 vcc_lo, s[2:3] ; encoding: [0x02,0x0b,0xea,0xbe]
+0x02,0x0b,0xea,0xbe
-# CHECK: s_bcnt0_i32_b64 vcc_hi, s[0:1] ; encoding: [0x00,0x0b,0xeb,0xbe]
-0x00,0x0b,0xeb,0xbe
+# CHECK: s_bcnt0_i32_b64 vcc_hi, s[2:3] ; encoding: [0x02,0x0b,0xeb,0xbe]
+0x02,0x0b,0xeb,0xbe
-# CHECK: s_bcnt0_i32_b64 tba_lo, s[0:1] ; encoding: [0x00,0x0b,0xec,0xbe]
-0x00,0x0b,0xec,0xbe
+# CHECK: s_bcnt0_i32_b64 tba_lo, s[2:3] ; encoding: [0x02,0x0b,0xec,0xbe]
+0x02,0x0b,0xec,0xbe
-# CHECK: s_bcnt0_i32_b64 tba_hi, s[0:1] ; encoding: [0x00,0x0b,0xed,0xbe]
-0x00,0x0b,0xed,0xbe
+# CHECK: s_bcnt0_i32_b64 tba_hi, s[2:3] ; encoding: [0x02,0x0b,0xed,0xbe]
+0x02,0x0b,0xed,0xbe
-# CHECK: s_bcnt0_i32_b64 tma_lo, s[0:1] ; encoding: [0x00,0x0b,0xee,0xbe]
-0x00,0x0b,0xee,0xbe
+# CHECK: s_bcnt0_i32_b64 tma_lo, s[2:3] ; encoding: [0x02,0x0b,0xee,0xbe]
+0x02,0x0b,0xee,0xbe
-# CHECK: s_bcnt0_i32_b64 tma_hi, s[0:1] ; encoding: [0x00,0x0b,0xef,0xbe]
-0x00,0x0b,0xef,0xbe
+# CHECK: s_bcnt0_i32_b64 tma_hi, s[2:3] ; encoding: [0x02,0x0b,0xef,0xbe]
+0x02,0x0b,0xef,0xbe
-# CHECK: s_bcnt0_i32_b64 ttmp11, s[0:1] ; encoding: [0x00,0x0b,0xfb,0xbe]
-0x00,0x0b,0xfb,0xbe
+# CHECK: s_bcnt0_i32_b64 ttmp11, s[2:3] ; encoding: [0x02,0x0b,0xfb,0xbe]
+0x02,0x0b,0xfb,0xbe
-# CHECK: s_bcnt0_i32_b64 m0, s[0:1] ; encoding: [0x00,0x0b,0xfc,0xbe]
-0x00,0x0b,0xfc,0xbe
+# CHECK: s_bcnt0_i32_b64 m0, s[2:3] ; encoding: [0x02,0x0b,0xfc,0xbe]
+0x02,0x0b,0xfc,0xbe
-# CHECK: s_bcnt0_i32_b64 exec_lo, s[0:1] ; encoding: [0x00,0x0b,0xfe,0xbe]
-0x00,0x0b,0xfe,0xbe
+# CHECK: s_bcnt0_i32_b64 exec_lo, s[2:3] ; encoding: [0x02,0x0b,0xfe,0xbe]
+0x02,0x0b,0xfe,0xbe
-# CHECK: s_bcnt0_i32_b64 exec_hi, s[0:1] ; encoding: [0x00,0x0b,0xff,0xbe]
-0x00,0x0b,0xff,0xbe
+# CHECK: s_bcnt0_i32_b64 exec_hi, s[2:3] ; encoding: [0x02,0x0b,0xff,0xbe]
+0x02,0x0b,0xff,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, s[2:3] ; encoding: [0x02,0x0b,0x80,0xbe]
-0x02,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, s[4:5] ; encoding: [0x04,0x0b,0x85,0xbe]
+0x04,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, s[100:101] ; encoding: [0x64,0x0b,0x80,0xbe]
-0x64,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, s[100:101] ; encoding: [0x64,0x0b,0x85,0xbe]
+0x64,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, flat_scratch ; encoding: [0x66,0x0b,0x80,0xbe]
-0x66,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, flat_scratch ; encoding: [0x66,0x0b,0x85,0xbe]
+0x66,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, vcc ; encoding: [0x6a,0x0b,0x80,0xbe]
-0x6a,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, vcc ; encoding: [0x6a,0x0b,0x85,0xbe]
+0x6a,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, tba ; encoding: [0x6c,0x0b,0x80,0xbe]
-0x6c,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, tba ; encoding: [0x6c,0x0b,0x85,0xbe]
+0x6c,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, tma ; encoding: [0x6e,0x0b,0x80,0xbe]
-0x6e,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, tma ; encoding: [0x6e,0x0b,0x85,0xbe]
+0x6e,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, ttmp[10:11] ; encoding: [0x7a,0x0b,0x80,0xbe]
-0x7a,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, ttmp[10:11] ; encoding: [0x7a,0x0b,0x85,0xbe]
+0x7a,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, exec ; encoding: [0x7e,0x0b,0x80,0xbe]
-0x7e,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, exec ; encoding: [0x7e,0x0b,0x85,0xbe]
+0x7e,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, 0 ; encoding: [0x80,0x0b,0x80,0xbe]
-0x80,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, 0 ; encoding: [0x80,0x0b,0x85,0xbe]
+0x80,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, -1 ; encoding: [0xc1,0x0b,0x80,0xbe]
-0xc1,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, -1 ; encoding: [0xc1,0x0b,0x85,0xbe]
+0xc1,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, 0.5 ; encoding: [0xf0,0x0b,0x80,0xbe]
-0xf0,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, 0.5 ; encoding: [0xf0,0x0b,0x85,0xbe]
+0xf0,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, -4.0 ; encoding: [0xf7,0x0b,0x80,0xbe]
-0xf7,0x0b,0x80,0xbe
+# CHECK: s_bcnt0_i32_b64 s5, -4.0 ; encoding: [0xf7,0x0b,0x85,0xbe]
+0xf7,0x0b,0x85,0xbe
-# CHECK: s_bcnt0_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x0b,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x0b,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_bcnt0_i32_b64 s5, 0xaf123456 ; encoding: [0xff,0x0b,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x0b,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_bcnt0_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x0b,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x0b,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_bcnt0_i32_b64 s5, 0x3f717273 ; encoding: [0xff,0x0b,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0b,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_bcnt1_i32_b32 s0, s0 ; encoding: [0x00,0x0c,0x80,0xbe]
-0x00,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, s1 ; encoding: [0x01,0x0c,0x85,0xbe]
+0x01,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s101, s0 ; encoding: [0x00,0x0c,0xe5,0xbe]
-0x00,0x0c,0xe5,0xbe
+# CHECK: s_bcnt1_i32_b32 s101, s1 ; encoding: [0x01,0x0c,0xe5,0xbe]
+0x01,0x0c,0xe5,0xbe
-# CHECK: s_bcnt1_i32_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x0c,0xe6,0xbe]
-0x00,0x0c,0xe6,0xbe
+# CHECK: s_bcnt1_i32_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x0c,0xe6,0xbe]
+0x01,0x0c,0xe6,0xbe
-# CHECK: s_bcnt1_i32_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x0c,0xe7,0xbe]
-0x00,0x0c,0xe7,0xbe
+# CHECK: s_bcnt1_i32_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x0c,0xe7,0xbe]
+0x01,0x0c,0xe7,0xbe
-# CHECK: s_bcnt1_i32_b32 vcc_lo, s0 ; encoding: [0x00,0x0c,0xea,0xbe]
-0x00,0x0c,0xea,0xbe
+# CHECK: s_bcnt1_i32_b32 vcc_lo, s1 ; encoding: [0x01,0x0c,0xea,0xbe]
+0x01,0x0c,0xea,0xbe
-# CHECK: s_bcnt1_i32_b32 vcc_hi, s0 ; encoding: [0x00,0x0c,0xeb,0xbe]
-0x00,0x0c,0xeb,0xbe
+# CHECK: s_bcnt1_i32_b32 vcc_hi, s1 ; encoding: [0x01,0x0c,0xeb,0xbe]
+0x01,0x0c,0xeb,0xbe
-# CHECK: s_bcnt1_i32_b32 tba_lo, s0 ; encoding: [0x00,0x0c,0xec,0xbe]
-0x00,0x0c,0xec,0xbe
+# CHECK: s_bcnt1_i32_b32 tba_lo, s1 ; encoding: [0x01,0x0c,0xec,0xbe]
+0x01,0x0c,0xec,0xbe
-# CHECK: s_bcnt1_i32_b32 tba_hi, s0 ; encoding: [0x00,0x0c,0xed,0xbe]
-0x00,0x0c,0xed,0xbe
+# CHECK: s_bcnt1_i32_b32 tba_hi, s1 ; encoding: [0x01,0x0c,0xed,0xbe]
+0x01,0x0c,0xed,0xbe
-# CHECK: s_bcnt1_i32_b32 tma_lo, s0 ; encoding: [0x00,0x0c,0xee,0xbe]
-0x00,0x0c,0xee,0xbe
+# CHECK: s_bcnt1_i32_b32 tma_lo, s1 ; encoding: [0x01,0x0c,0xee,0xbe]
+0x01,0x0c,0xee,0xbe
-# CHECK: s_bcnt1_i32_b32 tma_hi, s0 ; encoding: [0x00,0x0c,0xef,0xbe]
-0x00,0x0c,0xef,0xbe
+# CHECK: s_bcnt1_i32_b32 tma_hi, s1 ; encoding: [0x01,0x0c,0xef,0xbe]
+0x01,0x0c,0xef,0xbe
-# CHECK: s_bcnt1_i32_b32 ttmp11, s0 ; encoding: [0x00,0x0c,0xfb,0xbe]
-0x00,0x0c,0xfb,0xbe
+# CHECK: s_bcnt1_i32_b32 ttmp11, s1 ; encoding: [0x01,0x0c,0xfb,0xbe]
+0x01,0x0c,0xfb,0xbe
-# CHECK: s_bcnt1_i32_b32 m0, s0 ; encoding: [0x00,0x0c,0xfc,0xbe]
-0x00,0x0c,0xfc,0xbe
+# CHECK: s_bcnt1_i32_b32 m0, s1 ; encoding: [0x01,0x0c,0xfc,0xbe]
+0x01,0x0c,0xfc,0xbe
-# CHECK: s_bcnt1_i32_b32 exec_lo, s0 ; encoding: [0x00,0x0c,0xfe,0xbe]
-0x00,0x0c,0xfe,0xbe
+# CHECK: s_bcnt1_i32_b32 exec_lo, s1 ; encoding: [0x01,0x0c,0xfe,0xbe]
+0x01,0x0c,0xfe,0xbe
-# CHECK: s_bcnt1_i32_b32 exec_hi, s0 ; encoding: [0x00,0x0c,0xff,0xbe]
-0x00,0x0c,0xff,0xbe
+# CHECK: s_bcnt1_i32_b32 exec_hi, s1 ; encoding: [0x01,0x0c,0xff,0xbe]
+0x01,0x0c,0xff,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, s101 ; encoding: [0x65,0x0c,0x80,0xbe]
-0x65,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, s101 ; encoding: [0x65,0x0c,0x85,0xbe]
+0x65,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, flat_scratch_lo ; encoding: [0x66,0x0c,0x80,0xbe]
-0x66,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, flat_scratch_lo ; encoding: [0x66,0x0c,0x85,0xbe]
+0x66,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, flat_scratch_hi ; encoding: [0x67,0x0c,0x80,0xbe]
-0x67,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, flat_scratch_hi ; encoding: [0x67,0x0c,0x85,0xbe]
+0x67,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, vcc_lo ; encoding: [0x6a,0x0c,0x80,0xbe]
-0x6a,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, vcc_lo ; encoding: [0x6a,0x0c,0x85,0xbe]
+0x6a,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, vcc_hi ; encoding: [0x6b,0x0c,0x80,0xbe]
-0x6b,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, vcc_hi ; encoding: [0x6b,0x0c,0x85,0xbe]
+0x6b,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, tba_lo ; encoding: [0x6c,0x0c,0x80,0xbe]
-0x6c,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, tba_lo ; encoding: [0x6c,0x0c,0x85,0xbe]
+0x6c,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, tba_hi ; encoding: [0x6d,0x0c,0x80,0xbe]
-0x6d,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, tba_hi ; encoding: [0x6d,0x0c,0x85,0xbe]
+0x6d,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, tma_lo ; encoding: [0x6e,0x0c,0x80,0xbe]
-0x6e,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, tma_lo ; encoding: [0x6e,0x0c,0x85,0xbe]
+0x6e,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, tma_hi ; encoding: [0x6f,0x0c,0x80,0xbe]
-0x6f,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, tma_hi ; encoding: [0x6f,0x0c,0x85,0xbe]
+0x6f,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, ttmp11 ; encoding: [0x7b,0x0c,0x80,0xbe]
-0x7b,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, ttmp11 ; encoding: [0x7b,0x0c,0x85,0xbe]
+0x7b,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, m0 ; encoding: [0x7c,0x0c,0x80,0xbe]
-0x7c,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, m0 ; encoding: [0x7c,0x0c,0x85,0xbe]
+0x7c,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, exec_lo ; encoding: [0x7e,0x0c,0x80,0xbe]
-0x7e,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, exec_lo ; encoding: [0x7e,0x0c,0x85,0xbe]
+0x7e,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, exec_hi ; encoding: [0x7f,0x0c,0x80,0xbe]
-0x7f,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, exec_hi ; encoding: [0x7f,0x0c,0x85,0xbe]
+0x7f,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, 0 ; encoding: [0x80,0x0c,0x80,0xbe]
-0x80,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, 0 ; encoding: [0x80,0x0c,0x85,0xbe]
+0x80,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, -1 ; encoding: [0xc1,0x0c,0x80,0xbe]
-0xc1,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, -1 ; encoding: [0xc1,0x0c,0x85,0xbe]
+0xc1,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, 0.5 ; encoding: [0xf0,0x0c,0x80,0xbe]
-0xf0,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, 0.5 ; encoding: [0xf0,0x0c,0x85,0xbe]
+0xf0,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, -4.0 ; encoding: [0xf7,0x0c,0x80,0xbe]
-0xf7,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, -4.0 ; encoding: [0xf7,0x0c,0x85,0xbe]
+0xf7,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, scc ; encoding: [0xfd,0x0c,0x80,0xbe]
-0xfd,0x0c,0x80,0xbe
+# CHECK: s_bcnt1_i32_b32 s5, scc ; encoding: [0xfd,0x0c,0x85,0xbe]
+0xfd,0x0c,0x85,0xbe
-# CHECK: s_bcnt1_i32_b32 s0, 0xaf123456 ; encoding: [0xff,0x0c,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x0c,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_bcnt1_i32_b32 s5, 0xaf123456 ; encoding: [0xff,0x0c,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x0c,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_bcnt1_i32_b32 s0, 0x3f717273 ; encoding: [0xff,0x0c,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x0c,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_bcnt1_i32_b32 s5, 0x3f717273 ; encoding: [0xff,0x0c,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0c,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_bcnt1_i32_b64 s0, s[0:1] ; encoding: [0x00,0x0d,0x80,0xbe]
-0x00,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, s[2:3] ; encoding: [0x02,0x0d,0x85,0xbe]
+0x02,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s101, s[0:1] ; encoding: [0x00,0x0d,0xe5,0xbe]
-0x00,0x0d,0xe5,0xbe
+# CHECK: s_bcnt1_i32_b64 s101, s[2:3] ; encoding: [0x02,0x0d,0xe5,0xbe]
+0x02,0x0d,0xe5,0xbe
-# CHECK: s_bcnt1_i32_b64 flat_scratch_lo, s[0:1] ; encoding: [0x00,0x0d,0xe6,0xbe]
-0x00,0x0d,0xe6,0xbe
+# CHECK: s_bcnt1_i32_b64 flat_scratch_lo, s[2:3] ; encoding: [0x02,0x0d,0xe6,0xbe]
+0x02,0x0d,0xe6,0xbe
-# CHECK: s_bcnt1_i32_b64 flat_scratch_hi, s[0:1] ; encoding: [0x00,0x0d,0xe7,0xbe]
-0x00,0x0d,0xe7,0xbe
+# CHECK: s_bcnt1_i32_b64 flat_scratch_hi, s[2:3] ; encoding: [0x02,0x0d,0xe7,0xbe]
+0x02,0x0d,0xe7,0xbe
-# CHECK: s_bcnt1_i32_b64 vcc_lo, s[0:1] ; encoding: [0x00,0x0d,0xea,0xbe]
-0x00,0x0d,0xea,0xbe
+# CHECK: s_bcnt1_i32_b64 vcc_lo, s[2:3] ; encoding: [0x02,0x0d,0xea,0xbe]
+0x02,0x0d,0xea,0xbe
-# CHECK: s_bcnt1_i32_b64 vcc_hi, s[0:1] ; encoding: [0x00,0x0d,0xeb,0xbe]
-0x00,0x0d,0xeb,0xbe
+# CHECK: s_bcnt1_i32_b64 vcc_hi, s[2:3] ; encoding: [0x02,0x0d,0xeb,0xbe]
+0x02,0x0d,0xeb,0xbe
-# CHECK: s_bcnt1_i32_b64 tba_lo, s[0:1] ; encoding: [0x00,0x0d,0xec,0xbe]
-0x00,0x0d,0xec,0xbe
+# CHECK: s_bcnt1_i32_b64 tba_lo, s[2:3] ; encoding: [0x02,0x0d,0xec,0xbe]
+0x02,0x0d,0xec,0xbe
-# CHECK: s_bcnt1_i32_b64 tba_hi, s[0:1] ; encoding: [0x00,0x0d,0xed,0xbe]
-0x00,0x0d,0xed,0xbe
+# CHECK: s_bcnt1_i32_b64 tba_hi, s[2:3] ; encoding: [0x02,0x0d,0xed,0xbe]
+0x02,0x0d,0xed,0xbe
-# CHECK: s_bcnt1_i32_b64 tma_lo, s[0:1] ; encoding: [0x00,0x0d,0xee,0xbe]
-0x00,0x0d,0xee,0xbe
+# CHECK: s_bcnt1_i32_b64 tma_lo, s[2:3] ; encoding: [0x02,0x0d,0xee,0xbe]
+0x02,0x0d,0xee,0xbe
-# CHECK: s_bcnt1_i32_b64 tma_hi, s[0:1] ; encoding: [0x00,0x0d,0xef,0xbe]
-0x00,0x0d,0xef,0xbe
+# CHECK: s_bcnt1_i32_b64 tma_hi, s[2:3] ; encoding: [0x02,0x0d,0xef,0xbe]
+0x02,0x0d,0xef,0xbe
-# CHECK: s_bcnt1_i32_b64 ttmp11, s[0:1] ; encoding: [0x00,0x0d,0xfb,0xbe]
-0x00,0x0d,0xfb,0xbe
+# CHECK: s_bcnt1_i32_b64 ttmp11, s[2:3] ; encoding: [0x02,0x0d,0xfb,0xbe]
+0x02,0x0d,0xfb,0xbe
-# CHECK: s_bcnt1_i32_b64 m0, s[0:1] ; encoding: [0x00,0x0d,0xfc,0xbe]
-0x00,0x0d,0xfc,0xbe
+# CHECK: s_bcnt1_i32_b64 m0, s[2:3] ; encoding: [0x02,0x0d,0xfc,0xbe]
+0x02,0x0d,0xfc,0xbe
-# CHECK: s_bcnt1_i32_b64 exec_lo, s[0:1] ; encoding: [0x00,0x0d,0xfe,0xbe]
-0x00,0x0d,0xfe,0xbe
+# CHECK: s_bcnt1_i32_b64 exec_lo, s[2:3] ; encoding: [0x02,0x0d,0xfe,0xbe]
+0x02,0x0d,0xfe,0xbe
-# CHECK: s_bcnt1_i32_b64 exec_hi, s[0:1] ; encoding: [0x00,0x0d,0xff,0xbe]
-0x00,0x0d,0xff,0xbe
+# CHECK: s_bcnt1_i32_b64 exec_hi, s[2:3] ; encoding: [0x02,0x0d,0xff,0xbe]
+0x02,0x0d,0xff,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, s[2:3] ; encoding: [0x02,0x0d,0x80,0xbe]
-0x02,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, s[4:5] ; encoding: [0x04,0x0d,0x85,0xbe]
+0x04,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, s[100:101] ; encoding: [0x64,0x0d,0x80,0xbe]
-0x64,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, s[100:101] ; encoding: [0x64,0x0d,0x85,0xbe]
+0x64,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, flat_scratch ; encoding: [0x66,0x0d,0x80,0xbe]
-0x66,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, flat_scratch ; encoding: [0x66,0x0d,0x85,0xbe]
+0x66,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, vcc ; encoding: [0x6a,0x0d,0x80,0xbe]
-0x6a,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, vcc ; encoding: [0x6a,0x0d,0x85,0xbe]
+0x6a,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, tba ; encoding: [0x6c,0x0d,0x80,0xbe]
-0x6c,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, tba ; encoding: [0x6c,0x0d,0x85,0xbe]
+0x6c,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, tma ; encoding: [0x6e,0x0d,0x80,0xbe]
-0x6e,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, tma ; encoding: [0x6e,0x0d,0x85,0xbe]
+0x6e,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, ttmp[10:11] ; encoding: [0x7a,0x0d,0x80,0xbe]
-0x7a,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, ttmp[10:11] ; encoding: [0x7a,0x0d,0x85,0xbe]
+0x7a,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, exec ; encoding: [0x7e,0x0d,0x80,0xbe]
-0x7e,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, exec ; encoding: [0x7e,0x0d,0x85,0xbe]
+0x7e,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, 0 ; encoding: [0x80,0x0d,0x80,0xbe]
-0x80,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, 0 ; encoding: [0x80,0x0d,0x85,0xbe]
+0x80,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, -1 ; encoding: [0xc1,0x0d,0x80,0xbe]
-0xc1,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, -1 ; encoding: [0xc1,0x0d,0x85,0xbe]
+0xc1,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, 0.5 ; encoding: [0xf0,0x0d,0x80,0xbe]
-0xf0,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, 0.5 ; encoding: [0xf0,0x0d,0x85,0xbe]
+0xf0,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, -4.0 ; encoding: [0xf7,0x0d,0x80,0xbe]
-0xf7,0x0d,0x80,0xbe
+# CHECK: s_bcnt1_i32_b64 s5, -4.0 ; encoding: [0xf7,0x0d,0x85,0xbe]
+0xf7,0x0d,0x85,0xbe
-# CHECK: s_bcnt1_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x0d,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x0d,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_bcnt1_i32_b64 s5, 0xaf123456 ; encoding: [0xff,0x0d,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x0d,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_bcnt1_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x0d,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x0d,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_bcnt1_i32_b64 s5, 0x3f717273 ; encoding: [0xff,0x0d,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0d,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_ff0_i32_b32 s0, s0 ; encoding: [0x00,0x0e,0x80,0xbe]
-0x00,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, s1 ; encoding: [0x01,0x0e,0x85,0xbe]
+0x01,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s101, s0 ; encoding: [0x00,0x0e,0xe5,0xbe]
-0x00,0x0e,0xe5,0xbe
+# CHECK: s_ff0_i32_b32 s101, s1 ; encoding: [0x01,0x0e,0xe5,0xbe]
+0x01,0x0e,0xe5,0xbe
-# CHECK: s_ff0_i32_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x0e,0xe6,0xbe]
-0x00,0x0e,0xe6,0xbe
+# CHECK: s_ff0_i32_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x0e,0xe6,0xbe]
+0x01,0x0e,0xe6,0xbe
-# CHECK: s_ff0_i32_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x0e,0xe7,0xbe]
-0x00,0x0e,0xe7,0xbe
+# CHECK: s_ff0_i32_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x0e,0xe7,0xbe]
+0x01,0x0e,0xe7,0xbe
-# CHECK: s_ff0_i32_b32 vcc_lo, s0 ; encoding: [0x00,0x0e,0xea,0xbe]
-0x00,0x0e,0xea,0xbe
+# CHECK: s_ff0_i32_b32 vcc_lo, s1 ; encoding: [0x01,0x0e,0xea,0xbe]
+0x01,0x0e,0xea,0xbe
-# CHECK: s_ff0_i32_b32 vcc_hi, s0 ; encoding: [0x00,0x0e,0xeb,0xbe]
-0x00,0x0e,0xeb,0xbe
+# CHECK: s_ff0_i32_b32 vcc_hi, s1 ; encoding: [0x01,0x0e,0xeb,0xbe]
+0x01,0x0e,0xeb,0xbe
-# CHECK: s_ff0_i32_b32 tba_lo, s0 ; encoding: [0x00,0x0e,0xec,0xbe]
-0x00,0x0e,0xec,0xbe
+# CHECK: s_ff0_i32_b32 tba_lo, s1 ; encoding: [0x01,0x0e,0xec,0xbe]
+0x01,0x0e,0xec,0xbe
-# CHECK: s_ff0_i32_b32 tba_hi, s0 ; encoding: [0x00,0x0e,0xed,0xbe]
-0x00,0x0e,0xed,0xbe
+# CHECK: s_ff0_i32_b32 tba_hi, s1 ; encoding: [0x01,0x0e,0xed,0xbe]
+0x01,0x0e,0xed,0xbe
-# CHECK: s_ff0_i32_b32 tma_lo, s0 ; encoding: [0x00,0x0e,0xee,0xbe]
-0x00,0x0e,0xee,0xbe
+# CHECK: s_ff0_i32_b32 tma_lo, s1 ; encoding: [0x01,0x0e,0xee,0xbe]
+0x01,0x0e,0xee,0xbe
-# CHECK: s_ff0_i32_b32 tma_hi, s0 ; encoding: [0x00,0x0e,0xef,0xbe]
-0x00,0x0e,0xef,0xbe
+# CHECK: s_ff0_i32_b32 tma_hi, s1 ; encoding: [0x01,0x0e,0xef,0xbe]
+0x01,0x0e,0xef,0xbe
-# CHECK: s_ff0_i32_b32 ttmp11, s0 ; encoding: [0x00,0x0e,0xfb,0xbe]
-0x00,0x0e,0xfb,0xbe
+# CHECK: s_ff0_i32_b32 ttmp11, s1 ; encoding: [0x01,0x0e,0xfb,0xbe]
+0x01,0x0e,0xfb,0xbe
-# CHECK: s_ff0_i32_b32 m0, s0 ; encoding: [0x00,0x0e,0xfc,0xbe]
-0x00,0x0e,0xfc,0xbe
+# CHECK: s_ff0_i32_b32 m0, s1 ; encoding: [0x01,0x0e,0xfc,0xbe]
+0x01,0x0e,0xfc,0xbe
-# CHECK: s_ff0_i32_b32 exec_lo, s0 ; encoding: [0x00,0x0e,0xfe,0xbe]
-0x00,0x0e,0xfe,0xbe
+# CHECK: s_ff0_i32_b32 exec_lo, s1 ; encoding: [0x01,0x0e,0xfe,0xbe]
+0x01,0x0e,0xfe,0xbe
-# CHECK: s_ff0_i32_b32 exec_hi, s0 ; encoding: [0x00,0x0e,0xff,0xbe]
-0x00,0x0e,0xff,0xbe
+# CHECK: s_ff0_i32_b32 exec_hi, s1 ; encoding: [0x01,0x0e,0xff,0xbe]
+0x01,0x0e,0xff,0xbe
-# CHECK: s_ff0_i32_b32 s0, s101 ; encoding: [0x65,0x0e,0x80,0xbe]
-0x65,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, s101 ; encoding: [0x65,0x0e,0x85,0xbe]
+0x65,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, flat_scratch_lo ; encoding: [0x66,0x0e,0x80,0xbe]
-0x66,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, flat_scratch_lo ; encoding: [0x66,0x0e,0x85,0xbe]
+0x66,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, flat_scratch_hi ; encoding: [0x67,0x0e,0x80,0xbe]
-0x67,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, flat_scratch_hi ; encoding: [0x67,0x0e,0x85,0xbe]
+0x67,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, vcc_lo ; encoding: [0x6a,0x0e,0x80,0xbe]
-0x6a,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, vcc_lo ; encoding: [0x6a,0x0e,0x85,0xbe]
+0x6a,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, vcc_hi ; encoding: [0x6b,0x0e,0x80,0xbe]
-0x6b,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, vcc_hi ; encoding: [0x6b,0x0e,0x85,0xbe]
+0x6b,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, tba_lo ; encoding: [0x6c,0x0e,0x80,0xbe]
-0x6c,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, tba_lo ; encoding: [0x6c,0x0e,0x85,0xbe]
+0x6c,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, tba_hi ; encoding: [0x6d,0x0e,0x80,0xbe]
-0x6d,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, tba_hi ; encoding: [0x6d,0x0e,0x85,0xbe]
+0x6d,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, tma_lo ; encoding: [0x6e,0x0e,0x80,0xbe]
-0x6e,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, tma_lo ; encoding: [0x6e,0x0e,0x85,0xbe]
+0x6e,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, tma_hi ; encoding: [0x6f,0x0e,0x80,0xbe]
-0x6f,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, tma_hi ; encoding: [0x6f,0x0e,0x85,0xbe]
+0x6f,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, ttmp11 ; encoding: [0x7b,0x0e,0x80,0xbe]
-0x7b,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, ttmp11 ; encoding: [0x7b,0x0e,0x85,0xbe]
+0x7b,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, m0 ; encoding: [0x7c,0x0e,0x80,0xbe]
-0x7c,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, m0 ; encoding: [0x7c,0x0e,0x85,0xbe]
+0x7c,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, exec_lo ; encoding: [0x7e,0x0e,0x80,0xbe]
-0x7e,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, exec_lo ; encoding: [0x7e,0x0e,0x85,0xbe]
+0x7e,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, exec_hi ; encoding: [0x7f,0x0e,0x80,0xbe]
-0x7f,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, exec_hi ; encoding: [0x7f,0x0e,0x85,0xbe]
+0x7f,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, 0 ; encoding: [0x80,0x0e,0x80,0xbe]
-0x80,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, 0 ; encoding: [0x80,0x0e,0x85,0xbe]
+0x80,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, -1 ; encoding: [0xc1,0x0e,0x80,0xbe]
-0xc1,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, -1 ; encoding: [0xc1,0x0e,0x85,0xbe]
+0xc1,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, 0.5 ; encoding: [0xf0,0x0e,0x80,0xbe]
-0xf0,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, 0.5 ; encoding: [0xf0,0x0e,0x85,0xbe]
+0xf0,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, -4.0 ; encoding: [0xf7,0x0e,0x80,0xbe]
-0xf7,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, -4.0 ; encoding: [0xf7,0x0e,0x85,0xbe]
+0xf7,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, scc ; encoding: [0xfd,0x0e,0x80,0xbe]
-0xfd,0x0e,0x80,0xbe
+# CHECK: s_ff0_i32_b32 s5, scc ; encoding: [0xfd,0x0e,0x85,0xbe]
+0xfd,0x0e,0x85,0xbe
-# CHECK: s_ff0_i32_b32 s0, 0xaf123456 ; encoding: [0xff,0x0e,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x0e,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_ff0_i32_b32 s5, 0xaf123456 ; encoding: [0xff,0x0e,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x0e,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_ff0_i32_b32 s0, 0x3f717273 ; encoding: [0xff,0x0e,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x0e,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_ff0_i32_b32 s5, 0x3f717273 ; encoding: [0xff,0x0e,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0e,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_ff0_i32_b64 s0, s[0:1] ; encoding: [0x00,0x0f,0x80,0xbe]
-0x00,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, s[2:3] ; encoding: [0x02,0x0f,0x85,0xbe]
+0x02,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s101, s[0:1] ; encoding: [0x00,0x0f,0xe5,0xbe]
-0x00,0x0f,0xe5,0xbe
+# CHECK: s_ff0_i32_b64 s101, s[2:3] ; encoding: [0x02,0x0f,0xe5,0xbe]
+0x02,0x0f,0xe5,0xbe
-# CHECK: s_ff0_i32_b64 flat_scratch_lo, s[0:1] ; encoding: [0x00,0x0f,0xe6,0xbe]
-0x00,0x0f,0xe6,0xbe
+# CHECK: s_ff0_i32_b64 flat_scratch_lo, s[2:3] ; encoding: [0x02,0x0f,0xe6,0xbe]
+0x02,0x0f,0xe6,0xbe
-# CHECK: s_ff0_i32_b64 flat_scratch_hi, s[0:1] ; encoding: [0x00,0x0f,0xe7,0xbe]
-0x00,0x0f,0xe7,0xbe
+# CHECK: s_ff0_i32_b64 flat_scratch_hi, s[2:3] ; encoding: [0x02,0x0f,0xe7,0xbe]
+0x02,0x0f,0xe7,0xbe
-# CHECK: s_ff0_i32_b64 vcc_lo, s[0:1] ; encoding: [0x00,0x0f,0xea,0xbe]
-0x00,0x0f,0xea,0xbe
+# CHECK: s_ff0_i32_b64 vcc_lo, s[2:3] ; encoding: [0x02,0x0f,0xea,0xbe]
+0x02,0x0f,0xea,0xbe
-# CHECK: s_ff0_i32_b64 vcc_hi, s[0:1] ; encoding: [0x00,0x0f,0xeb,0xbe]
-0x00,0x0f,0xeb,0xbe
+# CHECK: s_ff0_i32_b64 vcc_hi, s[2:3] ; encoding: [0x02,0x0f,0xeb,0xbe]
+0x02,0x0f,0xeb,0xbe
-# CHECK: s_ff0_i32_b64 tba_lo, s[0:1] ; encoding: [0x00,0x0f,0xec,0xbe]
-0x00,0x0f,0xec,0xbe
+# CHECK: s_ff0_i32_b64 tba_lo, s[2:3] ; encoding: [0x02,0x0f,0xec,0xbe]
+0x02,0x0f,0xec,0xbe
-# CHECK: s_ff0_i32_b64 tba_hi, s[0:1] ; encoding: [0x00,0x0f,0xed,0xbe]
-0x00,0x0f,0xed,0xbe
+# CHECK: s_ff0_i32_b64 tba_hi, s[2:3] ; encoding: [0x02,0x0f,0xed,0xbe]
+0x02,0x0f,0xed,0xbe
-# CHECK: s_ff0_i32_b64 tma_lo, s[0:1] ; encoding: [0x00,0x0f,0xee,0xbe]
-0x00,0x0f,0xee,0xbe
+# CHECK: s_ff0_i32_b64 tma_lo, s[2:3] ; encoding: [0x02,0x0f,0xee,0xbe]
+0x02,0x0f,0xee,0xbe
-# CHECK: s_ff0_i32_b64 tma_hi, s[0:1] ; encoding: [0x00,0x0f,0xef,0xbe]
-0x00,0x0f,0xef,0xbe
+# CHECK: s_ff0_i32_b64 tma_hi, s[2:3] ; encoding: [0x02,0x0f,0xef,0xbe]
+0x02,0x0f,0xef,0xbe
-# CHECK: s_ff0_i32_b64 ttmp11, s[0:1] ; encoding: [0x00,0x0f,0xfb,0xbe]
-0x00,0x0f,0xfb,0xbe
+# CHECK: s_ff0_i32_b64 ttmp11, s[2:3] ; encoding: [0x02,0x0f,0xfb,0xbe]
+0x02,0x0f,0xfb,0xbe
-# CHECK: s_ff0_i32_b64 m0, s[0:1] ; encoding: [0x00,0x0f,0xfc,0xbe]
-0x00,0x0f,0xfc,0xbe
+# CHECK: s_ff0_i32_b64 m0, s[2:3] ; encoding: [0x02,0x0f,0xfc,0xbe]
+0x02,0x0f,0xfc,0xbe
-# CHECK: s_ff0_i32_b64 exec_lo, s[0:1] ; encoding: [0x00,0x0f,0xfe,0xbe]
-0x00,0x0f,0xfe,0xbe
+# CHECK: s_ff0_i32_b64 exec_lo, s[2:3] ; encoding: [0x02,0x0f,0xfe,0xbe]
+0x02,0x0f,0xfe,0xbe
-# CHECK: s_ff0_i32_b64 exec_hi, s[0:1] ; encoding: [0x00,0x0f,0xff,0xbe]
-0x00,0x0f,0xff,0xbe
+# CHECK: s_ff0_i32_b64 exec_hi, s[2:3] ; encoding: [0x02,0x0f,0xff,0xbe]
+0x02,0x0f,0xff,0xbe
-# CHECK: s_ff0_i32_b64 s0, s[2:3] ; encoding: [0x02,0x0f,0x80,0xbe]
-0x02,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, s[4:5] ; encoding: [0x04,0x0f,0x85,0xbe]
+0x04,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, s[100:101] ; encoding: [0x64,0x0f,0x80,0xbe]
-0x64,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, s[100:101] ; encoding: [0x64,0x0f,0x85,0xbe]
+0x64,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, flat_scratch ; encoding: [0x66,0x0f,0x80,0xbe]
-0x66,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, flat_scratch ; encoding: [0x66,0x0f,0x85,0xbe]
+0x66,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, vcc ; encoding: [0x6a,0x0f,0x80,0xbe]
-0x6a,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, vcc ; encoding: [0x6a,0x0f,0x85,0xbe]
+0x6a,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, tba ; encoding: [0x6c,0x0f,0x80,0xbe]
-0x6c,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, tba ; encoding: [0x6c,0x0f,0x85,0xbe]
+0x6c,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, tma ; encoding: [0x6e,0x0f,0x80,0xbe]
-0x6e,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, tma ; encoding: [0x6e,0x0f,0x85,0xbe]
+0x6e,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, ttmp[10:11] ; encoding: [0x7a,0x0f,0x80,0xbe]
-0x7a,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, ttmp[10:11] ; encoding: [0x7a,0x0f,0x85,0xbe]
+0x7a,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, exec ; encoding: [0x7e,0x0f,0x80,0xbe]
-0x7e,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, exec ; encoding: [0x7e,0x0f,0x85,0xbe]
+0x7e,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, 0 ; encoding: [0x80,0x0f,0x80,0xbe]
-0x80,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, 0 ; encoding: [0x80,0x0f,0x85,0xbe]
+0x80,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, -1 ; encoding: [0xc1,0x0f,0x80,0xbe]
-0xc1,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, -1 ; encoding: [0xc1,0x0f,0x85,0xbe]
+0xc1,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, 0.5 ; encoding: [0xf0,0x0f,0x80,0xbe]
-0xf0,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, 0.5 ; encoding: [0xf0,0x0f,0x85,0xbe]
+0xf0,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, -4.0 ; encoding: [0xf7,0x0f,0x80,0xbe]
-0xf7,0x0f,0x80,0xbe
+# CHECK: s_ff0_i32_b64 s5, -4.0 ; encoding: [0xf7,0x0f,0x85,0xbe]
+0xf7,0x0f,0x85,0xbe
-# CHECK: s_ff0_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x0f,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x0f,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_ff0_i32_b64 s5, 0xaf123456 ; encoding: [0xff,0x0f,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x0f,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_ff0_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x0f,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x0f,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_ff0_i32_b64 s5, 0x3f717273 ; encoding: [0xff,0x0f,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x0f,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_ff1_i32_b32 s0, s0 ; encoding: [0x00,0x10,0x80,0xbe]
-0x00,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, s1 ; encoding: [0x01,0x10,0x85,0xbe]
+0x01,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s101, s0 ; encoding: [0x00,0x10,0xe5,0xbe]
-0x00,0x10,0xe5,0xbe
+# CHECK: s_ff1_i32_b32 s101, s1 ; encoding: [0x01,0x10,0xe5,0xbe]
+0x01,0x10,0xe5,0xbe
-# CHECK: s_ff1_i32_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x10,0xe6,0xbe]
-0x00,0x10,0xe6,0xbe
+# CHECK: s_ff1_i32_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x10,0xe6,0xbe]
+0x01,0x10,0xe6,0xbe
-# CHECK: s_ff1_i32_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x10,0xe7,0xbe]
-0x00,0x10,0xe7,0xbe
+# CHECK: s_ff1_i32_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x10,0xe7,0xbe]
+0x01,0x10,0xe7,0xbe
-# CHECK: s_ff1_i32_b32 vcc_lo, s0 ; encoding: [0x00,0x10,0xea,0xbe]
-0x00,0x10,0xea,0xbe
+# CHECK: s_ff1_i32_b32 vcc_lo, s1 ; encoding: [0x01,0x10,0xea,0xbe]
+0x01,0x10,0xea,0xbe
-# CHECK: s_ff1_i32_b32 vcc_hi, s0 ; encoding: [0x00,0x10,0xeb,0xbe]
-0x00,0x10,0xeb,0xbe
+# CHECK: s_ff1_i32_b32 vcc_hi, s1 ; encoding: [0x01,0x10,0xeb,0xbe]
+0x01,0x10,0xeb,0xbe
-# CHECK: s_ff1_i32_b32 tba_lo, s0 ; encoding: [0x00,0x10,0xec,0xbe]
-0x00,0x10,0xec,0xbe
+# CHECK: s_ff1_i32_b32 tba_lo, s1 ; encoding: [0x01,0x10,0xec,0xbe]
+0x01,0x10,0xec,0xbe
-# CHECK: s_ff1_i32_b32 tba_hi, s0 ; encoding: [0x00,0x10,0xed,0xbe]
-0x00,0x10,0xed,0xbe
+# CHECK: s_ff1_i32_b32 tba_hi, s1 ; encoding: [0x01,0x10,0xed,0xbe]
+0x01,0x10,0xed,0xbe
-# CHECK: s_ff1_i32_b32 tma_lo, s0 ; encoding: [0x00,0x10,0xee,0xbe]
-0x00,0x10,0xee,0xbe
+# CHECK: s_ff1_i32_b32 tma_lo, s1 ; encoding: [0x01,0x10,0xee,0xbe]
+0x01,0x10,0xee,0xbe
-# CHECK: s_ff1_i32_b32 tma_hi, s0 ; encoding: [0x00,0x10,0xef,0xbe]
-0x00,0x10,0xef,0xbe
+# CHECK: s_ff1_i32_b32 tma_hi, s1 ; encoding: [0x01,0x10,0xef,0xbe]
+0x01,0x10,0xef,0xbe
-# CHECK: s_ff1_i32_b32 ttmp11, s0 ; encoding: [0x00,0x10,0xfb,0xbe]
-0x00,0x10,0xfb,0xbe
+# CHECK: s_ff1_i32_b32 ttmp11, s1 ; encoding: [0x01,0x10,0xfb,0xbe]
+0x01,0x10,0xfb,0xbe
-# CHECK: s_ff1_i32_b32 m0, s0 ; encoding: [0x00,0x10,0xfc,0xbe]
-0x00,0x10,0xfc,0xbe
+# CHECK: s_ff1_i32_b32 m0, s1 ; encoding: [0x01,0x10,0xfc,0xbe]
+0x01,0x10,0xfc,0xbe
-# CHECK: s_ff1_i32_b32 exec_lo, s0 ; encoding: [0x00,0x10,0xfe,0xbe]
-0x00,0x10,0xfe,0xbe
+# CHECK: s_ff1_i32_b32 exec_lo, s1 ; encoding: [0x01,0x10,0xfe,0xbe]
+0x01,0x10,0xfe,0xbe
-# CHECK: s_ff1_i32_b32 exec_hi, s0 ; encoding: [0x00,0x10,0xff,0xbe]
-0x00,0x10,0xff,0xbe
+# CHECK: s_ff1_i32_b32 exec_hi, s1 ; encoding: [0x01,0x10,0xff,0xbe]
+0x01,0x10,0xff,0xbe
-# CHECK: s_ff1_i32_b32 s0, s101 ; encoding: [0x65,0x10,0x80,0xbe]
-0x65,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, s101 ; encoding: [0x65,0x10,0x85,0xbe]
+0x65,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, flat_scratch_lo ; encoding: [0x66,0x10,0x80,0xbe]
-0x66,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, flat_scratch_lo ; encoding: [0x66,0x10,0x85,0xbe]
+0x66,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, flat_scratch_hi ; encoding: [0x67,0x10,0x80,0xbe]
-0x67,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, flat_scratch_hi ; encoding: [0x67,0x10,0x85,0xbe]
+0x67,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, vcc_lo ; encoding: [0x6a,0x10,0x80,0xbe]
-0x6a,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, vcc_lo ; encoding: [0x6a,0x10,0x85,0xbe]
+0x6a,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, vcc_hi ; encoding: [0x6b,0x10,0x80,0xbe]
-0x6b,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, vcc_hi ; encoding: [0x6b,0x10,0x85,0xbe]
+0x6b,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, tba_lo ; encoding: [0x6c,0x10,0x80,0xbe]
-0x6c,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, tba_lo ; encoding: [0x6c,0x10,0x85,0xbe]
+0x6c,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, tba_hi ; encoding: [0x6d,0x10,0x80,0xbe]
-0x6d,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, tba_hi ; encoding: [0x6d,0x10,0x85,0xbe]
+0x6d,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, tma_lo ; encoding: [0x6e,0x10,0x80,0xbe]
-0x6e,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, tma_lo ; encoding: [0x6e,0x10,0x85,0xbe]
+0x6e,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, tma_hi ; encoding: [0x6f,0x10,0x80,0xbe]
-0x6f,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, tma_hi ; encoding: [0x6f,0x10,0x85,0xbe]
+0x6f,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, ttmp11 ; encoding: [0x7b,0x10,0x80,0xbe]
-0x7b,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, ttmp11 ; encoding: [0x7b,0x10,0x85,0xbe]
+0x7b,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, m0 ; encoding: [0x7c,0x10,0x80,0xbe]
-0x7c,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, m0 ; encoding: [0x7c,0x10,0x85,0xbe]
+0x7c,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, exec_lo ; encoding: [0x7e,0x10,0x80,0xbe]
-0x7e,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, exec_lo ; encoding: [0x7e,0x10,0x85,0xbe]
+0x7e,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, exec_hi ; encoding: [0x7f,0x10,0x80,0xbe]
-0x7f,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, exec_hi ; encoding: [0x7f,0x10,0x85,0xbe]
+0x7f,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, 0 ; encoding: [0x80,0x10,0x80,0xbe]
-0x80,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, 0 ; encoding: [0x80,0x10,0x85,0xbe]
+0x80,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, -1 ; encoding: [0xc1,0x10,0x80,0xbe]
-0xc1,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, -1 ; encoding: [0xc1,0x10,0x85,0xbe]
+0xc1,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, 0.5 ; encoding: [0xf0,0x10,0x80,0xbe]
-0xf0,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, 0.5 ; encoding: [0xf0,0x10,0x85,0xbe]
+0xf0,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, -4.0 ; encoding: [0xf7,0x10,0x80,0xbe]
-0xf7,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, -4.0 ; encoding: [0xf7,0x10,0x85,0xbe]
+0xf7,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, scc ; encoding: [0xfd,0x10,0x80,0xbe]
-0xfd,0x10,0x80,0xbe
+# CHECK: s_ff1_i32_b32 s5, scc ; encoding: [0xfd,0x10,0x85,0xbe]
+0xfd,0x10,0x85,0xbe
-# CHECK: s_ff1_i32_b32 s0, 0xaf123456 ; encoding: [0xff,0x10,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x10,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_ff1_i32_b32 s5, 0xaf123456 ; encoding: [0xff,0x10,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x10,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_ff1_i32_b32 s0, 0x3f717273 ; encoding: [0xff,0x10,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x10,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_ff1_i32_b32 s5, 0x3f717273 ; encoding: [0xff,0x10,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x10,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_ff1_i32_b64 s0, s[0:1] ; encoding: [0x00,0x11,0x80,0xbe]
-0x00,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, s[2:3] ; encoding: [0x02,0x11,0x85,0xbe]
+0x02,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s101, s[0:1] ; encoding: [0x00,0x11,0xe5,0xbe]
-0x00,0x11,0xe5,0xbe
+# CHECK: s_ff1_i32_b64 s101, s[2:3] ; encoding: [0x02,0x11,0xe5,0xbe]
+0x02,0x11,0xe5,0xbe
-# CHECK: s_ff1_i32_b64 flat_scratch_lo, s[0:1] ; encoding: [0x00,0x11,0xe6,0xbe]
-0x00,0x11,0xe6,0xbe
+# CHECK: s_ff1_i32_b64 flat_scratch_lo, s[2:3] ; encoding: [0x02,0x11,0xe6,0xbe]
+0x02,0x11,0xe6,0xbe
-# CHECK: s_ff1_i32_b64 flat_scratch_hi, s[0:1] ; encoding: [0x00,0x11,0xe7,0xbe]
-0x00,0x11,0xe7,0xbe
+# CHECK: s_ff1_i32_b64 flat_scratch_hi, s[2:3] ; encoding: [0x02,0x11,0xe7,0xbe]
+0x02,0x11,0xe7,0xbe
-# CHECK: s_ff1_i32_b64 vcc_lo, s[0:1] ; encoding: [0x00,0x11,0xea,0xbe]
-0x00,0x11,0xea,0xbe
+# CHECK: s_ff1_i32_b64 vcc_lo, s[2:3] ; encoding: [0x02,0x11,0xea,0xbe]
+0x02,0x11,0xea,0xbe
-# CHECK: s_ff1_i32_b64 vcc_hi, s[0:1] ; encoding: [0x00,0x11,0xeb,0xbe]
-0x00,0x11,0xeb,0xbe
+# CHECK: s_ff1_i32_b64 vcc_hi, s[2:3] ; encoding: [0x02,0x11,0xeb,0xbe]
+0x02,0x11,0xeb,0xbe
-# CHECK: s_ff1_i32_b64 tba_lo, s[0:1] ; encoding: [0x00,0x11,0xec,0xbe]
-0x00,0x11,0xec,0xbe
+# CHECK: s_ff1_i32_b64 tba_lo, s[2:3] ; encoding: [0x02,0x11,0xec,0xbe]
+0x02,0x11,0xec,0xbe
-# CHECK: s_ff1_i32_b64 tba_hi, s[0:1] ; encoding: [0x00,0x11,0xed,0xbe]
-0x00,0x11,0xed,0xbe
+# CHECK: s_ff1_i32_b64 tba_hi, s[2:3] ; encoding: [0x02,0x11,0xed,0xbe]
+0x02,0x11,0xed,0xbe
-# CHECK: s_ff1_i32_b64 tma_lo, s[0:1] ; encoding: [0x00,0x11,0xee,0xbe]
-0x00,0x11,0xee,0xbe
+# CHECK: s_ff1_i32_b64 tma_lo, s[2:3] ; encoding: [0x02,0x11,0xee,0xbe]
+0x02,0x11,0xee,0xbe
-# CHECK: s_ff1_i32_b64 tma_hi, s[0:1] ; encoding: [0x00,0x11,0xef,0xbe]
-0x00,0x11,0xef,0xbe
+# CHECK: s_ff1_i32_b64 tma_hi, s[2:3] ; encoding: [0x02,0x11,0xef,0xbe]
+0x02,0x11,0xef,0xbe
-# CHECK: s_ff1_i32_b64 ttmp11, s[0:1] ; encoding: [0x00,0x11,0xfb,0xbe]
-0x00,0x11,0xfb,0xbe
+# CHECK: s_ff1_i32_b64 ttmp11, s[2:3] ; encoding: [0x02,0x11,0xfb,0xbe]
+0x02,0x11,0xfb,0xbe
-# CHECK: s_ff1_i32_b64 m0, s[0:1] ; encoding: [0x00,0x11,0xfc,0xbe]
-0x00,0x11,0xfc,0xbe
+# CHECK: s_ff1_i32_b64 m0, s[2:3] ; encoding: [0x02,0x11,0xfc,0xbe]
+0x02,0x11,0xfc,0xbe
-# CHECK: s_ff1_i32_b64 exec_lo, s[0:1] ; encoding: [0x00,0x11,0xfe,0xbe]
-0x00,0x11,0xfe,0xbe
+# CHECK: s_ff1_i32_b64 exec_lo, s[2:3] ; encoding: [0x02,0x11,0xfe,0xbe]
+0x02,0x11,0xfe,0xbe
-# CHECK: s_ff1_i32_b64 exec_hi, s[0:1] ; encoding: [0x00,0x11,0xff,0xbe]
-0x00,0x11,0xff,0xbe
+# CHECK: s_ff1_i32_b64 exec_hi, s[2:3] ; encoding: [0x02,0x11,0xff,0xbe]
+0x02,0x11,0xff,0xbe
-# CHECK: s_ff1_i32_b64 s0, s[2:3] ; encoding: [0x02,0x11,0x80,0xbe]
-0x02,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, s[4:5] ; encoding: [0x04,0x11,0x85,0xbe]
+0x04,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, s[100:101] ; encoding: [0x64,0x11,0x80,0xbe]
-0x64,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, s[100:101] ; encoding: [0x64,0x11,0x85,0xbe]
+0x64,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, flat_scratch ; encoding: [0x66,0x11,0x80,0xbe]
-0x66,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, flat_scratch ; encoding: [0x66,0x11,0x85,0xbe]
+0x66,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, vcc ; encoding: [0x6a,0x11,0x80,0xbe]
-0x6a,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, vcc ; encoding: [0x6a,0x11,0x85,0xbe]
+0x6a,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, tba ; encoding: [0x6c,0x11,0x80,0xbe]
-0x6c,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, tba ; encoding: [0x6c,0x11,0x85,0xbe]
+0x6c,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, tma ; encoding: [0x6e,0x11,0x80,0xbe]
-0x6e,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, tma ; encoding: [0x6e,0x11,0x85,0xbe]
+0x6e,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, ttmp[10:11] ; encoding: [0x7a,0x11,0x80,0xbe]
-0x7a,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, ttmp[10:11] ; encoding: [0x7a,0x11,0x85,0xbe]
+0x7a,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, exec ; encoding: [0x7e,0x11,0x80,0xbe]
-0x7e,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, exec ; encoding: [0x7e,0x11,0x85,0xbe]
+0x7e,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, 0 ; encoding: [0x80,0x11,0x80,0xbe]
-0x80,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, 0 ; encoding: [0x80,0x11,0x85,0xbe]
+0x80,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, -1 ; encoding: [0xc1,0x11,0x80,0xbe]
-0xc1,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, -1 ; encoding: [0xc1,0x11,0x85,0xbe]
+0xc1,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, 0.5 ; encoding: [0xf0,0x11,0x80,0xbe]
-0xf0,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, 0.5 ; encoding: [0xf0,0x11,0x85,0xbe]
+0xf0,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, -4.0 ; encoding: [0xf7,0x11,0x80,0xbe]
-0xf7,0x11,0x80,0xbe
+# CHECK: s_ff1_i32_b64 s5, -4.0 ; encoding: [0xf7,0x11,0x85,0xbe]
+0xf7,0x11,0x85,0xbe
-# CHECK: s_ff1_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x11,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x11,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_ff1_i32_b64 s5, 0xaf123456 ; encoding: [0xff,0x11,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x11,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_ff1_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x11,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x11,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_ff1_i32_b64 s5, 0x3f717273 ; encoding: [0xff,0x11,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x11,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_flbit_i32_b32 s0, s0 ; encoding: [0x00,0x12,0x80,0xbe]
-0x00,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, s1 ; encoding: [0x01,0x12,0x85,0xbe]
+0x01,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s101, s0 ; encoding: [0x00,0x12,0xe5,0xbe]
-0x00,0x12,0xe5,0xbe
+# CHECK: s_flbit_i32_b32 s101, s1 ; encoding: [0x01,0x12,0xe5,0xbe]
+0x01,0x12,0xe5,0xbe
-# CHECK: s_flbit_i32_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x12,0xe6,0xbe]
-0x00,0x12,0xe6,0xbe
+# CHECK: s_flbit_i32_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x12,0xe6,0xbe]
+0x01,0x12,0xe6,0xbe
-# CHECK: s_flbit_i32_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x12,0xe7,0xbe]
-0x00,0x12,0xe7,0xbe
+# CHECK: s_flbit_i32_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x12,0xe7,0xbe]
+0x01,0x12,0xe7,0xbe
-# CHECK: s_flbit_i32_b32 vcc_lo, s0 ; encoding: [0x00,0x12,0xea,0xbe]
-0x00,0x12,0xea,0xbe
+# CHECK: s_flbit_i32_b32 vcc_lo, s1 ; encoding: [0x01,0x12,0xea,0xbe]
+0x01,0x12,0xea,0xbe
-# CHECK: s_flbit_i32_b32 vcc_hi, s0 ; encoding: [0x00,0x12,0xeb,0xbe]
-0x00,0x12,0xeb,0xbe
+# CHECK: s_flbit_i32_b32 vcc_hi, s1 ; encoding: [0x01,0x12,0xeb,0xbe]
+0x01,0x12,0xeb,0xbe
-# CHECK: s_flbit_i32_b32 tba_lo, s0 ; encoding: [0x00,0x12,0xec,0xbe]
-0x00,0x12,0xec,0xbe
+# CHECK: s_flbit_i32_b32 tba_lo, s1 ; encoding: [0x01,0x12,0xec,0xbe]
+0x01,0x12,0xec,0xbe
-# CHECK: s_flbit_i32_b32 tba_hi, s0 ; encoding: [0x00,0x12,0xed,0xbe]
-0x00,0x12,0xed,0xbe
+# CHECK: s_flbit_i32_b32 tba_hi, s1 ; encoding: [0x01,0x12,0xed,0xbe]
+0x01,0x12,0xed,0xbe
-# CHECK: s_flbit_i32_b32 tma_lo, s0 ; encoding: [0x00,0x12,0xee,0xbe]
-0x00,0x12,0xee,0xbe
+# CHECK: s_flbit_i32_b32 tma_lo, s1 ; encoding: [0x01,0x12,0xee,0xbe]
+0x01,0x12,0xee,0xbe
-# CHECK: s_flbit_i32_b32 tma_hi, s0 ; encoding: [0x00,0x12,0xef,0xbe]
-0x00,0x12,0xef,0xbe
+# CHECK: s_flbit_i32_b32 tma_hi, s1 ; encoding: [0x01,0x12,0xef,0xbe]
+0x01,0x12,0xef,0xbe
-# CHECK: s_flbit_i32_b32 ttmp11, s0 ; encoding: [0x00,0x12,0xfb,0xbe]
-0x00,0x12,0xfb,0xbe
+# CHECK: s_flbit_i32_b32 ttmp11, s1 ; encoding: [0x01,0x12,0xfb,0xbe]
+0x01,0x12,0xfb,0xbe
-# CHECK: s_flbit_i32_b32 m0, s0 ; encoding: [0x00,0x12,0xfc,0xbe]
-0x00,0x12,0xfc,0xbe
+# CHECK: s_flbit_i32_b32 m0, s1 ; encoding: [0x01,0x12,0xfc,0xbe]
+0x01,0x12,0xfc,0xbe
-# CHECK: s_flbit_i32_b32 exec_lo, s0 ; encoding: [0x00,0x12,0xfe,0xbe]
-0x00,0x12,0xfe,0xbe
+# CHECK: s_flbit_i32_b32 exec_lo, s1 ; encoding: [0x01,0x12,0xfe,0xbe]
+0x01,0x12,0xfe,0xbe
-# CHECK: s_flbit_i32_b32 exec_hi, s0 ; encoding: [0x00,0x12,0xff,0xbe]
-0x00,0x12,0xff,0xbe
+# CHECK: s_flbit_i32_b32 exec_hi, s1 ; encoding: [0x01,0x12,0xff,0xbe]
+0x01,0x12,0xff,0xbe
-# CHECK: s_flbit_i32_b32 s0, s101 ; encoding: [0x65,0x12,0x80,0xbe]
-0x65,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, s101 ; encoding: [0x65,0x12,0x85,0xbe]
+0x65,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, flat_scratch_lo ; encoding: [0x66,0x12,0x80,0xbe]
-0x66,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, flat_scratch_lo ; encoding: [0x66,0x12,0x85,0xbe]
+0x66,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, flat_scratch_hi ; encoding: [0x67,0x12,0x80,0xbe]
-0x67,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, flat_scratch_hi ; encoding: [0x67,0x12,0x85,0xbe]
+0x67,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, vcc_lo ; encoding: [0x6a,0x12,0x80,0xbe]
-0x6a,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, vcc_lo ; encoding: [0x6a,0x12,0x85,0xbe]
+0x6a,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, vcc_hi ; encoding: [0x6b,0x12,0x80,0xbe]
-0x6b,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, vcc_hi ; encoding: [0x6b,0x12,0x85,0xbe]
+0x6b,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, tba_lo ; encoding: [0x6c,0x12,0x80,0xbe]
-0x6c,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, tba_lo ; encoding: [0x6c,0x12,0x85,0xbe]
+0x6c,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, tba_hi ; encoding: [0x6d,0x12,0x80,0xbe]
-0x6d,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, tba_hi ; encoding: [0x6d,0x12,0x85,0xbe]
+0x6d,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, tma_lo ; encoding: [0x6e,0x12,0x80,0xbe]
-0x6e,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, tma_lo ; encoding: [0x6e,0x12,0x85,0xbe]
+0x6e,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, tma_hi ; encoding: [0x6f,0x12,0x80,0xbe]
-0x6f,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, tma_hi ; encoding: [0x6f,0x12,0x85,0xbe]
+0x6f,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, ttmp11 ; encoding: [0x7b,0x12,0x80,0xbe]
-0x7b,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, ttmp11 ; encoding: [0x7b,0x12,0x85,0xbe]
+0x7b,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, m0 ; encoding: [0x7c,0x12,0x80,0xbe]
-0x7c,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, m0 ; encoding: [0x7c,0x12,0x85,0xbe]
+0x7c,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, exec_lo ; encoding: [0x7e,0x12,0x80,0xbe]
-0x7e,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, exec_lo ; encoding: [0x7e,0x12,0x85,0xbe]
+0x7e,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, exec_hi ; encoding: [0x7f,0x12,0x80,0xbe]
-0x7f,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, exec_hi ; encoding: [0x7f,0x12,0x85,0xbe]
+0x7f,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, 0 ; encoding: [0x80,0x12,0x80,0xbe]
-0x80,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, 0 ; encoding: [0x80,0x12,0x85,0xbe]
+0x80,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, -1 ; encoding: [0xc1,0x12,0x80,0xbe]
-0xc1,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, -1 ; encoding: [0xc1,0x12,0x85,0xbe]
+0xc1,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, 0.5 ; encoding: [0xf0,0x12,0x80,0xbe]
-0xf0,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, 0.5 ; encoding: [0xf0,0x12,0x85,0xbe]
+0xf0,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, -4.0 ; encoding: [0xf7,0x12,0x80,0xbe]
-0xf7,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, -4.0 ; encoding: [0xf7,0x12,0x85,0xbe]
+0xf7,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, scc ; encoding: [0xfd,0x12,0x80,0xbe]
-0xfd,0x12,0x80,0xbe
+# CHECK: s_flbit_i32_b32 s5, scc ; encoding: [0xfd,0x12,0x85,0xbe]
+0xfd,0x12,0x85,0xbe
-# CHECK: s_flbit_i32_b32 s0, 0xaf123456 ; encoding: [0xff,0x12,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x12,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_flbit_i32_b32 s5, 0xaf123456 ; encoding: [0xff,0x12,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x12,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_flbit_i32_b32 s0, 0x3f717273 ; encoding: [0xff,0x12,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x12,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_flbit_i32_b32 s5, 0x3f717273 ; encoding: [0xff,0x12,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x12,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_flbit_i32_b64 s0, s[0:1] ; encoding: [0x00,0x13,0x80,0xbe]
-0x00,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, s[2:3] ; encoding: [0x02,0x13,0x85,0xbe]
+0x02,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s101, s[0:1] ; encoding: [0x00,0x13,0xe5,0xbe]
-0x00,0x13,0xe5,0xbe
+# CHECK: s_flbit_i32_b64 s101, s[2:3] ; encoding: [0x02,0x13,0xe5,0xbe]
+0x02,0x13,0xe5,0xbe
-# CHECK: s_flbit_i32_b64 flat_scratch_lo, s[0:1] ; encoding: [0x00,0x13,0xe6,0xbe]
-0x00,0x13,0xe6,0xbe
+# CHECK: s_flbit_i32_b64 flat_scratch_lo, s[2:3] ; encoding: [0x02,0x13,0xe6,0xbe]
+0x02,0x13,0xe6,0xbe
-# CHECK: s_flbit_i32_b64 flat_scratch_hi, s[0:1] ; encoding: [0x00,0x13,0xe7,0xbe]
-0x00,0x13,0xe7,0xbe
+# CHECK: s_flbit_i32_b64 flat_scratch_hi, s[2:3] ; encoding: [0x02,0x13,0xe7,0xbe]
+0x02,0x13,0xe7,0xbe
-# CHECK: s_flbit_i32_b64 vcc_lo, s[0:1] ; encoding: [0x00,0x13,0xea,0xbe]
-0x00,0x13,0xea,0xbe
+# CHECK: s_flbit_i32_b64 vcc_lo, s[2:3] ; encoding: [0x02,0x13,0xea,0xbe]
+0x02,0x13,0xea,0xbe
-# CHECK: s_flbit_i32_b64 vcc_hi, s[0:1] ; encoding: [0x00,0x13,0xeb,0xbe]
-0x00,0x13,0xeb,0xbe
+# CHECK: s_flbit_i32_b64 vcc_hi, s[2:3] ; encoding: [0x02,0x13,0xeb,0xbe]
+0x02,0x13,0xeb,0xbe
-# CHECK: s_flbit_i32_b64 tba_lo, s[0:1] ; encoding: [0x00,0x13,0xec,0xbe]
-0x00,0x13,0xec,0xbe
+# CHECK: s_flbit_i32_b64 tba_lo, s[2:3] ; encoding: [0x02,0x13,0xec,0xbe]
+0x02,0x13,0xec,0xbe
-# CHECK: s_flbit_i32_b64 tba_hi, s[0:1] ; encoding: [0x00,0x13,0xed,0xbe]
-0x00,0x13,0xed,0xbe
+# CHECK: s_flbit_i32_b64 tba_hi, s[2:3] ; encoding: [0x02,0x13,0xed,0xbe]
+0x02,0x13,0xed,0xbe
-# CHECK: s_flbit_i32_b64 tma_lo, s[0:1] ; encoding: [0x00,0x13,0xee,0xbe]
-0x00,0x13,0xee,0xbe
+# CHECK: s_flbit_i32_b64 tma_lo, s[2:3] ; encoding: [0x02,0x13,0xee,0xbe]
+0x02,0x13,0xee,0xbe
-# CHECK: s_flbit_i32_b64 tma_hi, s[0:1] ; encoding: [0x00,0x13,0xef,0xbe]
-0x00,0x13,0xef,0xbe
+# CHECK: s_flbit_i32_b64 tma_hi, s[2:3] ; encoding: [0x02,0x13,0xef,0xbe]
+0x02,0x13,0xef,0xbe
-# CHECK: s_flbit_i32_b64 ttmp11, s[0:1] ; encoding: [0x00,0x13,0xfb,0xbe]
-0x00,0x13,0xfb,0xbe
+# CHECK: s_flbit_i32_b64 ttmp11, s[2:3] ; encoding: [0x02,0x13,0xfb,0xbe]
+0x02,0x13,0xfb,0xbe
-# CHECK: s_flbit_i32_b64 m0, s[0:1] ; encoding: [0x00,0x13,0xfc,0xbe]
-0x00,0x13,0xfc,0xbe
+# CHECK: s_flbit_i32_b64 m0, s[2:3] ; encoding: [0x02,0x13,0xfc,0xbe]
+0x02,0x13,0xfc,0xbe
-# CHECK: s_flbit_i32_b64 exec_lo, s[0:1] ; encoding: [0x00,0x13,0xfe,0xbe]
-0x00,0x13,0xfe,0xbe
+# CHECK: s_flbit_i32_b64 exec_lo, s[2:3] ; encoding: [0x02,0x13,0xfe,0xbe]
+0x02,0x13,0xfe,0xbe
-# CHECK: s_flbit_i32_b64 exec_hi, s[0:1] ; encoding: [0x00,0x13,0xff,0xbe]
-0x00,0x13,0xff,0xbe
+# CHECK: s_flbit_i32_b64 exec_hi, s[2:3] ; encoding: [0x02,0x13,0xff,0xbe]
+0x02,0x13,0xff,0xbe
-# CHECK: s_flbit_i32_b64 s0, s[2:3] ; encoding: [0x02,0x13,0x80,0xbe]
-0x02,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, s[4:5] ; encoding: [0x04,0x13,0x85,0xbe]
+0x04,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, s[100:101] ; encoding: [0x64,0x13,0x80,0xbe]
-0x64,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, s[100:101] ; encoding: [0x64,0x13,0x85,0xbe]
+0x64,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, flat_scratch ; encoding: [0x66,0x13,0x80,0xbe]
-0x66,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, flat_scratch ; encoding: [0x66,0x13,0x85,0xbe]
+0x66,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, vcc ; encoding: [0x6a,0x13,0x80,0xbe]
-0x6a,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, vcc ; encoding: [0x6a,0x13,0x85,0xbe]
+0x6a,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, tba ; encoding: [0x6c,0x13,0x80,0xbe]
-0x6c,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, tba ; encoding: [0x6c,0x13,0x85,0xbe]
+0x6c,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, tma ; encoding: [0x6e,0x13,0x80,0xbe]
-0x6e,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, tma ; encoding: [0x6e,0x13,0x85,0xbe]
+0x6e,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, ttmp[10:11] ; encoding: [0x7a,0x13,0x80,0xbe]
-0x7a,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, ttmp[10:11] ; encoding: [0x7a,0x13,0x85,0xbe]
+0x7a,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, exec ; encoding: [0x7e,0x13,0x80,0xbe]
-0x7e,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, exec ; encoding: [0x7e,0x13,0x85,0xbe]
+0x7e,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, 0 ; encoding: [0x80,0x13,0x80,0xbe]
-0x80,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, 0 ; encoding: [0x80,0x13,0x85,0xbe]
+0x80,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, -1 ; encoding: [0xc1,0x13,0x80,0xbe]
-0xc1,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, -1 ; encoding: [0xc1,0x13,0x85,0xbe]
+0xc1,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, 0.5 ; encoding: [0xf0,0x13,0x80,0xbe]
-0xf0,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, 0.5 ; encoding: [0xf0,0x13,0x85,0xbe]
+0xf0,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, -4.0 ; encoding: [0xf7,0x13,0x80,0xbe]
-0xf7,0x13,0x80,0xbe
+# CHECK: s_flbit_i32_b64 s5, -4.0 ; encoding: [0xf7,0x13,0x85,0xbe]
+0xf7,0x13,0x85,0xbe
-# CHECK: s_flbit_i32_b64 s0, 0xaf123456 ; encoding: [0xff,0x13,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x13,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_flbit_i32_b64 s5, 0xaf123456 ; encoding: [0xff,0x13,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x13,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_flbit_i32_b64 s0, 0x3f717273 ; encoding: [0xff,0x13,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x13,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_flbit_i32_b64 s5, 0x3f717273 ; encoding: [0xff,0x13,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x13,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_flbit_i32 s0, s0 ; encoding: [0x00,0x14,0x80,0xbe]
-0x00,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, s1 ; encoding: [0x01,0x14,0x85,0xbe]
+0x01,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s101, s0 ; encoding: [0x00,0x14,0xe5,0xbe]
-0x00,0x14,0xe5,0xbe
+# CHECK: s_flbit_i32 s101, s1 ; encoding: [0x01,0x14,0xe5,0xbe]
+0x01,0x14,0xe5,0xbe
-# CHECK: s_flbit_i32 flat_scratch_lo, s0 ; encoding: [0x00,0x14,0xe6,0xbe]
-0x00,0x14,0xe6,0xbe
+# CHECK: s_flbit_i32 flat_scratch_lo, s1 ; encoding: [0x01,0x14,0xe6,0xbe]
+0x01,0x14,0xe6,0xbe
-# CHECK: s_flbit_i32 flat_scratch_hi, s0 ; encoding: [0x00,0x14,0xe7,0xbe]
-0x00,0x14,0xe7,0xbe
+# CHECK: s_flbit_i32 flat_scratch_hi, s1 ; encoding: [0x01,0x14,0xe7,0xbe]
+0x01,0x14,0xe7,0xbe
-# CHECK: s_flbit_i32 vcc_lo, s0 ; encoding: [0x00,0x14,0xea,0xbe]
-0x00,0x14,0xea,0xbe
+# CHECK: s_flbit_i32 vcc_lo, s1 ; encoding: [0x01,0x14,0xea,0xbe]
+0x01,0x14,0xea,0xbe
-# CHECK: s_flbit_i32 vcc_hi, s0 ; encoding: [0x00,0x14,0xeb,0xbe]
-0x00,0x14,0xeb,0xbe
+# CHECK: s_flbit_i32 vcc_hi, s1 ; encoding: [0x01,0x14,0xeb,0xbe]
+0x01,0x14,0xeb,0xbe
-# CHECK: s_flbit_i32 tba_lo, s0 ; encoding: [0x00,0x14,0xec,0xbe]
-0x00,0x14,0xec,0xbe
+# CHECK: s_flbit_i32 tba_lo, s1 ; encoding: [0x01,0x14,0xec,0xbe]
+0x01,0x14,0xec,0xbe
-# CHECK: s_flbit_i32 tba_hi, s0 ; encoding: [0x00,0x14,0xed,0xbe]
-0x00,0x14,0xed,0xbe
+# CHECK: s_flbit_i32 tba_hi, s1 ; encoding: [0x01,0x14,0xed,0xbe]
+0x01,0x14,0xed,0xbe
-# CHECK: s_flbit_i32 tma_lo, s0 ; encoding: [0x00,0x14,0xee,0xbe]
-0x00,0x14,0xee,0xbe
+# CHECK: s_flbit_i32 tma_lo, s1 ; encoding: [0x01,0x14,0xee,0xbe]
+0x01,0x14,0xee,0xbe
-# CHECK: s_flbit_i32 tma_hi, s0 ; encoding: [0x00,0x14,0xef,0xbe]
-0x00,0x14,0xef,0xbe
+# CHECK: s_flbit_i32 tma_hi, s1 ; encoding: [0x01,0x14,0xef,0xbe]
+0x01,0x14,0xef,0xbe
-# CHECK: s_flbit_i32 ttmp11, s0 ; encoding: [0x00,0x14,0xfb,0xbe]
-0x00,0x14,0xfb,0xbe
+# CHECK: s_flbit_i32 ttmp11, s1 ; encoding: [0x01,0x14,0xfb,0xbe]
+0x01,0x14,0xfb,0xbe
-# CHECK: s_flbit_i32 m0, s0 ; encoding: [0x00,0x14,0xfc,0xbe]
-0x00,0x14,0xfc,0xbe
+# CHECK: s_flbit_i32 m0, s1 ; encoding: [0x01,0x14,0xfc,0xbe]
+0x01,0x14,0xfc,0xbe
-# CHECK: s_flbit_i32 exec_lo, s0 ; encoding: [0x00,0x14,0xfe,0xbe]
-0x00,0x14,0xfe,0xbe
+# CHECK: s_flbit_i32 exec_lo, s1 ; encoding: [0x01,0x14,0xfe,0xbe]
+0x01,0x14,0xfe,0xbe
-# CHECK: s_flbit_i32 exec_hi, s0 ; encoding: [0x00,0x14,0xff,0xbe]
-0x00,0x14,0xff,0xbe
+# CHECK: s_flbit_i32 exec_hi, s1 ; encoding: [0x01,0x14,0xff,0xbe]
+0x01,0x14,0xff,0xbe
-# CHECK: s_flbit_i32 s0, s101 ; encoding: [0x65,0x14,0x80,0xbe]
-0x65,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, s101 ; encoding: [0x65,0x14,0x85,0xbe]
+0x65,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, flat_scratch_lo ; encoding: [0x66,0x14,0x80,0xbe]
-0x66,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, flat_scratch_lo ; encoding: [0x66,0x14,0x85,0xbe]
+0x66,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, flat_scratch_hi ; encoding: [0x67,0x14,0x80,0xbe]
-0x67,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, flat_scratch_hi ; encoding: [0x67,0x14,0x85,0xbe]
+0x67,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, vcc_lo ; encoding: [0x6a,0x14,0x80,0xbe]
-0x6a,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, vcc_lo ; encoding: [0x6a,0x14,0x85,0xbe]
+0x6a,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, vcc_hi ; encoding: [0x6b,0x14,0x80,0xbe]
-0x6b,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, vcc_hi ; encoding: [0x6b,0x14,0x85,0xbe]
+0x6b,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, tba_lo ; encoding: [0x6c,0x14,0x80,0xbe]
-0x6c,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, tba_lo ; encoding: [0x6c,0x14,0x85,0xbe]
+0x6c,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, tba_hi ; encoding: [0x6d,0x14,0x80,0xbe]
-0x6d,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, tba_hi ; encoding: [0x6d,0x14,0x85,0xbe]
+0x6d,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, tma_lo ; encoding: [0x6e,0x14,0x80,0xbe]
-0x6e,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, tma_lo ; encoding: [0x6e,0x14,0x85,0xbe]
+0x6e,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, tma_hi ; encoding: [0x6f,0x14,0x80,0xbe]
-0x6f,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, tma_hi ; encoding: [0x6f,0x14,0x85,0xbe]
+0x6f,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, ttmp11 ; encoding: [0x7b,0x14,0x80,0xbe]
-0x7b,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, ttmp11 ; encoding: [0x7b,0x14,0x85,0xbe]
+0x7b,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, m0 ; encoding: [0x7c,0x14,0x80,0xbe]
-0x7c,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, m0 ; encoding: [0x7c,0x14,0x85,0xbe]
+0x7c,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, exec_lo ; encoding: [0x7e,0x14,0x80,0xbe]
-0x7e,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, exec_lo ; encoding: [0x7e,0x14,0x85,0xbe]
+0x7e,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, exec_hi ; encoding: [0x7f,0x14,0x80,0xbe]
-0x7f,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, exec_hi ; encoding: [0x7f,0x14,0x85,0xbe]
+0x7f,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, 0 ; encoding: [0x80,0x14,0x80,0xbe]
-0x80,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, 0 ; encoding: [0x80,0x14,0x85,0xbe]
+0x80,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, -1 ; encoding: [0xc1,0x14,0x80,0xbe]
-0xc1,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, -1 ; encoding: [0xc1,0x14,0x85,0xbe]
+0xc1,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, 0.5 ; encoding: [0xf0,0x14,0x80,0xbe]
-0xf0,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, 0.5 ; encoding: [0xf0,0x14,0x85,0xbe]
+0xf0,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, -4.0 ; encoding: [0xf7,0x14,0x80,0xbe]
-0xf7,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, -4.0 ; encoding: [0xf7,0x14,0x85,0xbe]
+0xf7,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, scc ; encoding: [0xfd,0x14,0x80,0xbe]
-0xfd,0x14,0x80,0xbe
+# CHECK: s_flbit_i32 s5, scc ; encoding: [0xfd,0x14,0x85,0xbe]
+0xfd,0x14,0x85,0xbe
-# CHECK: s_flbit_i32 s0, 0xaf123456 ; encoding: [0xff,0x14,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x14,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_flbit_i32 s5, 0xaf123456 ; encoding: [0xff,0x14,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x14,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_flbit_i32 s0, 0x3f717273 ; encoding: [0xff,0x14,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x14,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_flbit_i32 s5, 0x3f717273 ; encoding: [0xff,0x14,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x14,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_flbit_i32_i64 s0, s[0:1] ; encoding: [0x00,0x15,0x80,0xbe]
-0x00,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, s[2:3] ; encoding: [0x02,0x15,0x85,0xbe]
+0x02,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s101, s[0:1] ; encoding: [0x00,0x15,0xe5,0xbe]
-0x00,0x15,0xe5,0xbe
+# CHECK: s_flbit_i32_i64 s101, s[2:3] ; encoding: [0x02,0x15,0xe5,0xbe]
+0x02,0x15,0xe5,0xbe
-# CHECK: s_flbit_i32_i64 flat_scratch_lo, s[0:1] ; encoding: [0x00,0x15,0xe6,0xbe]
-0x00,0x15,0xe6,0xbe
+# CHECK: s_flbit_i32_i64 flat_scratch_lo, s[2:3] ; encoding: [0x02,0x15,0xe6,0xbe]
+0x02,0x15,0xe6,0xbe
-# CHECK: s_flbit_i32_i64 flat_scratch_hi, s[0:1] ; encoding: [0x00,0x15,0xe7,0xbe]
-0x00,0x15,0xe7,0xbe
+# CHECK: s_flbit_i32_i64 flat_scratch_hi, s[2:3] ; encoding: [0x02,0x15,0xe7,0xbe]
+0x02,0x15,0xe7,0xbe
-# CHECK: s_flbit_i32_i64 vcc_lo, s[0:1] ; encoding: [0x00,0x15,0xea,0xbe]
-0x00,0x15,0xea,0xbe
+# CHECK: s_flbit_i32_i64 vcc_lo, s[2:3] ; encoding: [0x02,0x15,0xea,0xbe]
+0x02,0x15,0xea,0xbe
-# CHECK: s_flbit_i32_i64 vcc_hi, s[0:1] ; encoding: [0x00,0x15,0xeb,0xbe]
-0x00,0x15,0xeb,0xbe
+# CHECK: s_flbit_i32_i64 vcc_hi, s[2:3] ; encoding: [0x02,0x15,0xeb,0xbe]
+0x02,0x15,0xeb,0xbe
-# CHECK: s_flbit_i32_i64 tba_lo, s[0:1] ; encoding: [0x00,0x15,0xec,0xbe]
-0x00,0x15,0xec,0xbe
+# CHECK: s_flbit_i32_i64 tba_lo, s[2:3] ; encoding: [0x02,0x15,0xec,0xbe]
+0x02,0x15,0xec,0xbe
-# CHECK: s_flbit_i32_i64 tba_hi, s[0:1] ; encoding: [0x00,0x15,0xed,0xbe]
-0x00,0x15,0xed,0xbe
+# CHECK: s_flbit_i32_i64 tba_hi, s[2:3] ; encoding: [0x02,0x15,0xed,0xbe]
+0x02,0x15,0xed,0xbe
-# CHECK: s_flbit_i32_i64 tma_lo, s[0:1] ; encoding: [0x00,0x15,0xee,0xbe]
-0x00,0x15,0xee,0xbe
+# CHECK: s_flbit_i32_i64 tma_lo, s[2:3] ; encoding: [0x02,0x15,0xee,0xbe]
+0x02,0x15,0xee,0xbe
-# CHECK: s_flbit_i32_i64 tma_hi, s[0:1] ; encoding: [0x00,0x15,0xef,0xbe]
-0x00,0x15,0xef,0xbe
+# CHECK: s_flbit_i32_i64 tma_hi, s[2:3] ; encoding: [0x02,0x15,0xef,0xbe]
+0x02,0x15,0xef,0xbe
-# CHECK: s_flbit_i32_i64 ttmp11, s[0:1] ; encoding: [0x00,0x15,0xfb,0xbe]
-0x00,0x15,0xfb,0xbe
+# CHECK: s_flbit_i32_i64 ttmp11, s[2:3] ; encoding: [0x02,0x15,0xfb,0xbe]
+0x02,0x15,0xfb,0xbe
-# CHECK: s_flbit_i32_i64 m0, s[0:1] ; encoding: [0x00,0x15,0xfc,0xbe]
-0x00,0x15,0xfc,0xbe
+# CHECK: s_flbit_i32_i64 m0, s[2:3] ; encoding: [0x02,0x15,0xfc,0xbe]
+0x02,0x15,0xfc,0xbe
-# CHECK: s_flbit_i32_i64 exec_lo, s[0:1] ; encoding: [0x00,0x15,0xfe,0xbe]
-0x00,0x15,0xfe,0xbe
+# CHECK: s_flbit_i32_i64 exec_lo, s[2:3] ; encoding: [0x02,0x15,0xfe,0xbe]
+0x02,0x15,0xfe,0xbe
-# CHECK: s_flbit_i32_i64 exec_hi, s[0:1] ; encoding: [0x00,0x15,0xff,0xbe]
-0x00,0x15,0xff,0xbe
+# CHECK: s_flbit_i32_i64 exec_hi, s[2:3] ; encoding: [0x02,0x15,0xff,0xbe]
+0x02,0x15,0xff,0xbe
-# CHECK: s_flbit_i32_i64 s0, s[2:3] ; encoding: [0x02,0x15,0x80,0xbe]
-0x02,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, s[4:5] ; encoding: [0x04,0x15,0x85,0xbe]
+0x04,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, s[100:101] ; encoding: [0x64,0x15,0x80,0xbe]
-0x64,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, s[100:101] ; encoding: [0x64,0x15,0x85,0xbe]
+0x64,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, flat_scratch ; encoding: [0x66,0x15,0x80,0xbe]
-0x66,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, flat_scratch ; encoding: [0x66,0x15,0x85,0xbe]
+0x66,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, vcc ; encoding: [0x6a,0x15,0x80,0xbe]
-0x6a,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, vcc ; encoding: [0x6a,0x15,0x85,0xbe]
+0x6a,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, tba ; encoding: [0x6c,0x15,0x80,0xbe]
-0x6c,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, tba ; encoding: [0x6c,0x15,0x85,0xbe]
+0x6c,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, tma ; encoding: [0x6e,0x15,0x80,0xbe]
-0x6e,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, tma ; encoding: [0x6e,0x15,0x85,0xbe]
+0x6e,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, ttmp[10:11] ; encoding: [0x7a,0x15,0x80,0xbe]
-0x7a,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, ttmp[10:11] ; encoding: [0x7a,0x15,0x85,0xbe]
+0x7a,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, exec ; encoding: [0x7e,0x15,0x80,0xbe]
-0x7e,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, exec ; encoding: [0x7e,0x15,0x85,0xbe]
+0x7e,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, 0 ; encoding: [0x80,0x15,0x80,0xbe]
-0x80,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, 0 ; encoding: [0x80,0x15,0x85,0xbe]
+0x80,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, -1 ; encoding: [0xc1,0x15,0x80,0xbe]
-0xc1,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, -1 ; encoding: [0xc1,0x15,0x85,0xbe]
+0xc1,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, 0.5 ; encoding: [0xf0,0x15,0x80,0xbe]
-0xf0,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, 0.5 ; encoding: [0xf0,0x15,0x85,0xbe]
+0xf0,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, -4.0 ; encoding: [0xf7,0x15,0x80,0xbe]
-0xf7,0x15,0x80,0xbe
+# CHECK: s_flbit_i32_i64 s5, -4.0 ; encoding: [0xf7,0x15,0x85,0xbe]
+0xf7,0x15,0x85,0xbe
-# CHECK: s_flbit_i32_i64 s0, 0xaf123456 ; encoding: [0xff,0x15,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x15,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_flbit_i32_i64 s5, 0xaf123456 ; encoding: [0xff,0x15,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x15,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_flbit_i32_i64 s0, 0x3f717273 ; encoding: [0xff,0x15,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x15,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_flbit_i32_i64 s5, 0x3f717273 ; encoding: [0xff,0x15,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x15,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_sext_i32_i8 s0, s0 ; encoding: [0x00,0x16,0x80,0xbe]
-0x00,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, s1 ; encoding: [0x01,0x16,0x85,0xbe]
+0x01,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s101, s0 ; encoding: [0x00,0x16,0xe5,0xbe]
-0x00,0x16,0xe5,0xbe
+# CHECK: s_sext_i32_i8 s101, s1 ; encoding: [0x01,0x16,0xe5,0xbe]
+0x01,0x16,0xe5,0xbe
-# CHECK: s_sext_i32_i8 flat_scratch_lo, s0 ; encoding: [0x00,0x16,0xe6,0xbe]
-0x00,0x16,0xe6,0xbe
+# CHECK: s_sext_i32_i8 flat_scratch_lo, s1 ; encoding: [0x01,0x16,0xe6,0xbe]
+0x01,0x16,0xe6,0xbe
-# CHECK: s_sext_i32_i8 flat_scratch_hi, s0 ; encoding: [0x00,0x16,0xe7,0xbe]
-0x00,0x16,0xe7,0xbe
+# CHECK: s_sext_i32_i8 flat_scratch_hi, s1 ; encoding: [0x01,0x16,0xe7,0xbe]
+0x01,0x16,0xe7,0xbe
-# CHECK: s_sext_i32_i8 vcc_lo, s0 ; encoding: [0x00,0x16,0xea,0xbe]
-0x00,0x16,0xea,0xbe
+# CHECK: s_sext_i32_i8 vcc_lo, s1 ; encoding: [0x01,0x16,0xea,0xbe]
+0x01,0x16,0xea,0xbe
-# CHECK: s_sext_i32_i8 vcc_hi, s0 ; encoding: [0x00,0x16,0xeb,0xbe]
-0x00,0x16,0xeb,0xbe
+# CHECK: s_sext_i32_i8 vcc_hi, s1 ; encoding: [0x01,0x16,0xeb,0xbe]
+0x01,0x16,0xeb,0xbe
-# CHECK: s_sext_i32_i8 tba_lo, s0 ; encoding: [0x00,0x16,0xec,0xbe]
-0x00,0x16,0xec,0xbe
+# CHECK: s_sext_i32_i8 tba_lo, s1 ; encoding: [0x01,0x16,0xec,0xbe]
+0x01,0x16,0xec,0xbe
-# CHECK: s_sext_i32_i8 tba_hi, s0 ; encoding: [0x00,0x16,0xed,0xbe]
-0x00,0x16,0xed,0xbe
+# CHECK: s_sext_i32_i8 tba_hi, s1 ; encoding: [0x01,0x16,0xed,0xbe]
+0x01,0x16,0xed,0xbe
-# CHECK: s_sext_i32_i8 tma_lo, s0 ; encoding: [0x00,0x16,0xee,0xbe]
-0x00,0x16,0xee,0xbe
+# CHECK: s_sext_i32_i8 tma_lo, s1 ; encoding: [0x01,0x16,0xee,0xbe]
+0x01,0x16,0xee,0xbe
-# CHECK: s_sext_i32_i8 tma_hi, s0 ; encoding: [0x00,0x16,0xef,0xbe]
-0x00,0x16,0xef,0xbe
+# CHECK: s_sext_i32_i8 tma_hi, s1 ; encoding: [0x01,0x16,0xef,0xbe]
+0x01,0x16,0xef,0xbe
-# CHECK: s_sext_i32_i8 ttmp11, s0 ; encoding: [0x00,0x16,0xfb,0xbe]
-0x00,0x16,0xfb,0xbe
+# CHECK: s_sext_i32_i8 ttmp11, s1 ; encoding: [0x01,0x16,0xfb,0xbe]
+0x01,0x16,0xfb,0xbe
-# CHECK: s_sext_i32_i8 m0, s0 ; encoding: [0x00,0x16,0xfc,0xbe]
-0x00,0x16,0xfc,0xbe
+# CHECK: s_sext_i32_i8 m0, s1 ; encoding: [0x01,0x16,0xfc,0xbe]
+0x01,0x16,0xfc,0xbe
-# CHECK: s_sext_i32_i8 exec_lo, s0 ; encoding: [0x00,0x16,0xfe,0xbe]
-0x00,0x16,0xfe,0xbe
+# CHECK: s_sext_i32_i8 exec_lo, s1 ; encoding: [0x01,0x16,0xfe,0xbe]
+0x01,0x16,0xfe,0xbe
-# CHECK: s_sext_i32_i8 exec_hi, s0 ; encoding: [0x00,0x16,0xff,0xbe]
-0x00,0x16,0xff,0xbe
+# CHECK: s_sext_i32_i8 exec_hi, s1 ; encoding: [0x01,0x16,0xff,0xbe]
+0x01,0x16,0xff,0xbe
-# CHECK: s_sext_i32_i8 s0, s101 ; encoding: [0x65,0x16,0x80,0xbe]
-0x65,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, s101 ; encoding: [0x65,0x16,0x85,0xbe]
+0x65,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, flat_scratch_lo ; encoding: [0x66,0x16,0x80,0xbe]
-0x66,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, flat_scratch_lo ; encoding: [0x66,0x16,0x85,0xbe]
+0x66,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, flat_scratch_hi ; encoding: [0x67,0x16,0x80,0xbe]
-0x67,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, flat_scratch_hi ; encoding: [0x67,0x16,0x85,0xbe]
+0x67,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, vcc_lo ; encoding: [0x6a,0x16,0x80,0xbe]
-0x6a,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, vcc_lo ; encoding: [0x6a,0x16,0x85,0xbe]
+0x6a,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, vcc_hi ; encoding: [0x6b,0x16,0x80,0xbe]
-0x6b,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, vcc_hi ; encoding: [0x6b,0x16,0x85,0xbe]
+0x6b,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, tba_lo ; encoding: [0x6c,0x16,0x80,0xbe]
-0x6c,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, tba_lo ; encoding: [0x6c,0x16,0x85,0xbe]
+0x6c,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, tba_hi ; encoding: [0x6d,0x16,0x80,0xbe]
-0x6d,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, tba_hi ; encoding: [0x6d,0x16,0x85,0xbe]
+0x6d,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, tma_lo ; encoding: [0x6e,0x16,0x80,0xbe]
-0x6e,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, tma_lo ; encoding: [0x6e,0x16,0x85,0xbe]
+0x6e,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, tma_hi ; encoding: [0x6f,0x16,0x80,0xbe]
-0x6f,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, tma_hi ; encoding: [0x6f,0x16,0x85,0xbe]
+0x6f,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, ttmp11 ; encoding: [0x7b,0x16,0x80,0xbe]
-0x7b,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, ttmp11 ; encoding: [0x7b,0x16,0x85,0xbe]
+0x7b,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, m0 ; encoding: [0x7c,0x16,0x80,0xbe]
-0x7c,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, m0 ; encoding: [0x7c,0x16,0x85,0xbe]
+0x7c,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, exec_lo ; encoding: [0x7e,0x16,0x80,0xbe]
-0x7e,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, exec_lo ; encoding: [0x7e,0x16,0x85,0xbe]
+0x7e,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, exec_hi ; encoding: [0x7f,0x16,0x80,0xbe]
-0x7f,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, exec_hi ; encoding: [0x7f,0x16,0x85,0xbe]
+0x7f,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, 0 ; encoding: [0x80,0x16,0x80,0xbe]
-0x80,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, 0 ; encoding: [0x80,0x16,0x85,0xbe]
+0x80,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, -1 ; encoding: [0xc1,0x16,0x80,0xbe]
-0xc1,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, -1 ; encoding: [0xc1,0x16,0x85,0xbe]
+0xc1,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, 0.5 ; encoding: [0xf0,0x16,0x80,0xbe]
-0xf0,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, 0.5 ; encoding: [0xf0,0x16,0x85,0xbe]
+0xf0,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, -4.0 ; encoding: [0xf7,0x16,0x80,0xbe]
-0xf7,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, -4.0 ; encoding: [0xf7,0x16,0x85,0xbe]
+0xf7,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, scc ; encoding: [0xfd,0x16,0x80,0xbe]
-0xfd,0x16,0x80,0xbe
+# CHECK: s_sext_i32_i8 s5, scc ; encoding: [0xfd,0x16,0x85,0xbe]
+0xfd,0x16,0x85,0xbe
-# CHECK: s_sext_i32_i8 s0, 0x71 ; encoding: [0xff,0x16,0x80,0xbe,0x71,0x00,0x00,0x00]
-0xff,0x16,0x80,0xbe,0x71,0x00,0x00,0x00
+# CHECK: s_sext_i32_i8 s5, 0x71 ; encoding: [0xff,0x16,0x85,0xbe,0x71,0x00,0x00,0x00]
+0xff,0x16,0x85,0xbe,0x71,0x00,0x00,0x00
-# CHECK: s_sext_i32_i8 s0, 0xf0 ; encoding: [0xff,0x16,0x80,0xbe,0xf0,0x00,0x00,0x00]
-0xff,0x16,0x80,0xbe,0xf0,0x00,0x00,0x00
+# CHECK: s_sext_i32_i8 s5, 0xf0 ; encoding: [0xff,0x16,0x85,0xbe,0xf0,0x00,0x00,0x00]
+0xff,0x16,0x85,0xbe,0xf0,0x00,0x00,0x00
-# CHECK: s_sext_i32_i16 s0, s0 ; encoding: [0x00,0x17,0x80,0xbe]
-0x00,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, s1 ; encoding: [0x01,0x17,0x85,0xbe]
+0x01,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s101, s0 ; encoding: [0x00,0x17,0xe5,0xbe]
-0x00,0x17,0xe5,0xbe
+# CHECK: s_sext_i32_i16 s101, s1 ; encoding: [0x01,0x17,0xe5,0xbe]
+0x01,0x17,0xe5,0xbe
-# CHECK: s_sext_i32_i16 flat_scratch_lo, s0 ; encoding: [0x00,0x17,0xe6,0xbe]
-0x00,0x17,0xe6,0xbe
+# CHECK: s_sext_i32_i16 flat_scratch_lo, s1 ; encoding: [0x01,0x17,0xe6,0xbe]
+0x01,0x17,0xe6,0xbe
-# CHECK: s_sext_i32_i16 flat_scratch_hi, s0 ; encoding: [0x00,0x17,0xe7,0xbe]
-0x00,0x17,0xe7,0xbe
+# CHECK: s_sext_i32_i16 flat_scratch_hi, s1 ; encoding: [0x01,0x17,0xe7,0xbe]
+0x01,0x17,0xe7,0xbe
-# CHECK: s_sext_i32_i16 vcc_lo, s0 ; encoding: [0x00,0x17,0xea,0xbe]
-0x00,0x17,0xea,0xbe
+# CHECK: s_sext_i32_i16 vcc_lo, s1 ; encoding: [0x01,0x17,0xea,0xbe]
+0x01,0x17,0xea,0xbe
-# CHECK: s_sext_i32_i16 vcc_hi, s0 ; encoding: [0x00,0x17,0xeb,0xbe]
-0x00,0x17,0xeb,0xbe
+# CHECK: s_sext_i32_i16 vcc_hi, s1 ; encoding: [0x01,0x17,0xeb,0xbe]
+0x01,0x17,0xeb,0xbe
-# CHECK: s_sext_i32_i16 tba_lo, s0 ; encoding: [0x00,0x17,0xec,0xbe]
-0x00,0x17,0xec,0xbe
+# CHECK: s_sext_i32_i16 tba_lo, s1 ; encoding: [0x01,0x17,0xec,0xbe]
+0x01,0x17,0xec,0xbe
-# CHECK: s_sext_i32_i16 tba_hi, s0 ; encoding: [0x00,0x17,0xed,0xbe]
-0x00,0x17,0xed,0xbe
+# CHECK: s_sext_i32_i16 tba_hi, s1 ; encoding: [0x01,0x17,0xed,0xbe]
+0x01,0x17,0xed,0xbe
-# CHECK: s_sext_i32_i16 tma_lo, s0 ; encoding: [0x00,0x17,0xee,0xbe]
-0x00,0x17,0xee,0xbe
+# CHECK: s_sext_i32_i16 tma_lo, s1 ; encoding: [0x01,0x17,0xee,0xbe]
+0x01,0x17,0xee,0xbe
-# CHECK: s_sext_i32_i16 tma_hi, s0 ; encoding: [0x00,0x17,0xef,0xbe]
-0x00,0x17,0xef,0xbe
+# CHECK: s_sext_i32_i16 tma_hi, s1 ; encoding: [0x01,0x17,0xef,0xbe]
+0x01,0x17,0xef,0xbe
-# CHECK: s_sext_i32_i16 ttmp11, s0 ; encoding: [0x00,0x17,0xfb,0xbe]
-0x00,0x17,0xfb,0xbe
+# CHECK: s_sext_i32_i16 ttmp11, s1 ; encoding: [0x01,0x17,0xfb,0xbe]
+0x01,0x17,0xfb,0xbe
-# CHECK: s_sext_i32_i16 m0, s0 ; encoding: [0x00,0x17,0xfc,0xbe]
-0x00,0x17,0xfc,0xbe
+# CHECK: s_sext_i32_i16 m0, s1 ; encoding: [0x01,0x17,0xfc,0xbe]
+0x01,0x17,0xfc,0xbe
-# CHECK: s_sext_i32_i16 exec_lo, s0 ; encoding: [0x00,0x17,0xfe,0xbe]
-0x00,0x17,0xfe,0xbe
+# CHECK: s_sext_i32_i16 exec_lo, s1 ; encoding: [0x01,0x17,0xfe,0xbe]
+0x01,0x17,0xfe,0xbe
-# CHECK: s_sext_i32_i16 exec_hi, s0 ; encoding: [0x00,0x17,0xff,0xbe]
-0x00,0x17,0xff,0xbe
+# CHECK: s_sext_i32_i16 exec_hi, s1 ; encoding: [0x01,0x17,0xff,0xbe]
+0x01,0x17,0xff,0xbe
-# CHECK: s_sext_i32_i16 s0, s101 ; encoding: [0x65,0x17,0x80,0xbe]
-0x65,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, s101 ; encoding: [0x65,0x17,0x85,0xbe]
+0x65,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, flat_scratch_lo ; encoding: [0x66,0x17,0x80,0xbe]
-0x66,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, flat_scratch_lo ; encoding: [0x66,0x17,0x85,0xbe]
+0x66,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, flat_scratch_hi ; encoding: [0x67,0x17,0x80,0xbe]
-0x67,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, flat_scratch_hi ; encoding: [0x67,0x17,0x85,0xbe]
+0x67,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, vcc_lo ; encoding: [0x6a,0x17,0x80,0xbe]
-0x6a,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, vcc_lo ; encoding: [0x6a,0x17,0x85,0xbe]
+0x6a,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, vcc_hi ; encoding: [0x6b,0x17,0x80,0xbe]
-0x6b,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, vcc_hi ; encoding: [0x6b,0x17,0x85,0xbe]
+0x6b,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, tba_lo ; encoding: [0x6c,0x17,0x80,0xbe]
-0x6c,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, tba_lo ; encoding: [0x6c,0x17,0x85,0xbe]
+0x6c,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, tba_hi ; encoding: [0x6d,0x17,0x80,0xbe]
-0x6d,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, tba_hi ; encoding: [0x6d,0x17,0x85,0xbe]
+0x6d,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, tma_lo ; encoding: [0x6e,0x17,0x80,0xbe]
-0x6e,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, tma_lo ; encoding: [0x6e,0x17,0x85,0xbe]
+0x6e,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, tma_hi ; encoding: [0x6f,0x17,0x80,0xbe]
-0x6f,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, tma_hi ; encoding: [0x6f,0x17,0x85,0xbe]
+0x6f,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, ttmp11 ; encoding: [0x7b,0x17,0x80,0xbe]
-0x7b,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, ttmp11 ; encoding: [0x7b,0x17,0x85,0xbe]
+0x7b,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, m0 ; encoding: [0x7c,0x17,0x80,0xbe]
-0x7c,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, m0 ; encoding: [0x7c,0x17,0x85,0xbe]
+0x7c,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, exec_lo ; encoding: [0x7e,0x17,0x80,0xbe]
-0x7e,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, exec_lo ; encoding: [0x7e,0x17,0x85,0xbe]
+0x7e,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, exec_hi ; encoding: [0x7f,0x17,0x80,0xbe]
-0x7f,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, exec_hi ; encoding: [0x7f,0x17,0x85,0xbe]
+0x7f,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, 0 ; encoding: [0x80,0x17,0x80,0xbe]
-0x80,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, 0 ; encoding: [0x80,0x17,0x85,0xbe]
+0x80,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, -1 ; encoding: [0xc1,0x17,0x80,0xbe]
-0xc1,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, -1 ; encoding: [0xc1,0x17,0x85,0xbe]
+0xc1,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, 0.5 ; encoding: [0xf0,0x17,0x80,0xbe]
-0xf0,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, 0.5 ; encoding: [0xf0,0x17,0x85,0xbe]
+0xf0,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, -4.0 ; encoding: [0xf7,0x17,0x80,0xbe]
-0xf7,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, -4.0 ; encoding: [0xf7,0x17,0x85,0xbe]
+0xf7,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, scc ; encoding: [0xfd,0x17,0x80,0xbe]
-0xfd,0x17,0x80,0xbe
+# CHECK: s_sext_i32_i16 s5, scc ; encoding: [0xfd,0x17,0x85,0xbe]
+0xfd,0x17,0x85,0xbe
-# CHECK: s_sext_i32_i16 s0, 0xaf123456 ; encoding: [0xff,0x17,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x17,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_sext_i32_i16 s5, 0xaf123456 ; encoding: [0xff,0x17,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x17,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_sext_i32_i16 s0, 0x3f717273 ; encoding: [0xff,0x17,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x17,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_sext_i32_i16 s5, 0x3f717273 ; encoding: [0xff,0x17,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x17,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_bitset0_b32 s0, s0 ; encoding: [0x00,0x18,0x80,0xbe]
-0x00,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, s1 ; encoding: [0x01,0x18,0x85,0xbe]
+0x01,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s101, s0 ; encoding: [0x00,0x18,0xe5,0xbe]
-0x00,0x18,0xe5,0xbe
+# CHECK: s_bitset0_b32 s101, s1 ; encoding: [0x01,0x18,0xe5,0xbe]
+0x01,0x18,0xe5,0xbe
-# CHECK: s_bitset0_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x18,0xe6,0xbe]
-0x00,0x18,0xe6,0xbe
+# CHECK: s_bitset0_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x18,0xe6,0xbe]
+0x01,0x18,0xe6,0xbe
-# CHECK: s_bitset0_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x18,0xe7,0xbe]
-0x00,0x18,0xe7,0xbe
+# CHECK: s_bitset0_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x18,0xe7,0xbe]
+0x01,0x18,0xe7,0xbe
-# CHECK: s_bitset0_b32 vcc_lo, s0 ; encoding: [0x00,0x18,0xea,0xbe]
-0x00,0x18,0xea,0xbe
+# CHECK: s_bitset0_b32 vcc_lo, s1 ; encoding: [0x01,0x18,0xea,0xbe]
+0x01,0x18,0xea,0xbe
-# CHECK: s_bitset0_b32 vcc_hi, s0 ; encoding: [0x00,0x18,0xeb,0xbe]
-0x00,0x18,0xeb,0xbe
+# CHECK: s_bitset0_b32 vcc_hi, s1 ; encoding: [0x01,0x18,0xeb,0xbe]
+0x01,0x18,0xeb,0xbe
-# CHECK: s_bitset0_b32 tba_lo, s0 ; encoding: [0x00,0x18,0xec,0xbe]
-0x00,0x18,0xec,0xbe
+# CHECK: s_bitset0_b32 tba_lo, s1 ; encoding: [0x01,0x18,0xec,0xbe]
+0x01,0x18,0xec,0xbe
-# CHECK: s_bitset0_b32 tba_hi, s0 ; encoding: [0x00,0x18,0xed,0xbe]
-0x00,0x18,0xed,0xbe
+# CHECK: s_bitset0_b32 tba_hi, s1 ; encoding: [0x01,0x18,0xed,0xbe]
+0x01,0x18,0xed,0xbe
-# CHECK: s_bitset0_b32 tma_lo, s0 ; encoding: [0x00,0x18,0xee,0xbe]
-0x00,0x18,0xee,0xbe
+# CHECK: s_bitset0_b32 tma_lo, s1 ; encoding: [0x01,0x18,0xee,0xbe]
+0x01,0x18,0xee,0xbe
-# CHECK: s_bitset0_b32 tma_hi, s0 ; encoding: [0x00,0x18,0xef,0xbe]
-0x00,0x18,0xef,0xbe
+# CHECK: s_bitset0_b32 tma_hi, s1 ; encoding: [0x01,0x18,0xef,0xbe]
+0x01,0x18,0xef,0xbe
-# CHECK: s_bitset0_b32 ttmp11, s0 ; encoding: [0x00,0x18,0xfb,0xbe]
-0x00,0x18,0xfb,0xbe
+# CHECK: s_bitset0_b32 ttmp11, s1 ; encoding: [0x01,0x18,0xfb,0xbe]
+0x01,0x18,0xfb,0xbe
-# CHECK: s_bitset0_b32 m0, s0 ; encoding: [0x00,0x18,0xfc,0xbe]
-0x00,0x18,0xfc,0xbe
+# CHECK: s_bitset0_b32 m0, s1 ; encoding: [0x01,0x18,0xfc,0xbe]
+0x01,0x18,0xfc,0xbe
-# CHECK: s_bitset0_b32 exec_lo, s0 ; encoding: [0x00,0x18,0xfe,0xbe]
-0x00,0x18,0xfe,0xbe
+# CHECK: s_bitset0_b32 exec_lo, s1 ; encoding: [0x01,0x18,0xfe,0xbe]
+0x01,0x18,0xfe,0xbe
-# CHECK: s_bitset0_b32 exec_hi, s0 ; encoding: [0x00,0x18,0xff,0xbe]
-0x00,0x18,0xff,0xbe
+# CHECK: s_bitset0_b32 exec_hi, s1 ; encoding: [0x01,0x18,0xff,0xbe]
+0x01,0x18,0xff,0xbe
-# CHECK: s_bitset0_b32 s0, s101 ; encoding: [0x65,0x18,0x80,0xbe]
-0x65,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, s101 ; encoding: [0x65,0x18,0x85,0xbe]
+0x65,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, flat_scratch_lo ; encoding: [0x66,0x18,0x80,0xbe]
-0x66,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, flat_scratch_lo ; encoding: [0x66,0x18,0x85,0xbe]
+0x66,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, flat_scratch_hi ; encoding: [0x67,0x18,0x80,0xbe]
-0x67,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, flat_scratch_hi ; encoding: [0x67,0x18,0x85,0xbe]
+0x67,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, vcc_lo ; encoding: [0x6a,0x18,0x80,0xbe]
-0x6a,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, vcc_lo ; encoding: [0x6a,0x18,0x85,0xbe]
+0x6a,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, vcc_hi ; encoding: [0x6b,0x18,0x80,0xbe]
-0x6b,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, vcc_hi ; encoding: [0x6b,0x18,0x85,0xbe]
+0x6b,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, tba_lo ; encoding: [0x6c,0x18,0x80,0xbe]
-0x6c,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, tba_lo ; encoding: [0x6c,0x18,0x85,0xbe]
+0x6c,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, tba_hi ; encoding: [0x6d,0x18,0x80,0xbe]
-0x6d,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, tba_hi ; encoding: [0x6d,0x18,0x85,0xbe]
+0x6d,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, tma_lo ; encoding: [0x6e,0x18,0x80,0xbe]
-0x6e,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, tma_lo ; encoding: [0x6e,0x18,0x85,0xbe]
+0x6e,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, tma_hi ; encoding: [0x6f,0x18,0x80,0xbe]
-0x6f,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, tma_hi ; encoding: [0x6f,0x18,0x85,0xbe]
+0x6f,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, ttmp11 ; encoding: [0x7b,0x18,0x80,0xbe]
-0x7b,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, ttmp11 ; encoding: [0x7b,0x18,0x85,0xbe]
+0x7b,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, m0 ; encoding: [0x7c,0x18,0x80,0xbe]
-0x7c,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, m0 ; encoding: [0x7c,0x18,0x85,0xbe]
+0x7c,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, exec_lo ; encoding: [0x7e,0x18,0x80,0xbe]
-0x7e,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, exec_lo ; encoding: [0x7e,0x18,0x85,0xbe]
+0x7e,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, exec_hi ; encoding: [0x7f,0x18,0x80,0xbe]
-0x7f,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, exec_hi ; encoding: [0x7f,0x18,0x85,0xbe]
+0x7f,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, 0 ; encoding: [0x80,0x18,0x80,0xbe]
-0x80,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, 0 ; encoding: [0x80,0x18,0x85,0xbe]
+0x80,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, -1 ; encoding: [0xc1,0x18,0x80,0xbe]
-0xc1,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, -1 ; encoding: [0xc1,0x18,0x85,0xbe]
+0xc1,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, 0.5 ; encoding: [0xf0,0x18,0x80,0xbe]
-0xf0,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, 0.5 ; encoding: [0xf0,0x18,0x85,0xbe]
+0xf0,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, -4.0 ; encoding: [0xf7,0x18,0x80,0xbe]
-0xf7,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, -4.0 ; encoding: [0xf7,0x18,0x85,0xbe]
+0xf7,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, scc ; encoding: [0xfd,0x18,0x80,0xbe]
-0xfd,0x18,0x80,0xbe
+# CHECK: s_bitset0_b32 s5, scc ; encoding: [0xfd,0x18,0x85,0xbe]
+0xfd,0x18,0x85,0xbe
-# CHECK: s_bitset0_b32 s0, 0xaf123456 ; encoding: [0xff,0x18,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x18,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_bitset0_b32 s5, 0xaf123456 ; encoding: [0xff,0x18,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x18,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_bitset0_b32 s0, 0x3f717273 ; encoding: [0xff,0x18,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x18,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_bitset0_b32 s5, 0x3f717273 ; encoding: [0xff,0x18,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x18,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_bitset0_b64 s[0:1], s0 ; encoding: [0x00,0x19,0x80,0xbe]
-0x00,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], s1 ; encoding: [0x01,0x19,0x8a,0xbe]
+0x01,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[2:3], s0 ; encoding: [0x00,0x19,0x82,0xbe]
-0x00,0x19,0x82,0xbe
+# CHECK: s_bitset0_b64 s[12:13], s1 ; encoding: [0x01,0x19,0x8c,0xbe]
+0x01,0x19,0x8c,0xbe
-# CHECK: s_bitset0_b64 s[100:101], s0 ; encoding: [0x00,0x19,0xe4,0xbe]
-0x00,0x19,0xe4,0xbe
+# CHECK: s_bitset0_b64 s[100:101], s1 ; encoding: [0x01,0x19,0xe4,0xbe]
+0x01,0x19,0xe4,0xbe
-# CHECK: s_bitset0_b64 flat_scratch, s0 ; encoding: [0x00,0x19,0xe6,0xbe]
-0x00,0x19,0xe6,0xbe
+# CHECK: s_bitset0_b64 flat_scratch, s1 ; encoding: [0x01,0x19,0xe6,0xbe]
+0x01,0x19,0xe6,0xbe
-# CHECK: s_bitset0_b64 vcc, s0 ; encoding: [0x00,0x19,0xea,0xbe]
-0x00,0x19,0xea,0xbe
+# CHECK: s_bitset0_b64 vcc, s1 ; encoding: [0x01,0x19,0xea,0xbe]
+0x01,0x19,0xea,0xbe
-# CHECK: s_bitset0_b64 tba, s0 ; encoding: [0x00,0x19,0xec,0xbe]
-0x00,0x19,0xec,0xbe
+# CHECK: s_bitset0_b64 tba, s1 ; encoding: [0x01,0x19,0xec,0xbe]
+0x01,0x19,0xec,0xbe
-# CHECK: s_bitset0_b64 tma, s0 ; encoding: [0x00,0x19,0xee,0xbe]
-0x00,0x19,0xee,0xbe
+# CHECK: s_bitset0_b64 tma, s1 ; encoding: [0x01,0x19,0xee,0xbe]
+0x01,0x19,0xee,0xbe
-# CHECK: s_bitset0_b64 ttmp[10:11], s0 ; encoding: [0x00,0x19,0xfa,0xbe]
-0x00,0x19,0xfa,0xbe
+# CHECK: s_bitset0_b64 ttmp[10:11], s1 ; encoding: [0x01,0x19,0xfa,0xbe]
+0x01,0x19,0xfa,0xbe
-# CHECK: s_bitset0_b64 exec, s0 ; encoding: [0x00,0x19,0xfe,0xbe]
-0x00,0x19,0xfe,0xbe
+# CHECK: s_bitset0_b64 exec, s1 ; encoding: [0x01,0x19,0xfe,0xbe]
+0x01,0x19,0xfe,0xbe
-# CHECK: s_bitset0_b64 s[0:1], s101 ; encoding: [0x65,0x19,0x80,0xbe]
-0x65,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], s101 ; encoding: [0x65,0x19,0x8a,0xbe]
+0x65,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], flat_scratch_lo ; encoding: [0x66,0x19,0x80,0xbe]
-0x66,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], flat_scratch_lo ; encoding: [0x66,0x19,0x8a,0xbe]
+0x66,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], flat_scratch_hi ; encoding: [0x67,0x19,0x80,0xbe]
-0x67,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], flat_scratch_hi ; encoding: [0x67,0x19,0x8a,0xbe]
+0x67,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], vcc_lo ; encoding: [0x6a,0x19,0x80,0xbe]
-0x6a,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], vcc_lo ; encoding: [0x6a,0x19,0x8a,0xbe]
+0x6a,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], vcc_hi ; encoding: [0x6b,0x19,0x80,0xbe]
-0x6b,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], vcc_hi ; encoding: [0x6b,0x19,0x8a,0xbe]
+0x6b,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], tba_lo ; encoding: [0x6c,0x19,0x80,0xbe]
-0x6c,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], tba_lo ; encoding: [0x6c,0x19,0x8a,0xbe]
+0x6c,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], tba_hi ; encoding: [0x6d,0x19,0x80,0xbe]
-0x6d,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], tba_hi ; encoding: [0x6d,0x19,0x8a,0xbe]
+0x6d,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], tma_lo ; encoding: [0x6e,0x19,0x80,0xbe]
-0x6e,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], tma_lo ; encoding: [0x6e,0x19,0x8a,0xbe]
+0x6e,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], tma_hi ; encoding: [0x6f,0x19,0x80,0xbe]
-0x6f,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], tma_hi ; encoding: [0x6f,0x19,0x8a,0xbe]
+0x6f,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], ttmp11 ; encoding: [0x7b,0x19,0x80,0xbe]
-0x7b,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], ttmp11 ; encoding: [0x7b,0x19,0x8a,0xbe]
+0x7b,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], m0 ; encoding: [0x7c,0x19,0x80,0xbe]
-0x7c,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], m0 ; encoding: [0x7c,0x19,0x8a,0xbe]
+0x7c,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], exec_lo ; encoding: [0x7e,0x19,0x80,0xbe]
-0x7e,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], exec_lo ; encoding: [0x7e,0x19,0x8a,0xbe]
+0x7e,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], exec_hi ; encoding: [0x7f,0x19,0x80,0xbe]
-0x7f,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], exec_hi ; encoding: [0x7f,0x19,0x8a,0xbe]
+0x7f,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], 0 ; encoding: [0x80,0x19,0x80,0xbe]
-0x80,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], 0 ; encoding: [0x80,0x19,0x8a,0xbe]
+0x80,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], -1 ; encoding: [0xc1,0x19,0x80,0xbe]
-0xc1,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], -1 ; encoding: [0xc1,0x19,0x8a,0xbe]
+0xc1,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], 0.5 ; encoding: [0xf0,0x19,0x80,0xbe]
-0xf0,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], 0.5 ; encoding: [0xf0,0x19,0x8a,0xbe]
+0xf0,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], -4.0 ; encoding: [0xf7,0x19,0x80,0xbe]
-0xf7,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], -4.0 ; encoding: [0xf7,0x19,0x8a,0xbe]
+0xf7,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], scc ; encoding: [0xfd,0x19,0x80,0xbe]
-0xfd,0x19,0x80,0xbe
+# CHECK: s_bitset0_b64 s[10:11], scc ; encoding: [0xfd,0x19,0x8a,0xbe]
+0xfd,0x19,0x8a,0xbe
-# CHECK: s_bitset0_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x19,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x19,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_bitset0_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x19,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x19,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_bitset0_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x19,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x19,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_bitset0_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x19,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x19,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_bitset1_b32 s0, s0 ; encoding: [0x00,0x1a,0x80,0xbe]
-0x00,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, s1 ; encoding: [0x01,0x1a,0x85,0xbe]
+0x01,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s101, s0 ; encoding: [0x00,0x1a,0xe5,0xbe]
-0x00,0x1a,0xe5,0xbe
+# CHECK: s_bitset1_b32 s101, s1 ; encoding: [0x01,0x1a,0xe5,0xbe]
+0x01,0x1a,0xe5,0xbe
-# CHECK: s_bitset1_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x1a,0xe6,0xbe]
-0x00,0x1a,0xe6,0xbe
+# CHECK: s_bitset1_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x1a,0xe6,0xbe]
+0x01,0x1a,0xe6,0xbe
-# CHECK: s_bitset1_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x1a,0xe7,0xbe]
-0x00,0x1a,0xe7,0xbe
+# CHECK: s_bitset1_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x1a,0xe7,0xbe]
+0x01,0x1a,0xe7,0xbe
-# CHECK: s_bitset1_b32 vcc_lo, s0 ; encoding: [0x00,0x1a,0xea,0xbe]
-0x00,0x1a,0xea,0xbe
+# CHECK: s_bitset1_b32 vcc_lo, s1 ; encoding: [0x01,0x1a,0xea,0xbe]
+0x01,0x1a,0xea,0xbe
-# CHECK: s_bitset1_b32 vcc_hi, s0 ; encoding: [0x00,0x1a,0xeb,0xbe]
-0x00,0x1a,0xeb,0xbe
+# CHECK: s_bitset1_b32 vcc_hi, s1 ; encoding: [0x01,0x1a,0xeb,0xbe]
+0x01,0x1a,0xeb,0xbe
-# CHECK: s_bitset1_b32 tba_lo, s0 ; encoding: [0x00,0x1a,0xec,0xbe]
-0x00,0x1a,0xec,0xbe
+# CHECK: s_bitset1_b32 tba_lo, s1 ; encoding: [0x01,0x1a,0xec,0xbe]
+0x01,0x1a,0xec,0xbe
-# CHECK: s_bitset1_b32 tba_hi, s0 ; encoding: [0x00,0x1a,0xed,0xbe]
-0x00,0x1a,0xed,0xbe
+# CHECK: s_bitset1_b32 tba_hi, s1 ; encoding: [0x01,0x1a,0xed,0xbe]
+0x01,0x1a,0xed,0xbe
-# CHECK: s_bitset1_b32 tma_lo, s0 ; encoding: [0x00,0x1a,0xee,0xbe]
-0x00,0x1a,0xee,0xbe
+# CHECK: s_bitset1_b32 tma_lo, s1 ; encoding: [0x01,0x1a,0xee,0xbe]
+0x01,0x1a,0xee,0xbe
-# CHECK: s_bitset1_b32 tma_hi, s0 ; encoding: [0x00,0x1a,0xef,0xbe]
-0x00,0x1a,0xef,0xbe
+# CHECK: s_bitset1_b32 tma_hi, s1 ; encoding: [0x01,0x1a,0xef,0xbe]
+0x01,0x1a,0xef,0xbe
-# CHECK: s_bitset1_b32 ttmp11, s0 ; encoding: [0x00,0x1a,0xfb,0xbe]
-0x00,0x1a,0xfb,0xbe
+# CHECK: s_bitset1_b32 ttmp11, s1 ; encoding: [0x01,0x1a,0xfb,0xbe]
+0x01,0x1a,0xfb,0xbe
-# CHECK: s_bitset1_b32 m0, s0 ; encoding: [0x00,0x1a,0xfc,0xbe]
-0x00,0x1a,0xfc,0xbe
+# CHECK: s_bitset1_b32 m0, s1 ; encoding: [0x01,0x1a,0xfc,0xbe]
+0x01,0x1a,0xfc,0xbe
-# CHECK: s_bitset1_b32 exec_lo, s0 ; encoding: [0x00,0x1a,0xfe,0xbe]
-0x00,0x1a,0xfe,0xbe
+# CHECK: s_bitset1_b32 exec_lo, s1 ; encoding: [0x01,0x1a,0xfe,0xbe]
+0x01,0x1a,0xfe,0xbe
-# CHECK: s_bitset1_b32 exec_hi, s0 ; encoding: [0x00,0x1a,0xff,0xbe]
-0x00,0x1a,0xff,0xbe
+# CHECK: s_bitset1_b32 exec_hi, s1 ; encoding: [0x01,0x1a,0xff,0xbe]
+0x01,0x1a,0xff,0xbe
-# CHECK: s_bitset1_b32 s0, s101 ; encoding: [0x65,0x1a,0x80,0xbe]
-0x65,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, s101 ; encoding: [0x65,0x1a,0x85,0xbe]
+0x65,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, flat_scratch_lo ; encoding: [0x66,0x1a,0x80,0xbe]
-0x66,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, flat_scratch_lo ; encoding: [0x66,0x1a,0x85,0xbe]
+0x66,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, flat_scratch_hi ; encoding: [0x67,0x1a,0x80,0xbe]
-0x67,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, flat_scratch_hi ; encoding: [0x67,0x1a,0x85,0xbe]
+0x67,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, vcc_lo ; encoding: [0x6a,0x1a,0x80,0xbe]
-0x6a,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, vcc_lo ; encoding: [0x6a,0x1a,0x85,0xbe]
+0x6a,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, vcc_hi ; encoding: [0x6b,0x1a,0x80,0xbe]
-0x6b,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, vcc_hi ; encoding: [0x6b,0x1a,0x85,0xbe]
+0x6b,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, tba_lo ; encoding: [0x6c,0x1a,0x80,0xbe]
-0x6c,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, tba_lo ; encoding: [0x6c,0x1a,0x85,0xbe]
+0x6c,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, tba_hi ; encoding: [0x6d,0x1a,0x80,0xbe]
-0x6d,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, tba_hi ; encoding: [0x6d,0x1a,0x85,0xbe]
+0x6d,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, tma_lo ; encoding: [0x6e,0x1a,0x80,0xbe]
-0x6e,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, tma_lo ; encoding: [0x6e,0x1a,0x85,0xbe]
+0x6e,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, tma_hi ; encoding: [0x6f,0x1a,0x80,0xbe]
-0x6f,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, tma_hi ; encoding: [0x6f,0x1a,0x85,0xbe]
+0x6f,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, ttmp11 ; encoding: [0x7b,0x1a,0x80,0xbe]
-0x7b,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, ttmp11 ; encoding: [0x7b,0x1a,0x85,0xbe]
+0x7b,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, m0 ; encoding: [0x7c,0x1a,0x80,0xbe]
-0x7c,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, m0 ; encoding: [0x7c,0x1a,0x85,0xbe]
+0x7c,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, exec_lo ; encoding: [0x7e,0x1a,0x80,0xbe]
-0x7e,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, exec_lo ; encoding: [0x7e,0x1a,0x85,0xbe]
+0x7e,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, exec_hi ; encoding: [0x7f,0x1a,0x80,0xbe]
-0x7f,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, exec_hi ; encoding: [0x7f,0x1a,0x85,0xbe]
+0x7f,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, 0 ; encoding: [0x80,0x1a,0x80,0xbe]
-0x80,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, 0 ; encoding: [0x80,0x1a,0x85,0xbe]
+0x80,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, -1 ; encoding: [0xc1,0x1a,0x80,0xbe]
-0xc1,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, -1 ; encoding: [0xc1,0x1a,0x85,0xbe]
+0xc1,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, 0.5 ; encoding: [0xf0,0x1a,0x80,0xbe]
-0xf0,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, 0.5 ; encoding: [0xf0,0x1a,0x85,0xbe]
+0xf0,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, -4.0 ; encoding: [0xf7,0x1a,0x80,0xbe]
-0xf7,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, -4.0 ; encoding: [0xf7,0x1a,0x85,0xbe]
+0xf7,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, scc ; encoding: [0xfd,0x1a,0x80,0xbe]
-0xfd,0x1a,0x80,0xbe
+# CHECK: s_bitset1_b32 s5, scc ; encoding: [0xfd,0x1a,0x85,0xbe]
+0xfd,0x1a,0x85,0xbe
-# CHECK: s_bitset1_b32 s0, 0xaf123456 ; encoding: [0xff,0x1a,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x1a,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_bitset1_b32 s5, 0xaf123456 ; encoding: [0xff,0x1a,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x1a,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_bitset1_b32 s0, 0x3f717273 ; encoding: [0xff,0x1a,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x1a,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_bitset1_b32 s5, 0x3f717273 ; encoding: [0xff,0x1a,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x1a,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_bitset1_b64 s[0:1], s0 ; encoding: [0x00,0x1b,0x80,0xbe]
-0x00,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], s1 ; encoding: [0x01,0x1b,0x8a,0xbe]
+0x01,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[2:3], s0 ; encoding: [0x00,0x1b,0x82,0xbe]
-0x00,0x1b,0x82,0xbe
+# CHECK: s_bitset1_b64 s[12:13], s1 ; encoding: [0x01,0x1b,0x8c,0xbe]
+0x01,0x1b,0x8c,0xbe
-# CHECK: s_bitset1_b64 s[100:101], s0 ; encoding: [0x00,0x1b,0xe4,0xbe]
-0x00,0x1b,0xe4,0xbe
+# CHECK: s_bitset1_b64 s[100:101], s1 ; encoding: [0x01,0x1b,0xe4,0xbe]
+0x01,0x1b,0xe4,0xbe
-# CHECK: s_bitset1_b64 flat_scratch, s0 ; encoding: [0x00,0x1b,0xe6,0xbe]
-0x00,0x1b,0xe6,0xbe
+# CHECK: s_bitset1_b64 flat_scratch, s1 ; encoding: [0x01,0x1b,0xe6,0xbe]
+0x01,0x1b,0xe6,0xbe
-# CHECK: s_bitset1_b64 vcc, s0 ; encoding: [0x00,0x1b,0xea,0xbe]
-0x00,0x1b,0xea,0xbe
+# CHECK: s_bitset1_b64 vcc, s1 ; encoding: [0x01,0x1b,0xea,0xbe]
+0x01,0x1b,0xea,0xbe
-# CHECK: s_bitset1_b64 tba, s0 ; encoding: [0x00,0x1b,0xec,0xbe]
-0x00,0x1b,0xec,0xbe
+# CHECK: s_bitset1_b64 tba, s1 ; encoding: [0x01,0x1b,0xec,0xbe]
+0x01,0x1b,0xec,0xbe
-# CHECK: s_bitset1_b64 tma, s0 ; encoding: [0x00,0x1b,0xee,0xbe]
-0x00,0x1b,0xee,0xbe
+# CHECK: s_bitset1_b64 tma, s1 ; encoding: [0x01,0x1b,0xee,0xbe]
+0x01,0x1b,0xee,0xbe
-# CHECK: s_bitset1_b64 ttmp[10:11], s0 ; encoding: [0x00,0x1b,0xfa,0xbe]
-0x00,0x1b,0xfa,0xbe
+# CHECK: s_bitset1_b64 ttmp[10:11], s1 ; encoding: [0x01,0x1b,0xfa,0xbe]
+0x01,0x1b,0xfa,0xbe
-# CHECK: s_bitset1_b64 exec, s0 ; encoding: [0x00,0x1b,0xfe,0xbe]
-0x00,0x1b,0xfe,0xbe
+# CHECK: s_bitset1_b64 exec, s1 ; encoding: [0x01,0x1b,0xfe,0xbe]
+0x01,0x1b,0xfe,0xbe
-# CHECK: s_bitset1_b64 s[0:1], s101 ; encoding: [0x65,0x1b,0x80,0xbe]
-0x65,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], s101 ; encoding: [0x65,0x1b,0x8a,0xbe]
+0x65,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], flat_scratch_lo ; encoding: [0x66,0x1b,0x80,0xbe]
-0x66,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], flat_scratch_lo ; encoding: [0x66,0x1b,0x8a,0xbe]
+0x66,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], flat_scratch_hi ; encoding: [0x67,0x1b,0x80,0xbe]
-0x67,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], flat_scratch_hi ; encoding: [0x67,0x1b,0x8a,0xbe]
+0x67,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], vcc_lo ; encoding: [0x6a,0x1b,0x80,0xbe]
-0x6a,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], vcc_lo ; encoding: [0x6a,0x1b,0x8a,0xbe]
+0x6a,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], vcc_hi ; encoding: [0x6b,0x1b,0x80,0xbe]
-0x6b,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], vcc_hi ; encoding: [0x6b,0x1b,0x8a,0xbe]
+0x6b,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], tba_lo ; encoding: [0x6c,0x1b,0x80,0xbe]
-0x6c,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], tba_lo ; encoding: [0x6c,0x1b,0x8a,0xbe]
+0x6c,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], tba_hi ; encoding: [0x6d,0x1b,0x80,0xbe]
-0x6d,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], tba_hi ; encoding: [0x6d,0x1b,0x8a,0xbe]
+0x6d,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], tma_lo ; encoding: [0x6e,0x1b,0x80,0xbe]
-0x6e,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], tma_lo ; encoding: [0x6e,0x1b,0x8a,0xbe]
+0x6e,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], tma_hi ; encoding: [0x6f,0x1b,0x80,0xbe]
-0x6f,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], tma_hi ; encoding: [0x6f,0x1b,0x8a,0xbe]
+0x6f,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], ttmp11 ; encoding: [0x7b,0x1b,0x80,0xbe]
-0x7b,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], ttmp11 ; encoding: [0x7b,0x1b,0x8a,0xbe]
+0x7b,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], m0 ; encoding: [0x7c,0x1b,0x80,0xbe]
-0x7c,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], m0 ; encoding: [0x7c,0x1b,0x8a,0xbe]
+0x7c,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], exec_lo ; encoding: [0x7e,0x1b,0x80,0xbe]
-0x7e,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], exec_lo ; encoding: [0x7e,0x1b,0x8a,0xbe]
+0x7e,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], exec_hi ; encoding: [0x7f,0x1b,0x80,0xbe]
-0x7f,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], exec_hi ; encoding: [0x7f,0x1b,0x8a,0xbe]
+0x7f,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], 0 ; encoding: [0x80,0x1b,0x80,0xbe]
-0x80,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], 0 ; encoding: [0x80,0x1b,0x8a,0xbe]
+0x80,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], -1 ; encoding: [0xc1,0x1b,0x80,0xbe]
-0xc1,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], -1 ; encoding: [0xc1,0x1b,0x8a,0xbe]
+0xc1,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], 0.5 ; encoding: [0xf0,0x1b,0x80,0xbe]
-0xf0,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], 0.5 ; encoding: [0xf0,0x1b,0x8a,0xbe]
+0xf0,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], -4.0 ; encoding: [0xf7,0x1b,0x80,0xbe]
-0xf7,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], -4.0 ; encoding: [0xf7,0x1b,0x8a,0xbe]
+0xf7,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], scc ; encoding: [0xfd,0x1b,0x80,0xbe]
-0xfd,0x1b,0x80,0xbe
+# CHECK: s_bitset1_b64 s[10:11], scc ; encoding: [0xfd,0x1b,0x8a,0xbe]
+0xfd,0x1b,0x8a,0xbe
-# CHECK: s_bitset1_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x1b,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x1b,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_bitset1_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x1b,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x1b,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_bitset1_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x1b,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x1b,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_bitset1_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x1b,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x1b,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_getpc_b64 s[0:1] ; encoding: [0x00,0x1c,0x80,0xbe]
-0x00,0x1c,0x80,0xbe
+# CHECK: s_getpc_b64 s[10:11] ; encoding: [0x00,0x1c,0x8a,0xbe]
+0x00,0x1c,0x8a,0xbe
-# CHECK: s_getpc_b64 s[2:3] ; encoding: [0x00,0x1c,0x82,0xbe]
-0x00,0x1c,0x82,0xbe
+# CHECK: s_getpc_b64 s[12:13] ; encoding: [0x00,0x1c,0x8c,0xbe]
+0x00,0x1c,0x8c,0xbe
# CHECK: s_getpc_b64 s[100:101] ; encoding: [0x00,0x1c,0xe4,0xbe]
0x00,0x1c,0xe4,0xbe
@@ -9012,12 +9087,12 @@
# CHECK: s_getpc_b64 exec ; encoding: [0x00,0x1c,0xfe,0xbe]
0x00,0x1c,0xfe,0xbe
-# CHECK: s_setpc_b64 s[0:1] ; encoding: [0x00,0x1d,0x80,0xbe]
-0x00,0x1d,0x80,0xbe
-
# CHECK: s_setpc_b64 s[2:3] ; encoding: [0x02,0x1d,0x80,0xbe]
0x02,0x1d,0x80,0xbe
+# CHECK: s_setpc_b64 s[4:5] ; encoding: [0x04,0x1d,0x80,0xbe]
+0x04,0x1d,0x80,0xbe
+
# CHECK: s_setpc_b64 s[100:101] ; encoding: [0x64,0x1d,0x80,0xbe]
0x64,0x1d,0x80,0xbe
@@ -9036,60 +9111,60 @@
# CHECK: s_setpc_b64 ttmp[10:11] ; encoding: [0x7a,0x1d,0x80,0xbe]
0x7a,0x1d,0x80,0xbe
-# CHECK: s_swappc_b64 s[0:1], s[0:1] ; encoding: [0x00,0x1e,0x80,0xbe]
-0x00,0x1e,0x80,0xbe
-
-# CHECK: s_swappc_b64 s[2:3], s[0:1] ; encoding: [0x00,0x1e,0x82,0xbe]
-0x00,0x1e,0x82,0xbe
+# CHECK: s_swappc_b64 s[10:11], s[2:3] ; encoding: [0x02,0x1e,0x8a,0xbe]
+0x02,0x1e,0x8a,0xbe
-# CHECK: s_swappc_b64 s[100:101], s[0:1] ; encoding: [0x00,0x1e,0xe4,0xbe]
-0x00,0x1e,0xe4,0xbe
+# CHECK: s_swappc_b64 s[12:13], s[2:3] ; encoding: [0x02,0x1e,0x8c,0xbe]
+0x02,0x1e,0x8c,0xbe
-# CHECK: s_swappc_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x1e,0xe6,0xbe]
-0x00,0x1e,0xe6,0xbe
+# CHECK: s_swappc_b64 s[100:101], s[2:3] ; encoding: [0x02,0x1e,0xe4,0xbe]
+0x02,0x1e,0xe4,0xbe
-# CHECK: s_swappc_b64 vcc, s[0:1] ; encoding: [0x00,0x1e,0xea,0xbe]
-0x00,0x1e,0xea,0xbe
+# CHECK: s_swappc_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x1e,0xe6,0xbe]
+0x02,0x1e,0xe6,0xbe
-# CHECK: s_swappc_b64 tba, s[0:1] ; encoding: [0x00,0x1e,0xec,0xbe]
-0x00,0x1e,0xec,0xbe
+# CHECK: s_swappc_b64 vcc, s[2:3] ; encoding: [0x02,0x1e,0xea,0xbe]
+0x02,0x1e,0xea,0xbe
-# CHECK: s_swappc_b64 tma, s[0:1] ; encoding: [0x00,0x1e,0xee,0xbe]
-0x00,0x1e,0xee,0xbe
+# CHECK: s_swappc_b64 tba, s[2:3] ; encoding: [0x02,0x1e,0xec,0xbe]
+0x02,0x1e,0xec,0xbe
-# CHECK: s_swappc_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x1e,0xfa,0xbe]
-0x00,0x1e,0xfa,0xbe
+# CHECK: s_swappc_b64 tma, s[2:3] ; encoding: [0x02,0x1e,0xee,0xbe]
+0x02,0x1e,0xee,0xbe
-# CHECK: s_swappc_b64 exec, s[0:1] ; encoding: [0x00,0x1e,0xfe,0xbe]
-0x00,0x1e,0xfe,0xbe
+# CHECK: s_swappc_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x1e,0xfa,0xbe]
+0x02,0x1e,0xfa,0xbe
-# CHECK: s_swappc_b64 s[0:1], s[2:3] ; encoding: [0x02,0x1e,0x80,0xbe]
-0x02,0x1e,0x80,0xbe
+# CHECK: s_swappc_b64 exec, s[2:3] ; encoding: [0x02,0x1e,0xfe,0xbe]
+0x02,0x1e,0xfe,0xbe
-# CHECK: s_swappc_b64 s[0:1], s[100:101] ; encoding: [0x64,0x1e,0x80,0xbe]
-0x64,0x1e,0x80,0xbe
+# CHECK: s_swappc_b64 s[10:11], s[4:5] ; encoding: [0x04,0x1e,0x8a,0xbe]
+0x04,0x1e,0x8a,0xbe
-# CHECK: s_swappc_b64 s[0:1], flat_scratch ; encoding: [0x66,0x1e,0x80,0xbe]
-0x66,0x1e,0x80,0xbe
+# CHECK: s_swappc_b64 s[10:11], s[100:101] ; encoding: [0x64,0x1e,0x8a,0xbe]
+0x64,0x1e,0x8a,0xbe
-# CHECK: s_swappc_b64 s[0:1], vcc ; encoding: [0x6a,0x1e,0x80,0xbe]
-0x6a,0x1e,0x80,0xbe
+# CHECK: s_swappc_b64 s[10:11], flat_scratch ; encoding: [0x66,0x1e,0x8a,0xbe]
+0x66,0x1e,0x8a,0xbe
-# CHECK: s_swappc_b64 s[0:1], tba ; encoding: [0x6c,0x1e,0x80,0xbe]
-0x6c,0x1e,0x80,0xbe
+# CHECK: s_swappc_b64 s[10:11], vcc ; encoding: [0x6a,0x1e,0x8a,0xbe]
+0x6a,0x1e,0x8a,0xbe
-# CHECK: s_swappc_b64 s[0:1], tma ; encoding: [0x6e,0x1e,0x80,0xbe]
-0x6e,0x1e,0x80,0xbe
+# CHECK: s_swappc_b64 s[10:11], tba ; encoding: [0x6c,0x1e,0x8a,0xbe]
+0x6c,0x1e,0x8a,0xbe
-# CHECK: s_swappc_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x1e,0x80,0xbe]
-0x7a,0x1e,0x80,0xbe
+# CHECK: s_swappc_b64 s[10:11], tma ; encoding: [0x6e,0x1e,0x8a,0xbe]
+0x6e,0x1e,0x8a,0xbe
-# CHECK: s_rfe_b64 s[0:1] ; encoding: [0x00,0x1f,0x80,0xbe]
-0x00,0x1f,0x80,0xbe
+# CHECK: s_swappc_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x1e,0x8a,0xbe]
+0x7a,0x1e,0x8a,0xbe
# CHECK: s_rfe_b64 s[2:3] ; encoding: [0x02,0x1f,0x80,0xbe]
0x02,0x1f,0x80,0xbe
+# CHECK: s_rfe_b64 s[4:5] ; encoding: [0x04,0x1f,0x80,0xbe]
+0x04,0x1f,0x80,0xbe
+
# CHECK: s_rfe_b64 s[100:101] ; encoding: [0x64,0x1f,0x80,0xbe]
0x64,0x1f,0x80,0xbe
@@ -9108,1181 +9183,1181 @@
# CHECK: s_rfe_b64 ttmp[10:11] ; encoding: [0x7a,0x1f,0x80,0xbe]
0x7a,0x1f,0x80,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], s[0:1] ; encoding: [0x00,0x20,0x80,0xbe]
-0x00,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x20,0x8a,0xbe]
+0x02,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[2:3], s[0:1] ; encoding: [0x00,0x20,0x82,0xbe]
-0x00,0x20,0x82,0xbe
+# CHECK: s_and_saveexec_b64 s[12:13], s[2:3] ; encoding: [0x02,0x20,0x8c,0xbe]
+0x02,0x20,0x8c,0xbe
-# CHECK: s_and_saveexec_b64 s[100:101], s[0:1] ; encoding: [0x00,0x20,0xe4,0xbe]
-0x00,0x20,0xe4,0xbe
+# CHECK: s_and_saveexec_b64 s[100:101], s[2:3] ; encoding: [0x02,0x20,0xe4,0xbe]
+0x02,0x20,0xe4,0xbe
-# CHECK: s_and_saveexec_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x20,0xe6,0xbe]
-0x00,0x20,0xe6,0xbe
+# CHECK: s_and_saveexec_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x20,0xe6,0xbe]
+0x02,0x20,0xe6,0xbe
-# CHECK: s_and_saveexec_b64 vcc, s[0:1] ; encoding: [0x00,0x20,0xea,0xbe]
-0x00,0x20,0xea,0xbe
+# CHECK: s_and_saveexec_b64 vcc, s[2:3] ; encoding: [0x02,0x20,0xea,0xbe]
+0x02,0x20,0xea,0xbe
-# CHECK: s_and_saveexec_b64 tba, s[0:1] ; encoding: [0x00,0x20,0xec,0xbe]
-0x00,0x20,0xec,0xbe
+# CHECK: s_and_saveexec_b64 tba, s[2:3] ; encoding: [0x02,0x20,0xec,0xbe]
+0x02,0x20,0xec,0xbe
-# CHECK: s_and_saveexec_b64 tma, s[0:1] ; encoding: [0x00,0x20,0xee,0xbe]
-0x00,0x20,0xee,0xbe
+# CHECK: s_and_saveexec_b64 tma, s[2:3] ; encoding: [0x02,0x20,0xee,0xbe]
+0x02,0x20,0xee,0xbe
-# CHECK: s_and_saveexec_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x20,0xfa,0xbe]
-0x00,0x20,0xfa,0xbe
+# CHECK: s_and_saveexec_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x20,0xfa,0xbe]
+0x02,0x20,0xfa,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x20,0x80,0xbe]
-0x02,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], s[4:5] ; encoding: [0x04,0x20,0x8a,0xbe]
+0x04,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], s[100:101] ; encoding: [0x64,0x20,0x80,0xbe]
-0x64,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], s[100:101] ; encoding: [0x64,0x20,0x8a,0xbe]
+0x64,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], flat_scratch ; encoding: [0x66,0x20,0x80,0xbe]
-0x66,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], flat_scratch ; encoding: [0x66,0x20,0x8a,0xbe]
+0x66,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], vcc ; encoding: [0x6a,0x20,0x80,0xbe]
-0x6a,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], vcc ; encoding: [0x6a,0x20,0x8a,0xbe]
+0x6a,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], tba ; encoding: [0x6c,0x20,0x80,0xbe]
-0x6c,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], tba ; encoding: [0x6c,0x20,0x8a,0xbe]
+0x6c,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], tma ; encoding: [0x6e,0x20,0x80,0xbe]
-0x6e,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], tma ; encoding: [0x6e,0x20,0x8a,0xbe]
+0x6e,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x20,0x80,0xbe]
-0x7a,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x20,0x8a,0xbe]
+0x7a,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], exec ; encoding: [0x7e,0x20,0x80,0xbe]
-0x7e,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], exec ; encoding: [0x7e,0x20,0x8a,0xbe]
+0x7e,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], 0 ; encoding: [0x80,0x20,0x80,0xbe]
-0x80,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], 0 ; encoding: [0x80,0x20,0x8a,0xbe]
+0x80,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x20,0x80,0xbe]
-0xc1,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], -1 ; encoding: [0xc1,0x20,0x8a,0xbe]
+0xc1,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], 0.5 ; encoding: [0xf0,0x20,0x80,0xbe]
-0xf0,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], 0.5 ; encoding: [0xf0,0x20,0x8a,0xbe]
+0xf0,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], -4.0 ; encoding: [0xf7,0x20,0x80,0xbe]
-0xf7,0x20,0x80,0xbe
+# CHECK: s_and_saveexec_b64 s[10:11], -4.0 ; encoding: [0xf7,0x20,0x8a,0xbe]
+0xf7,0x20,0x8a,0xbe
-# CHECK: s_and_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x20,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x20,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_and_saveexec_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x20,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x20,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_and_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x20,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x20,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_and_saveexec_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x20,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x20,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_or_saveexec_b64 s[0:1], s[0:1] ; encoding: [0x00,0x21,0x80,0xbe]
-0x00,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x21,0x8a,0xbe]
+0x02,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[2:3], s[0:1] ; encoding: [0x00,0x21,0x82,0xbe]
-0x00,0x21,0x82,0xbe
+# CHECK: s_or_saveexec_b64 s[12:13], s[2:3] ; encoding: [0x02,0x21,0x8c,0xbe]
+0x02,0x21,0x8c,0xbe
-# CHECK: s_or_saveexec_b64 s[100:101], s[0:1] ; encoding: [0x00,0x21,0xe4,0xbe]
-0x00,0x21,0xe4,0xbe
+# CHECK: s_or_saveexec_b64 s[100:101], s[2:3] ; encoding: [0x02,0x21,0xe4,0xbe]
+0x02,0x21,0xe4,0xbe
-# CHECK: s_or_saveexec_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x21,0xe6,0xbe]
-0x00,0x21,0xe6,0xbe
+# CHECK: s_or_saveexec_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x21,0xe6,0xbe]
+0x02,0x21,0xe6,0xbe
-# CHECK: s_or_saveexec_b64 vcc, s[0:1] ; encoding: [0x00,0x21,0xea,0xbe]
-0x00,0x21,0xea,0xbe
+# CHECK: s_or_saveexec_b64 vcc, s[2:3] ; encoding: [0x02,0x21,0xea,0xbe]
+0x02,0x21,0xea,0xbe
-# CHECK: s_or_saveexec_b64 tba, s[0:1] ; encoding: [0x00,0x21,0xec,0xbe]
-0x00,0x21,0xec,0xbe
+# CHECK: s_or_saveexec_b64 tba, s[2:3] ; encoding: [0x02,0x21,0xec,0xbe]
+0x02,0x21,0xec,0xbe
-# CHECK: s_or_saveexec_b64 tma, s[0:1] ; encoding: [0x00,0x21,0xee,0xbe]
-0x00,0x21,0xee,0xbe
+# CHECK: s_or_saveexec_b64 tma, s[2:3] ; encoding: [0x02,0x21,0xee,0xbe]
+0x02,0x21,0xee,0xbe
-# CHECK: s_or_saveexec_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x21,0xfa,0xbe]
-0x00,0x21,0xfa,0xbe
+# CHECK: s_or_saveexec_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x21,0xfa,0xbe]
+0x02,0x21,0xfa,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x21,0x80,0xbe]
-0x02,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], s[4:5] ; encoding: [0x04,0x21,0x8a,0xbe]
+0x04,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], s[100:101] ; encoding: [0x64,0x21,0x80,0xbe]
-0x64,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], s[100:101] ; encoding: [0x64,0x21,0x8a,0xbe]
+0x64,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], flat_scratch ; encoding: [0x66,0x21,0x80,0xbe]
-0x66,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], flat_scratch ; encoding: [0x66,0x21,0x8a,0xbe]
+0x66,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], vcc ; encoding: [0x6a,0x21,0x80,0xbe]
-0x6a,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], vcc ; encoding: [0x6a,0x21,0x8a,0xbe]
+0x6a,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], tba ; encoding: [0x6c,0x21,0x80,0xbe]
-0x6c,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], tba ; encoding: [0x6c,0x21,0x8a,0xbe]
+0x6c,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], tma ; encoding: [0x6e,0x21,0x80,0xbe]
-0x6e,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], tma ; encoding: [0x6e,0x21,0x8a,0xbe]
+0x6e,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x21,0x80,0xbe]
-0x7a,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x21,0x8a,0xbe]
+0x7a,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], exec ; encoding: [0x7e,0x21,0x80,0xbe]
-0x7e,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], exec ; encoding: [0x7e,0x21,0x8a,0xbe]
+0x7e,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], 0 ; encoding: [0x80,0x21,0x80,0xbe]
-0x80,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], 0 ; encoding: [0x80,0x21,0x8a,0xbe]
+0x80,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x21,0x80,0xbe]
-0xc1,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], -1 ; encoding: [0xc1,0x21,0x8a,0xbe]
+0xc1,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], 0.5 ; encoding: [0xf0,0x21,0x80,0xbe]
-0xf0,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], 0.5 ; encoding: [0xf0,0x21,0x8a,0xbe]
+0xf0,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], -4.0 ; encoding: [0xf7,0x21,0x80,0xbe]
-0xf7,0x21,0x80,0xbe
+# CHECK: s_or_saveexec_b64 s[10:11], -4.0 ; encoding: [0xf7,0x21,0x8a,0xbe]
+0xf7,0x21,0x8a,0xbe
-# CHECK: s_or_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x21,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x21,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_or_saveexec_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x21,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x21,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_or_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x21,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x21,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_or_saveexec_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x21,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x21,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_xor_saveexec_b64 s[0:1], s[0:1] ; encoding: [0x00,0x22,0x80,0xbe]
-0x00,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x22,0x8a,0xbe]
+0x02,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[2:3], s[0:1] ; encoding: [0x00,0x22,0x82,0xbe]
-0x00,0x22,0x82,0xbe
+# CHECK: s_xor_saveexec_b64 s[12:13], s[2:3] ; encoding: [0x02,0x22,0x8c,0xbe]
+0x02,0x22,0x8c,0xbe
-# CHECK: s_xor_saveexec_b64 s[100:101], s[0:1] ; encoding: [0x00,0x22,0xe4,0xbe]
-0x00,0x22,0xe4,0xbe
+# CHECK: s_xor_saveexec_b64 s[100:101], s[2:3] ; encoding: [0x02,0x22,0xe4,0xbe]
+0x02,0x22,0xe4,0xbe
-# CHECK: s_xor_saveexec_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x22,0xe6,0xbe]
-0x00,0x22,0xe6,0xbe
+# CHECK: s_xor_saveexec_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x22,0xe6,0xbe]
+0x02,0x22,0xe6,0xbe
-# CHECK: s_xor_saveexec_b64 vcc, s[0:1] ; encoding: [0x00,0x22,0xea,0xbe]
-0x00,0x22,0xea,0xbe
+# CHECK: s_xor_saveexec_b64 vcc, s[2:3] ; encoding: [0x02,0x22,0xea,0xbe]
+0x02,0x22,0xea,0xbe
-# CHECK: s_xor_saveexec_b64 tba, s[0:1] ; encoding: [0x00,0x22,0xec,0xbe]
-0x00,0x22,0xec,0xbe
+# CHECK: s_xor_saveexec_b64 tba, s[2:3] ; encoding: [0x02,0x22,0xec,0xbe]
+0x02,0x22,0xec,0xbe
-# CHECK: s_xor_saveexec_b64 tma, s[0:1] ; encoding: [0x00,0x22,0xee,0xbe]
-0x00,0x22,0xee,0xbe
+# CHECK: s_xor_saveexec_b64 tma, s[2:3] ; encoding: [0x02,0x22,0xee,0xbe]
+0x02,0x22,0xee,0xbe
-# CHECK: s_xor_saveexec_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x22,0xfa,0xbe]
-0x00,0x22,0xfa,0xbe
+# CHECK: s_xor_saveexec_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x22,0xfa,0xbe]
+0x02,0x22,0xfa,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x22,0x80,0xbe]
-0x02,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], s[4:5] ; encoding: [0x04,0x22,0x8a,0xbe]
+0x04,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], s[100:101] ; encoding: [0x64,0x22,0x80,0xbe]
-0x64,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], s[100:101] ; encoding: [0x64,0x22,0x8a,0xbe]
+0x64,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], flat_scratch ; encoding: [0x66,0x22,0x80,0xbe]
-0x66,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], flat_scratch ; encoding: [0x66,0x22,0x8a,0xbe]
+0x66,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], vcc ; encoding: [0x6a,0x22,0x80,0xbe]
-0x6a,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], vcc ; encoding: [0x6a,0x22,0x8a,0xbe]
+0x6a,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], tba ; encoding: [0x6c,0x22,0x80,0xbe]
-0x6c,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], tba ; encoding: [0x6c,0x22,0x8a,0xbe]
+0x6c,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], tma ; encoding: [0x6e,0x22,0x80,0xbe]
-0x6e,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], tma ; encoding: [0x6e,0x22,0x8a,0xbe]
+0x6e,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x22,0x80,0xbe]
-0x7a,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x22,0x8a,0xbe]
+0x7a,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], exec ; encoding: [0x7e,0x22,0x80,0xbe]
-0x7e,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], exec ; encoding: [0x7e,0x22,0x8a,0xbe]
+0x7e,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], 0 ; encoding: [0x80,0x22,0x80,0xbe]
-0x80,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], 0 ; encoding: [0x80,0x22,0x8a,0xbe]
+0x80,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x22,0x80,0xbe]
-0xc1,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], -1 ; encoding: [0xc1,0x22,0x8a,0xbe]
+0xc1,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], 0.5 ; encoding: [0xf0,0x22,0x80,0xbe]
-0xf0,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], 0.5 ; encoding: [0xf0,0x22,0x8a,0xbe]
+0xf0,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], -4.0 ; encoding: [0xf7,0x22,0x80,0xbe]
-0xf7,0x22,0x80,0xbe
+# CHECK: s_xor_saveexec_b64 s[10:11], -4.0 ; encoding: [0xf7,0x22,0x8a,0xbe]
+0xf7,0x22,0x8a,0xbe
-# CHECK: s_xor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x22,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x22,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_xor_saveexec_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x22,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x22,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_xor_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x22,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x22,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_xor_saveexec_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x22,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x22,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_andn2_saveexec_b64 s[0:1], s[0:1] ; encoding: [0x00,0x23,0x80,0xbe]
-0x00,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x23,0x8a,0xbe]
+0x02,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[2:3], s[0:1] ; encoding: [0x00,0x23,0x82,0xbe]
-0x00,0x23,0x82,0xbe
+# CHECK: s_andn2_saveexec_b64 s[12:13], s[2:3] ; encoding: [0x02,0x23,0x8c,0xbe]
+0x02,0x23,0x8c,0xbe
-# CHECK: s_andn2_saveexec_b64 s[100:101], s[0:1] ; encoding: [0x00,0x23,0xe4,0xbe]
-0x00,0x23,0xe4,0xbe
+# CHECK: s_andn2_saveexec_b64 s[100:101], s[2:3] ; encoding: [0x02,0x23,0xe4,0xbe]
+0x02,0x23,0xe4,0xbe
-# CHECK: s_andn2_saveexec_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x23,0xe6,0xbe]
-0x00,0x23,0xe6,0xbe
+# CHECK: s_andn2_saveexec_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x23,0xe6,0xbe]
+0x02,0x23,0xe6,0xbe
-# CHECK: s_andn2_saveexec_b64 vcc, s[0:1] ; encoding: [0x00,0x23,0xea,0xbe]
-0x00,0x23,0xea,0xbe
+# CHECK: s_andn2_saveexec_b64 vcc, s[2:3] ; encoding: [0x02,0x23,0xea,0xbe]
+0x02,0x23,0xea,0xbe
-# CHECK: s_andn2_saveexec_b64 tba, s[0:1] ; encoding: [0x00,0x23,0xec,0xbe]
-0x00,0x23,0xec,0xbe
+# CHECK: s_andn2_saveexec_b64 tba, s[2:3] ; encoding: [0x02,0x23,0xec,0xbe]
+0x02,0x23,0xec,0xbe
-# CHECK: s_andn2_saveexec_b64 tma, s[0:1] ; encoding: [0x00,0x23,0xee,0xbe]
-0x00,0x23,0xee,0xbe
+# CHECK: s_andn2_saveexec_b64 tma, s[2:3] ; encoding: [0x02,0x23,0xee,0xbe]
+0x02,0x23,0xee,0xbe
-# CHECK: s_andn2_saveexec_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x23,0xfa,0xbe]
-0x00,0x23,0xfa,0xbe
+# CHECK: s_andn2_saveexec_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x23,0xfa,0xbe]
+0x02,0x23,0xfa,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x23,0x80,0xbe]
-0x02,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], s[4:5] ; encoding: [0x04,0x23,0x8a,0xbe]
+0x04,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], s[100:101] ; encoding: [0x64,0x23,0x80,0xbe]
-0x64,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], s[100:101] ; encoding: [0x64,0x23,0x8a,0xbe]
+0x64,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], flat_scratch ; encoding: [0x66,0x23,0x80,0xbe]
-0x66,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], flat_scratch ; encoding: [0x66,0x23,0x8a,0xbe]
+0x66,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], vcc ; encoding: [0x6a,0x23,0x80,0xbe]
-0x6a,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], vcc ; encoding: [0x6a,0x23,0x8a,0xbe]
+0x6a,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], tba ; encoding: [0x6c,0x23,0x80,0xbe]
-0x6c,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], tba ; encoding: [0x6c,0x23,0x8a,0xbe]
+0x6c,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], tma ; encoding: [0x6e,0x23,0x80,0xbe]
-0x6e,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], tma ; encoding: [0x6e,0x23,0x8a,0xbe]
+0x6e,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x23,0x80,0xbe]
-0x7a,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x23,0x8a,0xbe]
+0x7a,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], exec ; encoding: [0x7e,0x23,0x80,0xbe]
-0x7e,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], exec ; encoding: [0x7e,0x23,0x8a,0xbe]
+0x7e,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], 0 ; encoding: [0x80,0x23,0x80,0xbe]
-0x80,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], 0 ; encoding: [0x80,0x23,0x8a,0xbe]
+0x80,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x23,0x80,0xbe]
-0xc1,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], -1 ; encoding: [0xc1,0x23,0x8a,0xbe]
+0xc1,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], 0.5 ; encoding: [0xf0,0x23,0x80,0xbe]
-0xf0,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], 0.5 ; encoding: [0xf0,0x23,0x8a,0xbe]
+0xf0,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], -4.0 ; encoding: [0xf7,0x23,0x80,0xbe]
-0xf7,0x23,0x80,0xbe
+# CHECK: s_andn2_saveexec_b64 s[10:11], -4.0 ; encoding: [0xf7,0x23,0x8a,0xbe]
+0xf7,0x23,0x8a,0xbe
-# CHECK: s_andn2_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x23,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x23,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_andn2_saveexec_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x23,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x23,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_andn2_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x23,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x23,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_andn2_saveexec_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x23,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x23,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_orn2_saveexec_b64 s[0:1], s[0:1] ; encoding: [0x00,0x24,0x80,0xbe]
-0x00,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x24,0x8a,0xbe]
+0x02,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[2:3], s[0:1] ; encoding: [0x00,0x24,0x82,0xbe]
-0x00,0x24,0x82,0xbe
+# CHECK: s_orn2_saveexec_b64 s[12:13], s[2:3] ; encoding: [0x02,0x24,0x8c,0xbe]
+0x02,0x24,0x8c,0xbe
-# CHECK: s_orn2_saveexec_b64 s[100:101], s[0:1] ; encoding: [0x00,0x24,0xe4,0xbe]
-0x00,0x24,0xe4,0xbe
+# CHECK: s_orn2_saveexec_b64 s[100:101], s[2:3] ; encoding: [0x02,0x24,0xe4,0xbe]
+0x02,0x24,0xe4,0xbe
-# CHECK: s_orn2_saveexec_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x24,0xe6,0xbe]
-0x00,0x24,0xe6,0xbe
+# CHECK: s_orn2_saveexec_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x24,0xe6,0xbe]
+0x02,0x24,0xe6,0xbe
-# CHECK: s_orn2_saveexec_b64 vcc, s[0:1] ; encoding: [0x00,0x24,0xea,0xbe]
-0x00,0x24,0xea,0xbe
+# CHECK: s_orn2_saveexec_b64 vcc, s[2:3] ; encoding: [0x02,0x24,0xea,0xbe]
+0x02,0x24,0xea,0xbe
-# CHECK: s_orn2_saveexec_b64 tba, s[0:1] ; encoding: [0x00,0x24,0xec,0xbe]
-0x00,0x24,0xec,0xbe
+# CHECK: s_orn2_saveexec_b64 tba, s[2:3] ; encoding: [0x02,0x24,0xec,0xbe]
+0x02,0x24,0xec,0xbe
-# CHECK: s_orn2_saveexec_b64 tma, s[0:1] ; encoding: [0x00,0x24,0xee,0xbe]
-0x00,0x24,0xee,0xbe
+# CHECK: s_orn2_saveexec_b64 tma, s[2:3] ; encoding: [0x02,0x24,0xee,0xbe]
+0x02,0x24,0xee,0xbe
-# CHECK: s_orn2_saveexec_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x24,0xfa,0xbe]
-0x00,0x24,0xfa,0xbe
+# CHECK: s_orn2_saveexec_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x24,0xfa,0xbe]
+0x02,0x24,0xfa,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x24,0x80,0xbe]
-0x02,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], s[4:5] ; encoding: [0x04,0x24,0x8a,0xbe]
+0x04,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], s[100:101] ; encoding: [0x64,0x24,0x80,0xbe]
-0x64,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], s[100:101] ; encoding: [0x64,0x24,0x8a,0xbe]
+0x64,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], flat_scratch ; encoding: [0x66,0x24,0x80,0xbe]
-0x66,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], flat_scratch ; encoding: [0x66,0x24,0x8a,0xbe]
+0x66,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], vcc ; encoding: [0x6a,0x24,0x80,0xbe]
-0x6a,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], vcc ; encoding: [0x6a,0x24,0x8a,0xbe]
+0x6a,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], tba ; encoding: [0x6c,0x24,0x80,0xbe]
-0x6c,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], tba ; encoding: [0x6c,0x24,0x8a,0xbe]
+0x6c,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], tma ; encoding: [0x6e,0x24,0x80,0xbe]
-0x6e,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], tma ; encoding: [0x6e,0x24,0x8a,0xbe]
+0x6e,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x24,0x80,0xbe]
-0x7a,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x24,0x8a,0xbe]
+0x7a,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], exec ; encoding: [0x7e,0x24,0x80,0xbe]
-0x7e,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], exec ; encoding: [0x7e,0x24,0x8a,0xbe]
+0x7e,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], 0 ; encoding: [0x80,0x24,0x80,0xbe]
-0x80,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], 0 ; encoding: [0x80,0x24,0x8a,0xbe]
+0x80,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x24,0x80,0xbe]
-0xc1,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], -1 ; encoding: [0xc1,0x24,0x8a,0xbe]
+0xc1,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], 0.5 ; encoding: [0xf0,0x24,0x80,0xbe]
-0xf0,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], 0.5 ; encoding: [0xf0,0x24,0x8a,0xbe]
+0xf0,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], -4.0 ; encoding: [0xf7,0x24,0x80,0xbe]
-0xf7,0x24,0x80,0xbe
+# CHECK: s_orn2_saveexec_b64 s[10:11], -4.0 ; encoding: [0xf7,0x24,0x8a,0xbe]
+0xf7,0x24,0x8a,0xbe
-# CHECK: s_orn2_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x24,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x24,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_orn2_saveexec_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x24,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x24,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_orn2_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x24,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x24,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_orn2_saveexec_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x24,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x24,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_nand_saveexec_b64 s[0:1], s[0:1] ; encoding: [0x00,0x25,0x80,0xbe]
-0x00,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x25,0x8a,0xbe]
+0x02,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[2:3], s[0:1] ; encoding: [0x00,0x25,0x82,0xbe]
-0x00,0x25,0x82,0xbe
+# CHECK: s_nand_saveexec_b64 s[12:13], s[2:3] ; encoding: [0x02,0x25,0x8c,0xbe]
+0x02,0x25,0x8c,0xbe
-# CHECK: s_nand_saveexec_b64 s[100:101], s[0:1] ; encoding: [0x00,0x25,0xe4,0xbe]
-0x00,0x25,0xe4,0xbe
+# CHECK: s_nand_saveexec_b64 s[100:101], s[2:3] ; encoding: [0x02,0x25,0xe4,0xbe]
+0x02,0x25,0xe4,0xbe
-# CHECK: s_nand_saveexec_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x25,0xe6,0xbe]
-0x00,0x25,0xe6,0xbe
+# CHECK: s_nand_saveexec_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x25,0xe6,0xbe]
+0x02,0x25,0xe6,0xbe
-# CHECK: s_nand_saveexec_b64 vcc, s[0:1] ; encoding: [0x00,0x25,0xea,0xbe]
-0x00,0x25,0xea,0xbe
+# CHECK: s_nand_saveexec_b64 vcc, s[2:3] ; encoding: [0x02,0x25,0xea,0xbe]
+0x02,0x25,0xea,0xbe
-# CHECK: s_nand_saveexec_b64 tba, s[0:1] ; encoding: [0x00,0x25,0xec,0xbe]
-0x00,0x25,0xec,0xbe
+# CHECK: s_nand_saveexec_b64 tba, s[2:3] ; encoding: [0x02,0x25,0xec,0xbe]
+0x02,0x25,0xec,0xbe
-# CHECK: s_nand_saveexec_b64 tma, s[0:1] ; encoding: [0x00,0x25,0xee,0xbe]
-0x00,0x25,0xee,0xbe
+# CHECK: s_nand_saveexec_b64 tma, s[2:3] ; encoding: [0x02,0x25,0xee,0xbe]
+0x02,0x25,0xee,0xbe
-# CHECK: s_nand_saveexec_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x25,0xfa,0xbe]
-0x00,0x25,0xfa,0xbe
+# CHECK: s_nand_saveexec_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x25,0xfa,0xbe]
+0x02,0x25,0xfa,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x25,0x80,0xbe]
-0x02,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], s[4:5] ; encoding: [0x04,0x25,0x8a,0xbe]
+0x04,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], s[100:101] ; encoding: [0x64,0x25,0x80,0xbe]
-0x64,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], s[100:101] ; encoding: [0x64,0x25,0x8a,0xbe]
+0x64,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], flat_scratch ; encoding: [0x66,0x25,0x80,0xbe]
-0x66,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], flat_scratch ; encoding: [0x66,0x25,0x8a,0xbe]
+0x66,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], vcc ; encoding: [0x6a,0x25,0x80,0xbe]
-0x6a,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], vcc ; encoding: [0x6a,0x25,0x8a,0xbe]
+0x6a,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], tba ; encoding: [0x6c,0x25,0x80,0xbe]
-0x6c,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], tba ; encoding: [0x6c,0x25,0x8a,0xbe]
+0x6c,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], tma ; encoding: [0x6e,0x25,0x80,0xbe]
-0x6e,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], tma ; encoding: [0x6e,0x25,0x8a,0xbe]
+0x6e,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x25,0x80,0xbe]
-0x7a,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x25,0x8a,0xbe]
+0x7a,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], exec ; encoding: [0x7e,0x25,0x80,0xbe]
-0x7e,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], exec ; encoding: [0x7e,0x25,0x8a,0xbe]
+0x7e,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], 0 ; encoding: [0x80,0x25,0x80,0xbe]
-0x80,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], 0 ; encoding: [0x80,0x25,0x8a,0xbe]
+0x80,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x25,0x80,0xbe]
-0xc1,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], -1 ; encoding: [0xc1,0x25,0x8a,0xbe]
+0xc1,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], 0.5 ; encoding: [0xf0,0x25,0x80,0xbe]
-0xf0,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], 0.5 ; encoding: [0xf0,0x25,0x8a,0xbe]
+0xf0,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], -4.0 ; encoding: [0xf7,0x25,0x80,0xbe]
-0xf7,0x25,0x80,0xbe
+# CHECK: s_nand_saveexec_b64 s[10:11], -4.0 ; encoding: [0xf7,0x25,0x8a,0xbe]
+0xf7,0x25,0x8a,0xbe
-# CHECK: s_nand_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x25,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x25,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_nand_saveexec_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x25,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x25,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_nand_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x25,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x25,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_nand_saveexec_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x25,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x25,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_nor_saveexec_b64 s[0:1], s[0:1] ; encoding: [0x00,0x26,0x80,0xbe]
-0x00,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x26,0x8a,0xbe]
+0x02,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[2:3], s[0:1] ; encoding: [0x00,0x26,0x82,0xbe]
-0x00,0x26,0x82,0xbe
+# CHECK: s_nor_saveexec_b64 s[12:13], s[2:3] ; encoding: [0x02,0x26,0x8c,0xbe]
+0x02,0x26,0x8c,0xbe
-# CHECK: s_nor_saveexec_b64 s[100:101], s[0:1] ; encoding: [0x00,0x26,0xe4,0xbe]
-0x00,0x26,0xe4,0xbe
+# CHECK: s_nor_saveexec_b64 s[100:101], s[2:3] ; encoding: [0x02,0x26,0xe4,0xbe]
+0x02,0x26,0xe4,0xbe
-# CHECK: s_nor_saveexec_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x26,0xe6,0xbe]
-0x00,0x26,0xe6,0xbe
+# CHECK: s_nor_saveexec_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x26,0xe6,0xbe]
+0x02,0x26,0xe6,0xbe
-# CHECK: s_nor_saveexec_b64 vcc, s[0:1] ; encoding: [0x00,0x26,0xea,0xbe]
-0x00,0x26,0xea,0xbe
+# CHECK: s_nor_saveexec_b64 vcc, s[2:3] ; encoding: [0x02,0x26,0xea,0xbe]
+0x02,0x26,0xea,0xbe
-# CHECK: s_nor_saveexec_b64 tba, s[0:1] ; encoding: [0x00,0x26,0xec,0xbe]
-0x00,0x26,0xec,0xbe
+# CHECK: s_nor_saveexec_b64 tba, s[2:3] ; encoding: [0x02,0x26,0xec,0xbe]
+0x02,0x26,0xec,0xbe
-# CHECK: s_nor_saveexec_b64 tma, s[0:1] ; encoding: [0x00,0x26,0xee,0xbe]
-0x00,0x26,0xee,0xbe
+# CHECK: s_nor_saveexec_b64 tma, s[2:3] ; encoding: [0x02,0x26,0xee,0xbe]
+0x02,0x26,0xee,0xbe
-# CHECK: s_nor_saveexec_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x26,0xfa,0xbe]
-0x00,0x26,0xfa,0xbe
+# CHECK: s_nor_saveexec_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x26,0xfa,0xbe]
+0x02,0x26,0xfa,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x26,0x80,0xbe]
-0x02,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], s[4:5] ; encoding: [0x04,0x26,0x8a,0xbe]
+0x04,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], s[100:101] ; encoding: [0x64,0x26,0x80,0xbe]
-0x64,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], s[100:101] ; encoding: [0x64,0x26,0x8a,0xbe]
+0x64,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], flat_scratch ; encoding: [0x66,0x26,0x80,0xbe]
-0x66,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], flat_scratch ; encoding: [0x66,0x26,0x8a,0xbe]
+0x66,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], vcc ; encoding: [0x6a,0x26,0x80,0xbe]
-0x6a,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], vcc ; encoding: [0x6a,0x26,0x8a,0xbe]
+0x6a,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], tba ; encoding: [0x6c,0x26,0x80,0xbe]
-0x6c,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], tba ; encoding: [0x6c,0x26,0x8a,0xbe]
+0x6c,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], tma ; encoding: [0x6e,0x26,0x80,0xbe]
-0x6e,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], tma ; encoding: [0x6e,0x26,0x8a,0xbe]
+0x6e,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x26,0x80,0xbe]
-0x7a,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x26,0x8a,0xbe]
+0x7a,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], exec ; encoding: [0x7e,0x26,0x80,0xbe]
-0x7e,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], exec ; encoding: [0x7e,0x26,0x8a,0xbe]
+0x7e,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], 0 ; encoding: [0x80,0x26,0x80,0xbe]
-0x80,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], 0 ; encoding: [0x80,0x26,0x8a,0xbe]
+0x80,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x26,0x80,0xbe]
-0xc1,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], -1 ; encoding: [0xc1,0x26,0x8a,0xbe]
+0xc1,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], 0.5 ; encoding: [0xf0,0x26,0x80,0xbe]
-0xf0,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], 0.5 ; encoding: [0xf0,0x26,0x8a,0xbe]
+0xf0,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], -4.0 ; encoding: [0xf7,0x26,0x80,0xbe]
-0xf7,0x26,0x80,0xbe
+# CHECK: s_nor_saveexec_b64 s[10:11], -4.0 ; encoding: [0xf7,0x26,0x8a,0xbe]
+0xf7,0x26,0x8a,0xbe
-# CHECK: s_nor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x26,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x26,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_nor_saveexec_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x26,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x26,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_nor_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x26,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x26,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_nor_saveexec_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x26,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x26,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_xnor_saveexec_b64 s[0:1], s[0:1] ; encoding: [0x00,0x27,0x80,0xbe]
-0x00,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x27,0x8a,0xbe]
+0x02,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[2:3], s[0:1] ; encoding: [0x00,0x27,0x82,0xbe]
-0x00,0x27,0x82,0xbe
+# CHECK: s_xnor_saveexec_b64 s[12:13], s[2:3] ; encoding: [0x02,0x27,0x8c,0xbe]
+0x02,0x27,0x8c,0xbe
-# CHECK: s_xnor_saveexec_b64 s[100:101], s[0:1] ; encoding: [0x00,0x27,0xe4,0xbe]
-0x00,0x27,0xe4,0xbe
+# CHECK: s_xnor_saveexec_b64 s[100:101], s[2:3] ; encoding: [0x02,0x27,0xe4,0xbe]
+0x02,0x27,0xe4,0xbe
-# CHECK: s_xnor_saveexec_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x27,0xe6,0xbe]
-0x00,0x27,0xe6,0xbe
+# CHECK: s_xnor_saveexec_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x27,0xe6,0xbe]
+0x02,0x27,0xe6,0xbe
-# CHECK: s_xnor_saveexec_b64 vcc, s[0:1] ; encoding: [0x00,0x27,0xea,0xbe]
-0x00,0x27,0xea,0xbe
+# CHECK: s_xnor_saveexec_b64 vcc, s[2:3] ; encoding: [0x02,0x27,0xea,0xbe]
+0x02,0x27,0xea,0xbe
-# CHECK: s_xnor_saveexec_b64 tba, s[0:1] ; encoding: [0x00,0x27,0xec,0xbe]
-0x00,0x27,0xec,0xbe
+# CHECK: s_xnor_saveexec_b64 tba, s[2:3] ; encoding: [0x02,0x27,0xec,0xbe]
+0x02,0x27,0xec,0xbe
-# CHECK: s_xnor_saveexec_b64 tma, s[0:1] ; encoding: [0x00,0x27,0xee,0xbe]
-0x00,0x27,0xee,0xbe
+# CHECK: s_xnor_saveexec_b64 tma, s[2:3] ; encoding: [0x02,0x27,0xee,0xbe]
+0x02,0x27,0xee,0xbe
-# CHECK: s_xnor_saveexec_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x27,0xfa,0xbe]
-0x00,0x27,0xfa,0xbe
+# CHECK: s_xnor_saveexec_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x27,0xfa,0xbe]
+0x02,0x27,0xfa,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], s[2:3] ; encoding: [0x02,0x27,0x80,0xbe]
-0x02,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], s[4:5] ; encoding: [0x04,0x27,0x8a,0xbe]
+0x04,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], s[100:101] ; encoding: [0x64,0x27,0x80,0xbe]
-0x64,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], s[100:101] ; encoding: [0x64,0x27,0x8a,0xbe]
+0x64,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], flat_scratch ; encoding: [0x66,0x27,0x80,0xbe]
-0x66,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], flat_scratch ; encoding: [0x66,0x27,0x8a,0xbe]
+0x66,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], vcc ; encoding: [0x6a,0x27,0x80,0xbe]
-0x6a,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], vcc ; encoding: [0x6a,0x27,0x8a,0xbe]
+0x6a,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], tba ; encoding: [0x6c,0x27,0x80,0xbe]
-0x6c,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], tba ; encoding: [0x6c,0x27,0x8a,0xbe]
+0x6c,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], tma ; encoding: [0x6e,0x27,0x80,0xbe]
-0x6e,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], tma ; encoding: [0x6e,0x27,0x8a,0xbe]
+0x6e,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x27,0x80,0xbe]
-0x7a,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x27,0x8a,0xbe]
+0x7a,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], exec ; encoding: [0x7e,0x27,0x80,0xbe]
-0x7e,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], exec ; encoding: [0x7e,0x27,0x8a,0xbe]
+0x7e,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], 0 ; encoding: [0x80,0x27,0x80,0xbe]
-0x80,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], 0 ; encoding: [0x80,0x27,0x8a,0xbe]
+0x80,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], -1 ; encoding: [0xc1,0x27,0x80,0xbe]
-0xc1,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], -1 ; encoding: [0xc1,0x27,0x8a,0xbe]
+0xc1,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], 0.5 ; encoding: [0xf0,0x27,0x80,0xbe]
-0xf0,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], 0.5 ; encoding: [0xf0,0x27,0x8a,0xbe]
+0xf0,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], -4.0 ; encoding: [0xf7,0x27,0x80,0xbe]
-0xf7,0x27,0x80,0xbe
+# CHECK: s_xnor_saveexec_b64 s[10:11], -4.0 ; encoding: [0xf7,0x27,0x8a,0xbe]
+0xf7,0x27,0x8a,0xbe
-# CHECK: s_xnor_saveexec_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x27,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x27,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_xnor_saveexec_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x27,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x27,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_xnor_saveexec_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x27,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x27,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_xnor_saveexec_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x27,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x27,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_quadmask_b32 s0, s0 ; encoding: [0x00,0x28,0x80,0xbe]
-0x00,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, s1 ; encoding: [0x01,0x28,0x85,0xbe]
+0x01,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s101, s0 ; encoding: [0x00,0x28,0xe5,0xbe]
-0x00,0x28,0xe5,0xbe
+# CHECK: s_quadmask_b32 s101, s1 ; encoding: [0x01,0x28,0xe5,0xbe]
+0x01,0x28,0xe5,0xbe
-# CHECK: s_quadmask_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x28,0xe6,0xbe]
-0x00,0x28,0xe6,0xbe
+# CHECK: s_quadmask_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x28,0xe6,0xbe]
+0x01,0x28,0xe6,0xbe
-# CHECK: s_quadmask_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x28,0xe7,0xbe]
-0x00,0x28,0xe7,0xbe
+# CHECK: s_quadmask_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x28,0xe7,0xbe]
+0x01,0x28,0xe7,0xbe
-# CHECK: s_quadmask_b32 vcc_lo, s0 ; encoding: [0x00,0x28,0xea,0xbe]
-0x00,0x28,0xea,0xbe
+# CHECK: s_quadmask_b32 vcc_lo, s1 ; encoding: [0x01,0x28,0xea,0xbe]
+0x01,0x28,0xea,0xbe
-# CHECK: s_quadmask_b32 vcc_hi, s0 ; encoding: [0x00,0x28,0xeb,0xbe]
-0x00,0x28,0xeb,0xbe
+# CHECK: s_quadmask_b32 vcc_hi, s1 ; encoding: [0x01,0x28,0xeb,0xbe]
+0x01,0x28,0xeb,0xbe
-# CHECK: s_quadmask_b32 tba_lo, s0 ; encoding: [0x00,0x28,0xec,0xbe]
-0x00,0x28,0xec,0xbe
+# CHECK: s_quadmask_b32 tba_lo, s1 ; encoding: [0x01,0x28,0xec,0xbe]
+0x01,0x28,0xec,0xbe
-# CHECK: s_quadmask_b32 tba_hi, s0 ; encoding: [0x00,0x28,0xed,0xbe]
-0x00,0x28,0xed,0xbe
+# CHECK: s_quadmask_b32 tba_hi, s1 ; encoding: [0x01,0x28,0xed,0xbe]
+0x01,0x28,0xed,0xbe
-# CHECK: s_quadmask_b32 tma_lo, s0 ; encoding: [0x00,0x28,0xee,0xbe]
-0x00,0x28,0xee,0xbe
+# CHECK: s_quadmask_b32 tma_lo, s1 ; encoding: [0x01,0x28,0xee,0xbe]
+0x01,0x28,0xee,0xbe
-# CHECK: s_quadmask_b32 tma_hi, s0 ; encoding: [0x00,0x28,0xef,0xbe]
-0x00,0x28,0xef,0xbe
+# CHECK: s_quadmask_b32 tma_hi, s1 ; encoding: [0x01,0x28,0xef,0xbe]
+0x01,0x28,0xef,0xbe
-# CHECK: s_quadmask_b32 ttmp11, s0 ; encoding: [0x00,0x28,0xfb,0xbe]
-0x00,0x28,0xfb,0xbe
+# CHECK: s_quadmask_b32 ttmp11, s1 ; encoding: [0x01,0x28,0xfb,0xbe]
+0x01,0x28,0xfb,0xbe
-# CHECK: s_quadmask_b32 m0, s0 ; encoding: [0x00,0x28,0xfc,0xbe]
-0x00,0x28,0xfc,0xbe
+# CHECK: s_quadmask_b32 m0, s1 ; encoding: [0x01,0x28,0xfc,0xbe]
+0x01,0x28,0xfc,0xbe
-# CHECK: s_quadmask_b32 exec_lo, s0 ; encoding: [0x00,0x28,0xfe,0xbe]
-0x00,0x28,0xfe,0xbe
+# CHECK: s_quadmask_b32 exec_lo, s1 ; encoding: [0x01,0x28,0xfe,0xbe]
+0x01,0x28,0xfe,0xbe
-# CHECK: s_quadmask_b32 exec_hi, s0 ; encoding: [0x00,0x28,0xff,0xbe]
-0x00,0x28,0xff,0xbe
+# CHECK: s_quadmask_b32 exec_hi, s1 ; encoding: [0x01,0x28,0xff,0xbe]
+0x01,0x28,0xff,0xbe
-# CHECK: s_quadmask_b32 s0, s101 ; encoding: [0x65,0x28,0x80,0xbe]
-0x65,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, s101 ; encoding: [0x65,0x28,0x85,0xbe]
+0x65,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, flat_scratch_lo ; encoding: [0x66,0x28,0x80,0xbe]
-0x66,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, flat_scratch_lo ; encoding: [0x66,0x28,0x85,0xbe]
+0x66,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, flat_scratch_hi ; encoding: [0x67,0x28,0x80,0xbe]
-0x67,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, flat_scratch_hi ; encoding: [0x67,0x28,0x85,0xbe]
+0x67,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, vcc_lo ; encoding: [0x6a,0x28,0x80,0xbe]
-0x6a,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, vcc_lo ; encoding: [0x6a,0x28,0x85,0xbe]
+0x6a,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, vcc_hi ; encoding: [0x6b,0x28,0x80,0xbe]
-0x6b,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, vcc_hi ; encoding: [0x6b,0x28,0x85,0xbe]
+0x6b,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, tba_lo ; encoding: [0x6c,0x28,0x80,0xbe]
-0x6c,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, tba_lo ; encoding: [0x6c,0x28,0x85,0xbe]
+0x6c,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, tba_hi ; encoding: [0x6d,0x28,0x80,0xbe]
-0x6d,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, tba_hi ; encoding: [0x6d,0x28,0x85,0xbe]
+0x6d,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, tma_lo ; encoding: [0x6e,0x28,0x80,0xbe]
-0x6e,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, tma_lo ; encoding: [0x6e,0x28,0x85,0xbe]
+0x6e,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, tma_hi ; encoding: [0x6f,0x28,0x80,0xbe]
-0x6f,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, tma_hi ; encoding: [0x6f,0x28,0x85,0xbe]
+0x6f,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, ttmp11 ; encoding: [0x7b,0x28,0x80,0xbe]
-0x7b,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, ttmp11 ; encoding: [0x7b,0x28,0x85,0xbe]
+0x7b,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, m0 ; encoding: [0x7c,0x28,0x80,0xbe]
-0x7c,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, m0 ; encoding: [0x7c,0x28,0x85,0xbe]
+0x7c,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, exec_lo ; encoding: [0x7e,0x28,0x80,0xbe]
-0x7e,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, exec_lo ; encoding: [0x7e,0x28,0x85,0xbe]
+0x7e,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, exec_hi ; encoding: [0x7f,0x28,0x80,0xbe]
-0x7f,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, exec_hi ; encoding: [0x7f,0x28,0x85,0xbe]
+0x7f,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, 0 ; encoding: [0x80,0x28,0x80,0xbe]
-0x80,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, 0 ; encoding: [0x80,0x28,0x85,0xbe]
+0x80,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, -1 ; encoding: [0xc1,0x28,0x80,0xbe]
-0xc1,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, -1 ; encoding: [0xc1,0x28,0x85,0xbe]
+0xc1,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, 0.5 ; encoding: [0xf0,0x28,0x80,0xbe]
-0xf0,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, 0.5 ; encoding: [0xf0,0x28,0x85,0xbe]
+0xf0,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, -4.0 ; encoding: [0xf7,0x28,0x80,0xbe]
-0xf7,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, -4.0 ; encoding: [0xf7,0x28,0x85,0xbe]
+0xf7,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, scc ; encoding: [0xfd,0x28,0x80,0xbe]
-0xfd,0x28,0x80,0xbe
+# CHECK: s_quadmask_b32 s5, scc ; encoding: [0xfd,0x28,0x85,0xbe]
+0xfd,0x28,0x85,0xbe
-# CHECK: s_quadmask_b32 s0, 0xaf123456 ; encoding: [0xff,0x28,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x28,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_quadmask_b32 s5, 0xaf123456 ; encoding: [0xff,0x28,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x28,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_quadmask_b32 s0, 0x3f717273 ; encoding: [0xff,0x28,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x28,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_quadmask_b32 s5, 0x3f717273 ; encoding: [0xff,0x28,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x28,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_quadmask_b64 s[0:1], s[0:1] ; encoding: [0x00,0x29,0x80,0xbe]
-0x00,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], s[2:3] ; encoding: [0x02,0x29,0x8a,0xbe]
+0x02,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[2:3], s[0:1] ; encoding: [0x00,0x29,0x82,0xbe]
-0x00,0x29,0x82,0xbe
+# CHECK: s_quadmask_b64 s[12:13], s[2:3] ; encoding: [0x02,0x29,0x8c,0xbe]
+0x02,0x29,0x8c,0xbe
-# CHECK: s_quadmask_b64 s[100:101], s[0:1] ; encoding: [0x00,0x29,0xe4,0xbe]
-0x00,0x29,0xe4,0xbe
+# CHECK: s_quadmask_b64 s[100:101], s[2:3] ; encoding: [0x02,0x29,0xe4,0xbe]
+0x02,0x29,0xe4,0xbe
-# CHECK: s_quadmask_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x29,0xe6,0xbe]
-0x00,0x29,0xe6,0xbe
+# CHECK: s_quadmask_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x29,0xe6,0xbe]
+0x02,0x29,0xe6,0xbe
-# CHECK: s_quadmask_b64 vcc, s[0:1] ; encoding: [0x00,0x29,0xea,0xbe]
-0x00,0x29,0xea,0xbe
+# CHECK: s_quadmask_b64 vcc, s[2:3] ; encoding: [0x02,0x29,0xea,0xbe]
+0x02,0x29,0xea,0xbe
-# CHECK: s_quadmask_b64 tba, s[0:1] ; encoding: [0x00,0x29,0xec,0xbe]
-0x00,0x29,0xec,0xbe
+# CHECK: s_quadmask_b64 tba, s[2:3] ; encoding: [0x02,0x29,0xec,0xbe]
+0x02,0x29,0xec,0xbe
-# CHECK: s_quadmask_b64 tma, s[0:1] ; encoding: [0x00,0x29,0xee,0xbe]
-0x00,0x29,0xee,0xbe
+# CHECK: s_quadmask_b64 tma, s[2:3] ; encoding: [0x02,0x29,0xee,0xbe]
+0x02,0x29,0xee,0xbe
-# CHECK: s_quadmask_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x29,0xfa,0xbe]
-0x00,0x29,0xfa,0xbe
+# CHECK: s_quadmask_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x29,0xfa,0xbe]
+0x02,0x29,0xfa,0xbe
-# CHECK: s_quadmask_b64 exec, s[0:1] ; encoding: [0x00,0x29,0xfe,0xbe]
-0x00,0x29,0xfe,0xbe
+# CHECK: s_quadmask_b64 exec, s[2:3] ; encoding: [0x02,0x29,0xfe,0xbe]
+0x02,0x29,0xfe,0xbe
-# CHECK: s_quadmask_b64 s[0:1], s[2:3] ; encoding: [0x02,0x29,0x80,0xbe]
-0x02,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], s[4:5] ; encoding: [0x04,0x29,0x8a,0xbe]
+0x04,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], s[100:101] ; encoding: [0x64,0x29,0x80,0xbe]
-0x64,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], s[100:101] ; encoding: [0x64,0x29,0x8a,0xbe]
+0x64,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], flat_scratch ; encoding: [0x66,0x29,0x80,0xbe]
-0x66,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], flat_scratch ; encoding: [0x66,0x29,0x8a,0xbe]
+0x66,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], vcc ; encoding: [0x6a,0x29,0x80,0xbe]
-0x6a,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], vcc ; encoding: [0x6a,0x29,0x8a,0xbe]
+0x6a,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], tba ; encoding: [0x6c,0x29,0x80,0xbe]
-0x6c,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], tba ; encoding: [0x6c,0x29,0x8a,0xbe]
+0x6c,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], tma ; encoding: [0x6e,0x29,0x80,0xbe]
-0x6e,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], tma ; encoding: [0x6e,0x29,0x8a,0xbe]
+0x6e,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x29,0x80,0xbe]
-0x7a,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x29,0x8a,0xbe]
+0x7a,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], exec ; encoding: [0x7e,0x29,0x80,0xbe]
-0x7e,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], exec ; encoding: [0x7e,0x29,0x8a,0xbe]
+0x7e,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], 0 ; encoding: [0x80,0x29,0x80,0xbe]
-0x80,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], 0 ; encoding: [0x80,0x29,0x8a,0xbe]
+0x80,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], -1 ; encoding: [0xc1,0x29,0x80,0xbe]
-0xc1,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], -1 ; encoding: [0xc1,0x29,0x8a,0xbe]
+0xc1,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], 0.5 ; encoding: [0xf0,0x29,0x80,0xbe]
-0xf0,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], 0.5 ; encoding: [0xf0,0x29,0x8a,0xbe]
+0xf0,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], -4.0 ; encoding: [0xf7,0x29,0x80,0xbe]
-0xf7,0x29,0x80,0xbe
+# CHECK: s_quadmask_b64 s[10:11], -4.0 ; encoding: [0xf7,0x29,0x8a,0xbe]
+0xf7,0x29,0x8a,0xbe
-# CHECK: s_quadmask_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x29,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x29,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_quadmask_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x29,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x29,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_quadmask_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x29,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x29,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_quadmask_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x29,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x29,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_movrels_b32 s0, s0 ; encoding: [0x00,0x2a,0x80,0xbe]
-0x00,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, s1 ; encoding: [0x01,0x2a,0x85,0xbe]
+0x01,0x2a,0x85,0xbe
-# CHECK: s_movrels_b32 s101, s0 ; encoding: [0x00,0x2a,0xe5,0xbe]
-0x00,0x2a,0xe5,0xbe
+# CHECK: s_movrels_b32 s101, s1 ; encoding: [0x01,0x2a,0xe5,0xbe]
+0x01,0x2a,0xe5,0xbe
-# CHECK: s_movrels_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x2a,0xe6,0xbe]
-0x00,0x2a,0xe6,0xbe
+# CHECK: s_movrels_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x2a,0xe6,0xbe]
+0x01,0x2a,0xe6,0xbe
-# CHECK: s_movrels_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x2a,0xe7,0xbe]
-0x00,0x2a,0xe7,0xbe
+# CHECK: s_movrels_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x2a,0xe7,0xbe]
+0x01,0x2a,0xe7,0xbe
-# CHECK: s_movrels_b32 vcc_lo, s0 ; encoding: [0x00,0x2a,0xea,0xbe]
-0x00,0x2a,0xea,0xbe
+# CHECK: s_movrels_b32 vcc_lo, s1 ; encoding: [0x01,0x2a,0xea,0xbe]
+0x01,0x2a,0xea,0xbe
-# CHECK: s_movrels_b32 vcc_hi, s0 ; encoding: [0x00,0x2a,0xeb,0xbe]
-0x00,0x2a,0xeb,0xbe
+# CHECK: s_movrels_b32 vcc_hi, s1 ; encoding: [0x01,0x2a,0xeb,0xbe]
+0x01,0x2a,0xeb,0xbe
-# CHECK: s_movrels_b32 tba_lo, s0 ; encoding: [0x00,0x2a,0xec,0xbe]
-0x00,0x2a,0xec,0xbe
+# CHECK: s_movrels_b32 tba_lo, s1 ; encoding: [0x01,0x2a,0xec,0xbe]
+0x01,0x2a,0xec,0xbe
-# CHECK: s_movrels_b32 tba_hi, s0 ; encoding: [0x00,0x2a,0xed,0xbe]
-0x00,0x2a,0xed,0xbe
+# CHECK: s_movrels_b32 tba_hi, s1 ; encoding: [0x01,0x2a,0xed,0xbe]
+0x01,0x2a,0xed,0xbe
-# CHECK: s_movrels_b32 tma_lo, s0 ; encoding: [0x00,0x2a,0xee,0xbe]
-0x00,0x2a,0xee,0xbe
+# CHECK: s_movrels_b32 tma_lo, s1 ; encoding: [0x01,0x2a,0xee,0xbe]
+0x01,0x2a,0xee,0xbe
-# CHECK: s_movrels_b32 tma_hi, s0 ; encoding: [0x00,0x2a,0xef,0xbe]
-0x00,0x2a,0xef,0xbe
+# CHECK: s_movrels_b32 tma_hi, s1 ; encoding: [0x01,0x2a,0xef,0xbe]
+0x01,0x2a,0xef,0xbe
-# CHECK: s_movrels_b32 ttmp11, s0 ; encoding: [0x00,0x2a,0xfb,0xbe]
-0x00,0x2a,0xfb,0xbe
+# CHECK: s_movrels_b32 ttmp11, s1 ; encoding: [0x01,0x2a,0xfb,0xbe]
+0x01,0x2a,0xfb,0xbe
-# CHECK: s_movrels_b32 m0, s0 ; encoding: [0x00,0x2a,0xfc,0xbe]
-0x00,0x2a,0xfc,0xbe
+# CHECK: s_movrels_b32 m0, s1 ; encoding: [0x01,0x2a,0xfc,0xbe]
+0x01,0x2a,0xfc,0xbe
-# CHECK: s_movrels_b32 exec_lo, s0 ; encoding: [0x00,0x2a,0xfe,0xbe]
-0x00,0x2a,0xfe,0xbe
+# CHECK: s_movrels_b32 exec_lo, s1 ; encoding: [0x01,0x2a,0xfe,0xbe]
+0x01,0x2a,0xfe,0xbe
-# CHECK: s_movrels_b32 exec_hi, s0 ; encoding: [0x00,0x2a,0xff,0xbe]
-0x00,0x2a,0xff,0xbe
+# CHECK: s_movrels_b32 exec_hi, s1 ; encoding: [0x01,0x2a,0xff,0xbe]
+0x01,0x2a,0xff,0xbe
-# CHECK: s_movrels_b32 s0, s101 ; encoding: [0x65,0x2a,0x80,0xbe]
-0x65,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, s101 ; encoding: [0x65,0x2a,0x85,0xbe]
+0x65,0x2a,0x85,0xbe
-# CHECK: s_movrels_b32 s0, flat_scratch_lo ; encoding: [0x66,0x2a,0x80,0xbe]
-0x66,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, flat_scratch_lo ; encoding: [0x66,0x2a,0x85,0xbe]
+0x66,0x2a,0x85,0xbe
-# CHECK: s_movrels_b32 s0, flat_scratch_hi ; encoding: [0x67,0x2a,0x80,0xbe]
-0x67,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, flat_scratch_hi ; encoding: [0x67,0x2a,0x85,0xbe]
+0x67,0x2a,0x85,0xbe
-# CHECK: s_movrels_b32 s0, vcc_lo ; encoding: [0x6a,0x2a,0x80,0xbe]
-0x6a,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, vcc_lo ; encoding: [0x6a,0x2a,0x85,0xbe]
+0x6a,0x2a,0x85,0xbe
-# CHECK: s_movrels_b32 s0, vcc_hi ; encoding: [0x6b,0x2a,0x80,0xbe]
-0x6b,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, vcc_hi ; encoding: [0x6b,0x2a,0x85,0xbe]
+0x6b,0x2a,0x85,0xbe
-# CHECK: s_movrels_b32 s0, tba_lo ; encoding: [0x6c,0x2a,0x80,0xbe]
-0x6c,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, tba_lo ; encoding: [0x6c,0x2a,0x85,0xbe]
+0x6c,0x2a,0x85,0xbe
-# CHECK: s_movrels_b32 s0, tba_hi ; encoding: [0x6d,0x2a,0x80,0xbe]
-0x6d,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, tba_hi ; encoding: [0x6d,0x2a,0x85,0xbe]
+0x6d,0x2a,0x85,0xbe
-# CHECK: s_movrels_b32 s0, tma_lo ; encoding: [0x6e,0x2a,0x80,0xbe]
-0x6e,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, tma_lo ; encoding: [0x6e,0x2a,0x85,0xbe]
+0x6e,0x2a,0x85,0xbe
-# CHECK: s_movrels_b32 s0, tma_hi ; encoding: [0x6f,0x2a,0x80,0xbe]
-0x6f,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, tma_hi ; encoding: [0x6f,0x2a,0x85,0xbe]
+0x6f,0x2a,0x85,0xbe
-# CHECK: s_movrels_b32 s0, ttmp11 ; encoding: [0x7b,0x2a,0x80,0xbe]
-0x7b,0x2a,0x80,0xbe
+# CHECK: s_movrels_b32 s5, ttmp11 ; encoding: [0x7b,0x2a,0x85,0xbe]
+0x7b,0x2a,0x85,0xbe
-# CHECK: s_movrels_b64 s[0:1], s[0:1] ; encoding: [0x00,0x2b,0x80,0xbe]
-0x00,0x2b,0x80,0xbe
+# CHECK: s_movrels_b64 s[10:11], s[2:3] ; encoding: [0x02,0x2b,0x8a,0xbe]
+0x02,0x2b,0x8a,0xbe
-# CHECK: s_movrels_b64 s[2:3], s[0:1] ; encoding: [0x00,0x2b,0x82,0xbe]
-0x00,0x2b,0x82,0xbe
+# CHECK: s_movrels_b64 s[12:13], s[2:3] ; encoding: [0x02,0x2b,0x8c,0xbe]
+0x02,0x2b,0x8c,0xbe
-# CHECK: s_movrels_b64 s[100:101], s[0:1] ; encoding: [0x00,0x2b,0xe4,0xbe]
-0x00,0x2b,0xe4,0xbe
+# CHECK: s_movrels_b64 s[100:101], s[2:3] ; encoding: [0x02,0x2b,0xe4,0xbe]
+0x02,0x2b,0xe4,0xbe
-# CHECK: s_movrels_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x2b,0xe6,0xbe]
-0x00,0x2b,0xe6,0xbe
+# CHECK: s_movrels_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x2b,0xe6,0xbe]
+0x02,0x2b,0xe6,0xbe
-# CHECK: s_movrels_b64 vcc, s[0:1] ; encoding: [0x00,0x2b,0xea,0xbe]
-0x00,0x2b,0xea,0xbe
+# CHECK: s_movrels_b64 vcc, s[2:3] ; encoding: [0x02,0x2b,0xea,0xbe]
+0x02,0x2b,0xea,0xbe
-# CHECK: s_movrels_b64 tba, s[0:1] ; encoding: [0x00,0x2b,0xec,0xbe]
-0x00,0x2b,0xec,0xbe
+# CHECK: s_movrels_b64 tba, s[2:3] ; encoding: [0x02,0x2b,0xec,0xbe]
+0x02,0x2b,0xec,0xbe
-# CHECK: s_movrels_b64 tma, s[0:1] ; encoding: [0x00,0x2b,0xee,0xbe]
-0x00,0x2b,0xee,0xbe
+# CHECK: s_movrels_b64 tma, s[2:3] ; encoding: [0x02,0x2b,0xee,0xbe]
+0x02,0x2b,0xee,0xbe
-# CHECK: s_movrels_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x2b,0xfa,0xbe]
-0x00,0x2b,0xfa,0xbe
+# CHECK: s_movrels_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x2b,0xfa,0xbe]
+0x02,0x2b,0xfa,0xbe
-# CHECK: s_movrels_b64 exec, s[0:1] ; encoding: [0x00,0x2b,0xfe,0xbe]
-0x00,0x2b,0xfe,0xbe
+# CHECK: s_movrels_b64 exec, s[2:3] ; encoding: [0x02,0x2b,0xfe,0xbe]
+0x02,0x2b,0xfe,0xbe
-# CHECK: s_movrels_b64 s[0:1], s[2:3] ; encoding: [0x02,0x2b,0x80,0xbe]
-0x02,0x2b,0x80,0xbe
+# CHECK: s_movrels_b64 s[10:11], s[4:5] ; encoding: [0x04,0x2b,0x8a,0xbe]
+0x04,0x2b,0x8a,0xbe
-# CHECK: s_movrels_b64 s[0:1], s[100:101] ; encoding: [0x64,0x2b,0x80,0xbe]
-0x64,0x2b,0x80,0xbe
+# CHECK: s_movrels_b64 s[10:11], s[100:101] ; encoding: [0x64,0x2b,0x8a,0xbe]
+0x64,0x2b,0x8a,0xbe
-# CHECK: s_movrels_b64 s[0:1], flat_scratch ; encoding: [0x66,0x2b,0x80,0xbe]
-0x66,0x2b,0x80,0xbe
+# CHECK: s_movrels_b64 s[10:11], flat_scratch ; encoding: [0x66,0x2b,0x8a,0xbe]
+0x66,0x2b,0x8a,0xbe
-# CHECK: s_movrels_b64 s[0:1], vcc ; encoding: [0x6a,0x2b,0x80,0xbe]
-0x6a,0x2b,0x80,0xbe
+# CHECK: s_movrels_b64 s[10:11], vcc ; encoding: [0x6a,0x2b,0x8a,0xbe]
+0x6a,0x2b,0x8a,0xbe
-# CHECK: s_movrels_b64 s[0:1], tba ; encoding: [0x6c,0x2b,0x80,0xbe]
-0x6c,0x2b,0x80,0xbe
+# CHECK: s_movrels_b64 s[10:11], tba ; encoding: [0x6c,0x2b,0x8a,0xbe]
+0x6c,0x2b,0x8a,0xbe
-# CHECK: s_movrels_b64 s[0:1], tma ; encoding: [0x6e,0x2b,0x80,0xbe]
-0x6e,0x2b,0x80,0xbe
+# CHECK: s_movrels_b64 s[10:11], tma ; encoding: [0x6e,0x2b,0x8a,0xbe]
+0x6e,0x2b,0x8a,0xbe
-# CHECK: s_movrels_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x2b,0x80,0xbe]
-0x7a,0x2b,0x80,0xbe
+# CHECK: s_movrels_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x2b,0x8a,0xbe]
+0x7a,0x2b,0x8a,0xbe
-# CHECK: s_movreld_b32 s0, s0 ; encoding: [0x00,0x2c,0x80,0xbe]
-0x00,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, s1 ; encoding: [0x01,0x2c,0x85,0xbe]
+0x01,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s101, s0 ; encoding: [0x00,0x2c,0xe5,0xbe]
-0x00,0x2c,0xe5,0xbe
+# CHECK: s_movreld_b32 s101, s1 ; encoding: [0x01,0x2c,0xe5,0xbe]
+0x01,0x2c,0xe5,0xbe
-# CHECK: s_movreld_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x2c,0xe6,0xbe]
-0x00,0x2c,0xe6,0xbe
+# CHECK: s_movreld_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x2c,0xe6,0xbe]
+0x01,0x2c,0xe6,0xbe
-# CHECK: s_movreld_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x2c,0xe7,0xbe]
-0x00,0x2c,0xe7,0xbe
+# CHECK: s_movreld_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x2c,0xe7,0xbe]
+0x01,0x2c,0xe7,0xbe
-# CHECK: s_movreld_b32 vcc_lo, s0 ; encoding: [0x00,0x2c,0xea,0xbe]
-0x00,0x2c,0xea,0xbe
+# CHECK: s_movreld_b32 vcc_lo, s1 ; encoding: [0x01,0x2c,0xea,0xbe]
+0x01,0x2c,0xea,0xbe
-# CHECK: s_movreld_b32 vcc_hi, s0 ; encoding: [0x00,0x2c,0xeb,0xbe]
-0x00,0x2c,0xeb,0xbe
+# CHECK: s_movreld_b32 vcc_hi, s1 ; encoding: [0x01,0x2c,0xeb,0xbe]
+0x01,0x2c,0xeb,0xbe
-# CHECK: s_movreld_b32 tba_lo, s0 ; encoding: [0x00,0x2c,0xec,0xbe]
-0x00,0x2c,0xec,0xbe
+# CHECK: s_movreld_b32 tba_lo, s1 ; encoding: [0x01,0x2c,0xec,0xbe]
+0x01,0x2c,0xec,0xbe
-# CHECK: s_movreld_b32 tba_hi, s0 ; encoding: [0x00,0x2c,0xed,0xbe]
-0x00,0x2c,0xed,0xbe
+# CHECK: s_movreld_b32 tba_hi, s1 ; encoding: [0x01,0x2c,0xed,0xbe]
+0x01,0x2c,0xed,0xbe
-# CHECK: s_movreld_b32 tma_lo, s0 ; encoding: [0x00,0x2c,0xee,0xbe]
-0x00,0x2c,0xee,0xbe
+# CHECK: s_movreld_b32 tma_lo, s1 ; encoding: [0x01,0x2c,0xee,0xbe]
+0x01,0x2c,0xee,0xbe
-# CHECK: s_movreld_b32 tma_hi, s0 ; encoding: [0x00,0x2c,0xef,0xbe]
-0x00,0x2c,0xef,0xbe
+# CHECK: s_movreld_b32 tma_hi, s1 ; encoding: [0x01,0x2c,0xef,0xbe]
+0x01,0x2c,0xef,0xbe
-# CHECK: s_movreld_b32 ttmp11, s0 ; encoding: [0x00,0x2c,0xfb,0xbe]
-0x00,0x2c,0xfb,0xbe
+# CHECK: s_movreld_b32 ttmp11, s1 ; encoding: [0x01,0x2c,0xfb,0xbe]
+0x01,0x2c,0xfb,0xbe
-# CHECK: s_movreld_b32 s0, s101 ; encoding: [0x65,0x2c,0x80,0xbe]
-0x65,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, s101 ; encoding: [0x65,0x2c,0x85,0xbe]
+0x65,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, flat_scratch_lo ; encoding: [0x66,0x2c,0x80,0xbe]
-0x66,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, flat_scratch_lo ; encoding: [0x66,0x2c,0x85,0xbe]
+0x66,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, flat_scratch_hi ; encoding: [0x67,0x2c,0x80,0xbe]
-0x67,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, flat_scratch_hi ; encoding: [0x67,0x2c,0x85,0xbe]
+0x67,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, vcc_lo ; encoding: [0x6a,0x2c,0x80,0xbe]
-0x6a,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, vcc_lo ; encoding: [0x6a,0x2c,0x85,0xbe]
+0x6a,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, vcc_hi ; encoding: [0x6b,0x2c,0x80,0xbe]
-0x6b,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, vcc_hi ; encoding: [0x6b,0x2c,0x85,0xbe]
+0x6b,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, tba_lo ; encoding: [0x6c,0x2c,0x80,0xbe]
-0x6c,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, tba_lo ; encoding: [0x6c,0x2c,0x85,0xbe]
+0x6c,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, tba_hi ; encoding: [0x6d,0x2c,0x80,0xbe]
-0x6d,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, tba_hi ; encoding: [0x6d,0x2c,0x85,0xbe]
+0x6d,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, tma_lo ; encoding: [0x6e,0x2c,0x80,0xbe]
-0x6e,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, tma_lo ; encoding: [0x6e,0x2c,0x85,0xbe]
+0x6e,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, tma_hi ; encoding: [0x6f,0x2c,0x80,0xbe]
-0x6f,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, tma_hi ; encoding: [0x6f,0x2c,0x85,0xbe]
+0x6f,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, ttmp11 ; encoding: [0x7b,0x2c,0x80,0xbe]
-0x7b,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, ttmp11 ; encoding: [0x7b,0x2c,0x85,0xbe]
+0x7b,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, m0 ; encoding: [0x7c,0x2c,0x80,0xbe]
-0x7c,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, m0 ; encoding: [0x7c,0x2c,0x85,0xbe]
+0x7c,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, 0 ; encoding: [0x80,0x2c,0x80,0xbe]
-0x80,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, 0 ; encoding: [0x80,0x2c,0x85,0xbe]
+0x80,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, -1 ; encoding: [0xc1,0x2c,0x80,0xbe]
-0xc1,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, -1 ; encoding: [0xc1,0x2c,0x85,0xbe]
+0xc1,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, 0.5 ; encoding: [0xf0,0x2c,0x80,0xbe]
-0xf0,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, 0.5 ; encoding: [0xf0,0x2c,0x85,0xbe]
+0xf0,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, -4.0 ; encoding: [0xf7,0x2c,0x80,0xbe]
-0xf7,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, -4.0 ; encoding: [0xf7,0x2c,0x85,0xbe]
+0xf7,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, scc ; encoding: [0xfd,0x2c,0x80,0xbe]
-0xfd,0x2c,0x80,0xbe
+# CHECK: s_movreld_b32 s5, scc ; encoding: [0xfd,0x2c,0x85,0xbe]
+0xfd,0x2c,0x85,0xbe
-# CHECK: s_movreld_b32 s0, 0xaf123456 ; encoding: [0xff,0x2c,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x2c,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_movreld_b32 s5, 0xaf123456 ; encoding: [0xff,0x2c,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x2c,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_movreld_b32 s0, 0x3f717273 ; encoding: [0xff,0x2c,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x2c,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_movreld_b32 s5, 0x3f717273 ; encoding: [0xff,0x2c,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x2c,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_movreld_b64 s[0:1], s[0:1] ; encoding: [0x00,0x2d,0x80,0xbe]
-0x00,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], s[2:3] ; encoding: [0x02,0x2d,0x8a,0xbe]
+0x02,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[2:3], s[0:1] ; encoding: [0x00,0x2d,0x82,0xbe]
-0x00,0x2d,0x82,0xbe
+# CHECK: s_movreld_b64 s[12:13], s[2:3] ; encoding: [0x02,0x2d,0x8c,0xbe]
+0x02,0x2d,0x8c,0xbe
-# CHECK: s_movreld_b64 s[100:101], s[0:1] ; encoding: [0x00,0x2d,0xe4,0xbe]
-0x00,0x2d,0xe4,0xbe
+# CHECK: s_movreld_b64 s[100:101], s[2:3] ; encoding: [0x02,0x2d,0xe4,0xbe]
+0x02,0x2d,0xe4,0xbe
-# CHECK: s_movreld_b64 flat_scratch, s[0:1] ; encoding: [0x00,0x2d,0xe6,0xbe]
-0x00,0x2d,0xe6,0xbe
+# CHECK: s_movreld_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x2d,0xe6,0xbe]
+0x02,0x2d,0xe6,0xbe
-# CHECK: s_movreld_b64 vcc, s[0:1] ; encoding: [0x00,0x2d,0xea,0xbe]
-0x00,0x2d,0xea,0xbe
+# CHECK: s_movreld_b64 vcc, s[2:3] ; encoding: [0x02,0x2d,0xea,0xbe]
+0x02,0x2d,0xea,0xbe
-# CHECK: s_movreld_b64 tba, s[0:1] ; encoding: [0x00,0x2d,0xec,0xbe]
-0x00,0x2d,0xec,0xbe
+# CHECK: s_movreld_b64 tba, s[2:3] ; encoding: [0x02,0x2d,0xec,0xbe]
+0x02,0x2d,0xec,0xbe
-# CHECK: s_movreld_b64 tma, s[0:1] ; encoding: [0x00,0x2d,0xee,0xbe]
-0x00,0x2d,0xee,0xbe
+# CHECK: s_movreld_b64 tma, s[2:3] ; encoding: [0x02,0x2d,0xee,0xbe]
+0x02,0x2d,0xee,0xbe
-# CHECK: s_movreld_b64 ttmp[10:11], s[0:1] ; encoding: [0x00,0x2d,0xfa,0xbe]
-0x00,0x2d,0xfa,0xbe
+# CHECK: s_movreld_b64 ttmp[10:11], s[2:3] ; encoding: [0x02,0x2d,0xfa,0xbe]
+0x02,0x2d,0xfa,0xbe
-# CHECK: s_movreld_b64 s[0:1], s[2:3] ; encoding: [0x02,0x2d,0x80,0xbe]
-0x02,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], s[4:5] ; encoding: [0x04,0x2d,0x8a,0xbe]
+0x04,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], s[100:101] ; encoding: [0x64,0x2d,0x80,0xbe]
-0x64,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], s[100:101] ; encoding: [0x64,0x2d,0x8a,0xbe]
+0x64,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], flat_scratch ; encoding: [0x66,0x2d,0x80,0xbe]
-0x66,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], flat_scratch ; encoding: [0x66,0x2d,0x8a,0xbe]
+0x66,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], vcc ; encoding: [0x6a,0x2d,0x80,0xbe]
-0x6a,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], vcc ; encoding: [0x6a,0x2d,0x8a,0xbe]
+0x6a,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], tba ; encoding: [0x6c,0x2d,0x80,0xbe]
-0x6c,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], tba ; encoding: [0x6c,0x2d,0x8a,0xbe]
+0x6c,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], tma ; encoding: [0x6e,0x2d,0x80,0xbe]
-0x6e,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], tma ; encoding: [0x6e,0x2d,0x8a,0xbe]
+0x6e,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], ttmp[10:11] ; encoding: [0x7a,0x2d,0x80,0xbe]
-0x7a,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], ttmp[10:11] ; encoding: [0x7a,0x2d,0x8a,0xbe]
+0x7a,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], 0 ; encoding: [0x80,0x2d,0x80,0xbe]
-0x80,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], 0 ; encoding: [0x80,0x2d,0x8a,0xbe]
+0x80,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], -1 ; encoding: [0xc1,0x2d,0x80,0xbe]
-0xc1,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], -1 ; encoding: [0xc1,0x2d,0x8a,0xbe]
+0xc1,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], 0.5 ; encoding: [0xf0,0x2d,0x80,0xbe]
-0xf0,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], 0.5 ; encoding: [0xf0,0x2d,0x8a,0xbe]
+0xf0,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], -4.0 ; encoding: [0xf7,0x2d,0x80,0xbe]
-0xf7,0x2d,0x80,0xbe
+# CHECK: s_movreld_b64 s[10:11], -4.0 ; encoding: [0xf7,0x2d,0x8a,0xbe]
+0xf7,0x2d,0x8a,0xbe
-# CHECK: s_movreld_b64 s[0:1], 0xaf123456 ; encoding: [0xff,0x2d,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x2d,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_movreld_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x2d,0x8a,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x2d,0x8a,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_movreld_b64 s[0:1], 0x3f717273 ; encoding: [0xff,0x2d,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x2d,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_movreld_b64 s[10:11], 0x3f717273 ; encoding: [0xff,0x2d,0x8a,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x2d,0x8a,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_abs_i32 s0, s0 ; encoding: [0x00,0x30,0x80,0xbe]
-0x00,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, s1 ; encoding: [0x01,0x30,0x85,0xbe]
+0x01,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s101, s0 ; encoding: [0x00,0x30,0xe5,0xbe]
-0x00,0x30,0xe5,0xbe
+# CHECK: s_abs_i32 s101, s1 ; encoding: [0x01,0x30,0xe5,0xbe]
+0x01,0x30,0xe5,0xbe
-# CHECK: s_abs_i32 flat_scratch_lo, s0 ; encoding: [0x00,0x30,0xe6,0xbe]
-0x00,0x30,0xe6,0xbe
+# CHECK: s_abs_i32 flat_scratch_lo, s1 ; encoding: [0x01,0x30,0xe6,0xbe]
+0x01,0x30,0xe6,0xbe
-# CHECK: s_abs_i32 flat_scratch_hi, s0 ; encoding: [0x00,0x30,0xe7,0xbe]
-0x00,0x30,0xe7,0xbe
+# CHECK: s_abs_i32 flat_scratch_hi, s1 ; encoding: [0x01,0x30,0xe7,0xbe]
+0x01,0x30,0xe7,0xbe
-# CHECK: s_abs_i32 vcc_lo, s0 ; encoding: [0x00,0x30,0xea,0xbe]
-0x00,0x30,0xea,0xbe
+# CHECK: s_abs_i32 vcc_lo, s1 ; encoding: [0x01,0x30,0xea,0xbe]
+0x01,0x30,0xea,0xbe
-# CHECK: s_abs_i32 vcc_hi, s0 ; encoding: [0x00,0x30,0xeb,0xbe]
-0x00,0x30,0xeb,0xbe
+# CHECK: s_abs_i32 vcc_hi, s1 ; encoding: [0x01,0x30,0xeb,0xbe]
+0x01,0x30,0xeb,0xbe
-# CHECK: s_abs_i32 tba_lo, s0 ; encoding: [0x00,0x30,0xec,0xbe]
-0x00,0x30,0xec,0xbe
+# CHECK: s_abs_i32 tba_lo, s1 ; encoding: [0x01,0x30,0xec,0xbe]
+0x01,0x30,0xec,0xbe
-# CHECK: s_abs_i32 tba_hi, s0 ; encoding: [0x00,0x30,0xed,0xbe]
-0x00,0x30,0xed,0xbe
+# CHECK: s_abs_i32 tba_hi, s1 ; encoding: [0x01,0x30,0xed,0xbe]
+0x01,0x30,0xed,0xbe
-# CHECK: s_abs_i32 tma_lo, s0 ; encoding: [0x00,0x30,0xee,0xbe]
-0x00,0x30,0xee,0xbe
+# CHECK: s_abs_i32 tma_lo, s1 ; encoding: [0x01,0x30,0xee,0xbe]
+0x01,0x30,0xee,0xbe
-# CHECK: s_abs_i32 tma_hi, s0 ; encoding: [0x00,0x30,0xef,0xbe]
-0x00,0x30,0xef,0xbe
+# CHECK: s_abs_i32 tma_hi, s1 ; encoding: [0x01,0x30,0xef,0xbe]
+0x01,0x30,0xef,0xbe
-# CHECK: s_abs_i32 ttmp11, s0 ; encoding: [0x00,0x30,0xfb,0xbe]
-0x00,0x30,0xfb,0xbe
+# CHECK: s_abs_i32 ttmp11, s1 ; encoding: [0x01,0x30,0xfb,0xbe]
+0x01,0x30,0xfb,0xbe
-# CHECK: s_abs_i32 m0, s0 ; encoding: [0x00,0x30,0xfc,0xbe]
-0x00,0x30,0xfc,0xbe
+# CHECK: s_abs_i32 m0, s1 ; encoding: [0x01,0x30,0xfc,0xbe]
+0x01,0x30,0xfc,0xbe
-# CHECK: s_abs_i32 exec_lo, s0 ; encoding: [0x00,0x30,0xfe,0xbe]
-0x00,0x30,0xfe,0xbe
+# CHECK: s_abs_i32 exec_lo, s1 ; encoding: [0x01,0x30,0xfe,0xbe]
+0x01,0x30,0xfe,0xbe
-# CHECK: s_abs_i32 exec_hi, s0 ; encoding: [0x00,0x30,0xff,0xbe]
-0x00,0x30,0xff,0xbe
+# CHECK: s_abs_i32 exec_hi, s1 ; encoding: [0x01,0x30,0xff,0xbe]
+0x01,0x30,0xff,0xbe
-# CHECK: s_abs_i32 s0, s101 ; encoding: [0x65,0x30,0x80,0xbe]
-0x65,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, s101 ; encoding: [0x65,0x30,0x85,0xbe]
+0x65,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, flat_scratch_lo ; encoding: [0x66,0x30,0x80,0xbe]
-0x66,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, flat_scratch_lo ; encoding: [0x66,0x30,0x85,0xbe]
+0x66,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, flat_scratch_hi ; encoding: [0x67,0x30,0x80,0xbe]
-0x67,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, flat_scratch_hi ; encoding: [0x67,0x30,0x85,0xbe]
+0x67,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, vcc_lo ; encoding: [0x6a,0x30,0x80,0xbe]
-0x6a,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, vcc_lo ; encoding: [0x6a,0x30,0x85,0xbe]
+0x6a,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, vcc_hi ; encoding: [0x6b,0x30,0x80,0xbe]
-0x6b,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, vcc_hi ; encoding: [0x6b,0x30,0x85,0xbe]
+0x6b,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, tba_lo ; encoding: [0x6c,0x30,0x80,0xbe]
-0x6c,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, tba_lo ; encoding: [0x6c,0x30,0x85,0xbe]
+0x6c,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, tba_hi ; encoding: [0x6d,0x30,0x80,0xbe]
-0x6d,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, tba_hi ; encoding: [0x6d,0x30,0x85,0xbe]
+0x6d,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, tma_lo ; encoding: [0x6e,0x30,0x80,0xbe]
-0x6e,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, tma_lo ; encoding: [0x6e,0x30,0x85,0xbe]
+0x6e,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, tma_hi ; encoding: [0x6f,0x30,0x80,0xbe]
-0x6f,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, tma_hi ; encoding: [0x6f,0x30,0x85,0xbe]
+0x6f,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, ttmp11 ; encoding: [0x7b,0x30,0x80,0xbe]
-0x7b,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, ttmp11 ; encoding: [0x7b,0x30,0x85,0xbe]
+0x7b,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, m0 ; encoding: [0x7c,0x30,0x80,0xbe]
-0x7c,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, m0 ; encoding: [0x7c,0x30,0x85,0xbe]
+0x7c,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, exec_lo ; encoding: [0x7e,0x30,0x80,0xbe]
-0x7e,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, exec_lo ; encoding: [0x7e,0x30,0x85,0xbe]
+0x7e,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, exec_hi ; encoding: [0x7f,0x30,0x80,0xbe]
-0x7f,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, exec_hi ; encoding: [0x7f,0x30,0x85,0xbe]
+0x7f,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, 0 ; encoding: [0x80,0x30,0x80,0xbe]
-0x80,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, 0 ; encoding: [0x80,0x30,0x85,0xbe]
+0x80,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, -1 ; encoding: [0xc1,0x30,0x80,0xbe]
-0xc1,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, -1 ; encoding: [0xc1,0x30,0x85,0xbe]
+0xc1,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, 0.5 ; encoding: [0xf0,0x30,0x80,0xbe]
-0xf0,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, 0.5 ; encoding: [0xf0,0x30,0x85,0xbe]
+0xf0,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, -4.0 ; encoding: [0xf7,0x30,0x80,0xbe]
-0xf7,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, -4.0 ; encoding: [0xf7,0x30,0x85,0xbe]
+0xf7,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, scc ; encoding: [0xfd,0x30,0x80,0xbe]
-0xfd,0x30,0x80,0xbe
+# CHECK: s_abs_i32 s5, scc ; encoding: [0xfd,0x30,0x85,0xbe]
+0xfd,0x30,0x85,0xbe
-# CHECK: s_abs_i32 s0, 0xaf123456 ; encoding: [0xff,0x30,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x30,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_abs_i32 s5, 0xaf123456 ; encoding: [0xff,0x30,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x30,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_abs_i32 s0, 0x3f717273 ; encoding: [0xff,0x30,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x30,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_abs_i32 s5, 0x3f717273 ; encoding: [0xff,0x30,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x30,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_mov_fed_b32 s0, s0 ; encoding: [0x00,0x31,0x80,0xbe]
-0x00,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, s1 ; encoding: [0x01,0x31,0x85,0xbe]
+0x01,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s101, s0 ; encoding: [0x00,0x31,0xe5,0xbe]
-0x00,0x31,0xe5,0xbe
+# CHECK: s_mov_fed_b32 s101, s1 ; encoding: [0x01,0x31,0xe5,0xbe]
+0x01,0x31,0xe5,0xbe
-# CHECK: s_mov_fed_b32 flat_scratch_lo, s0 ; encoding: [0x00,0x31,0xe6,0xbe]
-0x00,0x31,0xe6,0xbe
+# CHECK: s_mov_fed_b32 flat_scratch_lo, s1 ; encoding: [0x01,0x31,0xe6,0xbe]
+0x01,0x31,0xe6,0xbe
-# CHECK: s_mov_fed_b32 flat_scratch_hi, s0 ; encoding: [0x00,0x31,0xe7,0xbe]
-0x00,0x31,0xe7,0xbe
+# CHECK: s_mov_fed_b32 flat_scratch_hi, s1 ; encoding: [0x01,0x31,0xe7,0xbe]
+0x01,0x31,0xe7,0xbe
-# CHECK: s_mov_fed_b32 vcc_lo, s0 ; encoding: [0x00,0x31,0xea,0xbe]
-0x00,0x31,0xea,0xbe
+# CHECK: s_mov_fed_b32 vcc_lo, s1 ; encoding: [0x01,0x31,0xea,0xbe]
+0x01,0x31,0xea,0xbe
-# CHECK: s_mov_fed_b32 vcc_hi, s0 ; encoding: [0x00,0x31,0xeb,0xbe]
-0x00,0x31,0xeb,0xbe
+# CHECK: s_mov_fed_b32 vcc_hi, s1 ; encoding: [0x01,0x31,0xeb,0xbe]
+0x01,0x31,0xeb,0xbe
-# CHECK: s_mov_fed_b32 tba_lo, s0 ; encoding: [0x00,0x31,0xec,0xbe]
-0x00,0x31,0xec,0xbe
+# CHECK: s_mov_fed_b32 tba_lo, s1 ; encoding: [0x01,0x31,0xec,0xbe]
+0x01,0x31,0xec,0xbe
-# CHECK: s_mov_fed_b32 tba_hi, s0 ; encoding: [0x00,0x31,0xed,0xbe]
-0x00,0x31,0xed,0xbe
+# CHECK: s_mov_fed_b32 tba_hi, s1 ; encoding: [0x01,0x31,0xed,0xbe]
+0x01,0x31,0xed,0xbe
-# CHECK: s_mov_fed_b32 tma_lo, s0 ; encoding: [0x00,0x31,0xee,0xbe]
-0x00,0x31,0xee,0xbe
+# CHECK: s_mov_fed_b32 tma_lo, s1 ; encoding: [0x01,0x31,0xee,0xbe]
+0x01,0x31,0xee,0xbe
-# CHECK: s_mov_fed_b32 tma_hi, s0 ; encoding: [0x00,0x31,0xef,0xbe]
-0x00,0x31,0xef,0xbe
+# CHECK: s_mov_fed_b32 tma_hi, s1 ; encoding: [0x01,0x31,0xef,0xbe]
+0x01,0x31,0xef,0xbe
-# CHECK: s_mov_fed_b32 ttmp11, s0 ; encoding: [0x00,0x31,0xfb,0xbe]
-0x00,0x31,0xfb,0xbe
+# CHECK: s_mov_fed_b32 ttmp11, s1 ; encoding: [0x01,0x31,0xfb,0xbe]
+0x01,0x31,0xfb,0xbe
-# CHECK: s_mov_fed_b32 m0, s0 ; encoding: [0x00,0x31,0xfc,0xbe]
-0x00,0x31,0xfc,0xbe
+# CHECK: s_mov_fed_b32 m0, s1 ; encoding: [0x01,0x31,0xfc,0xbe]
+0x01,0x31,0xfc,0xbe
-# CHECK: s_mov_fed_b32 exec_lo, s0 ; encoding: [0x00,0x31,0xfe,0xbe]
-0x00,0x31,0xfe,0xbe
+# CHECK: s_mov_fed_b32 exec_lo, s1 ; encoding: [0x01,0x31,0xfe,0xbe]
+0x01,0x31,0xfe,0xbe
-# CHECK: s_mov_fed_b32 exec_hi, s0 ; encoding: [0x00,0x31,0xff,0xbe]
-0x00,0x31,0xff,0xbe
+# CHECK: s_mov_fed_b32 exec_hi, s1 ; encoding: [0x01,0x31,0xff,0xbe]
+0x01,0x31,0xff,0xbe
-# CHECK: s_mov_fed_b32 s0, s101 ; encoding: [0x65,0x31,0x80,0xbe]
-0x65,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, s101 ; encoding: [0x65,0x31,0x85,0xbe]
+0x65,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, flat_scratch_lo ; encoding: [0x66,0x31,0x80,0xbe]
-0x66,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, flat_scratch_lo ; encoding: [0x66,0x31,0x85,0xbe]
+0x66,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, flat_scratch_hi ; encoding: [0x67,0x31,0x80,0xbe]
-0x67,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, flat_scratch_hi ; encoding: [0x67,0x31,0x85,0xbe]
+0x67,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, vcc_lo ; encoding: [0x6a,0x31,0x80,0xbe]
-0x6a,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, vcc_lo ; encoding: [0x6a,0x31,0x85,0xbe]
+0x6a,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, vcc_hi ; encoding: [0x6b,0x31,0x80,0xbe]
-0x6b,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, vcc_hi ; encoding: [0x6b,0x31,0x85,0xbe]
+0x6b,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, tba_lo ; encoding: [0x6c,0x31,0x80,0xbe]
-0x6c,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, tba_lo ; encoding: [0x6c,0x31,0x85,0xbe]
+0x6c,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, tba_hi ; encoding: [0x6d,0x31,0x80,0xbe]
-0x6d,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, tba_hi ; encoding: [0x6d,0x31,0x85,0xbe]
+0x6d,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, tma_lo ; encoding: [0x6e,0x31,0x80,0xbe]
-0x6e,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, tma_lo ; encoding: [0x6e,0x31,0x85,0xbe]
+0x6e,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, tma_hi ; encoding: [0x6f,0x31,0x80,0xbe]
-0x6f,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, tma_hi ; encoding: [0x6f,0x31,0x85,0xbe]
+0x6f,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, ttmp11 ; encoding: [0x7b,0x31,0x80,0xbe]
-0x7b,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, ttmp11 ; encoding: [0x7b,0x31,0x85,0xbe]
+0x7b,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, m0 ; encoding: [0x7c,0x31,0x80,0xbe]
-0x7c,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, m0 ; encoding: [0x7c,0x31,0x85,0xbe]
+0x7c,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, exec_lo ; encoding: [0x7e,0x31,0x80,0xbe]
-0x7e,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, exec_lo ; encoding: [0x7e,0x31,0x85,0xbe]
+0x7e,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, exec_hi ; encoding: [0x7f,0x31,0x80,0xbe]
-0x7f,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, exec_hi ; encoding: [0x7f,0x31,0x85,0xbe]
+0x7f,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, 0 ; encoding: [0x80,0x31,0x80,0xbe]
-0x80,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, 0 ; encoding: [0x80,0x31,0x85,0xbe]
+0x80,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, -1 ; encoding: [0xc1,0x31,0x80,0xbe]
-0xc1,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, -1 ; encoding: [0xc1,0x31,0x85,0xbe]
+0xc1,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, 0.5 ; encoding: [0xf0,0x31,0x80,0xbe]
-0xf0,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, 0.5 ; encoding: [0xf0,0x31,0x85,0xbe]
+0xf0,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, -4.0 ; encoding: [0xf7,0x31,0x80,0xbe]
-0xf7,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, -4.0 ; encoding: [0xf7,0x31,0x85,0xbe]
+0xf7,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, scc ; encoding: [0xfd,0x31,0x80,0xbe]
-0xfd,0x31,0x80,0xbe
+# CHECK: s_mov_fed_b32 s5, scc ; encoding: [0xfd,0x31,0x85,0xbe]
+0xfd,0x31,0x85,0xbe
-# CHECK: s_mov_fed_b32 s0, 0xaf123456 ; encoding: [0xff,0x31,0x80,0xbe,0x56,0x34,0x12,0xaf]
-0xff,0x31,0x80,0xbe,0x56,0x34,0x12,0xaf
+# CHECK: s_mov_fed_b32 s5, 0xaf123456 ; encoding: [0xff,0x31,0x85,0xbe,0x56,0x34,0x12,0xaf]
+0xff,0x31,0x85,0xbe,0x56,0x34,0x12,0xaf
-# CHECK: s_mov_fed_b32 s0, 0x3f717273 ; encoding: [0xff,0x31,0x80,0xbe,0x73,0x72,0x71,0x3f]
-0xff,0x31,0x80,0xbe,0x73,0x72,0x71,0x3f
+# CHECK: s_mov_fed_b32 s5, 0x3f717273 ; encoding: [0xff,0x31,0x85,0xbe,0x73,0x72,0x71,0x3f]
+0xff,0x31,0x85,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_set_gpr_idx_idx s0 ; encoding: [0x00,0x32,0x80,0xbe]
-0x00,0x32,0x80,0xbe
+# CHECK: s_set_gpr_idx_idx s1 ; encoding: [0x01,0x32,0x80,0xbe]
+0x01,0x32,0x80,0xbe
# CHECK: s_set_gpr_idx_idx s101 ; encoding: [0x65,0x32,0x80,0xbe]
0x65,0x32,0x80,0xbe
@@ -10338,8087 +10413,8087 @@
# CHECK: s_set_gpr_idx_idx 0x3f717273 ; encoding: [0xff,0x32,0x80,0xbe,0x73,0x72,0x71,0x3f]
0xff,0x32,0x80,0xbe,0x73,0x72,0x71,0x3f
-# CHECK: s_add_u32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x80]
-0x00,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x80]
+0x01,0x02,0x05,0x80
-# CHECK: s_add_u32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x80]
-0x00,0x00,0x65,0x80
+# CHECK: s_add_u32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x80]
+0x01,0x02,0x65,0x80
-# CHECK: s_add_u32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x80]
-0x00,0x00,0x66,0x80
+# CHECK: s_add_u32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x80]
+0x01,0x02,0x66,0x80
-# CHECK: s_add_u32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x80]
-0x00,0x00,0x67,0x80
+# CHECK: s_add_u32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x80]
+0x01,0x02,0x67,0x80
-# CHECK: s_add_u32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x80]
-0x00,0x00,0x6a,0x80
+# CHECK: s_add_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x80]
+0x01,0x02,0x6a,0x80
-# CHECK: s_add_u32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x80]
-0x00,0x00,0x6b,0x80
+# CHECK: s_add_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x80]
+0x01,0x02,0x6b,0x80
-# CHECK: s_add_u32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x80]
-0x00,0x00,0x6c,0x80
+# CHECK: s_add_u32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x80]
+0x01,0x02,0x6c,0x80
-# CHECK: s_add_u32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x80]
-0x00,0x00,0x6d,0x80
+# CHECK: s_add_u32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x80]
+0x01,0x02,0x6d,0x80
-# CHECK: s_add_u32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x80]
-0x00,0x00,0x6e,0x80
+# CHECK: s_add_u32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x80]
+0x01,0x02,0x6e,0x80
-# CHECK: s_add_u32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x80]
-0x00,0x00,0x6f,0x80
+# CHECK: s_add_u32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x80]
+0x01,0x02,0x6f,0x80
-# CHECK: s_add_u32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x80]
-0x00,0x00,0x7b,0x80
+# CHECK: s_add_u32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x80]
+0x01,0x02,0x7b,0x80
-# CHECK: s_add_u32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x80]
-0x00,0x00,0x7c,0x80
+# CHECK: s_add_u32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x80]
+0x01,0x02,0x7c,0x80
-# CHECK: s_add_u32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x80]
-0x00,0x00,0x7e,0x80
+# CHECK: s_add_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x80]
+0x01,0x02,0x7e,0x80
-# CHECK: s_add_u32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x80]
-0x00,0x00,0x7f,0x80
+# CHECK: s_add_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x80]
+0x01,0x02,0x7f,0x80
-# CHECK: s_add_u32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x80]
-0x65,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x80]
+0x65,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x80]
-0x66,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x80]
+0x66,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x80]
-0x67,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x80]
+0x67,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x80]
-0x6a,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x80]
+0x6a,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x80]
-0x6b,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x80]
+0x6b,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x80]
-0x6c,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x80]
+0x6c,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x80]
-0x6d,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x80]
+0x6d,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x80]
-0x6e,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x80]
+0x6e,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x80]
-0x6f,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x80]
+0x6f,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x80]
-0x7b,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x80]
+0x7b,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x80]
-0x7c,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x80]
+0x7c,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x80]
-0x7e,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x80]
+0x7e,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x80]
-0x7f,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x80]
+0x7f,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x80]
-0x80,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x80]
+0x80,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x80]
-0xc1,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x80]
+0xc1,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x80]
-0xf0,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x80]
+0xf0,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x80]
-0xf7,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x80]
+0xf7,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x80]
-0xfd,0x00,0x00,0x80
+# CHECK: s_add_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x80]
+0xfd,0x02,0x05,0x80
-# CHECK: s_add_u32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x80]
-0x00,0x65,0x00,0x80
+# CHECK: s_add_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x80]
+0x01,0x65,0x05,0x80
-# CHECK: s_add_u32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x80]
-0x00,0x66,0x00,0x80
+# CHECK: s_add_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x80]
+0x01,0x66,0x05,0x80
-# CHECK: s_add_u32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x80]
-0x00,0x67,0x00,0x80
+# CHECK: s_add_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x80]
+0x01,0x67,0x05,0x80
-# CHECK: s_add_u32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x80]
-0x00,0x6a,0x00,0x80
+# CHECK: s_add_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x80]
+0x01,0x6a,0x05,0x80
-# CHECK: s_add_u32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x80]
-0x00,0x6b,0x00,0x80
+# CHECK: s_add_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x80]
+0x01,0x6b,0x05,0x80
-# CHECK: s_add_u32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x80]
-0x00,0x6c,0x00,0x80
+# CHECK: s_add_u32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x80]
+0x01,0x6c,0x05,0x80
-# CHECK: s_add_u32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x80]
-0x00,0x6d,0x00,0x80
+# CHECK: s_add_u32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x80]
+0x01,0x6d,0x05,0x80
-# CHECK: s_add_u32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x80]
-0x00,0x6e,0x00,0x80
+# CHECK: s_add_u32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x80]
+0x01,0x6e,0x05,0x80
-# CHECK: s_add_u32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x80]
-0x00,0x6f,0x00,0x80
+# CHECK: s_add_u32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x80]
+0x01,0x6f,0x05,0x80
-# CHECK: s_add_u32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x80]
-0x00,0x7b,0x00,0x80
+# CHECK: s_add_u32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x80]
+0x01,0x7b,0x05,0x80
-# CHECK: s_add_u32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x80]
-0x00,0x7c,0x00,0x80
+# CHECK: s_add_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x80]
+0x01,0x7c,0x05,0x80
-# CHECK: s_add_u32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x80]
-0x00,0x7e,0x00,0x80
+# CHECK: s_add_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x80]
+0x01,0x7e,0x05,0x80
-# CHECK: s_add_u32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x80]
-0x00,0x7f,0x00,0x80
+# CHECK: s_add_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x80]
+0x01,0x7f,0x05,0x80
-# CHECK: s_add_u32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x80]
-0x00,0x80,0x00,0x80
+# CHECK: s_add_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x80]
+0x01,0x80,0x05,0x80
-# CHECK: s_add_u32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x80]
-0x00,0xc1,0x00,0x80
+# CHECK: s_add_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x80]
+0x01,0xc1,0x05,0x80
-# CHECK: s_add_u32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x80]
-0x00,0xf0,0x00,0x80
+# CHECK: s_add_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x80]
+0x01,0xf0,0x05,0x80
-# CHECK: s_add_u32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x80]
-0x00,0xf7,0x00,0x80
+# CHECK: s_add_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x80]
+0x01,0xf7,0x05,0x80
-# CHECK: s_add_u32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x80]
-0x00,0xfd,0x00,0x80
+# CHECK: s_add_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x80]
+0x01,0xfd,0x05,0x80
-# CHECK: s_add_u32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x80,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x80,0x56,0x34,0x12,0xaf
+# CHECK: s_add_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x80,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x80,0x56,0x34,0x12,0xaf
-# CHECK: s_add_u32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x80,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x80,0x73,0x72,0x71,0x3f
+# CHECK: s_add_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x80,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x80,0x73,0x72,0x71,0x3f
-# CHECK: s_sub_u32 s0, s0, s0 ; encoding: [0x00,0x00,0x80,0x80]
-0x00,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x80]
+0x01,0x02,0x85,0x80
-# CHECK: s_sub_u32 s101, s0, s0 ; encoding: [0x00,0x00,0xe5,0x80]
-0x00,0x00,0xe5,0x80
+# CHECK: s_sub_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x80]
+0x01,0x02,0xe5,0x80
-# CHECK: s_sub_u32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0xe6,0x80]
-0x00,0x00,0xe6,0x80
+# CHECK: s_sub_u32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0xe6,0x80]
+0x01,0x02,0xe6,0x80
-# CHECK: s_sub_u32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0xe7,0x80]
-0x00,0x00,0xe7,0x80
+# CHECK: s_sub_u32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0xe7,0x80]
+0x01,0x02,0xe7,0x80
-# CHECK: s_sub_u32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0xea,0x80]
-0x00,0x00,0xea,0x80
+# CHECK: s_sub_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x80]
+0x01,0x02,0xea,0x80
-# CHECK: s_sub_u32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0xeb,0x80]
-0x00,0x00,0xeb,0x80
+# CHECK: s_sub_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x80]
+0x01,0x02,0xeb,0x80
-# CHECK: s_sub_u32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0xec,0x80]
-0x00,0x00,0xec,0x80
+# CHECK: s_sub_u32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0xec,0x80]
+0x01,0x02,0xec,0x80
-# CHECK: s_sub_u32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0xed,0x80]
-0x00,0x00,0xed,0x80
+# CHECK: s_sub_u32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0xed,0x80]
+0x01,0x02,0xed,0x80
-# CHECK: s_sub_u32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0xee,0x80]
-0x00,0x00,0xee,0x80
+# CHECK: s_sub_u32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0xee,0x80]
+0x01,0x02,0xee,0x80
-# CHECK: s_sub_u32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0xef,0x80]
-0x00,0x00,0xef,0x80
+# CHECK: s_sub_u32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0xef,0x80]
+0x01,0x02,0xef,0x80
-# CHECK: s_sub_u32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0xfb,0x80]
-0x00,0x00,0xfb,0x80
+# CHECK: s_sub_u32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0xfb,0x80]
+0x01,0x02,0xfb,0x80
-# CHECK: s_sub_u32 m0, s0, s0 ; encoding: [0x00,0x00,0xfc,0x80]
-0x00,0x00,0xfc,0x80
+# CHECK: s_sub_u32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x80]
+0x01,0x02,0xfc,0x80
-# CHECK: s_sub_u32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0xfe,0x80]
-0x00,0x00,0xfe,0x80
+# CHECK: s_sub_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x80]
+0x01,0x02,0xfe,0x80
-# CHECK: s_sub_u32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0xff,0x80]
-0x00,0x00,0xff,0x80
+# CHECK: s_sub_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x80]
+0x01,0x02,0xff,0x80
-# CHECK: s_sub_u32 s0, s101, s0 ; encoding: [0x65,0x00,0x80,0x80]
-0x65,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x80]
+0x65,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x80,0x80]
-0x66,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x80]
+0x66,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x80,0x80]
-0x67,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x80]
+0x67,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x80,0x80]
-0x6a,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x80]
+0x6a,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x80,0x80]
-0x6b,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x80]
+0x6b,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x80,0x80]
-0x6c,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x85,0x80]
+0x6c,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x80,0x80]
-0x6d,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x85,0x80]
+0x6d,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x80,0x80]
-0x6e,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x85,0x80]
+0x6e,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x80,0x80]
-0x6f,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x85,0x80]
+0x6f,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x80,0x80]
-0x7b,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x85,0x80]
+0x7b,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, m0, s0 ; encoding: [0x7c,0x00,0x80,0x80]
-0x7c,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x80]
+0x7c,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x80,0x80]
-0x7e,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x80]
+0x7e,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x80,0x80]
-0x7f,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x80]
+0x7f,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, 0, s0 ; encoding: [0x80,0x00,0x80,0x80]
-0x80,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x80]
+0x80,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, -1, s0 ; encoding: [0xc1,0x00,0x80,0x80]
-0xc1,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x80]
+0xc1,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x80]
-0xf0,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x80]
+0xf0,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x80]
-0xf7,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x80]
+0xf7,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, scc, s0 ; encoding: [0xfd,0x00,0x80,0x80]
-0xfd,0x00,0x80,0x80
+# CHECK: s_sub_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x80]
+0xfd,0x02,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, s101 ; encoding: [0x00,0x65,0x80,0x80]
-0x00,0x65,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x80]
+0x01,0x65,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x80]
-0x00,0x66,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x80]
+0x01,0x66,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x80]
-0x00,0x67,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x80]
+0x01,0x67,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x80,0x80]
-0x00,0x6a,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x80]
+0x01,0x6a,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x80,0x80]
-0x00,0x6b,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x80]
+0x01,0x6b,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x80,0x80]
-0x00,0x6c,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x85,0x80]
+0x01,0x6c,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x80,0x80]
-0x00,0x6d,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x85,0x80]
+0x01,0x6d,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x80,0x80]
-0x00,0x6e,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x85,0x80]
+0x01,0x6e,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x80,0x80]
-0x00,0x6f,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x85,0x80]
+0x01,0x6f,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x80,0x80]
-0x00,0x7b,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x85,0x80]
+0x01,0x7b,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, m0 ; encoding: [0x00,0x7c,0x80,0x80]
-0x00,0x7c,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x80]
+0x01,0x7c,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x80,0x80]
-0x00,0x7e,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x80]
+0x01,0x7e,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x80,0x80]
-0x00,0x7f,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x80]
+0x01,0x7f,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, 0 ; encoding: [0x00,0x80,0x80,0x80]
-0x00,0x80,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x80]
+0x01,0x80,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, -1 ; encoding: [0x00,0xc1,0x80,0x80]
-0x00,0xc1,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x80]
+0x01,0xc1,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x80,0x80]
-0x00,0xf0,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x80]
+0x01,0xf0,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x80,0x80]
-0x00,0xf7,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x80]
+0x01,0xf7,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, scc ; encoding: [0x00,0xfd,0x80,0x80]
-0x00,0xfd,0x80,0x80
+# CHECK: s_sub_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x80]
+0x01,0xfd,0x85,0x80
-# CHECK: s_sub_u32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x80,0x80,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x80,0x56,0x34,0x12,0xaf
+# CHECK: s_sub_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x80,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x85,0x80,0x56,0x34,0x12,0xaf
-# CHECK: s_sub_u32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x80,0x80,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x80,0x73,0x72,0x71,0x3f
+# CHECK: s_sub_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x80,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x80,0x73,0x72,0x71,0x3f
-# CHECK: s_add_i32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x81]
-0x00,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x81]
+0x01,0x02,0x05,0x81
-# CHECK: s_add_i32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x81]
-0x00,0x00,0x65,0x81
+# CHECK: s_add_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x81]
+0x01,0x02,0x65,0x81
-# CHECK: s_add_i32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x81]
-0x00,0x00,0x66,0x81
+# CHECK: s_add_i32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x81]
+0x01,0x02,0x66,0x81
-# CHECK: s_add_i32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x81]
-0x00,0x00,0x67,0x81
+# CHECK: s_add_i32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x81]
+0x01,0x02,0x67,0x81
-# CHECK: s_add_i32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x81]
-0x00,0x00,0x6a,0x81
+# CHECK: s_add_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x81]
+0x01,0x02,0x6a,0x81
-# CHECK: s_add_i32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x81]
-0x00,0x00,0x6b,0x81
+# CHECK: s_add_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x81]
+0x01,0x02,0x6b,0x81
-# CHECK: s_add_i32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x81]
-0x00,0x00,0x6c,0x81
+# CHECK: s_add_i32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x81]
+0x01,0x02,0x6c,0x81
-# CHECK: s_add_i32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x81]
-0x00,0x00,0x6d,0x81
+# CHECK: s_add_i32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x81]
+0x01,0x02,0x6d,0x81
-# CHECK: s_add_i32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x81]
-0x00,0x00,0x6e,0x81
+# CHECK: s_add_i32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x81]
+0x01,0x02,0x6e,0x81
-# CHECK: s_add_i32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x81]
-0x00,0x00,0x6f,0x81
+# CHECK: s_add_i32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x81]
+0x01,0x02,0x6f,0x81
-# CHECK: s_add_i32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x81]
-0x00,0x00,0x7b,0x81
+# CHECK: s_add_i32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x81]
+0x01,0x02,0x7b,0x81
-# CHECK: s_add_i32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x81]
-0x00,0x00,0x7c,0x81
+# CHECK: s_add_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x81]
+0x01,0x02,0x7c,0x81
-# CHECK: s_add_i32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x81]
-0x00,0x00,0x7e,0x81
+# CHECK: s_add_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x81]
+0x01,0x02,0x7e,0x81
-# CHECK: s_add_i32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x81]
-0x00,0x00,0x7f,0x81
+# CHECK: s_add_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x81]
+0x01,0x02,0x7f,0x81
-# CHECK: s_add_i32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x81]
-0x65,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x81]
+0x65,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x81]
-0x66,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x81]
+0x66,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x81]
-0x67,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x81]
+0x67,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x81]
-0x6a,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x81]
+0x6a,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x81]
-0x6b,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x81]
+0x6b,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x81]
-0x6c,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x81]
+0x6c,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x81]
-0x6d,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x81]
+0x6d,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x81]
-0x6e,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x81]
+0x6e,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x81]
-0x6f,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x81]
+0x6f,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x81]
-0x7b,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x81]
+0x7b,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x81]
-0x7c,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x81]
+0x7c,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x81]
-0x7e,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x81]
+0x7e,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x81]
-0x7f,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x81]
+0x7f,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x81]
-0x80,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x81]
+0x80,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x81]
-0xc1,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x81]
+0xc1,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x81]
-0xf0,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x81]
+0xf0,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x81]
-0xf7,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x81]
+0xf7,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x81]
-0xfd,0x00,0x00,0x81
+# CHECK: s_add_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x81]
+0xfd,0x02,0x05,0x81
-# CHECK: s_add_i32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x81]
-0x00,0x65,0x00,0x81
+# CHECK: s_add_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x81]
+0x01,0x65,0x05,0x81
-# CHECK: s_add_i32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x81]
-0x00,0x66,0x00,0x81
+# CHECK: s_add_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x81]
+0x01,0x66,0x05,0x81
-# CHECK: s_add_i32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x81]
-0x00,0x67,0x00,0x81
+# CHECK: s_add_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x81]
+0x01,0x67,0x05,0x81
-# CHECK: s_add_i32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x81]
-0x00,0x6a,0x00,0x81
+# CHECK: s_add_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x81]
+0x01,0x6a,0x05,0x81
-# CHECK: s_add_i32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x81]
-0x00,0x6b,0x00,0x81
+# CHECK: s_add_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x81]
+0x01,0x6b,0x05,0x81
-# CHECK: s_add_i32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x81]
-0x00,0x6c,0x00,0x81
+# CHECK: s_add_i32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x81]
+0x01,0x6c,0x05,0x81
-# CHECK: s_add_i32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x81]
-0x00,0x6d,0x00,0x81
+# CHECK: s_add_i32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x81]
+0x01,0x6d,0x05,0x81
-# CHECK: s_add_i32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x81]
-0x00,0x6e,0x00,0x81
+# CHECK: s_add_i32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x81]
+0x01,0x6e,0x05,0x81
-# CHECK: s_add_i32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x81]
-0x00,0x6f,0x00,0x81
+# CHECK: s_add_i32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x81]
+0x01,0x6f,0x05,0x81
-# CHECK: s_add_i32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x81]
-0x00,0x7b,0x00,0x81
+# CHECK: s_add_i32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x81]
+0x01,0x7b,0x05,0x81
-# CHECK: s_add_i32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x81]
-0x00,0x7c,0x00,0x81
+# CHECK: s_add_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x81]
+0x01,0x7c,0x05,0x81
-# CHECK: s_add_i32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x81]
-0x00,0x7e,0x00,0x81
+# CHECK: s_add_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x81]
+0x01,0x7e,0x05,0x81
-# CHECK: s_add_i32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x81]
-0x00,0x7f,0x00,0x81
+# CHECK: s_add_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x81]
+0x01,0x7f,0x05,0x81
-# CHECK: s_add_i32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x81]
-0x00,0x80,0x00,0x81
+# CHECK: s_add_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x81]
+0x01,0x80,0x05,0x81
-# CHECK: s_add_i32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x81]
-0x00,0xc1,0x00,0x81
+# CHECK: s_add_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x81]
+0x01,0xc1,0x05,0x81
-# CHECK: s_add_i32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x81]
-0x00,0xf0,0x00,0x81
+# CHECK: s_add_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x81]
+0x01,0xf0,0x05,0x81
-# CHECK: s_add_i32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x81]
-0x00,0xf7,0x00,0x81
+# CHECK: s_add_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x81]
+0x01,0xf7,0x05,0x81
-# CHECK: s_add_i32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x81]
-0x00,0xfd,0x00,0x81
+# CHECK: s_add_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x81]
+0x01,0xfd,0x05,0x81
-# CHECK: s_add_i32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x81,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x81,0x56,0x34,0x12,0xaf
+# CHECK: s_add_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x81,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x81,0x56,0x34,0x12,0xaf
-# CHECK: s_add_i32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x81,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x81,0x73,0x72,0x71,0x3f
+# CHECK: s_add_i32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x81,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x81,0x73,0x72,0x71,0x3f
-# CHECK: s_sub_i32 s0, s0, s0 ; encoding: [0x00,0x00,0x80,0x81]
-0x00,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x81]
+0x01,0x02,0x85,0x81
-# CHECK: s_sub_i32 s101, s0, s0 ; encoding: [0x00,0x00,0xe5,0x81]
-0x00,0x00,0xe5,0x81
+# CHECK: s_sub_i32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x81]
+0x01,0x02,0xe5,0x81
-# CHECK: s_sub_i32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0xe6,0x81]
-0x00,0x00,0xe6,0x81
+# CHECK: s_sub_i32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0xe6,0x81]
+0x01,0x02,0xe6,0x81
-# CHECK: s_sub_i32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0xe7,0x81]
-0x00,0x00,0xe7,0x81
+# CHECK: s_sub_i32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0xe7,0x81]
+0x01,0x02,0xe7,0x81
-# CHECK: s_sub_i32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0xea,0x81]
-0x00,0x00,0xea,0x81
+# CHECK: s_sub_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x81]
+0x01,0x02,0xea,0x81
-# CHECK: s_sub_i32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0xeb,0x81]
-0x00,0x00,0xeb,0x81
+# CHECK: s_sub_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x81]
+0x01,0x02,0xeb,0x81
-# CHECK: s_sub_i32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0xec,0x81]
-0x00,0x00,0xec,0x81
+# CHECK: s_sub_i32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0xec,0x81]
+0x01,0x02,0xec,0x81
-# CHECK: s_sub_i32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0xed,0x81]
-0x00,0x00,0xed,0x81
+# CHECK: s_sub_i32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0xed,0x81]
+0x01,0x02,0xed,0x81
-# CHECK: s_sub_i32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0xee,0x81]
-0x00,0x00,0xee,0x81
+# CHECK: s_sub_i32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0xee,0x81]
+0x01,0x02,0xee,0x81
-# CHECK: s_sub_i32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0xef,0x81]
-0x00,0x00,0xef,0x81
+# CHECK: s_sub_i32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0xef,0x81]
+0x01,0x02,0xef,0x81
-# CHECK: s_sub_i32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0xfb,0x81]
-0x00,0x00,0xfb,0x81
+# CHECK: s_sub_i32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0xfb,0x81]
+0x01,0x02,0xfb,0x81
-# CHECK: s_sub_i32 m0, s0, s0 ; encoding: [0x00,0x00,0xfc,0x81]
-0x00,0x00,0xfc,0x81
+# CHECK: s_sub_i32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x81]
+0x01,0x02,0xfc,0x81
-# CHECK: s_sub_i32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0xfe,0x81]
-0x00,0x00,0xfe,0x81
+# CHECK: s_sub_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x81]
+0x01,0x02,0xfe,0x81
-# CHECK: s_sub_i32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0xff,0x81]
-0x00,0x00,0xff,0x81
+# CHECK: s_sub_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x81]
+0x01,0x02,0xff,0x81
-# CHECK: s_sub_i32 s0, s101, s0 ; encoding: [0x65,0x00,0x80,0x81]
-0x65,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x81]
+0x65,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x80,0x81]
-0x66,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x81]
+0x66,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x80,0x81]
-0x67,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x81]
+0x67,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x80,0x81]
-0x6a,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x81]
+0x6a,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x80,0x81]
-0x6b,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x81]
+0x6b,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x80,0x81]
-0x6c,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x85,0x81]
+0x6c,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x80,0x81]
-0x6d,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x85,0x81]
+0x6d,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x80,0x81]
-0x6e,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x85,0x81]
+0x6e,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x80,0x81]
-0x6f,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x85,0x81]
+0x6f,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x80,0x81]
-0x7b,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x85,0x81]
+0x7b,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, m0, s0 ; encoding: [0x7c,0x00,0x80,0x81]
-0x7c,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x81]
+0x7c,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x80,0x81]
-0x7e,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x81]
+0x7e,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x80,0x81]
-0x7f,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x81]
+0x7f,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, 0, s0 ; encoding: [0x80,0x00,0x80,0x81]
-0x80,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x81]
+0x80,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, -1, s0 ; encoding: [0xc1,0x00,0x80,0x81]
-0xc1,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x81]
+0xc1,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x81]
-0xf0,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x81]
+0xf0,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x81]
-0xf7,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x81]
+0xf7,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, scc, s0 ; encoding: [0xfd,0x00,0x80,0x81]
-0xfd,0x00,0x80,0x81
+# CHECK: s_sub_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x81]
+0xfd,0x02,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, s101 ; encoding: [0x00,0x65,0x80,0x81]
-0x00,0x65,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x81]
+0x01,0x65,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x81]
-0x00,0x66,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x81]
+0x01,0x66,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x81]
-0x00,0x67,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x81]
+0x01,0x67,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x80,0x81]
-0x00,0x6a,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x81]
+0x01,0x6a,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x80,0x81]
-0x00,0x6b,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x81]
+0x01,0x6b,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x80,0x81]
-0x00,0x6c,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x85,0x81]
+0x01,0x6c,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x80,0x81]
-0x00,0x6d,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x85,0x81]
+0x01,0x6d,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x80,0x81]
-0x00,0x6e,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x85,0x81]
+0x01,0x6e,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x80,0x81]
-0x00,0x6f,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x85,0x81]
+0x01,0x6f,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x80,0x81]
-0x00,0x7b,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x85,0x81]
+0x01,0x7b,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, m0 ; encoding: [0x00,0x7c,0x80,0x81]
-0x00,0x7c,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x81]
+0x01,0x7c,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x80,0x81]
-0x00,0x7e,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x81]
+0x01,0x7e,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x80,0x81]
-0x00,0x7f,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x81]
+0x01,0x7f,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, 0 ; encoding: [0x00,0x80,0x80,0x81]
-0x00,0x80,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x81]
+0x01,0x80,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, -1 ; encoding: [0x00,0xc1,0x80,0x81]
-0x00,0xc1,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x81]
+0x01,0xc1,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x80,0x81]
-0x00,0xf0,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x81]
+0x01,0xf0,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x80,0x81]
-0x00,0xf7,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x81]
+0x01,0xf7,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, scc ; encoding: [0x00,0xfd,0x80,0x81]
-0x00,0xfd,0x80,0x81
+# CHECK: s_sub_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x81]
+0x01,0xfd,0x85,0x81
-# CHECK: s_sub_i32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x80,0x81,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x81,0x56,0x34,0x12,0xaf
+# CHECK: s_sub_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x81,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x85,0x81,0x56,0x34,0x12,0xaf
-# CHECK: s_sub_i32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x80,0x81,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x81,0x73,0x72,0x71,0x3f
+# CHECK: s_sub_i32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x81,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x81,0x73,0x72,0x71,0x3f
-# CHECK: s_addc_u32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x82]
-0x00,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x82]
+0x01,0x02,0x05,0x82
-# CHECK: s_addc_u32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x82]
-0x00,0x00,0x65,0x82
+# CHECK: s_addc_u32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x82]
+0x01,0x02,0x65,0x82
-# CHECK: s_addc_u32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x82]
-0x00,0x00,0x66,0x82
+# CHECK: s_addc_u32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x82]
+0x01,0x02,0x66,0x82
-# CHECK: s_addc_u32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x82]
-0x00,0x00,0x67,0x82
+# CHECK: s_addc_u32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x82]
+0x01,0x02,0x67,0x82
-# CHECK: s_addc_u32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x82]
-0x00,0x00,0x6a,0x82
+# CHECK: s_addc_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x82]
+0x01,0x02,0x6a,0x82
-# CHECK: s_addc_u32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x82]
-0x00,0x00,0x6b,0x82
+# CHECK: s_addc_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x82]
+0x01,0x02,0x6b,0x82
-# CHECK: s_addc_u32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x82]
-0x00,0x00,0x6c,0x82
+# CHECK: s_addc_u32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x82]
+0x01,0x02,0x6c,0x82
-# CHECK: s_addc_u32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x82]
-0x00,0x00,0x6d,0x82
+# CHECK: s_addc_u32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x82]
+0x01,0x02,0x6d,0x82
-# CHECK: s_addc_u32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x82]
-0x00,0x00,0x6e,0x82
+# CHECK: s_addc_u32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x82]
+0x01,0x02,0x6e,0x82
-# CHECK: s_addc_u32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x82]
-0x00,0x00,0x6f,0x82
+# CHECK: s_addc_u32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x82]
+0x01,0x02,0x6f,0x82
-# CHECK: s_addc_u32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x82]
-0x00,0x00,0x7b,0x82
+# CHECK: s_addc_u32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x82]
+0x01,0x02,0x7b,0x82
-# CHECK: s_addc_u32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x82]
-0x00,0x00,0x7c,0x82
+# CHECK: s_addc_u32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x82]
+0x01,0x02,0x7c,0x82
-# CHECK: s_addc_u32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x82]
-0x00,0x00,0x7e,0x82
+# CHECK: s_addc_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x82]
+0x01,0x02,0x7e,0x82
-# CHECK: s_addc_u32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x82]
-0x00,0x00,0x7f,0x82
+# CHECK: s_addc_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x82]
+0x01,0x02,0x7f,0x82
-# CHECK: s_addc_u32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x82]
-0x65,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x82]
+0x65,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x82]
-0x66,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x82]
+0x66,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x82]
-0x67,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x82]
+0x67,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x82]
-0x6a,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x82]
+0x6a,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x82]
-0x6b,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x82]
+0x6b,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x82]
-0x6c,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x82]
+0x6c,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x82]
-0x6d,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x82]
+0x6d,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x82]
-0x6e,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x82]
+0x6e,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x82]
-0x6f,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x82]
+0x6f,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x82]
-0x7b,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x82]
+0x7b,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x82]
-0x7c,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x82]
+0x7c,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x82]
-0x7e,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x82]
+0x7e,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x82]
-0x7f,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x82]
+0x7f,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x82]
-0x80,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x82]
+0x80,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x82]
-0xc1,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x82]
+0xc1,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x82]
-0xf0,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x82]
+0xf0,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x82]
-0xf7,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x82]
+0xf7,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x82]
-0xfd,0x00,0x00,0x82
+# CHECK: s_addc_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x82]
+0xfd,0x02,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x82]
-0x00,0x65,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x82]
+0x01,0x65,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x82]
-0x00,0x66,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x82]
+0x01,0x66,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x82]
-0x00,0x67,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x82]
+0x01,0x67,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x82]
-0x00,0x6a,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x82]
+0x01,0x6a,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x82]
-0x00,0x6b,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x82]
+0x01,0x6b,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x82]
-0x00,0x6c,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x82]
+0x01,0x6c,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x82]
-0x00,0x6d,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x82]
+0x01,0x6d,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x82]
-0x00,0x6e,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x82]
+0x01,0x6e,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x82]
-0x00,0x6f,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x82]
+0x01,0x6f,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x82]
-0x00,0x7b,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x82]
+0x01,0x7b,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x82]
-0x00,0x7c,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x82]
+0x01,0x7c,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x82]
-0x00,0x7e,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x82]
+0x01,0x7e,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x82]
-0x00,0x7f,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x82]
+0x01,0x7f,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x82]
-0x00,0x80,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x82]
+0x01,0x80,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x82]
-0x00,0xc1,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x82]
+0x01,0xc1,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x82]
-0x00,0xf0,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x82]
+0x01,0xf0,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x82]
-0x00,0xf7,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x82]
+0x01,0xf7,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x82]
-0x00,0xfd,0x00,0x82
+# CHECK: s_addc_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x82]
+0x01,0xfd,0x05,0x82
-# CHECK: s_addc_u32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x82,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x82,0x56,0x34,0x12,0xaf
+# CHECK: s_addc_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x82,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x82,0x56,0x34,0x12,0xaf
-# CHECK: s_addc_u32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x82,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x82,0x73,0x72,0x71,0x3f
+# CHECK: s_addc_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x82,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x82,0x73,0x72,0x71,0x3f
-# CHECK: s_subb_u32 s0, s0, s0 ; encoding: [0x00,0x00,0x80,0x82]
-0x00,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x82]
+0x01,0x02,0x85,0x82
-# CHECK: s_subb_u32 s101, s0, s0 ; encoding: [0x00,0x00,0xe5,0x82]
-0x00,0x00,0xe5,0x82
+# CHECK: s_subb_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x82]
+0x01,0x02,0xe5,0x82
-# CHECK: s_subb_u32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0xe6,0x82]
-0x00,0x00,0xe6,0x82
+# CHECK: s_subb_u32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0xe6,0x82]
+0x01,0x02,0xe6,0x82
-# CHECK: s_subb_u32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0xe7,0x82]
-0x00,0x00,0xe7,0x82
+# CHECK: s_subb_u32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0xe7,0x82]
+0x01,0x02,0xe7,0x82
-# CHECK: s_subb_u32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0xea,0x82]
-0x00,0x00,0xea,0x82
+# CHECK: s_subb_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x82]
+0x01,0x02,0xea,0x82
-# CHECK: s_subb_u32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0xeb,0x82]
-0x00,0x00,0xeb,0x82
+# CHECK: s_subb_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x82]
+0x01,0x02,0xeb,0x82
-# CHECK: s_subb_u32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0xec,0x82]
-0x00,0x00,0xec,0x82
+# CHECK: s_subb_u32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0xec,0x82]
+0x01,0x02,0xec,0x82
-# CHECK: s_subb_u32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0xed,0x82]
-0x00,0x00,0xed,0x82
+# CHECK: s_subb_u32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0xed,0x82]
+0x01,0x02,0xed,0x82
-# CHECK: s_subb_u32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0xee,0x82]
-0x00,0x00,0xee,0x82
+# CHECK: s_subb_u32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0xee,0x82]
+0x01,0x02,0xee,0x82
-# CHECK: s_subb_u32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0xef,0x82]
-0x00,0x00,0xef,0x82
+# CHECK: s_subb_u32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0xef,0x82]
+0x01,0x02,0xef,0x82
-# CHECK: s_subb_u32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0xfb,0x82]
-0x00,0x00,0xfb,0x82
+# CHECK: s_subb_u32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0xfb,0x82]
+0x01,0x02,0xfb,0x82
-# CHECK: s_subb_u32 m0, s0, s0 ; encoding: [0x00,0x00,0xfc,0x82]
-0x00,0x00,0xfc,0x82
+# CHECK: s_subb_u32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x82]
+0x01,0x02,0xfc,0x82
-# CHECK: s_subb_u32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0xfe,0x82]
-0x00,0x00,0xfe,0x82
+# CHECK: s_subb_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x82]
+0x01,0x02,0xfe,0x82
-# CHECK: s_subb_u32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0xff,0x82]
-0x00,0x00,0xff,0x82
+# CHECK: s_subb_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x82]
+0x01,0x02,0xff,0x82
-# CHECK: s_subb_u32 s0, s101, s0 ; encoding: [0x65,0x00,0x80,0x82]
-0x65,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x82]
+0x65,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x80,0x82]
-0x66,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x82]
+0x66,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x80,0x82]
-0x67,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x82]
+0x67,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x80,0x82]
-0x6a,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x82]
+0x6a,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x80,0x82]
-0x6b,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x82]
+0x6b,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x80,0x82]
-0x6c,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x85,0x82]
+0x6c,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x80,0x82]
-0x6d,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x85,0x82]
+0x6d,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x80,0x82]
-0x6e,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x85,0x82]
+0x6e,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x80,0x82]
-0x6f,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x85,0x82]
+0x6f,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x80,0x82]
-0x7b,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x85,0x82]
+0x7b,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, m0, s0 ; encoding: [0x7c,0x00,0x80,0x82]
-0x7c,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x82]
+0x7c,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x80,0x82]
-0x7e,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x82]
+0x7e,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x80,0x82]
-0x7f,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x82]
+0x7f,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, 0, s0 ; encoding: [0x80,0x00,0x80,0x82]
-0x80,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x82]
+0x80,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, -1, s0 ; encoding: [0xc1,0x00,0x80,0x82]
-0xc1,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x82]
+0xc1,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x82]
-0xf0,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x82]
+0xf0,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x82]
-0xf7,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x82]
+0xf7,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, scc, s0 ; encoding: [0xfd,0x00,0x80,0x82]
-0xfd,0x00,0x80,0x82
+# CHECK: s_subb_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x82]
+0xfd,0x02,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, s101 ; encoding: [0x00,0x65,0x80,0x82]
-0x00,0x65,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x82]
+0x01,0x65,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x82]
-0x00,0x66,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x82]
+0x01,0x66,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x82]
-0x00,0x67,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x82]
+0x01,0x67,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x80,0x82]
-0x00,0x6a,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x82]
+0x01,0x6a,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x80,0x82]
-0x00,0x6b,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x82]
+0x01,0x6b,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x80,0x82]
-0x00,0x6c,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x85,0x82]
+0x01,0x6c,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x80,0x82]
-0x00,0x6d,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x85,0x82]
+0x01,0x6d,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x80,0x82]
-0x00,0x6e,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x85,0x82]
+0x01,0x6e,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x80,0x82]
-0x00,0x6f,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x85,0x82]
+0x01,0x6f,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x80,0x82]
-0x00,0x7b,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x85,0x82]
+0x01,0x7b,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, m0 ; encoding: [0x00,0x7c,0x80,0x82]
-0x00,0x7c,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x82]
+0x01,0x7c,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x80,0x82]
-0x00,0x7e,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x82]
+0x01,0x7e,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x80,0x82]
-0x00,0x7f,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x82]
+0x01,0x7f,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, 0 ; encoding: [0x00,0x80,0x80,0x82]
-0x00,0x80,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x82]
+0x01,0x80,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, -1 ; encoding: [0x00,0xc1,0x80,0x82]
-0x00,0xc1,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x82]
+0x01,0xc1,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x80,0x82]
-0x00,0xf0,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x82]
+0x01,0xf0,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x80,0x82]
-0x00,0xf7,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x82]
+0x01,0xf7,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, scc ; encoding: [0x00,0xfd,0x80,0x82]
-0x00,0xfd,0x80,0x82
+# CHECK: s_subb_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x82]
+0x01,0xfd,0x85,0x82
-# CHECK: s_subb_u32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x80,0x82,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x82,0x56,0x34,0x12,0xaf
+# CHECK: s_subb_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x82,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x85,0x82,0x56,0x34,0x12,0xaf
-# CHECK: s_subb_u32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x80,0x82,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x82,0x73,0x72,0x71,0x3f
+# CHECK: s_subb_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x82,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x82,0x73,0x72,0x71,0x3f
-# CHECK: s_min_i32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x83]
-0x00,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x83]
+0x01,0x02,0x05,0x83
-# CHECK: s_min_i32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x83]
-0x00,0x00,0x65,0x83
+# CHECK: s_min_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x83]
+0x01,0x02,0x65,0x83
-# CHECK: s_min_i32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x83]
-0x00,0x00,0x66,0x83
+# CHECK: s_min_i32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x83]
+0x01,0x02,0x66,0x83
-# CHECK: s_min_i32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x83]
-0x00,0x00,0x67,0x83
+# CHECK: s_min_i32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x83]
+0x01,0x02,0x67,0x83
-# CHECK: s_min_i32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x83]
-0x00,0x00,0x6a,0x83
+# CHECK: s_min_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x83]
+0x01,0x02,0x6a,0x83
-# CHECK: s_min_i32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x83]
-0x00,0x00,0x6b,0x83
+# CHECK: s_min_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x83]
+0x01,0x02,0x6b,0x83
-# CHECK: s_min_i32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x83]
-0x00,0x00,0x6c,0x83
+# CHECK: s_min_i32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x83]
+0x01,0x02,0x6c,0x83
-# CHECK: s_min_i32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x83]
-0x00,0x00,0x6d,0x83
+# CHECK: s_min_i32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x83]
+0x01,0x02,0x6d,0x83
-# CHECK: s_min_i32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x83]
-0x00,0x00,0x6e,0x83
+# CHECK: s_min_i32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x83]
+0x01,0x02,0x6e,0x83
-# CHECK: s_min_i32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x83]
-0x00,0x00,0x6f,0x83
+# CHECK: s_min_i32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x83]
+0x01,0x02,0x6f,0x83
-# CHECK: s_min_i32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x83]
-0x00,0x00,0x7b,0x83
+# CHECK: s_min_i32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x83]
+0x01,0x02,0x7b,0x83
-# CHECK: s_min_i32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x83]
-0x00,0x00,0x7c,0x83
+# CHECK: s_min_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x83]
+0x01,0x02,0x7c,0x83
-# CHECK: s_min_i32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x83]
-0x00,0x00,0x7e,0x83
+# CHECK: s_min_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x83]
+0x01,0x02,0x7e,0x83
-# CHECK: s_min_i32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x83]
-0x00,0x00,0x7f,0x83
+# CHECK: s_min_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x83]
+0x01,0x02,0x7f,0x83
-# CHECK: s_min_i32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x83]
-0x65,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x83]
+0x65,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x83]
-0x66,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x83]
+0x66,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x83]
-0x67,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x83]
+0x67,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x83]
-0x6a,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x83]
+0x6a,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x83]
-0x6b,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x83]
+0x6b,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x83]
-0x6c,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x83]
+0x6c,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x83]
-0x6d,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x83]
+0x6d,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x83]
-0x6e,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x83]
+0x6e,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x83]
-0x6f,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x83]
+0x6f,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x83]
-0x7b,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x83]
+0x7b,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x83]
-0x7c,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x83]
+0x7c,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x83]
-0x7e,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x83]
+0x7e,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x83]
-0x7f,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x83]
+0x7f,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x83]
-0x80,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x83]
+0x80,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x83]
-0xc1,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x83]
+0xc1,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x83]
-0xf0,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x83]
+0xf0,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x83]
-0xf7,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x83]
+0xf7,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x83]
-0xfd,0x00,0x00,0x83
+# CHECK: s_min_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x83]
+0xfd,0x02,0x05,0x83
-# CHECK: s_min_i32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x83]
-0x00,0x65,0x00,0x83
+# CHECK: s_min_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x83]
+0x01,0x65,0x05,0x83
-# CHECK: s_min_i32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x83]
-0x00,0x66,0x00,0x83
+# CHECK: s_min_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x83]
+0x01,0x66,0x05,0x83
-# CHECK: s_min_i32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x83]
-0x00,0x67,0x00,0x83
+# CHECK: s_min_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x83]
+0x01,0x67,0x05,0x83
-# CHECK: s_min_i32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x83]
-0x00,0x6a,0x00,0x83
+# CHECK: s_min_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x83]
+0x01,0x6a,0x05,0x83
-# CHECK: s_min_i32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x83]
-0x00,0x6b,0x00,0x83
+# CHECK: s_min_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x83]
+0x01,0x6b,0x05,0x83
-# CHECK: s_min_i32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x83]
-0x00,0x6c,0x00,0x83
+# CHECK: s_min_i32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x83]
+0x01,0x6c,0x05,0x83
-# CHECK: s_min_i32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x83]
-0x00,0x6d,0x00,0x83
+# CHECK: s_min_i32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x83]
+0x01,0x6d,0x05,0x83
-# CHECK: s_min_i32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x83]
-0x00,0x6e,0x00,0x83
+# CHECK: s_min_i32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x83]
+0x01,0x6e,0x05,0x83
-# CHECK: s_min_i32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x83]
-0x00,0x6f,0x00,0x83
+# CHECK: s_min_i32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x83]
+0x01,0x6f,0x05,0x83
-# CHECK: s_min_i32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x83]
-0x00,0x7b,0x00,0x83
+# CHECK: s_min_i32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x83]
+0x01,0x7b,0x05,0x83
-# CHECK: s_min_i32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x83]
-0x00,0x7c,0x00,0x83
+# CHECK: s_min_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x83]
+0x01,0x7c,0x05,0x83
-# CHECK: s_min_i32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x83]
-0x00,0x7e,0x00,0x83
+# CHECK: s_min_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x83]
+0x01,0x7e,0x05,0x83
-# CHECK: s_min_i32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x83]
-0x00,0x7f,0x00,0x83
+# CHECK: s_min_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x83]
+0x01,0x7f,0x05,0x83
-# CHECK: s_min_i32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x83]
-0x00,0x80,0x00,0x83
+# CHECK: s_min_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x83]
+0x01,0x80,0x05,0x83
-# CHECK: s_min_i32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x83]
-0x00,0xc1,0x00,0x83
+# CHECK: s_min_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x83]
+0x01,0xc1,0x05,0x83
-# CHECK: s_min_i32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x83]
-0x00,0xf0,0x00,0x83
+# CHECK: s_min_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x83]
+0x01,0xf0,0x05,0x83
-# CHECK: s_min_i32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x83]
-0x00,0xf7,0x00,0x83
+# CHECK: s_min_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x83]
+0x01,0xf7,0x05,0x83
-# CHECK: s_min_i32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x83]
-0x00,0xfd,0x00,0x83
+# CHECK: s_min_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x83]
+0x01,0xfd,0x05,0x83
-# CHECK: s_min_i32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x83,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x83,0x56,0x34,0x12,0xaf
+# CHECK: s_min_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x83,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x83,0x56,0x34,0x12,0xaf
-# CHECK: s_min_i32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x83,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x83,0x73,0x72,0x71,0x3f
+# CHECK: s_min_i32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x83,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x83,0x73,0x72,0x71,0x3f
-# CHECK: s_min_u32 s0, s0, s0 ; encoding: [0x00,0x00,0x80,0x83]
-0x00,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x83]
+0x01,0x02,0x85,0x83
-# CHECK: s_min_u32 s101, s0, s0 ; encoding: [0x00,0x00,0xe5,0x83]
-0x00,0x00,0xe5,0x83
+# CHECK: s_min_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x83]
+0x01,0x02,0xe5,0x83
-# CHECK: s_min_u32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0xe6,0x83]
-0x00,0x00,0xe6,0x83
+# CHECK: s_min_u32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0xe6,0x83]
+0x01,0x02,0xe6,0x83
-# CHECK: s_min_u32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0xe7,0x83]
-0x00,0x00,0xe7,0x83
+# CHECK: s_min_u32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0xe7,0x83]
+0x01,0x02,0xe7,0x83
-# CHECK: s_min_u32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0xea,0x83]
-0x00,0x00,0xea,0x83
+# CHECK: s_min_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x83]
+0x01,0x02,0xea,0x83
-# CHECK: s_min_u32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0xeb,0x83]
-0x00,0x00,0xeb,0x83
+# CHECK: s_min_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x83]
+0x01,0x02,0xeb,0x83
-# CHECK: s_min_u32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0xec,0x83]
-0x00,0x00,0xec,0x83
+# CHECK: s_min_u32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0xec,0x83]
+0x01,0x02,0xec,0x83
-# CHECK: s_min_u32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0xed,0x83]
-0x00,0x00,0xed,0x83
+# CHECK: s_min_u32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0xed,0x83]
+0x01,0x02,0xed,0x83
-# CHECK: s_min_u32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0xee,0x83]
-0x00,0x00,0xee,0x83
+# CHECK: s_min_u32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0xee,0x83]
+0x01,0x02,0xee,0x83
-# CHECK: s_min_u32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0xef,0x83]
-0x00,0x00,0xef,0x83
+# CHECK: s_min_u32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0xef,0x83]
+0x01,0x02,0xef,0x83
-# CHECK: s_min_u32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0xfb,0x83]
-0x00,0x00,0xfb,0x83
+# CHECK: s_min_u32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0xfb,0x83]
+0x01,0x02,0xfb,0x83
-# CHECK: s_min_u32 m0, s0, s0 ; encoding: [0x00,0x00,0xfc,0x83]
-0x00,0x00,0xfc,0x83
+# CHECK: s_min_u32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x83]
+0x01,0x02,0xfc,0x83
-# CHECK: s_min_u32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0xfe,0x83]
-0x00,0x00,0xfe,0x83
+# CHECK: s_min_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x83]
+0x01,0x02,0xfe,0x83
-# CHECK: s_min_u32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0xff,0x83]
-0x00,0x00,0xff,0x83
+# CHECK: s_min_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x83]
+0x01,0x02,0xff,0x83
-# CHECK: s_min_u32 s0, s101, s0 ; encoding: [0x65,0x00,0x80,0x83]
-0x65,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x83]
+0x65,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x80,0x83]
-0x66,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x83]
+0x66,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x80,0x83]
-0x67,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x83]
+0x67,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x80,0x83]
-0x6a,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x83]
+0x6a,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x80,0x83]
-0x6b,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x83]
+0x6b,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x80,0x83]
-0x6c,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x85,0x83]
+0x6c,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x80,0x83]
-0x6d,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x85,0x83]
+0x6d,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x80,0x83]
-0x6e,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x85,0x83]
+0x6e,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x80,0x83]
-0x6f,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x85,0x83]
+0x6f,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x80,0x83]
-0x7b,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x85,0x83]
+0x7b,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, m0, s0 ; encoding: [0x7c,0x00,0x80,0x83]
-0x7c,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x83]
+0x7c,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x80,0x83]
-0x7e,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x83]
+0x7e,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x80,0x83]
-0x7f,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x83]
+0x7f,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, 0, s0 ; encoding: [0x80,0x00,0x80,0x83]
-0x80,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x83]
+0x80,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, -1, s0 ; encoding: [0xc1,0x00,0x80,0x83]
-0xc1,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x83]
+0xc1,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x83]
-0xf0,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x83]
+0xf0,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x83]
-0xf7,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x83]
+0xf7,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, scc, s0 ; encoding: [0xfd,0x00,0x80,0x83]
-0xfd,0x00,0x80,0x83
+# CHECK: s_min_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x83]
+0xfd,0x02,0x85,0x83
-# CHECK: s_min_u32 s0, s0, s101 ; encoding: [0x00,0x65,0x80,0x83]
-0x00,0x65,0x80,0x83
+# CHECK: s_min_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x83]
+0x01,0x65,0x85,0x83
-# CHECK: s_min_u32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x83]
-0x00,0x66,0x80,0x83
+# CHECK: s_min_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x83]
+0x01,0x66,0x85,0x83
-# CHECK: s_min_u32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x83]
-0x00,0x67,0x80,0x83
+# CHECK: s_min_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x83]
+0x01,0x67,0x85,0x83
-# CHECK: s_min_u32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x80,0x83]
-0x00,0x6a,0x80,0x83
+# CHECK: s_min_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x83]
+0x01,0x6a,0x85,0x83
-# CHECK: s_min_u32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x80,0x83]
-0x00,0x6b,0x80,0x83
+# CHECK: s_min_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x83]
+0x01,0x6b,0x85,0x83
-# CHECK: s_min_u32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x80,0x83]
-0x00,0x6c,0x80,0x83
+# CHECK: s_min_u32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x85,0x83]
+0x01,0x6c,0x85,0x83
-# CHECK: s_min_u32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x80,0x83]
-0x00,0x6d,0x80,0x83
+# CHECK: s_min_u32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x85,0x83]
+0x01,0x6d,0x85,0x83
-# CHECK: s_min_u32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x80,0x83]
-0x00,0x6e,0x80,0x83
+# CHECK: s_min_u32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x85,0x83]
+0x01,0x6e,0x85,0x83
-# CHECK: s_min_u32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x80,0x83]
-0x00,0x6f,0x80,0x83
+# CHECK: s_min_u32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x85,0x83]
+0x01,0x6f,0x85,0x83
-# CHECK: s_min_u32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x80,0x83]
-0x00,0x7b,0x80,0x83
+# CHECK: s_min_u32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x85,0x83]
+0x01,0x7b,0x85,0x83
-# CHECK: s_min_u32 s0, s0, m0 ; encoding: [0x00,0x7c,0x80,0x83]
-0x00,0x7c,0x80,0x83
+# CHECK: s_min_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x83]
+0x01,0x7c,0x85,0x83
-# CHECK: s_min_u32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x80,0x83]
-0x00,0x7e,0x80,0x83
+# CHECK: s_min_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x83]
+0x01,0x7e,0x85,0x83
-# CHECK: s_min_u32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x80,0x83]
-0x00,0x7f,0x80,0x83
+# CHECK: s_min_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x83]
+0x01,0x7f,0x85,0x83
-# CHECK: s_min_u32 s0, s0, 0 ; encoding: [0x00,0x80,0x80,0x83]
-0x00,0x80,0x80,0x83
+# CHECK: s_min_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x83]
+0x01,0x80,0x85,0x83
-# CHECK: s_min_u32 s0, s0, -1 ; encoding: [0x00,0xc1,0x80,0x83]
-0x00,0xc1,0x80,0x83
+# CHECK: s_min_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x83]
+0x01,0xc1,0x85,0x83
-# CHECK: s_min_u32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x80,0x83]
-0x00,0xf0,0x80,0x83
+# CHECK: s_min_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x83]
+0x01,0xf0,0x85,0x83
-# CHECK: s_min_u32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x80,0x83]
-0x00,0xf7,0x80,0x83
+# CHECK: s_min_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x83]
+0x01,0xf7,0x85,0x83
-# CHECK: s_min_u32 s0, s0, scc ; encoding: [0x00,0xfd,0x80,0x83]
-0x00,0xfd,0x80,0x83
+# CHECK: s_min_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x83]
+0x01,0xfd,0x85,0x83
-# CHECK: s_min_u32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x80,0x83,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x83,0x56,0x34,0x12,0xaf
+# CHECK: s_min_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x83,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x85,0x83,0x56,0x34,0x12,0xaf
-# CHECK: s_min_u32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x80,0x83,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x83,0x73,0x72,0x71,0x3f
+# CHECK: s_min_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x83,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x83,0x73,0x72,0x71,0x3f
-# CHECK: s_max_i32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x84]
-0x00,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x84]
+0x01,0x02,0x05,0x84
-# CHECK: s_max_i32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x84]
-0x00,0x00,0x65,0x84
+# CHECK: s_max_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x84]
+0x01,0x02,0x65,0x84
-# CHECK: s_max_i32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x84]
-0x00,0x00,0x66,0x84
+# CHECK: s_max_i32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x84]
+0x01,0x02,0x66,0x84
-# CHECK: s_max_i32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x84]
-0x00,0x00,0x67,0x84
+# CHECK: s_max_i32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x84]
+0x01,0x02,0x67,0x84
-# CHECK: s_max_i32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x84]
-0x00,0x00,0x6a,0x84
+# CHECK: s_max_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x84]
+0x01,0x02,0x6a,0x84
-# CHECK: s_max_i32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x84]
-0x00,0x00,0x6b,0x84
+# CHECK: s_max_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x84]
+0x01,0x02,0x6b,0x84
-# CHECK: s_max_i32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x84]
-0x00,0x00,0x6c,0x84
+# CHECK: s_max_i32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x84]
+0x01,0x02,0x6c,0x84
-# CHECK: s_max_i32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x84]
-0x00,0x00,0x6d,0x84
+# CHECK: s_max_i32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x84]
+0x01,0x02,0x6d,0x84
-# CHECK: s_max_i32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x84]
-0x00,0x00,0x6e,0x84
+# CHECK: s_max_i32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x84]
+0x01,0x02,0x6e,0x84
-# CHECK: s_max_i32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x84]
-0x00,0x00,0x6f,0x84
+# CHECK: s_max_i32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x84]
+0x01,0x02,0x6f,0x84
-# CHECK: s_max_i32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x84]
-0x00,0x00,0x7b,0x84
+# CHECK: s_max_i32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x84]
+0x01,0x02,0x7b,0x84
-# CHECK: s_max_i32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x84]
-0x00,0x00,0x7c,0x84
+# CHECK: s_max_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x84]
+0x01,0x02,0x7c,0x84
-# CHECK: s_max_i32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x84]
-0x00,0x00,0x7e,0x84
+# CHECK: s_max_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x84]
+0x01,0x02,0x7e,0x84
-# CHECK: s_max_i32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x84]
-0x00,0x00,0x7f,0x84
+# CHECK: s_max_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x84]
+0x01,0x02,0x7f,0x84
-# CHECK: s_max_i32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x84]
-0x65,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x84]
+0x65,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x84]
-0x66,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x84]
+0x66,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x84]
-0x67,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x84]
+0x67,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x84]
-0x6a,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x84]
+0x6a,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x84]
-0x6b,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x84]
+0x6b,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x84]
-0x6c,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x84]
+0x6c,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x84]
-0x6d,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x84]
+0x6d,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x84]
-0x6e,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x84]
+0x6e,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x84]
-0x6f,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x84]
+0x6f,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x84]
-0x7b,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x84]
+0x7b,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x84]
-0x7c,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x84]
+0x7c,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x84]
-0x7e,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x84]
+0x7e,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x84]
-0x7f,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x84]
+0x7f,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x84]
-0x80,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x84]
+0x80,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x84]
-0xc1,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x84]
+0xc1,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x84]
-0xf0,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x84]
+0xf0,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x84]
-0xf7,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x84]
+0xf7,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x84]
-0xfd,0x00,0x00,0x84
+# CHECK: s_max_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x84]
+0xfd,0x02,0x05,0x84
-# CHECK: s_max_i32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x84]
-0x00,0x65,0x00,0x84
+# CHECK: s_max_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x84]
+0x01,0x65,0x05,0x84
-# CHECK: s_max_i32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x84]
-0x00,0x66,0x00,0x84
+# CHECK: s_max_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x84]
+0x01,0x66,0x05,0x84
-# CHECK: s_max_i32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x84]
-0x00,0x67,0x00,0x84
+# CHECK: s_max_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x84]
+0x01,0x67,0x05,0x84
-# CHECK: s_max_i32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x84]
-0x00,0x6a,0x00,0x84
+# CHECK: s_max_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x84]
+0x01,0x6a,0x05,0x84
-# CHECK: s_max_i32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x84]
-0x00,0x6b,0x00,0x84
+# CHECK: s_max_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x84]
+0x01,0x6b,0x05,0x84
-# CHECK: s_max_i32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x84]
-0x00,0x6c,0x00,0x84
+# CHECK: s_max_i32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x84]
+0x01,0x6c,0x05,0x84
-# CHECK: s_max_i32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x84]
-0x00,0x6d,0x00,0x84
+# CHECK: s_max_i32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x84]
+0x01,0x6d,0x05,0x84
-# CHECK: s_max_i32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x84]
-0x00,0x6e,0x00,0x84
+# CHECK: s_max_i32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x84]
+0x01,0x6e,0x05,0x84
-# CHECK: s_max_i32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x84]
-0x00,0x6f,0x00,0x84
+# CHECK: s_max_i32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x84]
+0x01,0x6f,0x05,0x84
-# CHECK: s_max_i32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x84]
-0x00,0x7b,0x00,0x84
+# CHECK: s_max_i32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x84]
+0x01,0x7b,0x05,0x84
-# CHECK: s_max_i32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x84]
-0x00,0x7c,0x00,0x84
+# CHECK: s_max_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x84]
+0x01,0x7c,0x05,0x84
-# CHECK: s_max_i32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x84]
-0x00,0x7e,0x00,0x84
+# CHECK: s_max_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x84]
+0x01,0x7e,0x05,0x84
-# CHECK: s_max_i32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x84]
-0x00,0x7f,0x00,0x84
+# CHECK: s_max_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x84]
+0x01,0x7f,0x05,0x84
-# CHECK: s_max_i32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x84]
-0x00,0x80,0x00,0x84
+# CHECK: s_max_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x84]
+0x01,0x80,0x05,0x84
-# CHECK: s_max_i32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x84]
-0x00,0xc1,0x00,0x84
+# CHECK: s_max_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x84]
+0x01,0xc1,0x05,0x84
-# CHECK: s_max_i32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x84]
-0x00,0xf0,0x00,0x84
+# CHECK: s_max_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x84]
+0x01,0xf0,0x05,0x84
-# CHECK: s_max_i32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x84]
-0x00,0xf7,0x00,0x84
+# CHECK: s_max_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x84]
+0x01,0xf7,0x05,0x84
-# CHECK: s_max_i32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x84]
-0x00,0xfd,0x00,0x84
+# CHECK: s_max_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x84]
+0x01,0xfd,0x05,0x84
-# CHECK: s_max_i32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x84,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x84,0x56,0x34,0x12,0xaf
+# CHECK: s_max_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x84,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x84,0x56,0x34,0x12,0xaf
-# CHECK: s_max_i32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x84,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x84,0x73,0x72,0x71,0x3f
+# CHECK: s_max_i32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x84,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x84,0x73,0x72,0x71,0x3f
-# CHECK: s_max_u32 s0, s0, s0 ; encoding: [0x00,0x00,0x80,0x84]
-0x00,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x84]
+0x01,0x02,0x85,0x84
-# CHECK: s_max_u32 s101, s0, s0 ; encoding: [0x00,0x00,0xe5,0x84]
-0x00,0x00,0xe5,0x84
+# CHECK: s_max_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x84]
+0x01,0x02,0xe5,0x84
-# CHECK: s_max_u32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0xe6,0x84]
-0x00,0x00,0xe6,0x84
+# CHECK: s_max_u32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0xe6,0x84]
+0x01,0x02,0xe6,0x84
-# CHECK: s_max_u32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0xe7,0x84]
-0x00,0x00,0xe7,0x84
+# CHECK: s_max_u32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0xe7,0x84]
+0x01,0x02,0xe7,0x84
-# CHECK: s_max_u32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0xea,0x84]
-0x00,0x00,0xea,0x84
+# CHECK: s_max_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x84]
+0x01,0x02,0xea,0x84
-# CHECK: s_max_u32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0xeb,0x84]
-0x00,0x00,0xeb,0x84
+# CHECK: s_max_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x84]
+0x01,0x02,0xeb,0x84
-# CHECK: s_max_u32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0xec,0x84]
-0x00,0x00,0xec,0x84
+# CHECK: s_max_u32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0xec,0x84]
+0x01,0x02,0xec,0x84
-# CHECK: s_max_u32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0xed,0x84]
-0x00,0x00,0xed,0x84
+# CHECK: s_max_u32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0xed,0x84]
+0x01,0x02,0xed,0x84
-# CHECK: s_max_u32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0xee,0x84]
-0x00,0x00,0xee,0x84
+# CHECK: s_max_u32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0xee,0x84]
+0x01,0x02,0xee,0x84
-# CHECK: s_max_u32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0xef,0x84]
-0x00,0x00,0xef,0x84
+# CHECK: s_max_u32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0xef,0x84]
+0x01,0x02,0xef,0x84
-# CHECK: s_max_u32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0xfb,0x84]
-0x00,0x00,0xfb,0x84
+# CHECK: s_max_u32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0xfb,0x84]
+0x01,0x02,0xfb,0x84
-# CHECK: s_max_u32 m0, s0, s0 ; encoding: [0x00,0x00,0xfc,0x84]
-0x00,0x00,0xfc,0x84
+# CHECK: s_max_u32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x84]
+0x01,0x02,0xfc,0x84
-# CHECK: s_max_u32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0xfe,0x84]
-0x00,0x00,0xfe,0x84
+# CHECK: s_max_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x84]
+0x01,0x02,0xfe,0x84
-# CHECK: s_max_u32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0xff,0x84]
-0x00,0x00,0xff,0x84
+# CHECK: s_max_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x84]
+0x01,0x02,0xff,0x84
-# CHECK: s_max_u32 s0, s101, s0 ; encoding: [0x65,0x00,0x80,0x84]
-0x65,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x84]
+0x65,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x80,0x84]
-0x66,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x84]
+0x66,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x80,0x84]
-0x67,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x84]
+0x67,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x80,0x84]
-0x6a,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x84]
+0x6a,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x80,0x84]
-0x6b,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x84]
+0x6b,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x80,0x84]
-0x6c,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x85,0x84]
+0x6c,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x80,0x84]
-0x6d,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x85,0x84]
+0x6d,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x80,0x84]
-0x6e,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x85,0x84]
+0x6e,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x80,0x84]
-0x6f,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x85,0x84]
+0x6f,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x80,0x84]
-0x7b,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x85,0x84]
+0x7b,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, m0, s0 ; encoding: [0x7c,0x00,0x80,0x84]
-0x7c,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x84]
+0x7c,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x80,0x84]
-0x7e,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x84]
+0x7e,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x80,0x84]
-0x7f,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x84]
+0x7f,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, 0, s0 ; encoding: [0x80,0x00,0x80,0x84]
-0x80,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x84]
+0x80,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, -1, s0 ; encoding: [0xc1,0x00,0x80,0x84]
-0xc1,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x84]
+0xc1,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x84]
-0xf0,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x84]
+0xf0,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x84]
-0xf7,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x84]
+0xf7,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, scc, s0 ; encoding: [0xfd,0x00,0x80,0x84]
-0xfd,0x00,0x80,0x84
+# CHECK: s_max_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x84]
+0xfd,0x02,0x85,0x84
-# CHECK: s_max_u32 s0, s0, s101 ; encoding: [0x00,0x65,0x80,0x84]
-0x00,0x65,0x80,0x84
+# CHECK: s_max_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x84]
+0x01,0x65,0x85,0x84
-# CHECK: s_max_u32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x84]
-0x00,0x66,0x80,0x84
+# CHECK: s_max_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x84]
+0x01,0x66,0x85,0x84
-# CHECK: s_max_u32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x84]
-0x00,0x67,0x80,0x84
+# CHECK: s_max_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x84]
+0x01,0x67,0x85,0x84
-# CHECK: s_max_u32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x80,0x84]
-0x00,0x6a,0x80,0x84
+# CHECK: s_max_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x84]
+0x01,0x6a,0x85,0x84
-# CHECK: s_max_u32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x80,0x84]
-0x00,0x6b,0x80,0x84
+# CHECK: s_max_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x84]
+0x01,0x6b,0x85,0x84
-# CHECK: s_max_u32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x80,0x84]
-0x00,0x6c,0x80,0x84
+# CHECK: s_max_u32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x85,0x84]
+0x01,0x6c,0x85,0x84
-# CHECK: s_max_u32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x80,0x84]
-0x00,0x6d,0x80,0x84
+# CHECK: s_max_u32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x85,0x84]
+0x01,0x6d,0x85,0x84
-# CHECK: s_max_u32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x80,0x84]
-0x00,0x6e,0x80,0x84
+# CHECK: s_max_u32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x85,0x84]
+0x01,0x6e,0x85,0x84
-# CHECK: s_max_u32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x80,0x84]
-0x00,0x6f,0x80,0x84
+# CHECK: s_max_u32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x85,0x84]
+0x01,0x6f,0x85,0x84
-# CHECK: s_max_u32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x80,0x84]
-0x00,0x7b,0x80,0x84
+# CHECK: s_max_u32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x85,0x84]
+0x01,0x7b,0x85,0x84
-# CHECK: s_max_u32 s0, s0, m0 ; encoding: [0x00,0x7c,0x80,0x84]
-0x00,0x7c,0x80,0x84
+# CHECK: s_max_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x84]
+0x01,0x7c,0x85,0x84
-# CHECK: s_max_u32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x80,0x84]
-0x00,0x7e,0x80,0x84
+# CHECK: s_max_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x84]
+0x01,0x7e,0x85,0x84
-# CHECK: s_max_u32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x80,0x84]
-0x00,0x7f,0x80,0x84
+# CHECK: s_max_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x84]
+0x01,0x7f,0x85,0x84
-# CHECK: s_max_u32 s0, s0, 0 ; encoding: [0x00,0x80,0x80,0x84]
-0x00,0x80,0x80,0x84
+# CHECK: s_max_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x84]
+0x01,0x80,0x85,0x84
-# CHECK: s_max_u32 s0, s0, -1 ; encoding: [0x00,0xc1,0x80,0x84]
-0x00,0xc1,0x80,0x84
+# CHECK: s_max_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x84]
+0x01,0xc1,0x85,0x84
-# CHECK: s_max_u32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x80,0x84]
-0x00,0xf0,0x80,0x84
+# CHECK: s_max_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x84]
+0x01,0xf0,0x85,0x84
-# CHECK: s_max_u32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x80,0x84]
-0x00,0xf7,0x80,0x84
+# CHECK: s_max_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x84]
+0x01,0xf7,0x85,0x84
-# CHECK: s_max_u32 s0, s0, scc ; encoding: [0x00,0xfd,0x80,0x84]
-0x00,0xfd,0x80,0x84
+# CHECK: s_max_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x84]
+0x01,0xfd,0x85,0x84
-# CHECK: s_max_u32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x80,0x84,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x84,0x56,0x34,0x12,0xaf
+# CHECK: s_max_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x84,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x85,0x84,0x56,0x34,0x12,0xaf
-# CHECK: s_max_u32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x80,0x84,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x84,0x73,0x72,0x71,0x3f
+# CHECK: s_max_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x84,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x84,0x73,0x72,0x71,0x3f
-# CHECK: s_cselect_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x85]
-0x00,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x85]
+0x01,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x85]
-0x00,0x00,0x65,0x85
+# CHECK: s_cselect_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x85]
+0x01,0x02,0x65,0x85
-# CHECK: s_cselect_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x85]
-0x00,0x00,0x66,0x85
+# CHECK: s_cselect_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x85]
+0x01,0x02,0x66,0x85
-# CHECK: s_cselect_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x85]
-0x00,0x00,0x67,0x85
+# CHECK: s_cselect_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x85]
+0x01,0x02,0x67,0x85
-# CHECK: s_cselect_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x85]
-0x00,0x00,0x6a,0x85
+# CHECK: s_cselect_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x85]
+0x01,0x02,0x6a,0x85
-# CHECK: s_cselect_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x85]
-0x00,0x00,0x6b,0x85
+# CHECK: s_cselect_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x85]
+0x01,0x02,0x6b,0x85
-# CHECK: s_cselect_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x85]
-0x00,0x00,0x6c,0x85
+# CHECK: s_cselect_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x85]
+0x01,0x02,0x6c,0x85
-# CHECK: s_cselect_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x85]
-0x00,0x00,0x6d,0x85
+# CHECK: s_cselect_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x85]
+0x01,0x02,0x6d,0x85
-# CHECK: s_cselect_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x85]
-0x00,0x00,0x6e,0x85
+# CHECK: s_cselect_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x85]
+0x01,0x02,0x6e,0x85
-# CHECK: s_cselect_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x85]
-0x00,0x00,0x6f,0x85
+# CHECK: s_cselect_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x85]
+0x01,0x02,0x6f,0x85
-# CHECK: s_cselect_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x85]
-0x00,0x00,0x7b,0x85
+# CHECK: s_cselect_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x85]
+0x01,0x02,0x7b,0x85
-# CHECK: s_cselect_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x85]
-0x00,0x00,0x7c,0x85
+# CHECK: s_cselect_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x85]
+0x01,0x02,0x7c,0x85
-# CHECK: s_cselect_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x85]
-0x00,0x00,0x7e,0x85
+# CHECK: s_cselect_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x85]
+0x01,0x02,0x7e,0x85
-# CHECK: s_cselect_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x85]
-0x00,0x00,0x7f,0x85
+# CHECK: s_cselect_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x85]
+0x01,0x02,0x7f,0x85
-# CHECK: s_cselect_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x85]
-0x65,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x85]
+0x65,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x85]
-0x66,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x85]
+0x66,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x85]
-0x67,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x85]
+0x67,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x85]
-0x6a,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x85]
+0x6a,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x85]
-0x6b,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x85]
+0x6b,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x85]
-0x6c,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x85]
+0x6c,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x85]
-0x6d,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x85]
+0x6d,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x85]
-0x6e,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x85]
+0x6e,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x85]
-0x6f,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x85]
+0x6f,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x85]
-0x7b,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x85]
+0x7b,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x85]
-0x7c,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x85]
+0x7c,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x85]
-0x7e,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x85]
+0x7e,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x85]
-0x7f,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x85]
+0x7f,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x85]
-0x80,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x85]
+0x80,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x85]
-0xc1,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x85]
+0xc1,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x85]
-0xf0,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x85]
+0xf0,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x85]
-0xf7,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x85]
+0xf7,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x85]
-0xfd,0x00,0x00,0x85
+# CHECK: s_cselect_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x85]
+0xfd,0x02,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x85]
-0x00,0x65,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x85]
+0x01,0x65,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x85]
-0x00,0x66,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x85]
+0x01,0x66,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x85]
-0x00,0x67,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x85]
+0x01,0x67,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x85]
-0x00,0x6a,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x85]
+0x01,0x6a,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x85]
-0x00,0x6b,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x85]
+0x01,0x6b,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x85]
-0x00,0x6c,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x85]
+0x01,0x6c,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x85]
-0x00,0x6d,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x85]
+0x01,0x6d,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x85]
-0x00,0x6e,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x85]
+0x01,0x6e,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x85]
-0x00,0x6f,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x85]
+0x01,0x6f,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x85]
-0x00,0x7b,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x85]
+0x01,0x7b,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x85]
-0x00,0x7c,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x85]
+0x01,0x7c,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x85]
-0x00,0x7e,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x85]
+0x01,0x7e,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x85]
-0x00,0x7f,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x85]
+0x01,0x7f,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x85]
-0x00,0x80,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x85]
+0x01,0x80,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x85]
-0x00,0xc1,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x85]
+0x01,0xc1,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x85]
-0x00,0xf0,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x85]
+0x01,0xf0,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x85]
-0x00,0xf7,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x85]
+0x01,0xf7,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x85]
-0x00,0xfd,0x00,0x85
+# CHECK: s_cselect_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x85]
+0x01,0xfd,0x05,0x85
-# CHECK: s_cselect_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x85,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x85,0x56,0x34,0x12,0xaf
+# CHECK: s_cselect_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x85,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x85,0x56,0x34,0x12,0xaf
-# CHECK: s_cselect_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x85,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x85,0x73,0x72,0x71,0x3f
+# CHECK: s_cselect_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x85,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x85,0x73,0x72,0x71,0x3f
-# CHECK: s_cselect_b64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0x85]
-0x00,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x85]
+0x02,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[2:3], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0x85]
-0x00,0x00,0x82,0x85
+# CHECK: s_cselect_b64 s[12:13], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8c,0x85]
+0x02,0x04,0x8c,0x85
-# CHECK: s_cselect_b64 s[100:101], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0x85]
-0x00,0x00,0xe4,0x85
+# CHECK: s_cselect_b64 s[100:101], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x85]
+0x02,0x04,0xe4,0x85
-# CHECK: s_cselect_b64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0x85]
-0x00,0x00,0xe6,0x85
+# CHECK: s_cselect_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x85]
+0x02,0x04,0xe6,0x85
-# CHECK: s_cselect_b64 vcc, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0x85]
-0x00,0x00,0xea,0x85
+# CHECK: s_cselect_b64 vcc, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x85]
+0x02,0x04,0xea,0x85
-# CHECK: s_cselect_b64 tba, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0x85]
-0x00,0x00,0xec,0x85
+# CHECK: s_cselect_b64 tba, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xec,0x85]
+0x02,0x04,0xec,0x85
-# CHECK: s_cselect_b64 tma, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0x85]
-0x00,0x00,0xee,0x85
+# CHECK: s_cselect_b64 tma, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xee,0x85]
+0x02,0x04,0xee,0x85
-# CHECK: s_cselect_b64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0x85]
-0x00,0x00,0xfa,0x85
+# CHECK: s_cselect_b64 ttmp[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfa,0x85]
+0x02,0x04,0xfa,0x85
-# CHECK: s_cselect_b64 exec, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0x85]
-0x00,0x00,0xfe,0x85
+# CHECK: s_cselect_b64 exec, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfe,0x85]
+0x02,0x04,0xfe,0x85
-# CHECK: s_cselect_b64 s[0:1], s[2:3], s[0:1] ; encoding: [0x02,0x00,0x80,0x85]
-0x02,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x85]
+0x04,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[100:101], s[0:1] ; encoding: [0x64,0x00,0x80,0x85]
-0x64,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x85]
+0x64,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x80,0x85]
-0x66,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x85]
+0x66,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], vcc, s[0:1] ; encoding: [0x6a,0x00,0x80,0x85]
-0x6a,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], vcc, s[4:5] ; encoding: [0x6a,0x04,0x8a,0x85]
+0x6a,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], tba, s[0:1] ; encoding: [0x6c,0x00,0x80,0x85]
-0x6c,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], tba, s[4:5] ; encoding: [0x6c,0x04,0x8a,0x85]
+0x6c,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], tma, s[0:1] ; encoding: [0x6e,0x00,0x80,0x85]
-0x6e,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], tma, s[4:5] ; encoding: [0x6e,0x04,0x8a,0x85]
+0x6e,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x80,0x85]
-0x7a,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x8a,0x85]
+0x7a,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], exec, s[0:1] ; encoding: [0x7e,0x00,0x80,0x85]
-0x7e,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x85]
+0x7e,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], 0, s[0:1] ; encoding: [0x80,0x00,0x80,0x85]
-0x80,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], 0, s[4:5] ; encoding: [0x80,0x04,0x8a,0x85]
+0x80,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], -1, s[0:1] ; encoding: [0xc1,0x00,0x80,0x85]
-0xc1,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x85]
+0xc1,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], 0.5, s[0:1] ; encoding: [0xf0,0x00,0x80,0x85]
-0xf0,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], 0.5, s[4:5] ; encoding: [0xf0,0x04,0x8a,0x85]
+0xf0,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], -4.0, s[0:1] ; encoding: [0xf7,0x00,0x80,0x85]
-0xf7,0x00,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x85]
+0xf7,0x04,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], s[2:3] ; encoding: [0x00,0x02,0x80,0x85]
-0x00,0x02,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x85]
+0x02,0x06,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], s[100:101] ; encoding: [0x00,0x64,0x80,0x85]
-0x00,0x64,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x85]
+0x02,0x64,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], flat_scratch ; encoding: [0x00,0x66,0x80,0x85]
-0x00,0x66,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x85]
+0x02,0x66,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], vcc ; encoding: [0x00,0x6a,0x80,0x85]
-0x00,0x6a,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x85]
+0x02,0x6a,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], tba ; encoding: [0x00,0x6c,0x80,0x85]
-0x00,0x6c,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], tba ; encoding: [0x02,0x6c,0x8a,0x85]
+0x02,0x6c,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], tma ; encoding: [0x00,0x6e,0x80,0x85]
-0x00,0x6e,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], tma ; encoding: [0x02,0x6e,0x8a,0x85]
+0x02,0x6e,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x80,0x85]
-0x00,0x7a,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x8a,0x85]
+0x02,0x7a,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], exec ; encoding: [0x00,0x7e,0x80,0x85]
-0x00,0x7e,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], exec ; encoding: [0x02,0x7e,0x8a,0x85]
+0x02,0x7e,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x85]
-0x00,0x80,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x85]
+0x02,0x80,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x85]
-0x00,0xc1,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x85]
+0x02,0xc1,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x85]
-0x00,0xf0,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x85]
+0x02,0xf0,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x85]
-0x00,0xf7,0x80,0x85
+# CHECK: s_cselect_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x85]
+0x02,0xf7,0x8a,0x85
-# CHECK: s_cselect_b64 s[0:1], s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x80,0x85,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x85,0x56,0x34,0x12,0xaf
+# CHECK: s_cselect_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x85,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x85,0x56,0x34,0x12,0xaf
-# CHECK: s_cselect_b64 s[0:1], s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x80,0x85,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x85,0x73,0x72,0x71,0x3f
+# CHECK: s_cselect_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x85,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x85,0x73,0x72,0x71,0x3f
-# CHECK: s_and_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x86]
-0x00,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x86]
+0x01,0x02,0x05,0x86
-# CHECK: s_and_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x86]
-0x00,0x00,0x65,0x86
+# CHECK: s_and_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x86]
+0x01,0x02,0x65,0x86
-# CHECK: s_and_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x86]
-0x00,0x00,0x66,0x86
+# CHECK: s_and_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x86]
+0x01,0x02,0x66,0x86
-# CHECK: s_and_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x86]
-0x00,0x00,0x67,0x86
+# CHECK: s_and_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x86]
+0x01,0x02,0x67,0x86
-# CHECK: s_and_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x86]
-0x00,0x00,0x6a,0x86
+# CHECK: s_and_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x86]
+0x01,0x02,0x6a,0x86
-# CHECK: s_and_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x86]
-0x00,0x00,0x6b,0x86
+# CHECK: s_and_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x86]
+0x01,0x02,0x6b,0x86
-# CHECK: s_and_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x86]
-0x00,0x00,0x6c,0x86
+# CHECK: s_and_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x86]
+0x01,0x02,0x6c,0x86
-# CHECK: s_and_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x86]
-0x00,0x00,0x6d,0x86
+# CHECK: s_and_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x86]
+0x01,0x02,0x6d,0x86
-# CHECK: s_and_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x86]
-0x00,0x00,0x6e,0x86
+# CHECK: s_and_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x86]
+0x01,0x02,0x6e,0x86
-# CHECK: s_and_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x86]
-0x00,0x00,0x6f,0x86
+# CHECK: s_and_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x86]
+0x01,0x02,0x6f,0x86
-# CHECK: s_and_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x86]
-0x00,0x00,0x7b,0x86
+# CHECK: s_and_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x86]
+0x01,0x02,0x7b,0x86
-# CHECK: s_and_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x86]
-0x00,0x00,0x7c,0x86
+# CHECK: s_and_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x86]
+0x01,0x02,0x7c,0x86
-# CHECK: s_and_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x86]
-0x00,0x00,0x7e,0x86
+# CHECK: s_and_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x86]
+0x01,0x02,0x7e,0x86
-# CHECK: s_and_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x86]
-0x00,0x00,0x7f,0x86
+# CHECK: s_and_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x86]
+0x01,0x02,0x7f,0x86
-# CHECK: s_and_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x86]
-0x65,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x86]
+0x65,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x86]
-0x66,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x86]
+0x66,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x86]
-0x67,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x86]
+0x67,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x86]
-0x6a,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x86]
+0x6a,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x86]
-0x6b,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x86]
+0x6b,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x86]
-0x6c,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x86]
+0x6c,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x86]
-0x6d,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x86]
+0x6d,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x86]
-0x6e,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x86]
+0x6e,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x86]
-0x6f,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x86]
+0x6f,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x86]
-0x7b,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x86]
+0x7b,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x86]
-0x7c,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x86]
+0x7c,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x86]
-0x7e,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x86]
+0x7e,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x86]
-0x7f,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x86]
+0x7f,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x86]
-0x80,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x86]
+0x80,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x86]
-0xc1,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x86]
+0xc1,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x86]
-0xf0,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x86]
+0xf0,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x86]
-0xf7,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x86]
+0xf7,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x86]
-0xfd,0x00,0x00,0x86
+# CHECK: s_and_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x86]
+0xfd,0x02,0x05,0x86
-# CHECK: s_and_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x86]
-0x00,0x65,0x00,0x86
+# CHECK: s_and_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x86]
+0x01,0x65,0x05,0x86
-# CHECK: s_and_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x86]
-0x00,0x66,0x00,0x86
+# CHECK: s_and_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x86]
+0x01,0x66,0x05,0x86
-# CHECK: s_and_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x86]
-0x00,0x67,0x00,0x86
+# CHECK: s_and_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x86]
+0x01,0x67,0x05,0x86
-# CHECK: s_and_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x86]
-0x00,0x6a,0x00,0x86
+# CHECK: s_and_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x86]
+0x01,0x6a,0x05,0x86
-# CHECK: s_and_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x86]
-0x00,0x6b,0x00,0x86
+# CHECK: s_and_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x86]
+0x01,0x6b,0x05,0x86
-# CHECK: s_and_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x86]
-0x00,0x6c,0x00,0x86
+# CHECK: s_and_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x86]
+0x01,0x6c,0x05,0x86
-# CHECK: s_and_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x86]
-0x00,0x6d,0x00,0x86
+# CHECK: s_and_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x86]
+0x01,0x6d,0x05,0x86
-# CHECK: s_and_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x86]
-0x00,0x6e,0x00,0x86
+# CHECK: s_and_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x86]
+0x01,0x6e,0x05,0x86
-# CHECK: s_and_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x86]
-0x00,0x6f,0x00,0x86
+# CHECK: s_and_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x86]
+0x01,0x6f,0x05,0x86
-# CHECK: s_and_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x86]
-0x00,0x7b,0x00,0x86
+# CHECK: s_and_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x86]
+0x01,0x7b,0x05,0x86
-# CHECK: s_and_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x86]
-0x00,0x7c,0x00,0x86
+# CHECK: s_and_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x86]
+0x01,0x7c,0x05,0x86
-# CHECK: s_and_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x86]
-0x00,0x7e,0x00,0x86
+# CHECK: s_and_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x86]
+0x01,0x7e,0x05,0x86
-# CHECK: s_and_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x86]
-0x00,0x7f,0x00,0x86
+# CHECK: s_and_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x86]
+0x01,0x7f,0x05,0x86
-# CHECK: s_and_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x86]
-0x00,0x80,0x00,0x86
+# CHECK: s_and_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x86]
+0x01,0x80,0x05,0x86
-# CHECK: s_and_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x86]
-0x00,0xc1,0x00,0x86
+# CHECK: s_and_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x86]
+0x01,0xc1,0x05,0x86
-# CHECK: s_and_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x86]
-0x00,0xf0,0x00,0x86
+# CHECK: s_and_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x86]
+0x01,0xf0,0x05,0x86
-# CHECK: s_and_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x86]
-0x00,0xf7,0x00,0x86
+# CHECK: s_and_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x86]
+0x01,0xf7,0x05,0x86
-# CHECK: s_and_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x86]
-0x00,0xfd,0x00,0x86
+# CHECK: s_and_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x86]
+0x01,0xfd,0x05,0x86
-# CHECK: s_and_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x86,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x86,0x56,0x34,0x12,0xaf
+# CHECK: s_and_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x86,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x86,0x56,0x34,0x12,0xaf
-# CHECK: s_and_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x86,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x86,0x73,0x72,0x71,0x3f
+# CHECK: s_and_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x86,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x86,0x73,0x72,0x71,0x3f
-# CHECK: s_and_b64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0x86]
-0x00,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x86]
+0x02,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[2:3], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0x86]
-0x00,0x00,0x82,0x86
+# CHECK: s_and_b64 s[12:13], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8c,0x86]
+0x02,0x04,0x8c,0x86
-# CHECK: s_and_b64 s[100:101], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0x86]
-0x00,0x00,0xe4,0x86
+# CHECK: s_and_b64 s[100:101], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x86]
+0x02,0x04,0xe4,0x86
-# CHECK: s_and_b64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0x86]
-0x00,0x00,0xe6,0x86
+# CHECK: s_and_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x86]
+0x02,0x04,0xe6,0x86
-# CHECK: s_and_b64 vcc, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0x86]
-0x00,0x00,0xea,0x86
+# CHECK: s_and_b64 vcc, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x86]
+0x02,0x04,0xea,0x86
-# CHECK: s_and_b64 tba, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0x86]
-0x00,0x00,0xec,0x86
+# CHECK: s_and_b64 tba, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xec,0x86]
+0x02,0x04,0xec,0x86
-# CHECK: s_and_b64 tma, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0x86]
-0x00,0x00,0xee,0x86
+# CHECK: s_and_b64 tma, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xee,0x86]
+0x02,0x04,0xee,0x86
-# CHECK: s_and_b64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0x86]
-0x00,0x00,0xfa,0x86
+# CHECK: s_and_b64 ttmp[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfa,0x86]
+0x02,0x04,0xfa,0x86
-# CHECK: s_and_b64 exec, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0x86]
-0x00,0x00,0xfe,0x86
+# CHECK: s_and_b64 exec, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfe,0x86]
+0x02,0x04,0xfe,0x86
-# CHECK: s_and_b64 s[0:1], s[2:3], s[0:1] ; encoding: [0x02,0x00,0x80,0x86]
-0x02,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x86]
+0x04,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[100:101], s[0:1] ; encoding: [0x64,0x00,0x80,0x86]
-0x64,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x86]
+0x64,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x80,0x86]
-0x66,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x86]
+0x66,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], vcc, s[0:1] ; encoding: [0x6a,0x00,0x80,0x86]
-0x6a,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], vcc, s[4:5] ; encoding: [0x6a,0x04,0x8a,0x86]
+0x6a,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], tba, s[0:1] ; encoding: [0x6c,0x00,0x80,0x86]
-0x6c,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], tba, s[4:5] ; encoding: [0x6c,0x04,0x8a,0x86]
+0x6c,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], tma, s[0:1] ; encoding: [0x6e,0x00,0x80,0x86]
-0x6e,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], tma, s[4:5] ; encoding: [0x6e,0x04,0x8a,0x86]
+0x6e,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x80,0x86]
-0x7a,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x8a,0x86]
+0x7a,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], exec, s[0:1] ; encoding: [0x7e,0x00,0x80,0x86]
-0x7e,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x86]
+0x7e,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], 0, s[0:1] ; encoding: [0x80,0x00,0x80,0x86]
-0x80,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], 0, s[4:5] ; encoding: [0x80,0x04,0x8a,0x86]
+0x80,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], -1, s[0:1] ; encoding: [0xc1,0x00,0x80,0x86]
-0xc1,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x86]
+0xc1,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], 0.5, s[0:1] ; encoding: [0xf0,0x00,0x80,0x86]
-0xf0,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], 0.5, s[4:5] ; encoding: [0xf0,0x04,0x8a,0x86]
+0xf0,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], -4.0, s[0:1] ; encoding: [0xf7,0x00,0x80,0x86]
-0xf7,0x00,0x80,0x86
+# CHECK: s_and_b64 s[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x86]
+0xf7,0x04,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], s[2:3] ; encoding: [0x00,0x02,0x80,0x86]
-0x00,0x02,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x86]
+0x02,0x06,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], s[100:101] ; encoding: [0x00,0x64,0x80,0x86]
-0x00,0x64,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x86]
+0x02,0x64,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], flat_scratch ; encoding: [0x00,0x66,0x80,0x86]
-0x00,0x66,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x86]
+0x02,0x66,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], vcc ; encoding: [0x00,0x6a,0x80,0x86]
-0x00,0x6a,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x86]
+0x02,0x6a,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], tba ; encoding: [0x00,0x6c,0x80,0x86]
-0x00,0x6c,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], tba ; encoding: [0x02,0x6c,0x8a,0x86]
+0x02,0x6c,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], tma ; encoding: [0x00,0x6e,0x80,0x86]
-0x00,0x6e,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], tma ; encoding: [0x02,0x6e,0x8a,0x86]
+0x02,0x6e,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x80,0x86]
-0x00,0x7a,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x8a,0x86]
+0x02,0x7a,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], exec ; encoding: [0x00,0x7e,0x80,0x86]
-0x00,0x7e,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], exec ; encoding: [0x02,0x7e,0x8a,0x86]
+0x02,0x7e,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x86]
-0x00,0x80,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x86]
+0x02,0x80,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x86]
-0x00,0xc1,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x86]
+0x02,0xc1,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x86]
-0x00,0xf0,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x86]
+0x02,0xf0,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x86]
-0x00,0xf7,0x80,0x86
+# CHECK: s_and_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x86]
+0x02,0xf7,0x8a,0x86
-# CHECK: s_and_b64 s[0:1], s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x80,0x86,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x86,0x56,0x34,0x12,0xaf
+# CHECK: s_and_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x86,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x86,0x56,0x34,0x12,0xaf
-# CHECK: s_and_b64 s[0:1], s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x80,0x86,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x86,0x73,0x72,0x71,0x3f
+# CHECK: s_and_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x86,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x86,0x73,0x72,0x71,0x3f
-# CHECK: s_or_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x87]
-0x00,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x87]
+0x01,0x02,0x05,0x87
-# CHECK: s_or_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x87]
-0x00,0x00,0x65,0x87
+# CHECK: s_or_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x87]
+0x01,0x02,0x65,0x87
-# CHECK: s_or_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x87]
-0x00,0x00,0x66,0x87
+# CHECK: s_or_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x87]
+0x01,0x02,0x66,0x87
-# CHECK: s_or_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x87]
-0x00,0x00,0x67,0x87
+# CHECK: s_or_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x87]
+0x01,0x02,0x67,0x87
-# CHECK: s_or_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x87]
-0x00,0x00,0x6a,0x87
+# CHECK: s_or_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x87]
+0x01,0x02,0x6a,0x87
-# CHECK: s_or_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x87]
-0x00,0x00,0x6b,0x87
+# CHECK: s_or_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x87]
+0x01,0x02,0x6b,0x87
-# CHECK: s_or_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x87]
-0x00,0x00,0x6c,0x87
+# CHECK: s_or_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x87]
+0x01,0x02,0x6c,0x87
-# CHECK: s_or_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x87]
-0x00,0x00,0x6d,0x87
+# CHECK: s_or_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x87]
+0x01,0x02,0x6d,0x87
-# CHECK: s_or_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x87]
-0x00,0x00,0x6e,0x87
+# CHECK: s_or_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x87]
+0x01,0x02,0x6e,0x87
-# CHECK: s_or_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x87]
-0x00,0x00,0x6f,0x87
+# CHECK: s_or_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x87]
+0x01,0x02,0x6f,0x87
-# CHECK: s_or_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x87]
-0x00,0x00,0x7b,0x87
+# CHECK: s_or_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x87]
+0x01,0x02,0x7b,0x87
-# CHECK: s_or_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x87]
-0x00,0x00,0x7c,0x87
+# CHECK: s_or_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x87]
+0x01,0x02,0x7c,0x87
-# CHECK: s_or_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x87]
-0x00,0x00,0x7e,0x87
+# CHECK: s_or_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x87]
+0x01,0x02,0x7e,0x87
-# CHECK: s_or_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x87]
-0x00,0x00,0x7f,0x87
+# CHECK: s_or_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x87]
+0x01,0x02,0x7f,0x87
-# CHECK: s_or_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x87]
-0x65,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x87]
+0x65,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x87]
-0x66,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x87]
+0x66,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x87]
-0x67,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x87]
+0x67,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x87]
-0x6a,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x87]
+0x6a,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x87]
-0x6b,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x87]
+0x6b,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x87]
-0x6c,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x87]
+0x6c,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x87]
-0x6d,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x87]
+0x6d,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x87]
-0x6e,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x87]
+0x6e,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x87]
-0x6f,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x87]
+0x6f,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x87]
-0x7b,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x87]
+0x7b,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x87]
-0x7c,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x87]
+0x7c,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x87]
-0x7e,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x87]
+0x7e,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x87]
-0x7f,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x87]
+0x7f,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x87]
-0x80,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x87]
+0x80,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x87]
-0xc1,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x87]
+0xc1,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x87]
-0xf0,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x87]
+0xf0,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x87]
-0xf7,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x87]
+0xf7,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x87]
-0xfd,0x00,0x00,0x87
+# CHECK: s_or_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x87]
+0xfd,0x02,0x05,0x87
-# CHECK: s_or_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x87]
-0x00,0x65,0x00,0x87
+# CHECK: s_or_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x87]
+0x01,0x65,0x05,0x87
-# CHECK: s_or_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x87]
-0x00,0x66,0x00,0x87
+# CHECK: s_or_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x87]
+0x01,0x66,0x05,0x87
-# CHECK: s_or_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x87]
-0x00,0x67,0x00,0x87
+# CHECK: s_or_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x87]
+0x01,0x67,0x05,0x87
-# CHECK: s_or_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x87]
-0x00,0x6a,0x00,0x87
+# CHECK: s_or_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x87]
+0x01,0x6a,0x05,0x87
-# CHECK: s_or_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x87]
-0x00,0x6b,0x00,0x87
+# CHECK: s_or_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x87]
+0x01,0x6b,0x05,0x87
-# CHECK: s_or_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x87]
-0x00,0x6c,0x00,0x87
+# CHECK: s_or_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x87]
+0x01,0x6c,0x05,0x87
-# CHECK: s_or_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x87]
-0x00,0x6d,0x00,0x87
+# CHECK: s_or_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x87]
+0x01,0x6d,0x05,0x87
-# CHECK: s_or_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x87]
-0x00,0x6e,0x00,0x87
+# CHECK: s_or_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x87]
+0x01,0x6e,0x05,0x87
-# CHECK: s_or_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x87]
-0x00,0x6f,0x00,0x87
+# CHECK: s_or_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x87]
+0x01,0x6f,0x05,0x87
-# CHECK: s_or_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x87]
-0x00,0x7b,0x00,0x87
+# CHECK: s_or_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x87]
+0x01,0x7b,0x05,0x87
-# CHECK: s_or_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x87]
-0x00,0x7c,0x00,0x87
+# CHECK: s_or_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x87]
+0x01,0x7c,0x05,0x87
-# CHECK: s_or_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x87]
-0x00,0x7e,0x00,0x87
+# CHECK: s_or_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x87]
+0x01,0x7e,0x05,0x87
-# CHECK: s_or_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x87]
-0x00,0x7f,0x00,0x87
+# CHECK: s_or_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x87]
+0x01,0x7f,0x05,0x87
-# CHECK: s_or_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x87]
-0x00,0x80,0x00,0x87
+# CHECK: s_or_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x87]
+0x01,0x80,0x05,0x87
-# CHECK: s_or_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x87]
-0x00,0xc1,0x00,0x87
+# CHECK: s_or_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x87]
+0x01,0xc1,0x05,0x87
-# CHECK: s_or_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x87]
-0x00,0xf0,0x00,0x87
+# CHECK: s_or_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x87]
+0x01,0xf0,0x05,0x87
-# CHECK: s_or_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x87]
-0x00,0xf7,0x00,0x87
+# CHECK: s_or_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x87]
+0x01,0xf7,0x05,0x87
-# CHECK: s_or_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x87]
-0x00,0xfd,0x00,0x87
+# CHECK: s_or_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x87]
+0x01,0xfd,0x05,0x87
-# CHECK: s_or_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x87,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x87,0x56,0x34,0x12,0xaf
+# CHECK: s_or_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x87,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x87,0x56,0x34,0x12,0xaf
-# CHECK: s_or_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x87,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x87,0x73,0x72,0x71,0x3f
+# CHECK: s_or_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x87,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x87,0x73,0x72,0x71,0x3f
-# CHECK: s_or_b64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0x87]
-0x00,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x87]
+0x02,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[2:3], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0x87]
-0x00,0x00,0x82,0x87
+# CHECK: s_or_b64 s[12:13], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8c,0x87]
+0x02,0x04,0x8c,0x87
-# CHECK: s_or_b64 s[100:101], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0x87]
-0x00,0x00,0xe4,0x87
+# CHECK: s_or_b64 s[100:101], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x87]
+0x02,0x04,0xe4,0x87
-# CHECK: s_or_b64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0x87]
-0x00,0x00,0xe6,0x87
+# CHECK: s_or_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x87]
+0x02,0x04,0xe6,0x87
-# CHECK: s_or_b64 vcc, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0x87]
-0x00,0x00,0xea,0x87
+# CHECK: s_or_b64 vcc, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x87]
+0x02,0x04,0xea,0x87
-# CHECK: s_or_b64 tba, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0x87]
-0x00,0x00,0xec,0x87
+# CHECK: s_or_b64 tba, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xec,0x87]
+0x02,0x04,0xec,0x87
-# CHECK: s_or_b64 tma, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0x87]
-0x00,0x00,0xee,0x87
+# CHECK: s_or_b64 tma, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xee,0x87]
+0x02,0x04,0xee,0x87
-# CHECK: s_or_b64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0x87]
-0x00,0x00,0xfa,0x87
+# CHECK: s_or_b64 ttmp[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfa,0x87]
+0x02,0x04,0xfa,0x87
-# CHECK: s_or_b64 exec, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0x87]
-0x00,0x00,0xfe,0x87
+# CHECK: s_or_b64 exec, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfe,0x87]
+0x02,0x04,0xfe,0x87
-# CHECK: s_or_b64 s[0:1], s[2:3], s[0:1] ; encoding: [0x02,0x00,0x80,0x87]
-0x02,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x87]
+0x04,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[100:101], s[0:1] ; encoding: [0x64,0x00,0x80,0x87]
-0x64,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x87]
+0x64,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x80,0x87]
-0x66,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x87]
+0x66,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], vcc, s[0:1] ; encoding: [0x6a,0x00,0x80,0x87]
-0x6a,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], vcc, s[4:5] ; encoding: [0x6a,0x04,0x8a,0x87]
+0x6a,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], tba, s[0:1] ; encoding: [0x6c,0x00,0x80,0x87]
-0x6c,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], tba, s[4:5] ; encoding: [0x6c,0x04,0x8a,0x87]
+0x6c,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], tma, s[0:1] ; encoding: [0x6e,0x00,0x80,0x87]
-0x6e,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], tma, s[4:5] ; encoding: [0x6e,0x04,0x8a,0x87]
+0x6e,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x80,0x87]
-0x7a,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x8a,0x87]
+0x7a,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], exec, s[0:1] ; encoding: [0x7e,0x00,0x80,0x87]
-0x7e,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x87]
+0x7e,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], 0, s[0:1] ; encoding: [0x80,0x00,0x80,0x87]
-0x80,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], 0, s[4:5] ; encoding: [0x80,0x04,0x8a,0x87]
+0x80,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], -1, s[0:1] ; encoding: [0xc1,0x00,0x80,0x87]
-0xc1,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x87]
+0xc1,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], 0.5, s[0:1] ; encoding: [0xf0,0x00,0x80,0x87]
-0xf0,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], 0.5, s[4:5] ; encoding: [0xf0,0x04,0x8a,0x87]
+0xf0,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], -4.0, s[0:1] ; encoding: [0xf7,0x00,0x80,0x87]
-0xf7,0x00,0x80,0x87
+# CHECK: s_or_b64 s[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x87]
+0xf7,0x04,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], s[2:3] ; encoding: [0x00,0x02,0x80,0x87]
-0x00,0x02,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x87]
+0x02,0x06,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], s[100:101] ; encoding: [0x00,0x64,0x80,0x87]
-0x00,0x64,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x87]
+0x02,0x64,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], flat_scratch ; encoding: [0x00,0x66,0x80,0x87]
-0x00,0x66,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x87]
+0x02,0x66,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], vcc ; encoding: [0x00,0x6a,0x80,0x87]
-0x00,0x6a,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x87]
+0x02,0x6a,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], tba ; encoding: [0x00,0x6c,0x80,0x87]
-0x00,0x6c,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], tba ; encoding: [0x02,0x6c,0x8a,0x87]
+0x02,0x6c,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], tma ; encoding: [0x00,0x6e,0x80,0x87]
-0x00,0x6e,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], tma ; encoding: [0x02,0x6e,0x8a,0x87]
+0x02,0x6e,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x80,0x87]
-0x00,0x7a,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x8a,0x87]
+0x02,0x7a,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], exec ; encoding: [0x00,0x7e,0x80,0x87]
-0x00,0x7e,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], exec ; encoding: [0x02,0x7e,0x8a,0x87]
+0x02,0x7e,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x87]
-0x00,0x80,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x87]
+0x02,0x80,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x87]
-0x00,0xc1,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x87]
+0x02,0xc1,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x87]
-0x00,0xf0,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x87]
+0x02,0xf0,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x87]
-0x00,0xf7,0x80,0x87
+# CHECK: s_or_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x87]
+0x02,0xf7,0x8a,0x87
-# CHECK: s_or_b64 s[0:1], s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x80,0x87,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x87,0x56,0x34,0x12,0xaf
+# CHECK: s_or_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x87,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x87,0x56,0x34,0x12,0xaf
-# CHECK: s_or_b64 s[0:1], s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x80,0x87,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x87,0x73,0x72,0x71,0x3f
+# CHECK: s_or_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x87,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x87,0x73,0x72,0x71,0x3f
-# CHECK: s_xor_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x88]
-0x00,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x88]
+0x01,0x02,0x05,0x88
-# CHECK: s_xor_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x88]
-0x00,0x00,0x65,0x88
+# CHECK: s_xor_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x88]
+0x01,0x02,0x65,0x88
-# CHECK: s_xor_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x88]
-0x00,0x00,0x66,0x88
+# CHECK: s_xor_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x88]
+0x01,0x02,0x66,0x88
-# CHECK: s_xor_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x88]
-0x00,0x00,0x67,0x88
+# CHECK: s_xor_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x88]
+0x01,0x02,0x67,0x88
-# CHECK: s_xor_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x88]
-0x00,0x00,0x6a,0x88
+# CHECK: s_xor_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x88]
+0x01,0x02,0x6a,0x88
-# CHECK: s_xor_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x88]
-0x00,0x00,0x6b,0x88
+# CHECK: s_xor_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x88]
+0x01,0x02,0x6b,0x88
-# CHECK: s_xor_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x88]
-0x00,0x00,0x6c,0x88
+# CHECK: s_xor_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x88]
+0x01,0x02,0x6c,0x88
-# CHECK: s_xor_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x88]
-0x00,0x00,0x6d,0x88
+# CHECK: s_xor_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x88]
+0x01,0x02,0x6d,0x88
-# CHECK: s_xor_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x88]
-0x00,0x00,0x6e,0x88
+# CHECK: s_xor_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x88]
+0x01,0x02,0x6e,0x88
-# CHECK: s_xor_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x88]
-0x00,0x00,0x6f,0x88
+# CHECK: s_xor_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x88]
+0x01,0x02,0x6f,0x88
-# CHECK: s_xor_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x88]
-0x00,0x00,0x7b,0x88
+# CHECK: s_xor_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x88]
+0x01,0x02,0x7b,0x88
-# CHECK: s_xor_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x88]
-0x00,0x00,0x7c,0x88
+# CHECK: s_xor_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x88]
+0x01,0x02,0x7c,0x88
-# CHECK: s_xor_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x88]
-0x00,0x00,0x7e,0x88
+# CHECK: s_xor_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x88]
+0x01,0x02,0x7e,0x88
-# CHECK: s_xor_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x88]
-0x00,0x00,0x7f,0x88
+# CHECK: s_xor_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x88]
+0x01,0x02,0x7f,0x88
-# CHECK: s_xor_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x88]
-0x65,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x88]
+0x65,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x88]
-0x66,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x88]
+0x66,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x88]
-0x67,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x88]
+0x67,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x88]
-0x6a,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x88]
+0x6a,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x88]
-0x6b,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x88]
+0x6b,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x88]
-0x6c,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x88]
+0x6c,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x88]
-0x6d,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x88]
+0x6d,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x88]
-0x6e,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x88]
+0x6e,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x88]
-0x6f,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x88]
+0x6f,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x88]
-0x7b,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x88]
+0x7b,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x88]
-0x7c,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x88]
+0x7c,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x88]
-0x7e,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x88]
+0x7e,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x88]
-0x7f,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x88]
+0x7f,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x88]
-0x80,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x88]
+0x80,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x88]
-0xc1,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x88]
+0xc1,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x88]
-0xf0,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x88]
+0xf0,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x88]
-0xf7,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x88]
+0xf7,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x88]
-0xfd,0x00,0x00,0x88
+# CHECK: s_xor_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x88]
+0xfd,0x02,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x88]
-0x00,0x65,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x88]
+0x01,0x65,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x88]
-0x00,0x66,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x88]
+0x01,0x66,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x88]
-0x00,0x67,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x88]
+0x01,0x67,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x88]
-0x00,0x6a,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x88]
+0x01,0x6a,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x88]
-0x00,0x6b,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x88]
+0x01,0x6b,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x88]
-0x00,0x6c,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x88]
+0x01,0x6c,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x88]
-0x00,0x6d,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x88]
+0x01,0x6d,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x88]
-0x00,0x6e,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x88]
+0x01,0x6e,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x88]
-0x00,0x6f,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x88]
+0x01,0x6f,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x88]
-0x00,0x7b,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x88]
+0x01,0x7b,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x88]
-0x00,0x7c,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x88]
+0x01,0x7c,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x88]
-0x00,0x7e,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x88]
+0x01,0x7e,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x88]
-0x00,0x7f,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x88]
+0x01,0x7f,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x88]
-0x00,0x80,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x88]
+0x01,0x80,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x88]
-0x00,0xc1,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x88]
+0x01,0xc1,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x88]
-0x00,0xf0,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x88]
+0x01,0xf0,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x88]
-0x00,0xf7,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x88]
+0x01,0xf7,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x88]
-0x00,0xfd,0x00,0x88
+# CHECK: s_xor_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x88]
+0x01,0xfd,0x05,0x88
-# CHECK: s_xor_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x88,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x88,0x56,0x34,0x12,0xaf
+# CHECK: s_xor_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x88,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x88,0x56,0x34,0x12,0xaf
-# CHECK: s_xor_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x88,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x88,0x73,0x72,0x71,0x3f
+# CHECK: s_xor_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x88,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x88,0x73,0x72,0x71,0x3f
-# CHECK: s_xor_b64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0x88]
-0x00,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x88]
+0x02,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[2:3], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0x88]
-0x00,0x00,0x82,0x88
+# CHECK: s_xor_b64 s[12:13], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8c,0x88]
+0x02,0x04,0x8c,0x88
-# CHECK: s_xor_b64 s[100:101], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0x88]
-0x00,0x00,0xe4,0x88
+# CHECK: s_xor_b64 s[100:101], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x88]
+0x02,0x04,0xe4,0x88
-# CHECK: s_xor_b64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0x88]
-0x00,0x00,0xe6,0x88
+# CHECK: s_xor_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x88]
+0x02,0x04,0xe6,0x88
-# CHECK: s_xor_b64 vcc, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0x88]
-0x00,0x00,0xea,0x88
+# CHECK: s_xor_b64 vcc, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x88]
+0x02,0x04,0xea,0x88
-# CHECK: s_xor_b64 tba, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0x88]
-0x00,0x00,0xec,0x88
+# CHECK: s_xor_b64 tba, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xec,0x88]
+0x02,0x04,0xec,0x88
-# CHECK: s_xor_b64 tma, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0x88]
-0x00,0x00,0xee,0x88
+# CHECK: s_xor_b64 tma, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xee,0x88]
+0x02,0x04,0xee,0x88
-# CHECK: s_xor_b64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0x88]
-0x00,0x00,0xfa,0x88
+# CHECK: s_xor_b64 ttmp[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfa,0x88]
+0x02,0x04,0xfa,0x88
-# CHECK: s_xor_b64 exec, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0x88]
-0x00,0x00,0xfe,0x88
+# CHECK: s_xor_b64 exec, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfe,0x88]
+0x02,0x04,0xfe,0x88
-# CHECK: s_xor_b64 s[0:1], s[2:3], s[0:1] ; encoding: [0x02,0x00,0x80,0x88]
-0x02,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x88]
+0x04,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[100:101], s[0:1] ; encoding: [0x64,0x00,0x80,0x88]
-0x64,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x88]
+0x64,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x80,0x88]
-0x66,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x88]
+0x66,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], vcc, s[0:1] ; encoding: [0x6a,0x00,0x80,0x88]
-0x6a,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], vcc, s[4:5] ; encoding: [0x6a,0x04,0x8a,0x88]
+0x6a,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], tba, s[0:1] ; encoding: [0x6c,0x00,0x80,0x88]
-0x6c,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], tba, s[4:5] ; encoding: [0x6c,0x04,0x8a,0x88]
+0x6c,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], tma, s[0:1] ; encoding: [0x6e,0x00,0x80,0x88]
-0x6e,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], tma, s[4:5] ; encoding: [0x6e,0x04,0x8a,0x88]
+0x6e,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x80,0x88]
-0x7a,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x8a,0x88]
+0x7a,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], exec, s[0:1] ; encoding: [0x7e,0x00,0x80,0x88]
-0x7e,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x88]
+0x7e,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], 0, s[0:1] ; encoding: [0x80,0x00,0x80,0x88]
-0x80,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], 0, s[4:5] ; encoding: [0x80,0x04,0x8a,0x88]
+0x80,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], -1, s[0:1] ; encoding: [0xc1,0x00,0x80,0x88]
-0xc1,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x88]
+0xc1,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], 0.5, s[0:1] ; encoding: [0xf0,0x00,0x80,0x88]
-0xf0,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], 0.5, s[4:5] ; encoding: [0xf0,0x04,0x8a,0x88]
+0xf0,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], -4.0, s[0:1] ; encoding: [0xf7,0x00,0x80,0x88]
-0xf7,0x00,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x88]
+0xf7,0x04,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], s[2:3] ; encoding: [0x00,0x02,0x80,0x88]
-0x00,0x02,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x88]
+0x02,0x06,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], s[100:101] ; encoding: [0x00,0x64,0x80,0x88]
-0x00,0x64,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x88]
+0x02,0x64,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], flat_scratch ; encoding: [0x00,0x66,0x80,0x88]
-0x00,0x66,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x88]
+0x02,0x66,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], vcc ; encoding: [0x00,0x6a,0x80,0x88]
-0x00,0x6a,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x88]
+0x02,0x6a,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], tba ; encoding: [0x00,0x6c,0x80,0x88]
-0x00,0x6c,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], tba ; encoding: [0x02,0x6c,0x8a,0x88]
+0x02,0x6c,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], tma ; encoding: [0x00,0x6e,0x80,0x88]
-0x00,0x6e,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], tma ; encoding: [0x02,0x6e,0x8a,0x88]
+0x02,0x6e,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x80,0x88]
-0x00,0x7a,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x8a,0x88]
+0x02,0x7a,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], exec ; encoding: [0x00,0x7e,0x80,0x88]
-0x00,0x7e,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], exec ; encoding: [0x02,0x7e,0x8a,0x88]
+0x02,0x7e,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x88]
-0x00,0x80,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x88]
+0x02,0x80,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x88]
-0x00,0xc1,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x88]
+0x02,0xc1,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x88]
-0x00,0xf0,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x88]
+0x02,0xf0,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x88]
-0x00,0xf7,0x80,0x88
+# CHECK: s_xor_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x88]
+0x02,0xf7,0x8a,0x88
-# CHECK: s_xor_b64 s[0:1], s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x80,0x88,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x88,0x56,0x34,0x12,0xaf
+# CHECK: s_xor_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x88,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x88,0x56,0x34,0x12,0xaf
-# CHECK: s_xor_b64 s[0:1], s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x80,0x88,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x88,0x73,0x72,0x71,0x3f
+# CHECK: s_xor_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x88,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x88,0x73,0x72,0x71,0x3f
-# CHECK: s_andn2_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x89]
-0x00,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x89]
+0x01,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x89]
-0x00,0x00,0x65,0x89
+# CHECK: s_andn2_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x89]
+0x01,0x02,0x65,0x89
-# CHECK: s_andn2_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x89]
-0x00,0x00,0x66,0x89
+# CHECK: s_andn2_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x89]
+0x01,0x02,0x66,0x89
-# CHECK: s_andn2_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x89]
-0x00,0x00,0x67,0x89
+# CHECK: s_andn2_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x89]
+0x01,0x02,0x67,0x89
-# CHECK: s_andn2_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x89]
-0x00,0x00,0x6a,0x89
+# CHECK: s_andn2_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x89]
+0x01,0x02,0x6a,0x89
-# CHECK: s_andn2_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x89]
-0x00,0x00,0x6b,0x89
+# CHECK: s_andn2_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x89]
+0x01,0x02,0x6b,0x89
-# CHECK: s_andn2_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x89]
-0x00,0x00,0x6c,0x89
+# CHECK: s_andn2_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x89]
+0x01,0x02,0x6c,0x89
-# CHECK: s_andn2_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x89]
-0x00,0x00,0x6d,0x89
+# CHECK: s_andn2_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x89]
+0x01,0x02,0x6d,0x89
-# CHECK: s_andn2_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x89]
-0x00,0x00,0x6e,0x89
+# CHECK: s_andn2_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x89]
+0x01,0x02,0x6e,0x89
-# CHECK: s_andn2_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x89]
-0x00,0x00,0x6f,0x89
+# CHECK: s_andn2_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x89]
+0x01,0x02,0x6f,0x89
-# CHECK: s_andn2_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x89]
-0x00,0x00,0x7b,0x89
+# CHECK: s_andn2_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x89]
+0x01,0x02,0x7b,0x89
-# CHECK: s_andn2_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x89]
-0x00,0x00,0x7c,0x89
+# CHECK: s_andn2_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x89]
+0x01,0x02,0x7c,0x89
-# CHECK: s_andn2_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x89]
-0x00,0x00,0x7e,0x89
+# CHECK: s_andn2_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x89]
+0x01,0x02,0x7e,0x89
-# CHECK: s_andn2_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x89]
-0x00,0x00,0x7f,0x89
+# CHECK: s_andn2_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x89]
+0x01,0x02,0x7f,0x89
-# CHECK: s_andn2_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x89]
-0x65,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x89]
+0x65,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x89]
-0x66,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x89]
+0x66,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x89]
-0x67,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x89]
+0x67,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x89]
-0x6a,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x89]
+0x6a,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x89]
-0x6b,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x89]
+0x6b,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x89]
-0x6c,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x89]
+0x6c,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x89]
-0x6d,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x89]
+0x6d,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x89]
-0x6e,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x89]
+0x6e,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x89]
-0x6f,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x89]
+0x6f,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x89]
-0x7b,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x89]
+0x7b,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x89]
-0x7c,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x89]
+0x7c,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x89]
-0x7e,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x89]
+0x7e,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x89]
-0x7f,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x89]
+0x7f,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x89]
-0x80,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x89]
+0x80,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x89]
-0xc1,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x89]
+0xc1,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x89]
-0xf0,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x89]
+0xf0,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x89]
-0xf7,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x89]
+0xf7,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x89]
-0xfd,0x00,0x00,0x89
+# CHECK: s_andn2_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x89]
+0xfd,0x02,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x89]
-0x00,0x65,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x89]
+0x01,0x65,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x89]
-0x00,0x66,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x89]
+0x01,0x66,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x89]
-0x00,0x67,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x89]
+0x01,0x67,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x89]
-0x00,0x6a,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x89]
+0x01,0x6a,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x89]
-0x00,0x6b,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x89]
+0x01,0x6b,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x89]
-0x00,0x6c,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x89]
+0x01,0x6c,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x89]
-0x00,0x6d,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x89]
+0x01,0x6d,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x89]
-0x00,0x6e,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x89]
+0x01,0x6e,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x89]
-0x00,0x6f,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x89]
+0x01,0x6f,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x89]
-0x00,0x7b,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x89]
+0x01,0x7b,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x89]
-0x00,0x7c,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x89]
+0x01,0x7c,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x89]
-0x00,0x7e,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x89]
+0x01,0x7e,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x89]
-0x00,0x7f,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x89]
+0x01,0x7f,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x89]
-0x00,0x80,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x89]
+0x01,0x80,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x89]
-0x00,0xc1,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x89]
+0x01,0xc1,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x89]
-0x00,0xf0,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x89]
+0x01,0xf0,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x89]
-0x00,0xf7,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x89]
+0x01,0xf7,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x89]
-0x00,0xfd,0x00,0x89
+# CHECK: s_andn2_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x89]
+0x01,0xfd,0x05,0x89
-# CHECK: s_andn2_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x89,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x89,0x56,0x34,0x12,0xaf
+# CHECK: s_andn2_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x89,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x89,0x56,0x34,0x12,0xaf
-# CHECK: s_andn2_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x89,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x89,0x73,0x72,0x71,0x3f
+# CHECK: s_andn2_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x89,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x89,0x73,0x72,0x71,0x3f
-# CHECK: s_andn2_b64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0x89]
-0x00,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x89]
+0x02,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[2:3], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0x89]
-0x00,0x00,0x82,0x89
+# CHECK: s_andn2_b64 s[12:13], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8c,0x89]
+0x02,0x04,0x8c,0x89
-# CHECK: s_andn2_b64 s[100:101], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0x89]
-0x00,0x00,0xe4,0x89
+# CHECK: s_andn2_b64 s[100:101], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x89]
+0x02,0x04,0xe4,0x89
-# CHECK: s_andn2_b64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0x89]
-0x00,0x00,0xe6,0x89
+# CHECK: s_andn2_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x89]
+0x02,0x04,0xe6,0x89
-# CHECK: s_andn2_b64 vcc, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0x89]
-0x00,0x00,0xea,0x89
+# CHECK: s_andn2_b64 vcc, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x89]
+0x02,0x04,0xea,0x89
-# CHECK: s_andn2_b64 tba, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0x89]
-0x00,0x00,0xec,0x89
+# CHECK: s_andn2_b64 tba, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xec,0x89]
+0x02,0x04,0xec,0x89
-# CHECK: s_andn2_b64 tma, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0x89]
-0x00,0x00,0xee,0x89
+# CHECK: s_andn2_b64 tma, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xee,0x89]
+0x02,0x04,0xee,0x89
-# CHECK: s_andn2_b64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0x89]
-0x00,0x00,0xfa,0x89
+# CHECK: s_andn2_b64 ttmp[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfa,0x89]
+0x02,0x04,0xfa,0x89
-# CHECK: s_andn2_b64 exec, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0x89]
-0x00,0x00,0xfe,0x89
+# CHECK: s_andn2_b64 exec, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfe,0x89]
+0x02,0x04,0xfe,0x89
-# CHECK: s_andn2_b64 s[0:1], s[2:3], s[0:1] ; encoding: [0x02,0x00,0x80,0x89]
-0x02,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x89]
+0x04,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[100:101], s[0:1] ; encoding: [0x64,0x00,0x80,0x89]
-0x64,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x89]
+0x64,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x80,0x89]
-0x66,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x89]
+0x66,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], vcc, s[0:1] ; encoding: [0x6a,0x00,0x80,0x89]
-0x6a,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], vcc, s[4:5] ; encoding: [0x6a,0x04,0x8a,0x89]
+0x6a,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], tba, s[0:1] ; encoding: [0x6c,0x00,0x80,0x89]
-0x6c,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], tba, s[4:5] ; encoding: [0x6c,0x04,0x8a,0x89]
+0x6c,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], tma, s[0:1] ; encoding: [0x6e,0x00,0x80,0x89]
-0x6e,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], tma, s[4:5] ; encoding: [0x6e,0x04,0x8a,0x89]
+0x6e,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x80,0x89]
-0x7a,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x8a,0x89]
+0x7a,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], exec, s[0:1] ; encoding: [0x7e,0x00,0x80,0x89]
-0x7e,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x89]
+0x7e,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], 0, s[0:1] ; encoding: [0x80,0x00,0x80,0x89]
-0x80,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], 0, s[4:5] ; encoding: [0x80,0x04,0x8a,0x89]
+0x80,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], -1, s[0:1] ; encoding: [0xc1,0x00,0x80,0x89]
-0xc1,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x89]
+0xc1,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], 0.5, s[0:1] ; encoding: [0xf0,0x00,0x80,0x89]
-0xf0,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], 0.5, s[4:5] ; encoding: [0xf0,0x04,0x8a,0x89]
+0xf0,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], -4.0, s[0:1] ; encoding: [0xf7,0x00,0x80,0x89]
-0xf7,0x00,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x89]
+0xf7,0x04,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], s[2:3] ; encoding: [0x00,0x02,0x80,0x89]
-0x00,0x02,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x89]
+0x02,0x06,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], s[100:101] ; encoding: [0x00,0x64,0x80,0x89]
-0x00,0x64,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x89]
+0x02,0x64,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], flat_scratch ; encoding: [0x00,0x66,0x80,0x89]
-0x00,0x66,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x89]
+0x02,0x66,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], vcc ; encoding: [0x00,0x6a,0x80,0x89]
-0x00,0x6a,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x89]
+0x02,0x6a,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], tba ; encoding: [0x00,0x6c,0x80,0x89]
-0x00,0x6c,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], tba ; encoding: [0x02,0x6c,0x8a,0x89]
+0x02,0x6c,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], tma ; encoding: [0x00,0x6e,0x80,0x89]
-0x00,0x6e,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], tma ; encoding: [0x02,0x6e,0x8a,0x89]
+0x02,0x6e,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x80,0x89]
-0x00,0x7a,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x8a,0x89]
+0x02,0x7a,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], exec ; encoding: [0x00,0x7e,0x80,0x89]
-0x00,0x7e,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], exec ; encoding: [0x02,0x7e,0x8a,0x89]
+0x02,0x7e,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x89]
-0x00,0x80,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x89]
+0x02,0x80,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x89]
-0x00,0xc1,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x89]
+0x02,0xc1,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x89]
-0x00,0xf0,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x89]
+0x02,0xf0,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x89]
-0x00,0xf7,0x80,0x89
+# CHECK: s_andn2_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x89]
+0x02,0xf7,0x8a,0x89
-# CHECK: s_andn2_b64 s[0:1], s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x80,0x89,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x89,0x56,0x34,0x12,0xaf
+# CHECK: s_andn2_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x89,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x89,0x56,0x34,0x12,0xaf
-# CHECK: s_andn2_b64 s[0:1], s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x80,0x89,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x89,0x73,0x72,0x71,0x3f
+# CHECK: s_andn2_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x89,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x89,0x73,0x72,0x71,0x3f
-# CHECK: s_orn2_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x8a]
-0x00,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8a]
+0x01,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x8a]
-0x00,0x00,0x65,0x8a
+# CHECK: s_orn2_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8a]
+0x01,0x02,0x65,0x8a
-# CHECK: s_orn2_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x8a]
-0x00,0x00,0x66,0x8a
+# CHECK: s_orn2_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x8a]
+0x01,0x02,0x66,0x8a
-# CHECK: s_orn2_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x8a]
-0x00,0x00,0x67,0x8a
+# CHECK: s_orn2_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x8a]
+0x01,0x02,0x67,0x8a
-# CHECK: s_orn2_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x8a]
-0x00,0x00,0x6a,0x8a
+# CHECK: s_orn2_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8a]
+0x01,0x02,0x6a,0x8a
-# CHECK: s_orn2_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x8a]
-0x00,0x00,0x6b,0x8a
+# CHECK: s_orn2_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8a]
+0x01,0x02,0x6b,0x8a
-# CHECK: s_orn2_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x8a]
-0x00,0x00,0x6c,0x8a
+# CHECK: s_orn2_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x8a]
+0x01,0x02,0x6c,0x8a
-# CHECK: s_orn2_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x8a]
-0x00,0x00,0x6d,0x8a
+# CHECK: s_orn2_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x8a]
+0x01,0x02,0x6d,0x8a
-# CHECK: s_orn2_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x8a]
-0x00,0x00,0x6e,0x8a
+# CHECK: s_orn2_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x8a]
+0x01,0x02,0x6e,0x8a
-# CHECK: s_orn2_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x8a]
-0x00,0x00,0x6f,0x8a
+# CHECK: s_orn2_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x8a]
+0x01,0x02,0x6f,0x8a
-# CHECK: s_orn2_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x8a]
-0x00,0x00,0x7b,0x8a
+# CHECK: s_orn2_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x8a]
+0x01,0x02,0x7b,0x8a
-# CHECK: s_orn2_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x8a]
-0x00,0x00,0x7c,0x8a
+# CHECK: s_orn2_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8a]
+0x01,0x02,0x7c,0x8a
-# CHECK: s_orn2_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x8a]
-0x00,0x00,0x7e,0x8a
+# CHECK: s_orn2_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8a]
+0x01,0x02,0x7e,0x8a
-# CHECK: s_orn2_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x8a]
-0x00,0x00,0x7f,0x8a
+# CHECK: s_orn2_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8a]
+0x01,0x02,0x7f,0x8a
-# CHECK: s_orn2_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x8a]
-0x65,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8a]
+0x65,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x8a]
-0x66,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8a]
+0x66,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x8a]
-0x67,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8a]
+0x67,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x8a]
-0x6a,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8a]
+0x6a,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x8a]
-0x6b,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8a]
+0x6b,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x8a]
-0x6c,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x8a]
+0x6c,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x8a]
-0x6d,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x8a]
+0x6d,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x8a]
-0x6e,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x8a]
+0x6e,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x8a]
-0x6f,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x8a]
+0x6f,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x8a]
-0x7b,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x8a]
+0x7b,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x8a]
-0x7c,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8a]
+0x7c,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x8a]
-0x7e,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8a]
+0x7e,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x8a]
-0x7f,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8a]
+0x7f,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x8a]
-0x80,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8a]
+0x80,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x8a]
-0xc1,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8a]
+0xc1,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x8a]
-0xf0,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8a]
+0xf0,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x8a]
-0xf7,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8a]
+0xf7,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x8a]
-0xfd,0x00,0x00,0x8a
+# CHECK: s_orn2_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8a]
+0xfd,0x02,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x8a]
-0x00,0x65,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8a]
+0x01,0x65,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x8a]
-0x00,0x66,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8a]
+0x01,0x66,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x8a]
-0x00,0x67,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8a]
+0x01,0x67,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x8a]
-0x00,0x6a,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8a]
+0x01,0x6a,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x8a]
-0x00,0x6b,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8a]
+0x01,0x6b,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x8a]
-0x00,0x6c,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x8a]
+0x01,0x6c,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x8a]
-0x00,0x6d,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x8a]
+0x01,0x6d,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x8a]
-0x00,0x6e,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x8a]
+0x01,0x6e,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x8a]
-0x00,0x6f,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x8a]
+0x01,0x6f,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x8a]
-0x00,0x7b,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x8a]
+0x01,0x7b,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x8a]
-0x00,0x7c,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8a]
+0x01,0x7c,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x8a]
-0x00,0x7e,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8a]
+0x01,0x7e,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x8a]
-0x00,0x7f,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8a]
+0x01,0x7f,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x8a]
-0x00,0x80,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8a]
+0x01,0x80,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x8a]
-0x00,0xc1,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8a]
+0x01,0xc1,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x8a]
-0x00,0xf0,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8a]
+0x01,0xf0,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x8a]
-0x00,0xf7,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8a]
+0x01,0xf7,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x8a]
-0x00,0xfd,0x00,0x8a
+# CHECK: s_orn2_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8a]
+0x01,0xfd,0x05,0x8a
-# CHECK: s_orn2_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x8a,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x8a,0x56,0x34,0x12,0xaf
+# CHECK: s_orn2_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8a,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x8a,0x56,0x34,0x12,0xaf
-# CHECK: s_orn2_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x8a,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x8a,0x73,0x72,0x71,0x3f
+# CHECK: s_orn2_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x8a,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x8a,0x73,0x72,0x71,0x3f
-# CHECK: s_orn2_b64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0x8a]
-0x00,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x8a]
+0x02,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[2:3], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0x8a]
-0x00,0x00,0x82,0x8a
+# CHECK: s_orn2_b64 s[12:13], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8c,0x8a]
+0x02,0x04,0x8c,0x8a
-# CHECK: s_orn2_b64 s[100:101], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0x8a]
-0x00,0x00,0xe4,0x8a
+# CHECK: s_orn2_b64 s[100:101], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x8a]
+0x02,0x04,0xe4,0x8a
-# CHECK: s_orn2_b64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0x8a]
-0x00,0x00,0xe6,0x8a
+# CHECK: s_orn2_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x8a]
+0x02,0x04,0xe6,0x8a
-# CHECK: s_orn2_b64 vcc, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0x8a]
-0x00,0x00,0xea,0x8a
+# CHECK: s_orn2_b64 vcc, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x8a]
+0x02,0x04,0xea,0x8a
-# CHECK: s_orn2_b64 tba, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0x8a]
-0x00,0x00,0xec,0x8a
+# CHECK: s_orn2_b64 tba, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xec,0x8a]
+0x02,0x04,0xec,0x8a
-# CHECK: s_orn2_b64 tma, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0x8a]
-0x00,0x00,0xee,0x8a
+# CHECK: s_orn2_b64 tma, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xee,0x8a]
+0x02,0x04,0xee,0x8a
-# CHECK: s_orn2_b64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0x8a]
-0x00,0x00,0xfa,0x8a
+# CHECK: s_orn2_b64 ttmp[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfa,0x8a]
+0x02,0x04,0xfa,0x8a
-# CHECK: s_orn2_b64 exec, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0x8a]
-0x00,0x00,0xfe,0x8a
+# CHECK: s_orn2_b64 exec, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfe,0x8a]
+0x02,0x04,0xfe,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[2:3], s[0:1] ; encoding: [0x02,0x00,0x80,0x8a]
-0x02,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x8a]
+0x04,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[100:101], s[0:1] ; encoding: [0x64,0x00,0x80,0x8a]
-0x64,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x8a]
+0x64,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x80,0x8a]
-0x66,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8a]
+0x66,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], vcc, s[0:1] ; encoding: [0x6a,0x00,0x80,0x8a]
-0x6a,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], vcc, s[4:5] ; encoding: [0x6a,0x04,0x8a,0x8a]
+0x6a,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], tba, s[0:1] ; encoding: [0x6c,0x00,0x80,0x8a]
-0x6c,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], tba, s[4:5] ; encoding: [0x6c,0x04,0x8a,0x8a]
+0x6c,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], tma, s[0:1] ; encoding: [0x6e,0x00,0x80,0x8a]
-0x6e,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], tma, s[4:5] ; encoding: [0x6e,0x04,0x8a,0x8a]
+0x6e,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x80,0x8a]
-0x7a,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x8a,0x8a]
+0x7a,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], exec, s[0:1] ; encoding: [0x7e,0x00,0x80,0x8a]
-0x7e,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x8a]
+0x7e,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], 0, s[0:1] ; encoding: [0x80,0x00,0x80,0x8a]
-0x80,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], 0, s[4:5] ; encoding: [0x80,0x04,0x8a,0x8a]
+0x80,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], -1, s[0:1] ; encoding: [0xc1,0x00,0x80,0x8a]
-0xc1,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x8a]
+0xc1,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], 0.5, s[0:1] ; encoding: [0xf0,0x00,0x80,0x8a]
-0xf0,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], 0.5, s[4:5] ; encoding: [0xf0,0x04,0x8a,0x8a]
+0xf0,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], -4.0, s[0:1] ; encoding: [0xf7,0x00,0x80,0x8a]
-0xf7,0x00,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x8a]
+0xf7,0x04,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], s[2:3] ; encoding: [0x00,0x02,0x80,0x8a]
-0x00,0x02,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x8a]
+0x02,0x06,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], s[100:101] ; encoding: [0x00,0x64,0x80,0x8a]
-0x00,0x64,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8a]
+0x02,0x64,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], flat_scratch ; encoding: [0x00,0x66,0x80,0x8a]
-0x00,0x66,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x8a]
+0x02,0x66,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], vcc ; encoding: [0x00,0x6a,0x80,0x8a]
-0x00,0x6a,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x8a]
+0x02,0x6a,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], tba ; encoding: [0x00,0x6c,0x80,0x8a]
-0x00,0x6c,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], tba ; encoding: [0x02,0x6c,0x8a,0x8a]
+0x02,0x6c,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], tma ; encoding: [0x00,0x6e,0x80,0x8a]
-0x00,0x6e,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], tma ; encoding: [0x02,0x6e,0x8a,0x8a]
+0x02,0x6e,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x80,0x8a]
-0x00,0x7a,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x8a,0x8a]
+0x02,0x7a,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], exec ; encoding: [0x00,0x7e,0x80,0x8a]
-0x00,0x7e,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], exec ; encoding: [0x02,0x7e,0x8a,0x8a]
+0x02,0x7e,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x8a]
-0x00,0x80,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8a]
+0x02,0x80,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x8a]
-0x00,0xc1,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x8a]
+0x02,0xc1,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x8a]
-0x00,0xf0,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8a]
+0x02,0xf0,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x8a]
-0x00,0xf7,0x80,0x8a
+# CHECK: s_orn2_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x8a]
+0x02,0xf7,0x8a,0x8a
-# CHECK: s_orn2_b64 s[0:1], s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x80,0x8a,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x8a,0x56,0x34,0x12,0xaf
+# CHECK: s_orn2_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8a,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x8a,0x56,0x34,0x12,0xaf
-# CHECK: s_orn2_b64 s[0:1], s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x80,0x8a,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x8a,0x73,0x72,0x71,0x3f
+# CHECK: s_orn2_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8a,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x8a,0x73,0x72,0x71,0x3f
-# CHECK: s_nand_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x8b]
-0x00,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8b]
+0x01,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x8b]
-0x00,0x00,0x65,0x8b
+# CHECK: s_nand_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8b]
+0x01,0x02,0x65,0x8b
-# CHECK: s_nand_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x8b]
-0x00,0x00,0x66,0x8b
+# CHECK: s_nand_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x8b]
+0x01,0x02,0x66,0x8b
-# CHECK: s_nand_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x8b]
-0x00,0x00,0x67,0x8b
+# CHECK: s_nand_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x8b]
+0x01,0x02,0x67,0x8b
-# CHECK: s_nand_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x8b]
-0x00,0x00,0x6a,0x8b
+# CHECK: s_nand_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8b]
+0x01,0x02,0x6a,0x8b
-# CHECK: s_nand_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x8b]
-0x00,0x00,0x6b,0x8b
+# CHECK: s_nand_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8b]
+0x01,0x02,0x6b,0x8b
-# CHECK: s_nand_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x8b]
-0x00,0x00,0x6c,0x8b
+# CHECK: s_nand_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x8b]
+0x01,0x02,0x6c,0x8b
-# CHECK: s_nand_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x8b]
-0x00,0x00,0x6d,0x8b
+# CHECK: s_nand_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x8b]
+0x01,0x02,0x6d,0x8b
-# CHECK: s_nand_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x8b]
-0x00,0x00,0x6e,0x8b
+# CHECK: s_nand_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x8b]
+0x01,0x02,0x6e,0x8b
-# CHECK: s_nand_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x8b]
-0x00,0x00,0x6f,0x8b
+# CHECK: s_nand_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x8b]
+0x01,0x02,0x6f,0x8b
-# CHECK: s_nand_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x8b]
-0x00,0x00,0x7b,0x8b
+# CHECK: s_nand_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x8b]
+0x01,0x02,0x7b,0x8b
-# CHECK: s_nand_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x8b]
-0x00,0x00,0x7c,0x8b
+# CHECK: s_nand_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8b]
+0x01,0x02,0x7c,0x8b
-# CHECK: s_nand_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x8b]
-0x00,0x00,0x7e,0x8b
+# CHECK: s_nand_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8b]
+0x01,0x02,0x7e,0x8b
-# CHECK: s_nand_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x8b]
-0x00,0x00,0x7f,0x8b
+# CHECK: s_nand_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8b]
+0x01,0x02,0x7f,0x8b
-# CHECK: s_nand_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x8b]
-0x65,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8b]
+0x65,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x8b]
-0x66,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8b]
+0x66,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x8b]
-0x67,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8b]
+0x67,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x8b]
-0x6a,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8b]
+0x6a,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x8b]
-0x6b,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8b]
+0x6b,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x8b]
-0x6c,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x8b]
+0x6c,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x8b]
-0x6d,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x8b]
+0x6d,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x8b]
-0x6e,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x8b]
+0x6e,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x8b]
-0x6f,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x8b]
+0x6f,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x8b]
-0x7b,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x8b]
+0x7b,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x8b]
-0x7c,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8b]
+0x7c,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x8b]
-0x7e,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8b]
+0x7e,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x8b]
-0x7f,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8b]
+0x7f,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x8b]
-0x80,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8b]
+0x80,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x8b]
-0xc1,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8b]
+0xc1,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x8b]
-0xf0,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8b]
+0xf0,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x8b]
-0xf7,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8b]
+0xf7,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x8b]
-0xfd,0x00,0x00,0x8b
+# CHECK: s_nand_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8b]
+0xfd,0x02,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x8b]
-0x00,0x65,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8b]
+0x01,0x65,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x8b]
-0x00,0x66,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8b]
+0x01,0x66,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x8b]
-0x00,0x67,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8b]
+0x01,0x67,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x8b]
-0x00,0x6a,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8b]
+0x01,0x6a,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x8b]
-0x00,0x6b,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8b]
+0x01,0x6b,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x8b]
-0x00,0x6c,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x8b]
+0x01,0x6c,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x8b]
-0x00,0x6d,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x8b]
+0x01,0x6d,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x8b]
-0x00,0x6e,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x8b]
+0x01,0x6e,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x8b]
-0x00,0x6f,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x8b]
+0x01,0x6f,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x8b]
-0x00,0x7b,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x8b]
+0x01,0x7b,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x8b]
-0x00,0x7c,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8b]
+0x01,0x7c,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x8b]
-0x00,0x7e,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8b]
+0x01,0x7e,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x8b]
-0x00,0x7f,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8b]
+0x01,0x7f,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x8b]
-0x00,0x80,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8b]
+0x01,0x80,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x8b]
-0x00,0xc1,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8b]
+0x01,0xc1,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x8b]
-0x00,0xf0,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8b]
+0x01,0xf0,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x8b]
-0x00,0xf7,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8b]
+0x01,0xf7,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x8b]
-0x00,0xfd,0x00,0x8b
+# CHECK: s_nand_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8b]
+0x01,0xfd,0x05,0x8b
-# CHECK: s_nand_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x8b,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x8b,0x56,0x34,0x12,0xaf
+# CHECK: s_nand_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8b,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x8b,0x56,0x34,0x12,0xaf
-# CHECK: s_nand_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x8b,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x8b,0x73,0x72,0x71,0x3f
+# CHECK: s_nand_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x8b,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x8b,0x73,0x72,0x71,0x3f
-# CHECK: s_nand_b64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0x8b]
-0x00,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x8b]
+0x02,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[2:3], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0x8b]
-0x00,0x00,0x82,0x8b
+# CHECK: s_nand_b64 s[12:13], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8c,0x8b]
+0x02,0x04,0x8c,0x8b
-# CHECK: s_nand_b64 s[100:101], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0x8b]
-0x00,0x00,0xe4,0x8b
+# CHECK: s_nand_b64 s[100:101], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x8b]
+0x02,0x04,0xe4,0x8b
-# CHECK: s_nand_b64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0x8b]
-0x00,0x00,0xe6,0x8b
+# CHECK: s_nand_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x8b]
+0x02,0x04,0xe6,0x8b
-# CHECK: s_nand_b64 vcc, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0x8b]
-0x00,0x00,0xea,0x8b
+# CHECK: s_nand_b64 vcc, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x8b]
+0x02,0x04,0xea,0x8b
-# CHECK: s_nand_b64 tba, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0x8b]
-0x00,0x00,0xec,0x8b
+# CHECK: s_nand_b64 tba, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xec,0x8b]
+0x02,0x04,0xec,0x8b
-# CHECK: s_nand_b64 tma, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0x8b]
-0x00,0x00,0xee,0x8b
+# CHECK: s_nand_b64 tma, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xee,0x8b]
+0x02,0x04,0xee,0x8b
-# CHECK: s_nand_b64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0x8b]
-0x00,0x00,0xfa,0x8b
+# CHECK: s_nand_b64 ttmp[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfa,0x8b]
+0x02,0x04,0xfa,0x8b
-# CHECK: s_nand_b64 exec, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0x8b]
-0x00,0x00,0xfe,0x8b
+# CHECK: s_nand_b64 exec, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfe,0x8b]
+0x02,0x04,0xfe,0x8b
-# CHECK: s_nand_b64 s[0:1], s[2:3], s[0:1] ; encoding: [0x02,0x00,0x80,0x8b]
-0x02,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x8b]
+0x04,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[100:101], s[0:1] ; encoding: [0x64,0x00,0x80,0x8b]
-0x64,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x8b]
+0x64,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x80,0x8b]
-0x66,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8b]
+0x66,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], vcc, s[0:1] ; encoding: [0x6a,0x00,0x80,0x8b]
-0x6a,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], vcc, s[4:5] ; encoding: [0x6a,0x04,0x8a,0x8b]
+0x6a,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], tba, s[0:1] ; encoding: [0x6c,0x00,0x80,0x8b]
-0x6c,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], tba, s[4:5] ; encoding: [0x6c,0x04,0x8a,0x8b]
+0x6c,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], tma, s[0:1] ; encoding: [0x6e,0x00,0x80,0x8b]
-0x6e,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], tma, s[4:5] ; encoding: [0x6e,0x04,0x8a,0x8b]
+0x6e,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x80,0x8b]
-0x7a,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x8a,0x8b]
+0x7a,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], exec, s[0:1] ; encoding: [0x7e,0x00,0x80,0x8b]
-0x7e,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x8b]
+0x7e,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], 0, s[0:1] ; encoding: [0x80,0x00,0x80,0x8b]
-0x80,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], 0, s[4:5] ; encoding: [0x80,0x04,0x8a,0x8b]
+0x80,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], -1, s[0:1] ; encoding: [0xc1,0x00,0x80,0x8b]
-0xc1,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x8b]
+0xc1,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], 0.5, s[0:1] ; encoding: [0xf0,0x00,0x80,0x8b]
-0xf0,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], 0.5, s[4:5] ; encoding: [0xf0,0x04,0x8a,0x8b]
+0xf0,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], -4.0, s[0:1] ; encoding: [0xf7,0x00,0x80,0x8b]
-0xf7,0x00,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x8b]
+0xf7,0x04,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], s[2:3] ; encoding: [0x00,0x02,0x80,0x8b]
-0x00,0x02,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x8b]
+0x02,0x06,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], s[100:101] ; encoding: [0x00,0x64,0x80,0x8b]
-0x00,0x64,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8b]
+0x02,0x64,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], flat_scratch ; encoding: [0x00,0x66,0x80,0x8b]
-0x00,0x66,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x8b]
+0x02,0x66,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], vcc ; encoding: [0x00,0x6a,0x80,0x8b]
-0x00,0x6a,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x8b]
+0x02,0x6a,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], tba ; encoding: [0x00,0x6c,0x80,0x8b]
-0x00,0x6c,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], tba ; encoding: [0x02,0x6c,0x8a,0x8b]
+0x02,0x6c,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], tma ; encoding: [0x00,0x6e,0x80,0x8b]
-0x00,0x6e,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], tma ; encoding: [0x02,0x6e,0x8a,0x8b]
+0x02,0x6e,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x80,0x8b]
-0x00,0x7a,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x8a,0x8b]
+0x02,0x7a,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], exec ; encoding: [0x00,0x7e,0x80,0x8b]
-0x00,0x7e,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], exec ; encoding: [0x02,0x7e,0x8a,0x8b]
+0x02,0x7e,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x8b]
-0x00,0x80,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8b]
+0x02,0x80,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x8b]
-0x00,0xc1,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x8b]
+0x02,0xc1,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x8b]
-0x00,0xf0,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8b]
+0x02,0xf0,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x8b]
-0x00,0xf7,0x80,0x8b
+# CHECK: s_nand_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x8b]
+0x02,0xf7,0x8a,0x8b
-# CHECK: s_nand_b64 s[0:1], s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x80,0x8b,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x8b,0x56,0x34,0x12,0xaf
+# CHECK: s_nand_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8b,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x8b,0x56,0x34,0x12,0xaf
-# CHECK: s_nand_b64 s[0:1], s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x80,0x8b,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x8b,0x73,0x72,0x71,0x3f
+# CHECK: s_nand_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8b,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x8b,0x73,0x72,0x71,0x3f
-# CHECK: s_nor_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x8c]
-0x00,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8c]
+0x01,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x8c]
-0x00,0x00,0x65,0x8c
+# CHECK: s_nor_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8c]
+0x01,0x02,0x65,0x8c
-# CHECK: s_nor_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x8c]
-0x00,0x00,0x66,0x8c
+# CHECK: s_nor_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x8c]
+0x01,0x02,0x66,0x8c
-# CHECK: s_nor_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x8c]
-0x00,0x00,0x67,0x8c
+# CHECK: s_nor_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x8c]
+0x01,0x02,0x67,0x8c
-# CHECK: s_nor_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x8c]
-0x00,0x00,0x6a,0x8c
+# CHECK: s_nor_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8c]
+0x01,0x02,0x6a,0x8c
-# CHECK: s_nor_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x8c]
-0x00,0x00,0x6b,0x8c
+# CHECK: s_nor_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8c]
+0x01,0x02,0x6b,0x8c
-# CHECK: s_nor_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x8c]
-0x00,0x00,0x6c,0x8c
+# CHECK: s_nor_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x8c]
+0x01,0x02,0x6c,0x8c
-# CHECK: s_nor_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x8c]
-0x00,0x00,0x6d,0x8c
+# CHECK: s_nor_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x8c]
+0x01,0x02,0x6d,0x8c
-# CHECK: s_nor_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x8c]
-0x00,0x00,0x6e,0x8c
+# CHECK: s_nor_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x8c]
+0x01,0x02,0x6e,0x8c
-# CHECK: s_nor_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x8c]
-0x00,0x00,0x6f,0x8c
+# CHECK: s_nor_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x8c]
+0x01,0x02,0x6f,0x8c
-# CHECK: s_nor_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x8c]
-0x00,0x00,0x7b,0x8c
+# CHECK: s_nor_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x8c]
+0x01,0x02,0x7b,0x8c
-# CHECK: s_nor_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x8c]
-0x00,0x00,0x7c,0x8c
+# CHECK: s_nor_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8c]
+0x01,0x02,0x7c,0x8c
-# CHECK: s_nor_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x8c]
-0x00,0x00,0x7e,0x8c
+# CHECK: s_nor_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8c]
+0x01,0x02,0x7e,0x8c
-# CHECK: s_nor_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x8c]
-0x00,0x00,0x7f,0x8c
+# CHECK: s_nor_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8c]
+0x01,0x02,0x7f,0x8c
-# CHECK: s_nor_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x8c]
-0x65,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8c]
+0x65,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x8c]
-0x66,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8c]
+0x66,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x8c]
-0x67,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8c]
+0x67,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x8c]
-0x6a,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8c]
+0x6a,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x8c]
-0x6b,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8c]
+0x6b,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x8c]
-0x6c,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x8c]
+0x6c,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x8c]
-0x6d,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x8c]
+0x6d,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x8c]
-0x6e,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x8c]
+0x6e,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x8c]
-0x6f,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x8c]
+0x6f,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x8c]
-0x7b,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x8c]
+0x7b,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x8c]
-0x7c,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8c]
+0x7c,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x8c]
-0x7e,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8c]
+0x7e,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x8c]
-0x7f,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8c]
+0x7f,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x8c]
-0x80,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8c]
+0x80,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x8c]
-0xc1,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8c]
+0xc1,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x8c]
-0xf0,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8c]
+0xf0,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x8c]
-0xf7,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8c]
+0xf7,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x8c]
-0xfd,0x00,0x00,0x8c
+# CHECK: s_nor_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8c]
+0xfd,0x02,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x8c]
-0x00,0x65,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8c]
+0x01,0x65,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x8c]
-0x00,0x66,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8c]
+0x01,0x66,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x8c]
-0x00,0x67,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8c]
+0x01,0x67,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x8c]
-0x00,0x6a,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8c]
+0x01,0x6a,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x8c]
-0x00,0x6b,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8c]
+0x01,0x6b,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x8c]
-0x00,0x6c,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x8c]
+0x01,0x6c,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x8c]
-0x00,0x6d,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x8c]
+0x01,0x6d,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x8c]
-0x00,0x6e,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x8c]
+0x01,0x6e,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x8c]
-0x00,0x6f,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x8c]
+0x01,0x6f,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x8c]
-0x00,0x7b,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x8c]
+0x01,0x7b,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x8c]
-0x00,0x7c,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8c]
+0x01,0x7c,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x8c]
-0x00,0x7e,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8c]
+0x01,0x7e,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x8c]
-0x00,0x7f,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8c]
+0x01,0x7f,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x8c]
-0x00,0x80,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8c]
+0x01,0x80,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x8c]
-0x00,0xc1,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8c]
+0x01,0xc1,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x8c]
-0x00,0xf0,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8c]
+0x01,0xf0,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x8c]
-0x00,0xf7,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8c]
+0x01,0xf7,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x8c]
-0x00,0xfd,0x00,0x8c
+# CHECK: s_nor_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8c]
+0x01,0xfd,0x05,0x8c
-# CHECK: s_nor_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x8c,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x8c,0x56,0x34,0x12,0xaf
+# CHECK: s_nor_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8c,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x8c,0x56,0x34,0x12,0xaf
-# CHECK: s_nor_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x8c,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x8c,0x73,0x72,0x71,0x3f
+# CHECK: s_nor_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x8c,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x8c,0x73,0x72,0x71,0x3f
-# CHECK: s_nor_b64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0x8c]
-0x00,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x8c]
+0x02,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[2:3], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0x8c]
-0x00,0x00,0x82,0x8c
+# CHECK: s_nor_b64 s[12:13], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8c,0x8c]
+0x02,0x04,0x8c,0x8c
-# CHECK: s_nor_b64 s[100:101], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0x8c]
-0x00,0x00,0xe4,0x8c
+# CHECK: s_nor_b64 s[100:101], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x8c]
+0x02,0x04,0xe4,0x8c
-# CHECK: s_nor_b64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0x8c]
-0x00,0x00,0xe6,0x8c
+# CHECK: s_nor_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x8c]
+0x02,0x04,0xe6,0x8c
-# CHECK: s_nor_b64 vcc, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0x8c]
-0x00,0x00,0xea,0x8c
+# CHECK: s_nor_b64 vcc, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x8c]
+0x02,0x04,0xea,0x8c
-# CHECK: s_nor_b64 tba, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0x8c]
-0x00,0x00,0xec,0x8c
+# CHECK: s_nor_b64 tba, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xec,0x8c]
+0x02,0x04,0xec,0x8c
-# CHECK: s_nor_b64 tma, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0x8c]
-0x00,0x00,0xee,0x8c
+# CHECK: s_nor_b64 tma, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xee,0x8c]
+0x02,0x04,0xee,0x8c
-# CHECK: s_nor_b64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0x8c]
-0x00,0x00,0xfa,0x8c
+# CHECK: s_nor_b64 ttmp[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfa,0x8c]
+0x02,0x04,0xfa,0x8c
-# CHECK: s_nor_b64 exec, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0x8c]
-0x00,0x00,0xfe,0x8c
+# CHECK: s_nor_b64 exec, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfe,0x8c]
+0x02,0x04,0xfe,0x8c
-# CHECK: s_nor_b64 s[0:1], s[2:3], s[0:1] ; encoding: [0x02,0x00,0x80,0x8c]
-0x02,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x8c]
+0x04,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[100:101], s[0:1] ; encoding: [0x64,0x00,0x80,0x8c]
-0x64,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x8c]
+0x64,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x80,0x8c]
-0x66,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8c]
+0x66,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], vcc, s[0:1] ; encoding: [0x6a,0x00,0x80,0x8c]
-0x6a,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], vcc, s[4:5] ; encoding: [0x6a,0x04,0x8a,0x8c]
+0x6a,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], tba, s[0:1] ; encoding: [0x6c,0x00,0x80,0x8c]
-0x6c,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], tba, s[4:5] ; encoding: [0x6c,0x04,0x8a,0x8c]
+0x6c,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], tma, s[0:1] ; encoding: [0x6e,0x00,0x80,0x8c]
-0x6e,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], tma, s[4:5] ; encoding: [0x6e,0x04,0x8a,0x8c]
+0x6e,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x80,0x8c]
-0x7a,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x8a,0x8c]
+0x7a,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], exec, s[0:1] ; encoding: [0x7e,0x00,0x80,0x8c]
-0x7e,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x8c]
+0x7e,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], 0, s[0:1] ; encoding: [0x80,0x00,0x80,0x8c]
-0x80,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], 0, s[4:5] ; encoding: [0x80,0x04,0x8a,0x8c]
+0x80,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], -1, s[0:1] ; encoding: [0xc1,0x00,0x80,0x8c]
-0xc1,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x8c]
+0xc1,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], 0.5, s[0:1] ; encoding: [0xf0,0x00,0x80,0x8c]
-0xf0,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], 0.5, s[4:5] ; encoding: [0xf0,0x04,0x8a,0x8c]
+0xf0,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], -4.0, s[0:1] ; encoding: [0xf7,0x00,0x80,0x8c]
-0xf7,0x00,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x8c]
+0xf7,0x04,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], s[2:3] ; encoding: [0x00,0x02,0x80,0x8c]
-0x00,0x02,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x8c]
+0x02,0x06,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], s[100:101] ; encoding: [0x00,0x64,0x80,0x8c]
-0x00,0x64,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8c]
+0x02,0x64,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], flat_scratch ; encoding: [0x00,0x66,0x80,0x8c]
-0x00,0x66,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x8c]
+0x02,0x66,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], vcc ; encoding: [0x00,0x6a,0x80,0x8c]
-0x00,0x6a,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x8c]
+0x02,0x6a,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], tba ; encoding: [0x00,0x6c,0x80,0x8c]
-0x00,0x6c,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], tba ; encoding: [0x02,0x6c,0x8a,0x8c]
+0x02,0x6c,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], tma ; encoding: [0x00,0x6e,0x80,0x8c]
-0x00,0x6e,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], tma ; encoding: [0x02,0x6e,0x8a,0x8c]
+0x02,0x6e,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x80,0x8c]
-0x00,0x7a,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x8a,0x8c]
+0x02,0x7a,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], exec ; encoding: [0x00,0x7e,0x80,0x8c]
-0x00,0x7e,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], exec ; encoding: [0x02,0x7e,0x8a,0x8c]
+0x02,0x7e,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x8c]
-0x00,0x80,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8c]
+0x02,0x80,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x8c]
-0x00,0xc1,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x8c]
+0x02,0xc1,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x8c]
-0x00,0xf0,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8c]
+0x02,0xf0,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x8c]
-0x00,0xf7,0x80,0x8c
+# CHECK: s_nor_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x8c]
+0x02,0xf7,0x8a,0x8c
-# CHECK: s_nor_b64 s[0:1], s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x80,0x8c,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x8c,0x56,0x34,0x12,0xaf
+# CHECK: s_nor_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8c,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x8c,0x56,0x34,0x12,0xaf
-# CHECK: s_nor_b64 s[0:1], s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x80,0x8c,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x8c,0x73,0x72,0x71,0x3f
+# CHECK: s_nor_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8c,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x8c,0x73,0x72,0x71,0x3f
-# CHECK: s_xnor_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x8d]
-0x00,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8d]
+0x01,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x8d]
-0x00,0x00,0x65,0x8d
+# CHECK: s_xnor_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8d]
+0x01,0x02,0x65,0x8d
-# CHECK: s_xnor_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x8d]
-0x00,0x00,0x66,0x8d
+# CHECK: s_xnor_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x8d]
+0x01,0x02,0x66,0x8d
-# CHECK: s_xnor_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x8d]
-0x00,0x00,0x67,0x8d
+# CHECK: s_xnor_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x8d]
+0x01,0x02,0x67,0x8d
-# CHECK: s_xnor_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x8d]
-0x00,0x00,0x6a,0x8d
+# CHECK: s_xnor_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8d]
+0x01,0x02,0x6a,0x8d
-# CHECK: s_xnor_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x8d]
-0x00,0x00,0x6b,0x8d
+# CHECK: s_xnor_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8d]
+0x01,0x02,0x6b,0x8d
-# CHECK: s_xnor_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x8d]
-0x00,0x00,0x6c,0x8d
+# CHECK: s_xnor_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x8d]
+0x01,0x02,0x6c,0x8d
-# CHECK: s_xnor_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x8d]
-0x00,0x00,0x6d,0x8d
+# CHECK: s_xnor_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x8d]
+0x01,0x02,0x6d,0x8d
-# CHECK: s_xnor_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x8d]
-0x00,0x00,0x6e,0x8d
+# CHECK: s_xnor_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x8d]
+0x01,0x02,0x6e,0x8d
-# CHECK: s_xnor_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x8d]
-0x00,0x00,0x6f,0x8d
+# CHECK: s_xnor_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x8d]
+0x01,0x02,0x6f,0x8d
-# CHECK: s_xnor_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x8d]
-0x00,0x00,0x7b,0x8d
+# CHECK: s_xnor_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x8d]
+0x01,0x02,0x7b,0x8d
-# CHECK: s_xnor_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x8d]
-0x00,0x00,0x7c,0x8d
+# CHECK: s_xnor_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8d]
+0x01,0x02,0x7c,0x8d
-# CHECK: s_xnor_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x8d]
-0x00,0x00,0x7e,0x8d
+# CHECK: s_xnor_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8d]
+0x01,0x02,0x7e,0x8d
-# CHECK: s_xnor_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x8d]
-0x00,0x00,0x7f,0x8d
+# CHECK: s_xnor_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8d]
+0x01,0x02,0x7f,0x8d
-# CHECK: s_xnor_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x8d]
-0x65,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8d]
+0x65,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x8d]
-0x66,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8d]
+0x66,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x8d]
-0x67,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8d]
+0x67,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x8d]
-0x6a,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8d]
+0x6a,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x8d]
-0x6b,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8d]
+0x6b,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x8d]
-0x6c,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x8d]
+0x6c,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x8d]
-0x6d,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x8d]
+0x6d,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x8d]
-0x6e,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x8d]
+0x6e,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x8d]
-0x6f,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x8d]
+0x6f,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x8d]
-0x7b,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x8d]
+0x7b,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x8d]
-0x7c,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8d]
+0x7c,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x8d]
-0x7e,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8d]
+0x7e,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x8d]
-0x7f,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8d]
+0x7f,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x8d]
-0x80,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8d]
+0x80,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x8d]
-0xc1,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8d]
+0xc1,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x8d]
-0xf0,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8d]
+0xf0,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x8d]
-0xf7,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8d]
+0xf7,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x8d]
-0xfd,0x00,0x00,0x8d
+# CHECK: s_xnor_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8d]
+0xfd,0x02,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x8d]
-0x00,0x65,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8d]
+0x01,0x65,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x8d]
-0x00,0x66,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8d]
+0x01,0x66,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x8d]
-0x00,0x67,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8d]
+0x01,0x67,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x8d]
-0x00,0x6a,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8d]
+0x01,0x6a,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x8d]
-0x00,0x6b,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8d]
+0x01,0x6b,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x8d]
-0x00,0x6c,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x8d]
+0x01,0x6c,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x8d]
-0x00,0x6d,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x8d]
+0x01,0x6d,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x8d]
-0x00,0x6e,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x8d]
+0x01,0x6e,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x8d]
-0x00,0x6f,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x8d]
+0x01,0x6f,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x8d]
-0x00,0x7b,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x8d]
+0x01,0x7b,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x8d]
-0x00,0x7c,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8d]
+0x01,0x7c,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x8d]
-0x00,0x7e,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8d]
+0x01,0x7e,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x8d]
-0x00,0x7f,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8d]
+0x01,0x7f,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x8d]
-0x00,0x80,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8d]
+0x01,0x80,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x8d]
-0x00,0xc1,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8d]
+0x01,0xc1,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x8d]
-0x00,0xf0,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8d]
+0x01,0xf0,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x8d]
-0x00,0xf7,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8d]
+0x01,0xf7,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x8d]
-0x00,0xfd,0x00,0x8d
+# CHECK: s_xnor_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8d]
+0x01,0xfd,0x05,0x8d
-# CHECK: s_xnor_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x8d,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x8d,0x56,0x34,0x12,0xaf
+# CHECK: s_xnor_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8d,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x8d,0x56,0x34,0x12,0xaf
-# CHECK: s_xnor_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x8d,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x8d,0x73,0x72,0x71,0x3f
+# CHECK: s_xnor_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x8d,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x8d,0x73,0x72,0x71,0x3f
-# CHECK: s_xnor_b64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0x8d]
-0x00,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8a,0x8d]
+0x02,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[2:3], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0x8d]
-0x00,0x00,0x82,0x8d
+# CHECK: s_xnor_b64 s[12:13], s[2:3], s[4:5] ; encoding: [0x02,0x04,0x8c,0x8d]
+0x02,0x04,0x8c,0x8d
-# CHECK: s_xnor_b64 s[100:101], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0x8d]
-0x00,0x00,0xe4,0x8d
+# CHECK: s_xnor_b64 s[100:101], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe4,0x8d]
+0x02,0x04,0xe4,0x8d
-# CHECK: s_xnor_b64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0x8d]
-0x00,0x00,0xe6,0x8d
+# CHECK: s_xnor_b64 flat_scratch, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xe6,0x8d]
+0x02,0x04,0xe6,0x8d
-# CHECK: s_xnor_b64 vcc, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0x8d]
-0x00,0x00,0xea,0x8d
+# CHECK: s_xnor_b64 vcc, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xea,0x8d]
+0x02,0x04,0xea,0x8d
-# CHECK: s_xnor_b64 tba, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0x8d]
-0x00,0x00,0xec,0x8d
+# CHECK: s_xnor_b64 tba, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xec,0x8d]
+0x02,0x04,0xec,0x8d
-# CHECK: s_xnor_b64 tma, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0x8d]
-0x00,0x00,0xee,0x8d
+# CHECK: s_xnor_b64 tma, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xee,0x8d]
+0x02,0x04,0xee,0x8d
-# CHECK: s_xnor_b64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0x8d]
-0x00,0x00,0xfa,0x8d
+# CHECK: s_xnor_b64 ttmp[10:11], s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfa,0x8d]
+0x02,0x04,0xfa,0x8d
-# CHECK: s_xnor_b64 exec, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0x8d]
-0x00,0x00,0xfe,0x8d
+# CHECK: s_xnor_b64 exec, s[2:3], s[4:5] ; encoding: [0x02,0x04,0xfe,0x8d]
+0x02,0x04,0xfe,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[2:3], s[0:1] ; encoding: [0x02,0x00,0x80,0x8d]
-0x02,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[4:5], s[4:5] ; encoding: [0x04,0x04,0x8a,0x8d]
+0x04,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[100:101], s[0:1] ; encoding: [0x64,0x00,0x80,0x8d]
-0x64,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[100:101], s[4:5] ; encoding: [0x64,0x04,0x8a,0x8d]
+0x64,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x80,0x8d]
-0x66,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x8a,0x8d]
+0x66,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], vcc, s[0:1] ; encoding: [0x6a,0x00,0x80,0x8d]
-0x6a,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], vcc, s[4:5] ; encoding: [0x6a,0x04,0x8a,0x8d]
+0x6a,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], tba, s[0:1] ; encoding: [0x6c,0x00,0x80,0x8d]
-0x6c,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], tba, s[4:5] ; encoding: [0x6c,0x04,0x8a,0x8d]
+0x6c,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], tma, s[0:1] ; encoding: [0x6e,0x00,0x80,0x8d]
-0x6e,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], tma, s[4:5] ; encoding: [0x6e,0x04,0x8a,0x8d]
+0x6e,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x80,0x8d]
-0x7a,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x8a,0x8d]
+0x7a,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], exec, s[0:1] ; encoding: [0x7e,0x00,0x80,0x8d]
-0x7e,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], exec, s[4:5] ; encoding: [0x7e,0x04,0x8a,0x8d]
+0x7e,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], 0, s[0:1] ; encoding: [0x80,0x00,0x80,0x8d]
-0x80,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], 0, s[4:5] ; encoding: [0x80,0x04,0x8a,0x8d]
+0x80,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], -1, s[0:1] ; encoding: [0xc1,0x00,0x80,0x8d]
-0xc1,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], -1, s[4:5] ; encoding: [0xc1,0x04,0x8a,0x8d]
+0xc1,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], 0.5, s[0:1] ; encoding: [0xf0,0x00,0x80,0x8d]
-0xf0,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], 0.5, s[4:5] ; encoding: [0xf0,0x04,0x8a,0x8d]
+0xf0,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], -4.0, s[0:1] ; encoding: [0xf7,0x00,0x80,0x8d]
-0xf7,0x00,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], -4.0, s[4:5] ; encoding: [0xf7,0x04,0x8a,0x8d]
+0xf7,0x04,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], s[2:3] ; encoding: [0x00,0x02,0x80,0x8d]
-0x00,0x02,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], s[6:7] ; encoding: [0x02,0x06,0x8a,0x8d]
+0x02,0x06,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], s[100:101] ; encoding: [0x00,0x64,0x80,0x8d]
-0x00,0x64,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], s[100:101] ; encoding: [0x02,0x64,0x8a,0x8d]
+0x02,0x64,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], flat_scratch ; encoding: [0x00,0x66,0x80,0x8d]
-0x00,0x66,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], flat_scratch ; encoding: [0x02,0x66,0x8a,0x8d]
+0x02,0x66,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], vcc ; encoding: [0x00,0x6a,0x80,0x8d]
-0x00,0x6a,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], vcc ; encoding: [0x02,0x6a,0x8a,0x8d]
+0x02,0x6a,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], tba ; encoding: [0x00,0x6c,0x80,0x8d]
-0x00,0x6c,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], tba ; encoding: [0x02,0x6c,0x8a,0x8d]
+0x02,0x6c,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], tma ; encoding: [0x00,0x6e,0x80,0x8d]
-0x00,0x6e,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], tma ; encoding: [0x02,0x6e,0x8a,0x8d]
+0x02,0x6e,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x80,0x8d]
-0x00,0x7a,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x8a,0x8d]
+0x02,0x7a,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], exec ; encoding: [0x00,0x7e,0x80,0x8d]
-0x00,0x7e,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], exec ; encoding: [0x02,0x7e,0x8a,0x8d]
+0x02,0x7e,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x8d]
-0x00,0x80,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8d]
+0x02,0x80,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x8d]
-0x00,0xc1,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x8d]
+0x02,0xc1,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x8d]
-0x00,0xf0,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8d]
+0x02,0xf0,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x8d]
-0x00,0xf7,0x80,0x8d
+# CHECK: s_xnor_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x8d]
+0x02,0xf7,0x8a,0x8d
-# CHECK: s_xnor_b64 s[0:1], s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x80,0x8d,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x8d,0x56,0x34,0x12,0xaf
+# CHECK: s_xnor_b64 s[10:11], s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x8a,0x8d,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x8a,0x8d,0x56,0x34,0x12,0xaf
-# CHECK: s_xnor_b64 s[0:1], s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x80,0x8d,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x8d,0x73,0x72,0x71,0x3f
+# CHECK: s_xnor_b64 s[10:11], s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x8a,0x8d,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x8a,0x8d,0x73,0x72,0x71,0x3f
-# CHECK: s_lshl_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x8e]
-0x00,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8e]
+0x01,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x8e]
-0x00,0x00,0x65,0x8e
+# CHECK: s_lshl_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8e]
+0x01,0x02,0x65,0x8e
-# CHECK: s_lshl_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x8e]
-0x00,0x00,0x66,0x8e
+# CHECK: s_lshl_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x8e]
+0x01,0x02,0x66,0x8e
-# CHECK: s_lshl_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x8e]
-0x00,0x00,0x67,0x8e
+# CHECK: s_lshl_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x8e]
+0x01,0x02,0x67,0x8e
-# CHECK: s_lshl_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x8e]
-0x00,0x00,0x6a,0x8e
+# CHECK: s_lshl_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8e]
+0x01,0x02,0x6a,0x8e
-# CHECK: s_lshl_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x8e]
-0x00,0x00,0x6b,0x8e
+# CHECK: s_lshl_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8e]
+0x01,0x02,0x6b,0x8e
-# CHECK: s_lshl_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x8e]
-0x00,0x00,0x6c,0x8e
+# CHECK: s_lshl_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x8e]
+0x01,0x02,0x6c,0x8e
-# CHECK: s_lshl_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x8e]
-0x00,0x00,0x6d,0x8e
+# CHECK: s_lshl_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x8e]
+0x01,0x02,0x6d,0x8e
-# CHECK: s_lshl_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x8e]
-0x00,0x00,0x6e,0x8e
+# CHECK: s_lshl_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x8e]
+0x01,0x02,0x6e,0x8e
-# CHECK: s_lshl_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x8e]
-0x00,0x00,0x6f,0x8e
+# CHECK: s_lshl_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x8e]
+0x01,0x02,0x6f,0x8e
-# CHECK: s_lshl_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x8e]
-0x00,0x00,0x7b,0x8e
+# CHECK: s_lshl_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x8e]
+0x01,0x02,0x7b,0x8e
-# CHECK: s_lshl_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x8e]
-0x00,0x00,0x7c,0x8e
+# CHECK: s_lshl_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8e]
+0x01,0x02,0x7c,0x8e
-# CHECK: s_lshl_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x8e]
-0x00,0x00,0x7e,0x8e
+# CHECK: s_lshl_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8e]
+0x01,0x02,0x7e,0x8e
-# CHECK: s_lshl_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x8e]
-0x00,0x00,0x7f,0x8e
+# CHECK: s_lshl_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8e]
+0x01,0x02,0x7f,0x8e
-# CHECK: s_lshl_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x8e]
-0x65,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8e]
+0x65,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x8e]
-0x66,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8e]
+0x66,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x8e]
-0x67,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8e]
+0x67,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x8e]
-0x6a,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8e]
+0x6a,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x8e]
-0x6b,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8e]
+0x6b,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x8e]
-0x6c,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x8e]
+0x6c,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x8e]
-0x6d,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x8e]
+0x6d,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x8e]
-0x6e,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x8e]
+0x6e,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x8e]
-0x6f,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x8e]
+0x6f,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x8e]
-0x7b,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x8e]
+0x7b,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x8e]
-0x7c,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8e]
+0x7c,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x8e]
-0x7e,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8e]
+0x7e,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x8e]
-0x7f,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8e]
+0x7f,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x8e]
-0x80,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8e]
+0x80,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x8e]
-0xc1,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8e]
+0xc1,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x8e]
-0xf0,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8e]
+0xf0,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x8e]
-0xf7,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8e]
+0xf7,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x8e]
-0xfd,0x00,0x00,0x8e
+# CHECK: s_lshl_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8e]
+0xfd,0x02,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x8e]
-0x00,0x65,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8e]
+0x01,0x65,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x8e]
-0x00,0x66,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8e]
+0x01,0x66,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x8e]
-0x00,0x67,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8e]
+0x01,0x67,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x8e]
-0x00,0x6a,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8e]
+0x01,0x6a,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x8e]
-0x00,0x6b,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8e]
+0x01,0x6b,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x8e]
-0x00,0x6c,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x8e]
+0x01,0x6c,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x8e]
-0x00,0x6d,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x8e]
+0x01,0x6d,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x8e]
-0x00,0x6e,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x8e]
+0x01,0x6e,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x8e]
-0x00,0x6f,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x8e]
+0x01,0x6f,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x8e]
-0x00,0x7b,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x8e]
+0x01,0x7b,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x8e]
-0x00,0x7c,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8e]
+0x01,0x7c,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x8e]
-0x00,0x7e,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8e]
+0x01,0x7e,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x8e]
-0x00,0x7f,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8e]
+0x01,0x7f,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x8e]
-0x00,0x80,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8e]
+0x01,0x80,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x8e]
-0x00,0xc1,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8e]
+0x01,0xc1,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x8e]
-0x00,0xf0,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8e]
+0x01,0xf0,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x8e]
-0x00,0xf7,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8e]
+0x01,0xf7,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x8e]
-0x00,0xfd,0x00,0x8e
+# CHECK: s_lshl_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8e]
+0x01,0xfd,0x05,0x8e
-# CHECK: s_lshl_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x8e,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x8e,0x56,0x34,0x12,0xaf
+# CHECK: s_lshl_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8e,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x8e,0x56,0x34,0x12,0xaf
-# CHECK: s_lshl_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x8e,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x8e,0x73,0x72,0x71,0x3f
+# CHECK: s_lshl_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x8e,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x8e,0x73,0x72,0x71,0x3f
-# CHECK: s_lshl_b64 s[0:1], s[0:1], s0 ; encoding: [0x00,0x00,0x80,0x8e]
-0x00,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x8a,0x8e]
+0x02,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[2:3], s[0:1], s0 ; encoding: [0x00,0x00,0x82,0x8e]
-0x00,0x00,0x82,0x8e
+# CHECK: s_lshl_b64 s[12:13], s[2:3], s2 ; encoding: [0x02,0x02,0x8c,0x8e]
+0x02,0x02,0x8c,0x8e
-# CHECK: s_lshl_b64 s[100:101], s[0:1], s0 ; encoding: [0x00,0x00,0xe4,0x8e]
-0x00,0x00,0xe4,0x8e
+# CHECK: s_lshl_b64 s[100:101], s[2:3], s2 ; encoding: [0x02,0x02,0xe4,0x8e]
+0x02,0x02,0xe4,0x8e
-# CHECK: s_lshl_b64 flat_scratch, s[0:1], s0 ; encoding: [0x00,0x00,0xe6,0x8e]
-0x00,0x00,0xe6,0x8e
+# CHECK: s_lshl_b64 flat_scratch, s[2:3], s2 ; encoding: [0x02,0x02,0xe6,0x8e]
+0x02,0x02,0xe6,0x8e
-# CHECK: s_lshl_b64 vcc, s[0:1], s0 ; encoding: [0x00,0x00,0xea,0x8e]
-0x00,0x00,0xea,0x8e
+# CHECK: s_lshl_b64 vcc, s[2:3], s2 ; encoding: [0x02,0x02,0xea,0x8e]
+0x02,0x02,0xea,0x8e
-# CHECK: s_lshl_b64 tba, s[0:1], s0 ; encoding: [0x00,0x00,0xec,0x8e]
-0x00,0x00,0xec,0x8e
+# CHECK: s_lshl_b64 tba, s[2:3], s2 ; encoding: [0x02,0x02,0xec,0x8e]
+0x02,0x02,0xec,0x8e
-# CHECK: s_lshl_b64 tma, s[0:1], s0 ; encoding: [0x00,0x00,0xee,0x8e]
-0x00,0x00,0xee,0x8e
+# CHECK: s_lshl_b64 tma, s[2:3], s2 ; encoding: [0x02,0x02,0xee,0x8e]
+0x02,0x02,0xee,0x8e
-# CHECK: s_lshl_b64 ttmp[10:11], s[0:1], s0 ; encoding: [0x00,0x00,0xfa,0x8e]
-0x00,0x00,0xfa,0x8e
+# CHECK: s_lshl_b64 ttmp[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0xfa,0x8e]
+0x02,0x02,0xfa,0x8e
-# CHECK: s_lshl_b64 exec, s[0:1], s0 ; encoding: [0x00,0x00,0xfe,0x8e]
-0x00,0x00,0xfe,0x8e
+# CHECK: s_lshl_b64 exec, s[2:3], s2 ; encoding: [0x02,0x02,0xfe,0x8e]
+0x02,0x02,0xfe,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[2:3], s0 ; encoding: [0x02,0x00,0x80,0x8e]
-0x02,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[4:5], s2 ; encoding: [0x04,0x02,0x8a,0x8e]
+0x04,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[100:101], s0 ; encoding: [0x64,0x00,0x80,0x8e]
-0x64,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[100:101], s2 ; encoding: [0x64,0x02,0x8a,0x8e]
+0x64,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], flat_scratch, s0 ; encoding: [0x66,0x00,0x80,0x8e]
-0x66,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], flat_scratch, s2 ; encoding: [0x66,0x02,0x8a,0x8e]
+0x66,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], vcc, s0 ; encoding: [0x6a,0x00,0x80,0x8e]
-0x6a,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], vcc, s2 ; encoding: [0x6a,0x02,0x8a,0x8e]
+0x6a,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], tba, s0 ; encoding: [0x6c,0x00,0x80,0x8e]
-0x6c,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], tba, s2 ; encoding: [0x6c,0x02,0x8a,0x8e]
+0x6c,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], tma, s0 ; encoding: [0x6e,0x00,0x80,0x8e]
-0x6e,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], tma, s2 ; encoding: [0x6e,0x02,0x8a,0x8e]
+0x6e,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], ttmp[10:11], s0 ; encoding: [0x7a,0x00,0x80,0x8e]
-0x7a,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], ttmp[10:11], s2 ; encoding: [0x7a,0x02,0x8a,0x8e]
+0x7a,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], exec, s0 ; encoding: [0x7e,0x00,0x80,0x8e]
-0x7e,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], exec, s2 ; encoding: [0x7e,0x02,0x8a,0x8e]
+0x7e,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], 0, s0 ; encoding: [0x80,0x00,0x80,0x8e]
-0x80,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x8a,0x8e]
+0x80,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], -1, s0 ; encoding: [0xc1,0x00,0x80,0x8e]
-0xc1,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x8a,0x8e]
+0xc1,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x8e]
-0xf0,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], 0.5, s2 ; encoding: [0xf0,0x02,0x8a,0x8e]
+0xf0,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x8e]
-0xf7,0x00,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x8e]
+0xf7,0x02,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], 0xaf123456, s0 ; encoding: [0xff,0x00,0x80,0x8e,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x80,0x8e,0x56,0x34,0x12,0xaf
+# CHECK: s_lshl_b64 s[10:11], 0xaf123456, s2 ; encoding: [0xff,0x02,0x8a,0x8e,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x8a,0x8e,0x56,0x34,0x12,0xaf
-# CHECK: s_lshl_b64 s[0:1], 0x3f717273, s0 ; encoding: [0xff,0x00,0x80,0x8e,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x80,0x8e,0x73,0x72,0x71,0x3f
+# CHECK: s_lshl_b64 s[10:11], 0x3f717273, s2 ; encoding: [0xff,0x02,0x8a,0x8e,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x8a,0x8e,0x73,0x72,0x71,0x3f
-# CHECK: s_lshl_b64 s[0:1], s[0:1], s101 ; encoding: [0x00,0x65,0x80,0x8e]
-0x00,0x65,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], s101 ; encoding: [0x02,0x65,0x8a,0x8e]
+0x02,0x65,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x8e]
-0x00,0x66,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x8a,0x8e]
+0x02,0x66,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x8e]
-0x00,0x67,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x8e]
+0x02,0x67,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], vcc_lo ; encoding: [0x00,0x6a,0x80,0x8e]
-0x00,0x6a,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], vcc_lo ; encoding: [0x02,0x6a,0x8a,0x8e]
+0x02,0x6a,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], vcc_hi ; encoding: [0x00,0x6b,0x80,0x8e]
-0x00,0x6b,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x8a,0x8e]
+0x02,0x6b,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], tba_lo ; encoding: [0x00,0x6c,0x80,0x8e]
-0x00,0x6c,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], tba_lo ; encoding: [0x02,0x6c,0x8a,0x8e]
+0x02,0x6c,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], tba_hi ; encoding: [0x00,0x6d,0x80,0x8e]
-0x00,0x6d,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], tba_hi ; encoding: [0x02,0x6d,0x8a,0x8e]
+0x02,0x6d,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], tma_lo ; encoding: [0x00,0x6e,0x80,0x8e]
-0x00,0x6e,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], tma_lo ; encoding: [0x02,0x6e,0x8a,0x8e]
+0x02,0x6e,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], tma_hi ; encoding: [0x00,0x6f,0x80,0x8e]
-0x00,0x6f,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], tma_hi ; encoding: [0x02,0x6f,0x8a,0x8e]
+0x02,0x6f,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], ttmp11 ; encoding: [0x00,0x7b,0x80,0x8e]
-0x00,0x7b,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], ttmp11 ; encoding: [0x02,0x7b,0x8a,0x8e]
+0x02,0x7b,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], m0 ; encoding: [0x00,0x7c,0x80,0x8e]
-0x00,0x7c,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], m0 ; encoding: [0x02,0x7c,0x8a,0x8e]
+0x02,0x7c,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], exec_lo ; encoding: [0x00,0x7e,0x80,0x8e]
-0x00,0x7e,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], exec_lo ; encoding: [0x02,0x7e,0x8a,0x8e]
+0x02,0x7e,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], exec_hi ; encoding: [0x00,0x7f,0x80,0x8e]
-0x00,0x7f,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], exec_hi ; encoding: [0x02,0x7f,0x8a,0x8e]
+0x02,0x7f,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x8e]
-0x00,0x80,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8e]
+0x02,0x80,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x8e]
-0x00,0xc1,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x8e]
+0x02,0xc1,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x8e]
-0x00,0xf0,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8e]
+0x02,0xf0,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x8e]
-0x00,0xf7,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x8e]
+0x02,0xf7,0x8a,0x8e
-# CHECK: s_lshl_b64 s[0:1], s[0:1], scc ; encoding: [0x00,0xfd,0x80,0x8e]
-0x00,0xfd,0x80,0x8e
+# CHECK: s_lshl_b64 s[10:11], s[2:3], scc ; encoding: [0x02,0xfd,0x8a,0x8e]
+0x02,0xfd,0x8a,0x8e
-# CHECK: s_lshr_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x8f]
-0x00,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x8f]
+0x01,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x8f]
-0x00,0x00,0x65,0x8f
+# CHECK: s_lshr_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x8f]
+0x01,0x02,0x65,0x8f
-# CHECK: s_lshr_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x8f]
-0x00,0x00,0x66,0x8f
+# CHECK: s_lshr_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x8f]
+0x01,0x02,0x66,0x8f
-# CHECK: s_lshr_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x8f]
-0x00,0x00,0x67,0x8f
+# CHECK: s_lshr_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x8f]
+0x01,0x02,0x67,0x8f
-# CHECK: s_lshr_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x8f]
-0x00,0x00,0x6a,0x8f
+# CHECK: s_lshr_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x8f]
+0x01,0x02,0x6a,0x8f
-# CHECK: s_lshr_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x8f]
-0x00,0x00,0x6b,0x8f
+# CHECK: s_lshr_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x8f]
+0x01,0x02,0x6b,0x8f
-# CHECK: s_lshr_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x8f]
-0x00,0x00,0x6c,0x8f
+# CHECK: s_lshr_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x8f]
+0x01,0x02,0x6c,0x8f
-# CHECK: s_lshr_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x8f]
-0x00,0x00,0x6d,0x8f
+# CHECK: s_lshr_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x8f]
+0x01,0x02,0x6d,0x8f
-# CHECK: s_lshr_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x8f]
-0x00,0x00,0x6e,0x8f
+# CHECK: s_lshr_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x8f]
+0x01,0x02,0x6e,0x8f
-# CHECK: s_lshr_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x8f]
-0x00,0x00,0x6f,0x8f
+# CHECK: s_lshr_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x8f]
+0x01,0x02,0x6f,0x8f
-# CHECK: s_lshr_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x8f]
-0x00,0x00,0x7b,0x8f
+# CHECK: s_lshr_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x8f]
+0x01,0x02,0x7b,0x8f
-# CHECK: s_lshr_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x8f]
-0x00,0x00,0x7c,0x8f
+# CHECK: s_lshr_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x8f]
+0x01,0x02,0x7c,0x8f
-# CHECK: s_lshr_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x8f]
-0x00,0x00,0x7e,0x8f
+# CHECK: s_lshr_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x8f]
+0x01,0x02,0x7e,0x8f
-# CHECK: s_lshr_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x8f]
-0x00,0x00,0x7f,0x8f
+# CHECK: s_lshr_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x8f]
+0x01,0x02,0x7f,0x8f
-# CHECK: s_lshr_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x8f]
-0x65,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x8f]
+0x65,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x8f]
-0x66,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x8f]
+0x66,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x8f]
-0x67,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x8f]
+0x67,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x8f]
-0x6a,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x8f]
+0x6a,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x8f]
-0x6b,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x8f]
+0x6b,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x8f]
-0x6c,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x8f]
+0x6c,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x8f]
-0x6d,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x8f]
+0x6d,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x8f]
-0x6e,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x8f]
+0x6e,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x8f]
-0x6f,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x8f]
+0x6f,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x8f]
-0x7b,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x8f]
+0x7b,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x8f]
-0x7c,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x8f]
+0x7c,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x8f]
-0x7e,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x8f]
+0x7e,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x8f]
-0x7f,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x8f]
+0x7f,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x8f]
-0x80,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x8f]
+0x80,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x8f]
-0xc1,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x8f]
+0xc1,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x8f]
-0xf0,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x8f]
+0xf0,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x8f]
-0xf7,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x8f]
+0xf7,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x8f]
-0xfd,0x00,0x00,0x8f
+# CHECK: s_lshr_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x8f]
+0xfd,0x02,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x8f]
-0x00,0x65,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x8f]
+0x01,0x65,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x8f]
-0x00,0x66,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x8f]
+0x01,0x66,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x8f]
-0x00,0x67,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x8f]
+0x01,0x67,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x8f]
-0x00,0x6a,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x8f]
+0x01,0x6a,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x8f]
-0x00,0x6b,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x8f]
+0x01,0x6b,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x8f]
-0x00,0x6c,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x8f]
+0x01,0x6c,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x8f]
-0x00,0x6d,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x8f]
+0x01,0x6d,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x8f]
-0x00,0x6e,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x8f]
+0x01,0x6e,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x8f]
-0x00,0x6f,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x8f]
+0x01,0x6f,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x8f]
-0x00,0x7b,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x8f]
+0x01,0x7b,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x8f]
-0x00,0x7c,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x8f]
+0x01,0x7c,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x8f]
-0x00,0x7e,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x8f]
+0x01,0x7e,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x8f]
-0x00,0x7f,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x8f]
+0x01,0x7f,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x8f]
-0x00,0x80,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x8f]
+0x01,0x80,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x8f]
-0x00,0xc1,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x8f]
+0x01,0xc1,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x8f]
-0x00,0xf0,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x8f]
+0x01,0xf0,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x8f]
-0x00,0xf7,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x8f]
+0x01,0xf7,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x8f]
-0x00,0xfd,0x00,0x8f
+# CHECK: s_lshr_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x8f]
+0x01,0xfd,0x05,0x8f
-# CHECK: s_lshr_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x8f,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x8f,0x56,0x34,0x12,0xaf
+# CHECK: s_lshr_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x8f,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x8f,0x56,0x34,0x12,0xaf
-# CHECK: s_lshr_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x8f,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x8f,0x73,0x72,0x71,0x3f
+# CHECK: s_lshr_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x8f,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x8f,0x73,0x72,0x71,0x3f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], s0 ; encoding: [0x00,0x00,0x80,0x8f]
-0x00,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x8a,0x8f]
+0x02,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[2:3], s[0:1], s0 ; encoding: [0x00,0x00,0x82,0x8f]
-0x00,0x00,0x82,0x8f
+# CHECK: s_lshr_b64 s[12:13], s[2:3], s2 ; encoding: [0x02,0x02,0x8c,0x8f]
+0x02,0x02,0x8c,0x8f
-# CHECK: s_lshr_b64 s[100:101], s[0:1], s0 ; encoding: [0x00,0x00,0xe4,0x8f]
-0x00,0x00,0xe4,0x8f
+# CHECK: s_lshr_b64 s[100:101], s[2:3], s2 ; encoding: [0x02,0x02,0xe4,0x8f]
+0x02,0x02,0xe4,0x8f
-# CHECK: s_lshr_b64 flat_scratch, s[0:1], s0 ; encoding: [0x00,0x00,0xe6,0x8f]
-0x00,0x00,0xe6,0x8f
+# CHECK: s_lshr_b64 flat_scratch, s[2:3], s2 ; encoding: [0x02,0x02,0xe6,0x8f]
+0x02,0x02,0xe6,0x8f
-# CHECK: s_lshr_b64 vcc, s[0:1], s0 ; encoding: [0x00,0x00,0xea,0x8f]
-0x00,0x00,0xea,0x8f
+# CHECK: s_lshr_b64 vcc, s[2:3], s2 ; encoding: [0x02,0x02,0xea,0x8f]
+0x02,0x02,0xea,0x8f
-# CHECK: s_lshr_b64 tba, s[0:1], s0 ; encoding: [0x00,0x00,0xec,0x8f]
-0x00,0x00,0xec,0x8f
+# CHECK: s_lshr_b64 tba, s[2:3], s2 ; encoding: [0x02,0x02,0xec,0x8f]
+0x02,0x02,0xec,0x8f
-# CHECK: s_lshr_b64 tma, s[0:1], s0 ; encoding: [0x00,0x00,0xee,0x8f]
-0x00,0x00,0xee,0x8f
+# CHECK: s_lshr_b64 tma, s[2:3], s2 ; encoding: [0x02,0x02,0xee,0x8f]
+0x02,0x02,0xee,0x8f
-# CHECK: s_lshr_b64 ttmp[10:11], s[0:1], s0 ; encoding: [0x00,0x00,0xfa,0x8f]
-0x00,0x00,0xfa,0x8f
+# CHECK: s_lshr_b64 ttmp[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0xfa,0x8f]
+0x02,0x02,0xfa,0x8f
-# CHECK: s_lshr_b64 exec, s[0:1], s0 ; encoding: [0x00,0x00,0xfe,0x8f]
-0x00,0x00,0xfe,0x8f
+# CHECK: s_lshr_b64 exec, s[2:3], s2 ; encoding: [0x02,0x02,0xfe,0x8f]
+0x02,0x02,0xfe,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[2:3], s0 ; encoding: [0x02,0x00,0x80,0x8f]
-0x02,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[4:5], s2 ; encoding: [0x04,0x02,0x8a,0x8f]
+0x04,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[100:101], s0 ; encoding: [0x64,0x00,0x80,0x8f]
-0x64,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[100:101], s2 ; encoding: [0x64,0x02,0x8a,0x8f]
+0x64,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], flat_scratch, s0 ; encoding: [0x66,0x00,0x80,0x8f]
-0x66,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], flat_scratch, s2 ; encoding: [0x66,0x02,0x8a,0x8f]
+0x66,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], vcc, s0 ; encoding: [0x6a,0x00,0x80,0x8f]
-0x6a,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], vcc, s2 ; encoding: [0x6a,0x02,0x8a,0x8f]
+0x6a,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], tba, s0 ; encoding: [0x6c,0x00,0x80,0x8f]
-0x6c,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], tba, s2 ; encoding: [0x6c,0x02,0x8a,0x8f]
+0x6c,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], tma, s0 ; encoding: [0x6e,0x00,0x80,0x8f]
-0x6e,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], tma, s2 ; encoding: [0x6e,0x02,0x8a,0x8f]
+0x6e,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], ttmp[10:11], s0 ; encoding: [0x7a,0x00,0x80,0x8f]
-0x7a,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], ttmp[10:11], s2 ; encoding: [0x7a,0x02,0x8a,0x8f]
+0x7a,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], exec, s0 ; encoding: [0x7e,0x00,0x80,0x8f]
-0x7e,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], exec, s2 ; encoding: [0x7e,0x02,0x8a,0x8f]
+0x7e,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], 0, s0 ; encoding: [0x80,0x00,0x80,0x8f]
-0x80,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x8a,0x8f]
+0x80,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], -1, s0 ; encoding: [0xc1,0x00,0x80,0x8f]
-0xc1,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x8a,0x8f]
+0xc1,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x8f]
-0xf0,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], 0.5, s2 ; encoding: [0xf0,0x02,0x8a,0x8f]
+0xf0,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x8f]
-0xf7,0x00,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x8f]
+0xf7,0x02,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], 0xaf123456, s0 ; encoding: [0xff,0x00,0x80,0x8f,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x80,0x8f,0x56,0x34,0x12,0xaf
+# CHECK: s_lshr_b64 s[10:11], 0xaf123456, s2 ; encoding: [0xff,0x02,0x8a,0x8f,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x8a,0x8f,0x56,0x34,0x12,0xaf
-# CHECK: s_lshr_b64 s[0:1], 0x3f717273, s0 ; encoding: [0xff,0x00,0x80,0x8f,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x80,0x8f,0x73,0x72,0x71,0x3f
+# CHECK: s_lshr_b64 s[10:11], 0x3f717273, s2 ; encoding: [0xff,0x02,0x8a,0x8f,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x8a,0x8f,0x73,0x72,0x71,0x3f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], s101 ; encoding: [0x00,0x65,0x80,0x8f]
-0x00,0x65,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], s101 ; encoding: [0x02,0x65,0x8a,0x8f]
+0x02,0x65,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x8f]
-0x00,0x66,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x8a,0x8f]
+0x02,0x66,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x8f]
-0x00,0x67,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x8f]
+0x02,0x67,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], vcc_lo ; encoding: [0x00,0x6a,0x80,0x8f]
-0x00,0x6a,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], vcc_lo ; encoding: [0x02,0x6a,0x8a,0x8f]
+0x02,0x6a,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], vcc_hi ; encoding: [0x00,0x6b,0x80,0x8f]
-0x00,0x6b,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x8a,0x8f]
+0x02,0x6b,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], tba_lo ; encoding: [0x00,0x6c,0x80,0x8f]
-0x00,0x6c,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], tba_lo ; encoding: [0x02,0x6c,0x8a,0x8f]
+0x02,0x6c,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], tba_hi ; encoding: [0x00,0x6d,0x80,0x8f]
-0x00,0x6d,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], tba_hi ; encoding: [0x02,0x6d,0x8a,0x8f]
+0x02,0x6d,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], tma_lo ; encoding: [0x00,0x6e,0x80,0x8f]
-0x00,0x6e,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], tma_lo ; encoding: [0x02,0x6e,0x8a,0x8f]
+0x02,0x6e,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], tma_hi ; encoding: [0x00,0x6f,0x80,0x8f]
-0x00,0x6f,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], tma_hi ; encoding: [0x02,0x6f,0x8a,0x8f]
+0x02,0x6f,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], ttmp11 ; encoding: [0x00,0x7b,0x80,0x8f]
-0x00,0x7b,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], ttmp11 ; encoding: [0x02,0x7b,0x8a,0x8f]
+0x02,0x7b,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], m0 ; encoding: [0x00,0x7c,0x80,0x8f]
-0x00,0x7c,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], m0 ; encoding: [0x02,0x7c,0x8a,0x8f]
+0x02,0x7c,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], exec_lo ; encoding: [0x00,0x7e,0x80,0x8f]
-0x00,0x7e,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], exec_lo ; encoding: [0x02,0x7e,0x8a,0x8f]
+0x02,0x7e,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], exec_hi ; encoding: [0x00,0x7f,0x80,0x8f]
-0x00,0x7f,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], exec_hi ; encoding: [0x02,0x7f,0x8a,0x8f]
+0x02,0x7f,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x8f]
-0x00,0x80,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x8f]
+0x02,0x80,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x8f]
-0x00,0xc1,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x8f]
+0x02,0xc1,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x8f]
-0x00,0xf0,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x8f]
+0x02,0xf0,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x8f]
-0x00,0xf7,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x8f]
+0x02,0xf7,0x8a,0x8f
-# CHECK: s_lshr_b64 s[0:1], s[0:1], scc ; encoding: [0x00,0xfd,0x80,0x8f]
-0x00,0xfd,0x80,0x8f
+# CHECK: s_lshr_b64 s[10:11], s[2:3], scc ; encoding: [0x02,0xfd,0x8a,0x8f]
+0x02,0xfd,0x8a,0x8f
-# CHECK: s_ashr_i32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x90]
-0x00,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x90]
+0x01,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x90]
-0x00,0x00,0x65,0x90
+# CHECK: s_ashr_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x90]
+0x01,0x02,0x65,0x90
-# CHECK: s_ashr_i32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x90]
-0x00,0x00,0x66,0x90
+# CHECK: s_ashr_i32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x90]
+0x01,0x02,0x66,0x90
-# CHECK: s_ashr_i32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x90]
-0x00,0x00,0x67,0x90
+# CHECK: s_ashr_i32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x90]
+0x01,0x02,0x67,0x90
-# CHECK: s_ashr_i32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x90]
-0x00,0x00,0x6a,0x90
+# CHECK: s_ashr_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x90]
+0x01,0x02,0x6a,0x90
-# CHECK: s_ashr_i32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x90]
-0x00,0x00,0x6b,0x90
+# CHECK: s_ashr_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x90]
+0x01,0x02,0x6b,0x90
-# CHECK: s_ashr_i32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x90]
-0x00,0x00,0x6c,0x90
+# CHECK: s_ashr_i32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x90]
+0x01,0x02,0x6c,0x90
-# CHECK: s_ashr_i32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x90]
-0x00,0x00,0x6d,0x90
+# CHECK: s_ashr_i32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x90]
+0x01,0x02,0x6d,0x90
-# CHECK: s_ashr_i32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x90]
-0x00,0x00,0x6e,0x90
+# CHECK: s_ashr_i32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x90]
+0x01,0x02,0x6e,0x90
-# CHECK: s_ashr_i32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x90]
-0x00,0x00,0x6f,0x90
+# CHECK: s_ashr_i32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x90]
+0x01,0x02,0x6f,0x90
-# CHECK: s_ashr_i32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x90]
-0x00,0x00,0x7b,0x90
+# CHECK: s_ashr_i32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x90]
+0x01,0x02,0x7b,0x90
-# CHECK: s_ashr_i32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x90]
-0x00,0x00,0x7c,0x90
+# CHECK: s_ashr_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x90]
+0x01,0x02,0x7c,0x90
-# CHECK: s_ashr_i32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x90]
-0x00,0x00,0x7e,0x90
+# CHECK: s_ashr_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x90]
+0x01,0x02,0x7e,0x90
-# CHECK: s_ashr_i32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x90]
-0x00,0x00,0x7f,0x90
+# CHECK: s_ashr_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x90]
+0x01,0x02,0x7f,0x90
-# CHECK: s_ashr_i32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x90]
-0x65,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x90]
+0x65,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x90]
-0x66,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x90]
+0x66,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x90]
-0x67,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x90]
+0x67,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x90]
-0x6a,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x90]
+0x6a,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x90]
-0x6b,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x90]
+0x6b,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x90]
-0x6c,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x90]
+0x6c,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x90]
-0x6d,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x90]
+0x6d,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x90]
-0x6e,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x90]
+0x6e,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x90]
-0x6f,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x90]
+0x6f,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x90]
-0x7b,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x90]
+0x7b,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x90]
-0x7c,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x90]
+0x7c,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x90]
-0x7e,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x90]
+0x7e,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x90]
-0x7f,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x90]
+0x7f,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x90]
-0x80,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x90]
+0x80,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x90]
-0xc1,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x90]
+0xc1,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x90]
-0xf0,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x90]
+0xf0,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x90]
-0xf7,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x90]
+0xf7,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x90]
-0xfd,0x00,0x00,0x90
+# CHECK: s_ashr_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x90]
+0xfd,0x02,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x90]
-0x00,0x65,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x90]
+0x01,0x65,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x90]
-0x00,0x66,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x90]
+0x01,0x66,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x90]
-0x00,0x67,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x90]
+0x01,0x67,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x90]
-0x00,0x6a,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x90]
+0x01,0x6a,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x90]
-0x00,0x6b,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x90]
+0x01,0x6b,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x90]
-0x00,0x6c,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x90]
+0x01,0x6c,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x90]
-0x00,0x6d,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x90]
+0x01,0x6d,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x90]
-0x00,0x6e,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x90]
+0x01,0x6e,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x90]
-0x00,0x6f,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x90]
+0x01,0x6f,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x90]
-0x00,0x7b,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x90]
+0x01,0x7b,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x90]
-0x00,0x7c,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x90]
+0x01,0x7c,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x90]
-0x00,0x7e,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x90]
+0x01,0x7e,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x90]
-0x00,0x7f,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x90]
+0x01,0x7f,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x90]
-0x00,0x80,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x90]
+0x01,0x80,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x90]
-0x00,0xc1,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x90]
+0x01,0xc1,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x90]
-0x00,0xf0,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x90]
+0x01,0xf0,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x90]
-0x00,0xf7,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x90]
+0x01,0xf7,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x90]
-0x00,0xfd,0x00,0x90
+# CHECK: s_ashr_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x90]
+0x01,0xfd,0x05,0x90
-# CHECK: s_ashr_i32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x90,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x90,0x56,0x34,0x12,0xaf
+# CHECK: s_ashr_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x90,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x90,0x56,0x34,0x12,0xaf
-# CHECK: s_ashr_i32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x90,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x90,0x73,0x72,0x71,0x3f
+# CHECK: s_ashr_i32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x90,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x90,0x73,0x72,0x71,0x3f
-# CHECK: s_ashr_i64 s[0:1], s[0:1], s0 ; encoding: [0x00,0x00,0x80,0x90]
-0x00,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x8a,0x90]
+0x02,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[2:3], s[0:1], s0 ; encoding: [0x00,0x00,0x82,0x90]
-0x00,0x00,0x82,0x90
+# CHECK: s_ashr_i64 s[12:13], s[2:3], s2 ; encoding: [0x02,0x02,0x8c,0x90]
+0x02,0x02,0x8c,0x90
-# CHECK: s_ashr_i64 s[100:101], s[0:1], s0 ; encoding: [0x00,0x00,0xe4,0x90]
-0x00,0x00,0xe4,0x90
+# CHECK: s_ashr_i64 s[100:101], s[2:3], s2 ; encoding: [0x02,0x02,0xe4,0x90]
+0x02,0x02,0xe4,0x90
-# CHECK: s_ashr_i64 flat_scratch, s[0:1], s0 ; encoding: [0x00,0x00,0xe6,0x90]
-0x00,0x00,0xe6,0x90
+# CHECK: s_ashr_i64 flat_scratch, s[2:3], s2 ; encoding: [0x02,0x02,0xe6,0x90]
+0x02,0x02,0xe6,0x90
-# CHECK: s_ashr_i64 vcc, s[0:1], s0 ; encoding: [0x00,0x00,0xea,0x90]
-0x00,0x00,0xea,0x90
+# CHECK: s_ashr_i64 vcc, s[2:3], s2 ; encoding: [0x02,0x02,0xea,0x90]
+0x02,0x02,0xea,0x90
-# CHECK: s_ashr_i64 tba, s[0:1], s0 ; encoding: [0x00,0x00,0xec,0x90]
-0x00,0x00,0xec,0x90
+# CHECK: s_ashr_i64 tba, s[2:3], s2 ; encoding: [0x02,0x02,0xec,0x90]
+0x02,0x02,0xec,0x90
-# CHECK: s_ashr_i64 tma, s[0:1], s0 ; encoding: [0x00,0x00,0xee,0x90]
-0x00,0x00,0xee,0x90
+# CHECK: s_ashr_i64 tma, s[2:3], s2 ; encoding: [0x02,0x02,0xee,0x90]
+0x02,0x02,0xee,0x90
-# CHECK: s_ashr_i64 ttmp[10:11], s[0:1], s0 ; encoding: [0x00,0x00,0xfa,0x90]
-0x00,0x00,0xfa,0x90
+# CHECK: s_ashr_i64 ttmp[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0xfa,0x90]
+0x02,0x02,0xfa,0x90
-# CHECK: s_ashr_i64 exec, s[0:1], s0 ; encoding: [0x00,0x00,0xfe,0x90]
-0x00,0x00,0xfe,0x90
+# CHECK: s_ashr_i64 exec, s[2:3], s2 ; encoding: [0x02,0x02,0xfe,0x90]
+0x02,0x02,0xfe,0x90
-# CHECK: s_ashr_i64 s[0:1], s[2:3], s0 ; encoding: [0x02,0x00,0x80,0x90]
-0x02,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[4:5], s2 ; encoding: [0x04,0x02,0x8a,0x90]
+0x04,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[100:101], s0 ; encoding: [0x64,0x00,0x80,0x90]
-0x64,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[100:101], s2 ; encoding: [0x64,0x02,0x8a,0x90]
+0x64,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], flat_scratch, s0 ; encoding: [0x66,0x00,0x80,0x90]
-0x66,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], flat_scratch, s2 ; encoding: [0x66,0x02,0x8a,0x90]
+0x66,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], vcc, s0 ; encoding: [0x6a,0x00,0x80,0x90]
-0x6a,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], vcc, s2 ; encoding: [0x6a,0x02,0x8a,0x90]
+0x6a,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], tba, s0 ; encoding: [0x6c,0x00,0x80,0x90]
-0x6c,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], tba, s2 ; encoding: [0x6c,0x02,0x8a,0x90]
+0x6c,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], tma, s0 ; encoding: [0x6e,0x00,0x80,0x90]
-0x6e,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], tma, s2 ; encoding: [0x6e,0x02,0x8a,0x90]
+0x6e,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], ttmp[10:11], s0 ; encoding: [0x7a,0x00,0x80,0x90]
-0x7a,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], ttmp[10:11], s2 ; encoding: [0x7a,0x02,0x8a,0x90]
+0x7a,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], exec, s0 ; encoding: [0x7e,0x00,0x80,0x90]
-0x7e,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], exec, s2 ; encoding: [0x7e,0x02,0x8a,0x90]
+0x7e,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], 0, s0 ; encoding: [0x80,0x00,0x80,0x90]
-0x80,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x8a,0x90]
+0x80,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], -1, s0 ; encoding: [0xc1,0x00,0x80,0x90]
-0xc1,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x8a,0x90]
+0xc1,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x90]
-0xf0,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], 0.5, s2 ; encoding: [0xf0,0x02,0x8a,0x90]
+0xf0,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x90]
-0xf7,0x00,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x90]
+0xf7,0x02,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], 0xaf123456, s0 ; encoding: [0xff,0x00,0x80,0x90,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x80,0x90,0x56,0x34,0x12,0xaf
+# CHECK: s_ashr_i64 s[10:11], 0xaf123456, s2 ; encoding: [0xff,0x02,0x8a,0x90,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x8a,0x90,0x56,0x34,0x12,0xaf
-# CHECK: s_ashr_i64 s[0:1], 0x3f717273, s0 ; encoding: [0xff,0x00,0x80,0x90,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x80,0x90,0x73,0x72,0x71,0x3f
+# CHECK: s_ashr_i64 s[10:11], 0x3f717273, s2 ; encoding: [0xff,0x02,0x8a,0x90,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x8a,0x90,0x73,0x72,0x71,0x3f
-# CHECK: s_ashr_i64 s[0:1], s[0:1], s101 ; encoding: [0x00,0x65,0x80,0x90]
-0x00,0x65,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], s101 ; encoding: [0x02,0x65,0x8a,0x90]
+0x02,0x65,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x90]
-0x00,0x66,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x8a,0x90]
+0x02,0x66,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x90]
-0x00,0x67,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x90]
+0x02,0x67,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], vcc_lo ; encoding: [0x00,0x6a,0x80,0x90]
-0x00,0x6a,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], vcc_lo ; encoding: [0x02,0x6a,0x8a,0x90]
+0x02,0x6a,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], vcc_hi ; encoding: [0x00,0x6b,0x80,0x90]
-0x00,0x6b,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x8a,0x90]
+0x02,0x6b,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], tba_lo ; encoding: [0x00,0x6c,0x80,0x90]
-0x00,0x6c,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], tba_lo ; encoding: [0x02,0x6c,0x8a,0x90]
+0x02,0x6c,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], tba_hi ; encoding: [0x00,0x6d,0x80,0x90]
-0x00,0x6d,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], tba_hi ; encoding: [0x02,0x6d,0x8a,0x90]
+0x02,0x6d,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], tma_lo ; encoding: [0x00,0x6e,0x80,0x90]
-0x00,0x6e,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], tma_lo ; encoding: [0x02,0x6e,0x8a,0x90]
+0x02,0x6e,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], tma_hi ; encoding: [0x00,0x6f,0x80,0x90]
-0x00,0x6f,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], tma_hi ; encoding: [0x02,0x6f,0x8a,0x90]
+0x02,0x6f,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], ttmp11 ; encoding: [0x00,0x7b,0x80,0x90]
-0x00,0x7b,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], ttmp11 ; encoding: [0x02,0x7b,0x8a,0x90]
+0x02,0x7b,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], m0 ; encoding: [0x00,0x7c,0x80,0x90]
-0x00,0x7c,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], m0 ; encoding: [0x02,0x7c,0x8a,0x90]
+0x02,0x7c,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], exec_lo ; encoding: [0x00,0x7e,0x80,0x90]
-0x00,0x7e,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], exec_lo ; encoding: [0x02,0x7e,0x8a,0x90]
+0x02,0x7e,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], exec_hi ; encoding: [0x00,0x7f,0x80,0x90]
-0x00,0x7f,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], exec_hi ; encoding: [0x02,0x7f,0x8a,0x90]
+0x02,0x7f,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x90]
-0x00,0x80,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x90]
+0x02,0x80,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x90]
-0x00,0xc1,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x90]
+0x02,0xc1,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x90]
-0x00,0xf0,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x90]
+0x02,0xf0,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x90]
-0x00,0xf7,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x90]
+0x02,0xf7,0x8a,0x90
-# CHECK: s_ashr_i64 s[0:1], s[0:1], scc ; encoding: [0x00,0xfd,0x80,0x90]
-0x00,0xfd,0x80,0x90
+# CHECK: s_ashr_i64 s[10:11], s[2:3], scc ; encoding: [0x02,0xfd,0x8a,0x90]
+0x02,0xfd,0x8a,0x90
-# CHECK: s_bfm_b32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x91]
-0x00,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x91]
+0x01,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x91]
-0x00,0x00,0x65,0x91
+# CHECK: s_bfm_b32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x91]
+0x01,0x02,0x65,0x91
-# CHECK: s_bfm_b32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x91]
-0x00,0x00,0x66,0x91
+# CHECK: s_bfm_b32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x91]
+0x01,0x02,0x66,0x91
-# CHECK: s_bfm_b32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x91]
-0x00,0x00,0x67,0x91
+# CHECK: s_bfm_b32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x91]
+0x01,0x02,0x67,0x91
-# CHECK: s_bfm_b32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x91]
-0x00,0x00,0x6a,0x91
+# CHECK: s_bfm_b32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x91]
+0x01,0x02,0x6a,0x91
-# CHECK: s_bfm_b32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x91]
-0x00,0x00,0x6b,0x91
+# CHECK: s_bfm_b32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x91]
+0x01,0x02,0x6b,0x91
-# CHECK: s_bfm_b32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x91]
-0x00,0x00,0x6c,0x91
+# CHECK: s_bfm_b32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x91]
+0x01,0x02,0x6c,0x91
-# CHECK: s_bfm_b32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x91]
-0x00,0x00,0x6d,0x91
+# CHECK: s_bfm_b32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x91]
+0x01,0x02,0x6d,0x91
-# CHECK: s_bfm_b32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x91]
-0x00,0x00,0x6e,0x91
+# CHECK: s_bfm_b32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x91]
+0x01,0x02,0x6e,0x91
-# CHECK: s_bfm_b32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x91]
-0x00,0x00,0x6f,0x91
+# CHECK: s_bfm_b32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x91]
+0x01,0x02,0x6f,0x91
-# CHECK: s_bfm_b32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x91]
-0x00,0x00,0x7b,0x91
+# CHECK: s_bfm_b32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x91]
+0x01,0x02,0x7b,0x91
-# CHECK: s_bfm_b32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x91]
-0x00,0x00,0x7c,0x91
+# CHECK: s_bfm_b32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x91]
+0x01,0x02,0x7c,0x91
-# CHECK: s_bfm_b32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x91]
-0x00,0x00,0x7e,0x91
+# CHECK: s_bfm_b32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x91]
+0x01,0x02,0x7e,0x91
-# CHECK: s_bfm_b32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x91]
-0x00,0x00,0x7f,0x91
+# CHECK: s_bfm_b32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x91]
+0x01,0x02,0x7f,0x91
-# CHECK: s_bfm_b32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x91]
-0x65,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x91]
+0x65,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x91]
-0x66,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x91]
+0x66,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x91]
-0x67,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x91]
+0x67,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x91]
-0x6a,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x91]
+0x6a,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x91]
-0x6b,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x91]
+0x6b,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x91]
-0x6c,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x91]
+0x6c,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x91]
-0x6d,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x91]
+0x6d,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x91]
-0x6e,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x91]
+0x6e,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x91]
-0x6f,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x91]
+0x6f,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x91]
-0x7b,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x91]
+0x7b,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x91]
-0x7c,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x91]
+0x7c,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x91]
-0x7e,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x91]
+0x7e,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x91]
-0x7f,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x91]
+0x7f,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x91]
-0x80,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x91]
+0x80,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x91]
-0xc1,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x91]
+0xc1,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x91]
-0xf0,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x91]
+0xf0,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x91]
-0xf7,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x91]
+0xf7,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x91]
-0xfd,0x00,0x00,0x91
+# CHECK: s_bfm_b32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x91]
+0xfd,0x02,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x91]
-0x00,0x65,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x91]
+0x01,0x65,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x91]
-0x00,0x66,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x91]
+0x01,0x66,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x91]
-0x00,0x67,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x91]
+0x01,0x67,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x91]
-0x00,0x6a,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x91]
+0x01,0x6a,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x91]
-0x00,0x6b,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x91]
+0x01,0x6b,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x91]
-0x00,0x6c,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x91]
+0x01,0x6c,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x91]
-0x00,0x6d,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x91]
+0x01,0x6d,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x91]
-0x00,0x6e,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x91]
+0x01,0x6e,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x91]
-0x00,0x6f,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x91]
+0x01,0x6f,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x91]
-0x00,0x7b,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x91]
+0x01,0x7b,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x91]
-0x00,0x7c,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x91]
+0x01,0x7c,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x91]
-0x00,0x7e,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x91]
+0x01,0x7e,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x91]
-0x00,0x7f,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x91]
+0x01,0x7f,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x91]
-0x00,0x80,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x91]
+0x01,0x80,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x91]
-0x00,0xc1,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x91]
+0x01,0xc1,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x91]
-0x00,0xf0,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x91]
+0x01,0xf0,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x91]
-0x00,0xf7,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x91]
+0x01,0xf7,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x91]
-0x00,0xfd,0x00,0x91
+# CHECK: s_bfm_b32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x91]
+0x01,0xfd,0x05,0x91
-# CHECK: s_bfm_b32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x91,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x91,0x56,0x34,0x12,0xaf
+# CHECK: s_bfm_b32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x91,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x91,0x56,0x34,0x12,0xaf
-# CHECK: s_bfm_b32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x91,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x91,0x73,0x72,0x71,0x3f
+# CHECK: s_bfm_b32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x91,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x91,0x73,0x72,0x71,0x3f
-# CHECK: s_bfm_b64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x80,0x91]
-0x00,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, s2 ; encoding: [0x01,0x02,0x8a,0x91]
+0x01,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[2:3], s0, s0 ; encoding: [0x00,0x00,0x82,0x91]
-0x00,0x00,0x82,0x91
+# CHECK: s_bfm_b64 s[12:13], s1, s2 ; encoding: [0x01,0x02,0x8c,0x91]
+0x01,0x02,0x8c,0x91
-# CHECK: s_bfm_b64 s[100:101], s0, s0 ; encoding: [0x00,0x00,0xe4,0x91]
-0x00,0x00,0xe4,0x91
+# CHECK: s_bfm_b64 s[100:101], s1, s2 ; encoding: [0x01,0x02,0xe4,0x91]
+0x01,0x02,0xe4,0x91
-# CHECK: s_bfm_b64 flat_scratch, s0, s0 ; encoding: [0x00,0x00,0xe6,0x91]
-0x00,0x00,0xe6,0x91
+# CHECK: s_bfm_b64 flat_scratch, s1, s2 ; encoding: [0x01,0x02,0xe6,0x91]
+0x01,0x02,0xe6,0x91
-# CHECK: s_bfm_b64 vcc, s0, s0 ; encoding: [0x00,0x00,0xea,0x91]
-0x00,0x00,0xea,0x91
+# CHECK: s_bfm_b64 vcc, s1, s2 ; encoding: [0x01,0x02,0xea,0x91]
+0x01,0x02,0xea,0x91
-# CHECK: s_bfm_b64 tba, s0, s0 ; encoding: [0x00,0x00,0xec,0x91]
-0x00,0x00,0xec,0x91
+# CHECK: s_bfm_b64 tba, s1, s2 ; encoding: [0x01,0x02,0xec,0x91]
+0x01,0x02,0xec,0x91
-# CHECK: s_bfm_b64 tma, s0, s0 ; encoding: [0x00,0x00,0xee,0x91]
-0x00,0x00,0xee,0x91
+# CHECK: s_bfm_b64 tma, s1, s2 ; encoding: [0x01,0x02,0xee,0x91]
+0x01,0x02,0xee,0x91
-# CHECK: s_bfm_b64 ttmp[10:11], s0, s0 ; encoding: [0x00,0x00,0xfa,0x91]
-0x00,0x00,0xfa,0x91
+# CHECK: s_bfm_b64 ttmp[10:11], s1, s2 ; encoding: [0x01,0x02,0xfa,0x91]
+0x01,0x02,0xfa,0x91
-# CHECK: s_bfm_b64 exec, s0, s0 ; encoding: [0x00,0x00,0xfe,0x91]
-0x00,0x00,0xfe,0x91
+# CHECK: s_bfm_b64 exec, s1, s2 ; encoding: [0x01,0x02,0xfe,0x91]
+0x01,0x02,0xfe,0x91
-# CHECK: s_bfm_b64 s[0:1], s101, s0 ; encoding: [0x65,0x00,0x80,0x91]
-0x65,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s101, s2 ; encoding: [0x65,0x02,0x8a,0x91]
+0x65,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x80,0x91]
-0x66,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x8a,0x91]
+0x66,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x80,0x91]
-0x67,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x8a,0x91]
+0x67,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], vcc_lo, s0 ; encoding: [0x6a,0x00,0x80,0x91]
-0x6a,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], vcc_lo, s2 ; encoding: [0x6a,0x02,0x8a,0x91]
+0x6a,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], vcc_hi, s0 ; encoding: [0x6b,0x00,0x80,0x91]
-0x6b,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], vcc_hi, s2 ; encoding: [0x6b,0x02,0x8a,0x91]
+0x6b,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], tba_lo, s0 ; encoding: [0x6c,0x00,0x80,0x91]
-0x6c,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], tba_lo, s2 ; encoding: [0x6c,0x02,0x8a,0x91]
+0x6c,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], tba_hi, s0 ; encoding: [0x6d,0x00,0x80,0x91]
-0x6d,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], tba_hi, s2 ; encoding: [0x6d,0x02,0x8a,0x91]
+0x6d,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], tma_lo, s0 ; encoding: [0x6e,0x00,0x80,0x91]
-0x6e,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], tma_lo, s2 ; encoding: [0x6e,0x02,0x8a,0x91]
+0x6e,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], tma_hi, s0 ; encoding: [0x6f,0x00,0x80,0x91]
-0x6f,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], tma_hi, s2 ; encoding: [0x6f,0x02,0x8a,0x91]
+0x6f,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], ttmp11, s0 ; encoding: [0x7b,0x00,0x80,0x91]
-0x7b,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], ttmp11, s2 ; encoding: [0x7b,0x02,0x8a,0x91]
+0x7b,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], m0, s0 ; encoding: [0x7c,0x00,0x80,0x91]
-0x7c,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], m0, s2 ; encoding: [0x7c,0x02,0x8a,0x91]
+0x7c,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], exec_lo, s0 ; encoding: [0x7e,0x00,0x80,0x91]
-0x7e,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], exec_lo, s2 ; encoding: [0x7e,0x02,0x8a,0x91]
+0x7e,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], exec_hi, s0 ; encoding: [0x7f,0x00,0x80,0x91]
-0x7f,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], exec_hi, s2 ; encoding: [0x7f,0x02,0x8a,0x91]
+0x7f,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], 0, s0 ; encoding: [0x80,0x00,0x80,0x91]
-0x80,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x8a,0x91]
+0x80,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], -1, s0 ; encoding: [0xc1,0x00,0x80,0x91]
-0xc1,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x8a,0x91]
+0xc1,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x91]
-0xf0,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], 0.5, s2 ; encoding: [0xf0,0x02,0x8a,0x91]
+0xf0,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x91]
-0xf7,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x91]
+0xf7,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], scc, s0 ; encoding: [0xfd,0x00,0x80,0x91]
-0xfd,0x00,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], scc, s2 ; encoding: [0xfd,0x02,0x8a,0x91]
+0xfd,0x02,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, s101 ; encoding: [0x00,0x65,0x80,0x91]
-0x00,0x65,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, s101 ; encoding: [0x01,0x65,0x8a,0x91]
+0x01,0x65,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x91]
-0x00,0x66,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, flat_scratch_lo ; encoding: [0x01,0x66,0x8a,0x91]
+0x01,0x66,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x91]
-0x00,0x67,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, flat_scratch_hi ; encoding: [0x01,0x67,0x8a,0x91]
+0x01,0x67,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, vcc_lo ; encoding: [0x00,0x6a,0x80,0x91]
-0x00,0x6a,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, vcc_lo ; encoding: [0x01,0x6a,0x8a,0x91]
+0x01,0x6a,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, vcc_hi ; encoding: [0x00,0x6b,0x80,0x91]
-0x00,0x6b,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, vcc_hi ; encoding: [0x01,0x6b,0x8a,0x91]
+0x01,0x6b,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, tba_lo ; encoding: [0x00,0x6c,0x80,0x91]
-0x00,0x6c,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, tba_lo ; encoding: [0x01,0x6c,0x8a,0x91]
+0x01,0x6c,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, tba_hi ; encoding: [0x00,0x6d,0x80,0x91]
-0x00,0x6d,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, tba_hi ; encoding: [0x01,0x6d,0x8a,0x91]
+0x01,0x6d,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, tma_lo ; encoding: [0x00,0x6e,0x80,0x91]
-0x00,0x6e,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, tma_lo ; encoding: [0x01,0x6e,0x8a,0x91]
+0x01,0x6e,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, tma_hi ; encoding: [0x00,0x6f,0x80,0x91]
-0x00,0x6f,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, tma_hi ; encoding: [0x01,0x6f,0x8a,0x91]
+0x01,0x6f,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, ttmp11 ; encoding: [0x00,0x7b,0x80,0x91]
-0x00,0x7b,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, ttmp11 ; encoding: [0x01,0x7b,0x8a,0x91]
+0x01,0x7b,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, m0 ; encoding: [0x00,0x7c,0x80,0x91]
-0x00,0x7c,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, m0 ; encoding: [0x01,0x7c,0x8a,0x91]
+0x01,0x7c,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, exec_lo ; encoding: [0x00,0x7e,0x80,0x91]
-0x00,0x7e,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, exec_lo ; encoding: [0x01,0x7e,0x8a,0x91]
+0x01,0x7e,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, exec_hi ; encoding: [0x00,0x7f,0x80,0x91]
-0x00,0x7f,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, exec_hi ; encoding: [0x01,0x7f,0x8a,0x91]
+0x01,0x7f,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, 0 ; encoding: [0x00,0x80,0x80,0x91]
-0x00,0x80,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, 0 ; encoding: [0x01,0x80,0x8a,0x91]
+0x01,0x80,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, -1 ; encoding: [0x00,0xc1,0x80,0x91]
-0x00,0xc1,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, -1 ; encoding: [0x01,0xc1,0x8a,0x91]
+0x01,0xc1,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, 0.5 ; encoding: [0x00,0xf0,0x80,0x91]
-0x00,0xf0,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, 0.5 ; encoding: [0x01,0xf0,0x8a,0x91]
+0x01,0xf0,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, -4.0 ; encoding: [0x00,0xf7,0x80,0x91]
-0x00,0xf7,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, -4.0 ; encoding: [0x01,0xf7,0x8a,0x91]
+0x01,0xf7,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, scc ; encoding: [0x00,0xfd,0x80,0x91]
-0x00,0xfd,0x80,0x91
+# CHECK: s_bfm_b64 s[10:11], s1, scc ; encoding: [0x01,0xfd,0x8a,0x91]
+0x01,0xfd,0x8a,0x91
-# CHECK: s_bfm_b64 s[0:1], s0, 0xaf123456 ; encoding: [0x00,0xff,0x80,0x91,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x91,0x56,0x34,0x12,0xaf
+# CHECK: s_bfm_b64 s[10:11], s1, 0xaf123456 ; encoding: [0x01,0xff,0x8a,0x91,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x8a,0x91,0x56,0x34,0x12,0xaf
-# CHECK: s_bfm_b64 s[0:1], s0, 0x3f717273 ; encoding: [0x00,0xff,0x80,0x91,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x91,0x73,0x72,0x71,0x3f
+# CHECK: s_bfm_b64 s[10:11], s1, 0x3f717273 ; encoding: [0x01,0xff,0x8a,0x91,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x8a,0x91,0x73,0x72,0x71,0x3f
-# CHECK: s_mul_i32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x92]
-0x00,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x92]
+0x01,0x02,0x05,0x92
-# CHECK: s_mul_i32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x92]
-0x00,0x00,0x65,0x92
+# CHECK: s_mul_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x92]
+0x01,0x02,0x65,0x92
-# CHECK: s_mul_i32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x92]
-0x00,0x00,0x66,0x92
+# CHECK: s_mul_i32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x92]
+0x01,0x02,0x66,0x92
-# CHECK: s_mul_i32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x92]
-0x00,0x00,0x67,0x92
+# CHECK: s_mul_i32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x92]
+0x01,0x02,0x67,0x92
-# CHECK: s_mul_i32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x92]
-0x00,0x00,0x6a,0x92
+# CHECK: s_mul_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x92]
+0x01,0x02,0x6a,0x92
-# CHECK: s_mul_i32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x92]
-0x00,0x00,0x6b,0x92
+# CHECK: s_mul_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x92]
+0x01,0x02,0x6b,0x92
-# CHECK: s_mul_i32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x92]
-0x00,0x00,0x6c,0x92
+# CHECK: s_mul_i32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x92]
+0x01,0x02,0x6c,0x92
-# CHECK: s_mul_i32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x92]
-0x00,0x00,0x6d,0x92
+# CHECK: s_mul_i32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x92]
+0x01,0x02,0x6d,0x92
-# CHECK: s_mul_i32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x92]
-0x00,0x00,0x6e,0x92
+# CHECK: s_mul_i32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x92]
+0x01,0x02,0x6e,0x92
-# CHECK: s_mul_i32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x92]
-0x00,0x00,0x6f,0x92
+# CHECK: s_mul_i32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x92]
+0x01,0x02,0x6f,0x92
-# CHECK: s_mul_i32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x92]
-0x00,0x00,0x7b,0x92
+# CHECK: s_mul_i32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x92]
+0x01,0x02,0x7b,0x92
-# CHECK: s_mul_i32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x92]
-0x00,0x00,0x7c,0x92
+# CHECK: s_mul_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x92]
+0x01,0x02,0x7c,0x92
-# CHECK: s_mul_i32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x92]
-0x00,0x00,0x7e,0x92
+# CHECK: s_mul_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x92]
+0x01,0x02,0x7e,0x92
-# CHECK: s_mul_i32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x92]
-0x00,0x00,0x7f,0x92
+# CHECK: s_mul_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x92]
+0x01,0x02,0x7f,0x92
-# CHECK: s_mul_i32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x92]
-0x65,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x92]
+0x65,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x92]
-0x66,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x92]
+0x66,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x92]
-0x67,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x92]
+0x67,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x92]
-0x6a,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x92]
+0x6a,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x92]
-0x6b,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x92]
+0x6b,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x92]
-0x6c,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x92]
+0x6c,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x92]
-0x6d,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x92]
+0x6d,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x92]
-0x6e,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x92]
+0x6e,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x92]
-0x6f,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x92]
+0x6f,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x92]
-0x7b,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x92]
+0x7b,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x92]
-0x7c,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x92]
+0x7c,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x92]
-0x7e,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x92]
+0x7e,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x92]
-0x7f,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x92]
+0x7f,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x92]
-0x80,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x92]
+0x80,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x92]
-0xc1,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x92]
+0xc1,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x92]
-0xf0,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x92]
+0xf0,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x92]
-0xf7,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x92]
+0xf7,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x92]
-0xfd,0x00,0x00,0x92
+# CHECK: s_mul_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x92]
+0xfd,0x02,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x92]
-0x00,0x65,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x92]
+0x01,0x65,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x92]
-0x00,0x66,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x92]
+0x01,0x66,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x92]
-0x00,0x67,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x92]
+0x01,0x67,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x92]
-0x00,0x6a,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x92]
+0x01,0x6a,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x92]
-0x00,0x6b,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x92]
+0x01,0x6b,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x92]
-0x00,0x6c,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x92]
+0x01,0x6c,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x92]
-0x00,0x6d,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x92]
+0x01,0x6d,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x92]
-0x00,0x6e,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x92]
+0x01,0x6e,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x92]
-0x00,0x6f,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x92]
+0x01,0x6f,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x92]
-0x00,0x7b,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x92]
+0x01,0x7b,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x92]
-0x00,0x7c,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x92]
+0x01,0x7c,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x92]
-0x00,0x7e,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x92]
+0x01,0x7e,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x92]
-0x00,0x7f,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x92]
+0x01,0x7f,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x92]
-0x00,0x80,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x92]
+0x01,0x80,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x92]
-0x00,0xc1,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x92]
+0x01,0xc1,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x92]
-0x00,0xf0,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x92]
+0x01,0xf0,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x92]
-0x00,0xf7,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x92]
+0x01,0xf7,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x92]
-0x00,0xfd,0x00,0x92
+# CHECK: s_mul_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x92]
+0x01,0xfd,0x05,0x92
-# CHECK: s_mul_i32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x92,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x92,0x56,0x34,0x12,0xaf
+# CHECK: s_mul_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x92,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x92,0x56,0x34,0x12,0xaf
-# CHECK: s_mul_i32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x92,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x92,0x73,0x72,0x71,0x3f
+# CHECK: s_mul_i32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x92,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x92,0x73,0x72,0x71,0x3f
-# CHECK: s_bfe_u32 s0, s0, s0 ; encoding: [0x00,0x00,0x80,0x92]
-0x00,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x85,0x92]
+0x01,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s101, s0, s0 ; encoding: [0x00,0x00,0xe5,0x92]
-0x00,0x00,0xe5,0x92
+# CHECK: s_bfe_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x92]
+0x01,0x02,0xe5,0x92
-# CHECK: s_bfe_u32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0xe6,0x92]
-0x00,0x00,0xe6,0x92
+# CHECK: s_bfe_u32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0xe6,0x92]
+0x01,0x02,0xe6,0x92
-# CHECK: s_bfe_u32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0xe7,0x92]
-0x00,0x00,0xe7,0x92
+# CHECK: s_bfe_u32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0xe7,0x92]
+0x01,0x02,0xe7,0x92
-# CHECK: s_bfe_u32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0xea,0x92]
-0x00,0x00,0xea,0x92
+# CHECK: s_bfe_u32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0xea,0x92]
+0x01,0x02,0xea,0x92
-# CHECK: s_bfe_u32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0xeb,0x92]
-0x00,0x00,0xeb,0x92
+# CHECK: s_bfe_u32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0xeb,0x92]
+0x01,0x02,0xeb,0x92
-# CHECK: s_bfe_u32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0xec,0x92]
-0x00,0x00,0xec,0x92
+# CHECK: s_bfe_u32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0xec,0x92]
+0x01,0x02,0xec,0x92
-# CHECK: s_bfe_u32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0xed,0x92]
-0x00,0x00,0xed,0x92
+# CHECK: s_bfe_u32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0xed,0x92]
+0x01,0x02,0xed,0x92
-# CHECK: s_bfe_u32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0xee,0x92]
-0x00,0x00,0xee,0x92
+# CHECK: s_bfe_u32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0xee,0x92]
+0x01,0x02,0xee,0x92
-# CHECK: s_bfe_u32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0xef,0x92]
-0x00,0x00,0xef,0x92
+# CHECK: s_bfe_u32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0xef,0x92]
+0x01,0x02,0xef,0x92
-# CHECK: s_bfe_u32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0xfb,0x92]
-0x00,0x00,0xfb,0x92
+# CHECK: s_bfe_u32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0xfb,0x92]
+0x01,0x02,0xfb,0x92
-# CHECK: s_bfe_u32 m0, s0, s0 ; encoding: [0x00,0x00,0xfc,0x92]
-0x00,0x00,0xfc,0x92
+# CHECK: s_bfe_u32 m0, s1, s2 ; encoding: [0x01,0x02,0xfc,0x92]
+0x01,0x02,0xfc,0x92
-# CHECK: s_bfe_u32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0xfe,0x92]
-0x00,0x00,0xfe,0x92
+# CHECK: s_bfe_u32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0xfe,0x92]
+0x01,0x02,0xfe,0x92
-# CHECK: s_bfe_u32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0xff,0x92]
-0x00,0x00,0xff,0x92
+# CHECK: s_bfe_u32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0xff,0x92]
+0x01,0x02,0xff,0x92
-# CHECK: s_bfe_u32 s0, s101, s0 ; encoding: [0x65,0x00,0x80,0x92]
-0x65,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x92]
+0x65,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x80,0x92]
-0x66,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x85,0x92]
+0x66,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x80,0x92]
-0x67,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x85,0x92]
+0x67,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x80,0x92]
-0x6a,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x85,0x92]
+0x6a,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x80,0x92]
-0x6b,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x85,0x92]
+0x6b,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x80,0x92]
-0x6c,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x85,0x92]
+0x6c,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x80,0x92]
-0x6d,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x85,0x92]
+0x6d,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x80,0x92]
-0x6e,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x85,0x92]
+0x6e,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x80,0x92]
-0x6f,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x85,0x92]
+0x6f,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x80,0x92]
-0x7b,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x85,0x92]
+0x7b,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, m0, s0 ; encoding: [0x7c,0x00,0x80,0x92]
-0x7c,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, m0, s2 ; encoding: [0x7c,0x02,0x85,0x92]
+0x7c,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x80,0x92]
-0x7e,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x85,0x92]
+0x7e,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x80,0x92]
-0x7f,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x85,0x92]
+0x7f,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, 0, s0 ; encoding: [0x80,0x00,0x80,0x92]
-0x80,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x92]
+0x80,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, -1, s0 ; encoding: [0xc1,0x00,0x80,0x92]
-0xc1,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x92]
+0xc1,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x92]
-0xf0,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x85,0x92]
+0xf0,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x92]
-0xf7,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x85,0x92]
+0xf7,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, scc, s0 ; encoding: [0xfd,0x00,0x80,0x92]
-0xfd,0x00,0x80,0x92
+# CHECK: s_bfe_u32 s5, scc, s2 ; encoding: [0xfd,0x02,0x85,0x92]
+0xfd,0x02,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, s101 ; encoding: [0x00,0x65,0x80,0x92]
-0x00,0x65,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x92]
+0x01,0x65,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x92]
-0x00,0x66,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x85,0x92]
+0x01,0x66,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x92]
-0x00,0x67,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x85,0x92]
+0x01,0x67,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x80,0x92]
-0x00,0x6a,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x85,0x92]
+0x01,0x6a,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x80,0x92]
-0x00,0x6b,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x85,0x92]
+0x01,0x6b,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x80,0x92]
-0x00,0x6c,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x85,0x92]
+0x01,0x6c,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x80,0x92]
-0x00,0x6d,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x85,0x92]
+0x01,0x6d,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x80,0x92]
-0x00,0x6e,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x85,0x92]
+0x01,0x6e,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x80,0x92]
-0x00,0x6f,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x85,0x92]
+0x01,0x6f,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x80,0x92]
-0x00,0x7b,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x85,0x92]
+0x01,0x7b,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, m0 ; encoding: [0x00,0x7c,0x80,0x92]
-0x00,0x7c,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, m0 ; encoding: [0x01,0x7c,0x85,0x92]
+0x01,0x7c,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x80,0x92]
-0x00,0x7e,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x85,0x92]
+0x01,0x7e,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x80,0x92]
-0x00,0x7f,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x85,0x92]
+0x01,0x7f,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, 0 ; encoding: [0x00,0x80,0x80,0x92]
-0x00,0x80,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x92]
+0x01,0x80,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, -1 ; encoding: [0x00,0xc1,0x80,0x92]
-0x00,0xc1,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, -1 ; encoding: [0x01,0xc1,0x85,0x92]
+0x01,0xc1,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x80,0x92]
-0x00,0xf0,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x85,0x92]
+0x01,0xf0,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x80,0x92]
-0x00,0xf7,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x85,0x92]
+0x01,0xf7,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, scc ; encoding: [0x00,0xfd,0x80,0x92]
-0x00,0xfd,0x80,0x92
+# CHECK: s_bfe_u32 s5, s1, scc ; encoding: [0x01,0xfd,0x85,0x92]
+0x01,0xfd,0x85,0x92
-# CHECK: s_bfe_u32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x80,0x92,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x80,0x92,0x56,0x34,0x12,0xaf
+# CHECK: s_bfe_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x92,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x85,0x92,0x56,0x34,0x12,0xaf
-# CHECK: s_bfe_u32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x80,0x92,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x80,0x92,0x73,0x72,0x71,0x3f
+# CHECK: s_bfe_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x92,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x85,0x92,0x73,0x72,0x71,0x3f
-# CHECK: s_bfe_i32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x93]
-0x00,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x93]
+0x01,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x93]
-0x00,0x00,0x65,0x93
+# CHECK: s_bfe_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x93]
+0x01,0x02,0x65,0x93
-# CHECK: s_bfe_i32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x93]
-0x00,0x00,0x66,0x93
+# CHECK: s_bfe_i32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x93]
+0x01,0x02,0x66,0x93
-# CHECK: s_bfe_i32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x93]
-0x00,0x00,0x67,0x93
+# CHECK: s_bfe_i32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x93]
+0x01,0x02,0x67,0x93
-# CHECK: s_bfe_i32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x93]
-0x00,0x00,0x6a,0x93
+# CHECK: s_bfe_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x93]
+0x01,0x02,0x6a,0x93
-# CHECK: s_bfe_i32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x93]
-0x00,0x00,0x6b,0x93
+# CHECK: s_bfe_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x93]
+0x01,0x02,0x6b,0x93
-# CHECK: s_bfe_i32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x93]
-0x00,0x00,0x6c,0x93
+# CHECK: s_bfe_i32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x93]
+0x01,0x02,0x6c,0x93
-# CHECK: s_bfe_i32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x93]
-0x00,0x00,0x6d,0x93
+# CHECK: s_bfe_i32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x93]
+0x01,0x02,0x6d,0x93
-# CHECK: s_bfe_i32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x93]
-0x00,0x00,0x6e,0x93
+# CHECK: s_bfe_i32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x93]
+0x01,0x02,0x6e,0x93
-# CHECK: s_bfe_i32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x93]
-0x00,0x00,0x6f,0x93
+# CHECK: s_bfe_i32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x93]
+0x01,0x02,0x6f,0x93
-# CHECK: s_bfe_i32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x93]
-0x00,0x00,0x7b,0x93
+# CHECK: s_bfe_i32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x93]
+0x01,0x02,0x7b,0x93
-# CHECK: s_bfe_i32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x93]
-0x00,0x00,0x7c,0x93
+# CHECK: s_bfe_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x93]
+0x01,0x02,0x7c,0x93
-# CHECK: s_bfe_i32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x93]
-0x00,0x00,0x7e,0x93
+# CHECK: s_bfe_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x93]
+0x01,0x02,0x7e,0x93
-# CHECK: s_bfe_i32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x93]
-0x00,0x00,0x7f,0x93
+# CHECK: s_bfe_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x93]
+0x01,0x02,0x7f,0x93
-# CHECK: s_bfe_i32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x93]
-0x65,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x93]
+0x65,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x93]
-0x66,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x93]
+0x66,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x93]
-0x67,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x93]
+0x67,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x93]
-0x6a,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x93]
+0x6a,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x93]
-0x6b,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x93]
+0x6b,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x93]
-0x6c,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x93]
+0x6c,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x93]
-0x6d,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x93]
+0x6d,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x93]
-0x6e,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x93]
+0x6e,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x93]
-0x6f,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x93]
+0x6f,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x93]
-0x7b,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x93]
+0x7b,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x93]
-0x7c,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x93]
+0x7c,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x93]
-0x7e,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x93]
+0x7e,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x93]
-0x7f,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x93]
+0x7f,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x93]
-0x80,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x93]
+0x80,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x93]
-0xc1,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x93]
+0xc1,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x93]
-0xf0,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x93]
+0xf0,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x93]
-0xf7,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x93]
+0xf7,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x93]
-0xfd,0x00,0x00,0x93
+# CHECK: s_bfe_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x93]
+0xfd,0x02,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x93]
-0x00,0x65,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x93]
+0x01,0x65,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x93]
-0x00,0x66,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x93]
+0x01,0x66,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x93]
-0x00,0x67,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x93]
+0x01,0x67,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x93]
-0x00,0x6a,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x93]
+0x01,0x6a,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x93]
-0x00,0x6b,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x93]
+0x01,0x6b,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x93]
-0x00,0x6c,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x93]
+0x01,0x6c,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x93]
-0x00,0x6d,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x93]
+0x01,0x6d,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x93]
-0x00,0x6e,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x93]
+0x01,0x6e,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x93]
-0x00,0x6f,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x93]
+0x01,0x6f,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x93]
-0x00,0x7b,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x93]
+0x01,0x7b,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x93]
-0x00,0x7c,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x93]
+0x01,0x7c,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x93]
-0x00,0x7e,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x93]
+0x01,0x7e,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x93]
-0x00,0x7f,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x93]
+0x01,0x7f,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x93]
-0x00,0x80,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x93]
+0x01,0x80,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x93]
-0x00,0xc1,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x93]
+0x01,0xc1,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x93]
-0x00,0xf0,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x93]
+0x01,0xf0,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x93]
-0x00,0xf7,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x93]
+0x01,0xf7,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x93]
-0x00,0xfd,0x00,0x93
+# CHECK: s_bfe_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x93]
+0x01,0xfd,0x05,0x93
-# CHECK: s_bfe_i32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x93,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x93,0x56,0x34,0x12,0xaf
+# CHECK: s_bfe_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x93,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x93,0x56,0x34,0x12,0xaf
-# CHECK: s_bfe_i32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x93,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x93,0x73,0x72,0x71,0x3f
+# CHECK: s_bfe_i32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x93,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x93,0x73,0x72,0x71,0x3f
-# CHECK: s_bfe_u64 s[0:1], s[0:1], s0 ; encoding: [0x00,0x00,0x80,0x93]
-0x00,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x8a,0x93]
+0x02,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[2:3], s[0:1], s0 ; encoding: [0x00,0x00,0x82,0x93]
-0x00,0x00,0x82,0x93
+# CHECK: s_bfe_u64 s[12:13], s[2:3], s2 ; encoding: [0x02,0x02,0x8c,0x93]
+0x02,0x02,0x8c,0x93
-# CHECK: s_bfe_u64 s[100:101], s[0:1], s0 ; encoding: [0x00,0x00,0xe4,0x93]
-0x00,0x00,0xe4,0x93
+# CHECK: s_bfe_u64 s[100:101], s[2:3], s2 ; encoding: [0x02,0x02,0xe4,0x93]
+0x02,0x02,0xe4,0x93
-# CHECK: s_bfe_u64 flat_scratch, s[0:1], s0 ; encoding: [0x00,0x00,0xe6,0x93]
-0x00,0x00,0xe6,0x93
+# CHECK: s_bfe_u64 flat_scratch, s[2:3], s2 ; encoding: [0x02,0x02,0xe6,0x93]
+0x02,0x02,0xe6,0x93
-# CHECK: s_bfe_u64 vcc, s[0:1], s0 ; encoding: [0x00,0x00,0xea,0x93]
-0x00,0x00,0xea,0x93
+# CHECK: s_bfe_u64 vcc, s[2:3], s2 ; encoding: [0x02,0x02,0xea,0x93]
+0x02,0x02,0xea,0x93
-# CHECK: s_bfe_u64 tba, s[0:1], s0 ; encoding: [0x00,0x00,0xec,0x93]
-0x00,0x00,0xec,0x93
+# CHECK: s_bfe_u64 tba, s[2:3], s2 ; encoding: [0x02,0x02,0xec,0x93]
+0x02,0x02,0xec,0x93
-# CHECK: s_bfe_u64 tma, s[0:1], s0 ; encoding: [0x00,0x00,0xee,0x93]
-0x00,0x00,0xee,0x93
+# CHECK: s_bfe_u64 tma, s[2:3], s2 ; encoding: [0x02,0x02,0xee,0x93]
+0x02,0x02,0xee,0x93
-# CHECK: s_bfe_u64 ttmp[10:11], s[0:1], s0 ; encoding: [0x00,0x00,0xfa,0x93]
-0x00,0x00,0xfa,0x93
+# CHECK: s_bfe_u64 ttmp[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0xfa,0x93]
+0x02,0x02,0xfa,0x93
-# CHECK: s_bfe_u64 exec, s[0:1], s0 ; encoding: [0x00,0x00,0xfe,0x93]
-0x00,0x00,0xfe,0x93
+# CHECK: s_bfe_u64 exec, s[2:3], s2 ; encoding: [0x02,0x02,0xfe,0x93]
+0x02,0x02,0xfe,0x93
-# CHECK: s_bfe_u64 s[0:1], s[2:3], s0 ; encoding: [0x02,0x00,0x80,0x93]
-0x02,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[4:5], s2 ; encoding: [0x04,0x02,0x8a,0x93]
+0x04,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[100:101], s0 ; encoding: [0x64,0x00,0x80,0x93]
-0x64,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[100:101], s2 ; encoding: [0x64,0x02,0x8a,0x93]
+0x64,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], flat_scratch, s0 ; encoding: [0x66,0x00,0x80,0x93]
-0x66,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], flat_scratch, s2 ; encoding: [0x66,0x02,0x8a,0x93]
+0x66,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], vcc, s0 ; encoding: [0x6a,0x00,0x80,0x93]
-0x6a,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], vcc, s2 ; encoding: [0x6a,0x02,0x8a,0x93]
+0x6a,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], tba, s0 ; encoding: [0x6c,0x00,0x80,0x93]
-0x6c,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], tba, s2 ; encoding: [0x6c,0x02,0x8a,0x93]
+0x6c,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], tma, s0 ; encoding: [0x6e,0x00,0x80,0x93]
-0x6e,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], tma, s2 ; encoding: [0x6e,0x02,0x8a,0x93]
+0x6e,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], ttmp[10:11], s0 ; encoding: [0x7a,0x00,0x80,0x93]
-0x7a,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], ttmp[10:11], s2 ; encoding: [0x7a,0x02,0x8a,0x93]
+0x7a,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], exec, s0 ; encoding: [0x7e,0x00,0x80,0x93]
-0x7e,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], exec, s2 ; encoding: [0x7e,0x02,0x8a,0x93]
+0x7e,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], 0, s0 ; encoding: [0x80,0x00,0x80,0x93]
-0x80,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x8a,0x93]
+0x80,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], -1, s0 ; encoding: [0xc1,0x00,0x80,0x93]
-0xc1,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x8a,0x93]
+0xc1,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], 0.5, s0 ; encoding: [0xf0,0x00,0x80,0x93]
-0xf0,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], 0.5, s2 ; encoding: [0xf0,0x02,0x8a,0x93]
+0xf0,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], -4.0, s0 ; encoding: [0xf7,0x00,0x80,0x93]
-0xf7,0x00,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x8a,0x93]
+0xf7,0x02,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], 0xaf123456, s0 ; encoding: [0xff,0x00,0x80,0x93,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x80,0x93,0x56,0x34,0x12,0xaf
+# CHECK: s_bfe_u64 s[10:11], 0xaf123456, s2 ; encoding: [0xff,0x02,0x8a,0x93,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x8a,0x93,0x56,0x34,0x12,0xaf
-# CHECK: s_bfe_u64 s[0:1], 0x3f717273, s0 ; encoding: [0xff,0x00,0x80,0x93,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x80,0x93,0x73,0x72,0x71,0x3f
+# CHECK: s_bfe_u64 s[10:11], 0x3f717273, s2 ; encoding: [0xff,0x02,0x8a,0x93,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x8a,0x93,0x73,0x72,0x71,0x3f
-# CHECK: s_bfe_u64 s[0:1], s[0:1], s101 ; encoding: [0x00,0x65,0x80,0x93]
-0x00,0x65,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], s101 ; encoding: [0x02,0x65,0x8a,0x93]
+0x02,0x65,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], flat_scratch_lo ; encoding: [0x00,0x66,0x80,0x93]
-0x00,0x66,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x8a,0x93]
+0x02,0x66,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], flat_scratch_hi ; encoding: [0x00,0x67,0x80,0x93]
-0x00,0x67,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x8a,0x93]
+0x02,0x67,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], vcc_lo ; encoding: [0x00,0x6a,0x80,0x93]
-0x00,0x6a,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], vcc_lo ; encoding: [0x02,0x6a,0x8a,0x93]
+0x02,0x6a,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], vcc_hi ; encoding: [0x00,0x6b,0x80,0x93]
-0x00,0x6b,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x8a,0x93]
+0x02,0x6b,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], tba_lo ; encoding: [0x00,0x6c,0x80,0x93]
-0x00,0x6c,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], tba_lo ; encoding: [0x02,0x6c,0x8a,0x93]
+0x02,0x6c,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], tba_hi ; encoding: [0x00,0x6d,0x80,0x93]
-0x00,0x6d,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], tba_hi ; encoding: [0x02,0x6d,0x8a,0x93]
+0x02,0x6d,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], tma_lo ; encoding: [0x00,0x6e,0x80,0x93]
-0x00,0x6e,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], tma_lo ; encoding: [0x02,0x6e,0x8a,0x93]
+0x02,0x6e,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], tma_hi ; encoding: [0x00,0x6f,0x80,0x93]
-0x00,0x6f,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], tma_hi ; encoding: [0x02,0x6f,0x8a,0x93]
+0x02,0x6f,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], ttmp11 ; encoding: [0x00,0x7b,0x80,0x93]
-0x00,0x7b,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], ttmp11 ; encoding: [0x02,0x7b,0x8a,0x93]
+0x02,0x7b,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], m0 ; encoding: [0x00,0x7c,0x80,0x93]
-0x00,0x7c,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], m0 ; encoding: [0x02,0x7c,0x8a,0x93]
+0x02,0x7c,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], exec_lo ; encoding: [0x00,0x7e,0x80,0x93]
-0x00,0x7e,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], exec_lo ; encoding: [0x02,0x7e,0x8a,0x93]
+0x02,0x7e,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], exec_hi ; encoding: [0x00,0x7f,0x80,0x93]
-0x00,0x7f,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], exec_hi ; encoding: [0x02,0x7f,0x8a,0x93]
+0x02,0x7f,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x80,0x93]
-0x00,0x80,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x8a,0x93]
+0x02,0x80,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x80,0x93]
-0x00,0xc1,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x8a,0x93]
+0x02,0xc1,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x80,0x93]
-0x00,0xf0,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x8a,0x93]
+0x02,0xf0,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x80,0x93]
-0x00,0xf7,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x8a,0x93]
+0x02,0xf7,0x8a,0x93
-# CHECK: s_bfe_u64 s[0:1], s[0:1], scc ; encoding: [0x00,0xfd,0x80,0x93]
-0x00,0xfd,0x80,0x93
+# CHECK: s_bfe_u64 s[10:11], s[2:3], scc ; encoding: [0x02,0xfd,0x8a,0x93]
+0x02,0xfd,0x8a,0x93
-# CHECK: s_bfe_i64 s[0:1], s[0:1], s0 ; encoding: [0x00,0x00,0x00,0x94]
-0x00,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x0a,0x94]
+0x02,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[2:3], s[0:1], s0 ; encoding: [0x00,0x00,0x02,0x94]
-0x00,0x00,0x02,0x94
+# CHECK: s_bfe_i64 s[12:13], s[2:3], s2 ; encoding: [0x02,0x02,0x0c,0x94]
+0x02,0x02,0x0c,0x94
-# CHECK: s_bfe_i64 s[100:101], s[0:1], s0 ; encoding: [0x00,0x00,0x64,0x94]
-0x00,0x00,0x64,0x94
+# CHECK: s_bfe_i64 s[100:101], s[2:3], s2 ; encoding: [0x02,0x02,0x64,0x94]
+0x02,0x02,0x64,0x94
-# CHECK: s_bfe_i64 flat_scratch, s[0:1], s0 ; encoding: [0x00,0x00,0x66,0x94]
-0x00,0x00,0x66,0x94
+# CHECK: s_bfe_i64 flat_scratch, s[2:3], s2 ; encoding: [0x02,0x02,0x66,0x94]
+0x02,0x02,0x66,0x94
-# CHECK: s_bfe_i64 vcc, s[0:1], s0 ; encoding: [0x00,0x00,0x6a,0x94]
-0x00,0x00,0x6a,0x94
+# CHECK: s_bfe_i64 vcc, s[2:3], s2 ; encoding: [0x02,0x02,0x6a,0x94]
+0x02,0x02,0x6a,0x94
-# CHECK: s_bfe_i64 tba, s[0:1], s0 ; encoding: [0x00,0x00,0x6c,0x94]
-0x00,0x00,0x6c,0x94
+# CHECK: s_bfe_i64 tba, s[2:3], s2 ; encoding: [0x02,0x02,0x6c,0x94]
+0x02,0x02,0x6c,0x94
-# CHECK: s_bfe_i64 tma, s[0:1], s0 ; encoding: [0x00,0x00,0x6e,0x94]
-0x00,0x00,0x6e,0x94
+# CHECK: s_bfe_i64 tma, s[2:3], s2 ; encoding: [0x02,0x02,0x6e,0x94]
+0x02,0x02,0x6e,0x94
-# CHECK: s_bfe_i64 ttmp[10:11], s[0:1], s0 ; encoding: [0x00,0x00,0x7a,0x94]
-0x00,0x00,0x7a,0x94
+# CHECK: s_bfe_i64 ttmp[10:11], s[2:3], s2 ; encoding: [0x02,0x02,0x7a,0x94]
+0x02,0x02,0x7a,0x94
-# CHECK: s_bfe_i64 exec, s[0:1], s0 ; encoding: [0x00,0x00,0x7e,0x94]
-0x00,0x00,0x7e,0x94
+# CHECK: s_bfe_i64 exec, s[2:3], s2 ; encoding: [0x02,0x02,0x7e,0x94]
+0x02,0x02,0x7e,0x94
-# CHECK: s_bfe_i64 s[0:1], s[2:3], s0 ; encoding: [0x02,0x00,0x00,0x94]
-0x02,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[4:5], s2 ; encoding: [0x04,0x02,0x0a,0x94]
+0x04,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[100:101], s0 ; encoding: [0x64,0x00,0x00,0x94]
-0x64,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[100:101], s2 ; encoding: [0x64,0x02,0x0a,0x94]
+0x64,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], flat_scratch, s0 ; encoding: [0x66,0x00,0x00,0x94]
-0x66,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], flat_scratch, s2 ; encoding: [0x66,0x02,0x0a,0x94]
+0x66,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], vcc, s0 ; encoding: [0x6a,0x00,0x00,0x94]
-0x6a,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], vcc, s2 ; encoding: [0x6a,0x02,0x0a,0x94]
+0x6a,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], tba, s0 ; encoding: [0x6c,0x00,0x00,0x94]
-0x6c,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], tba, s2 ; encoding: [0x6c,0x02,0x0a,0x94]
+0x6c,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], tma, s0 ; encoding: [0x6e,0x00,0x00,0x94]
-0x6e,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], tma, s2 ; encoding: [0x6e,0x02,0x0a,0x94]
+0x6e,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], ttmp[10:11], s0 ; encoding: [0x7a,0x00,0x00,0x94]
-0x7a,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], ttmp[10:11], s2 ; encoding: [0x7a,0x02,0x0a,0x94]
+0x7a,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], exec, s0 ; encoding: [0x7e,0x00,0x00,0x94]
-0x7e,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], exec, s2 ; encoding: [0x7e,0x02,0x0a,0x94]
+0x7e,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], 0, s0 ; encoding: [0x80,0x00,0x00,0x94]
-0x80,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], 0, s2 ; encoding: [0x80,0x02,0x0a,0x94]
+0x80,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], -1, s0 ; encoding: [0xc1,0x00,0x00,0x94]
-0xc1,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], -1, s2 ; encoding: [0xc1,0x02,0x0a,0x94]
+0xc1,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x94]
-0xf0,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], 0.5, s2 ; encoding: [0xf0,0x02,0x0a,0x94]
+0xf0,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x94]
-0xf7,0x00,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], -4.0, s2 ; encoding: [0xf7,0x02,0x0a,0x94]
+0xf7,0x02,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], 0xaf123456, s0 ; encoding: [0xff,0x00,0x00,0x94,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x94,0x56,0x34,0x12,0xaf
+# CHECK: s_bfe_i64 s[10:11], 0xaf123456, s2 ; encoding: [0xff,0x02,0x0a,0x94,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0a,0x94,0x56,0x34,0x12,0xaf
-# CHECK: s_bfe_i64 s[0:1], 0x3f717273, s0 ; encoding: [0xff,0x00,0x00,0x94,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x94,0x73,0x72,0x71,0x3f
+# CHECK: s_bfe_i64 s[10:11], 0x3f717273, s2 ; encoding: [0xff,0x02,0x0a,0x94,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0a,0x94,0x73,0x72,0x71,0x3f
-# CHECK: s_bfe_i64 s[0:1], s[0:1], s101 ; encoding: [0x00,0x65,0x00,0x94]
-0x00,0x65,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], s101 ; encoding: [0x02,0x65,0x0a,0x94]
+0x02,0x65,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x94]
-0x00,0x66,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x0a,0x94]
+0x02,0x66,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x94]
-0x00,0x67,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x0a,0x94]
+0x02,0x67,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], vcc_lo ; encoding: [0x00,0x6a,0x00,0x94]
-0x00,0x6a,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], vcc_lo ; encoding: [0x02,0x6a,0x0a,0x94]
+0x02,0x6a,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], vcc_hi ; encoding: [0x00,0x6b,0x00,0x94]
-0x00,0x6b,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x0a,0x94]
+0x02,0x6b,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], tba_lo ; encoding: [0x00,0x6c,0x00,0x94]
-0x00,0x6c,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], tba_lo ; encoding: [0x02,0x6c,0x0a,0x94]
+0x02,0x6c,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], tba_hi ; encoding: [0x00,0x6d,0x00,0x94]
-0x00,0x6d,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], tba_hi ; encoding: [0x02,0x6d,0x0a,0x94]
+0x02,0x6d,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], tma_lo ; encoding: [0x00,0x6e,0x00,0x94]
-0x00,0x6e,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], tma_lo ; encoding: [0x02,0x6e,0x0a,0x94]
+0x02,0x6e,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], tma_hi ; encoding: [0x00,0x6f,0x00,0x94]
-0x00,0x6f,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], tma_hi ; encoding: [0x02,0x6f,0x0a,0x94]
+0x02,0x6f,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], ttmp11 ; encoding: [0x00,0x7b,0x00,0x94]
-0x00,0x7b,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], ttmp11 ; encoding: [0x02,0x7b,0x0a,0x94]
+0x02,0x7b,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], m0 ; encoding: [0x00,0x7c,0x00,0x94]
-0x00,0x7c,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], m0 ; encoding: [0x02,0x7c,0x0a,0x94]
+0x02,0x7c,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], exec_lo ; encoding: [0x00,0x7e,0x00,0x94]
-0x00,0x7e,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], exec_lo ; encoding: [0x02,0x7e,0x0a,0x94]
+0x02,0x7e,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], exec_hi ; encoding: [0x00,0x7f,0x00,0x94]
-0x00,0x7f,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], exec_hi ; encoding: [0x02,0x7f,0x0a,0x94]
+0x02,0x7f,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x80,0x00,0x94]
-0x00,0x80,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], 0 ; encoding: [0x02,0x80,0x0a,0x94]
+0x02,0x80,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], -1 ; encoding: [0x00,0xc1,0x00,0x94]
-0x00,0xc1,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], -1 ; encoding: [0x02,0xc1,0x0a,0x94]
+0x02,0xc1,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0xf0,0x00,0x94]
-0x00,0xf0,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], 0.5 ; encoding: [0x02,0xf0,0x0a,0x94]
+0x02,0xf0,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0xf7,0x00,0x94]
-0x00,0xf7,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], -4.0 ; encoding: [0x02,0xf7,0x0a,0x94]
+0x02,0xf7,0x0a,0x94
-# CHECK: s_bfe_i64 s[0:1], s[0:1], scc ; encoding: [0x00,0xfd,0x00,0x94]
-0x00,0xfd,0x00,0x94
+# CHECK: s_bfe_i64 s[10:11], s[2:3], scc ; encoding: [0x02,0xfd,0x0a,0x94]
+0x02,0xfd,0x0a,0x94
-# CHECK: s_cbranch_g_fork s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0x94]
-0x00,0x00,0x80,0x94
+# CHECK: s_cbranch_g_fork s[2:3], s[4:5] ; encoding: [0x02,0x04,0x80,0x94]
+0x02,0x04,0x80,0x94
-# CHECK: s_cbranch_g_fork s[2:3], s[0:1] ; encoding: [0x02,0x00,0x80,0x94]
-0x02,0x00,0x80,0x94
+# CHECK: s_cbranch_g_fork s[4:5], s[4:5] ; encoding: [0x04,0x04,0x80,0x94]
+0x04,0x04,0x80,0x94
-# CHECK: s_cbranch_g_fork s[100:101], s[0:1] ; encoding: [0x64,0x00,0x80,0x94]
-0x64,0x00,0x80,0x94
+# CHECK: s_cbranch_g_fork s[100:101], s[4:5] ; encoding: [0x64,0x04,0x80,0x94]
+0x64,0x04,0x80,0x94
-# CHECK: s_cbranch_g_fork flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x80,0x94]
-0x66,0x00,0x80,0x94
+# CHECK: s_cbranch_g_fork flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x80,0x94]
+0x66,0x04,0x80,0x94
-# CHECK: s_cbranch_g_fork vcc, s[0:1] ; encoding: [0x6a,0x00,0x80,0x94]
-0x6a,0x00,0x80,0x94
+# CHECK: s_cbranch_g_fork vcc, s[4:5] ; encoding: [0x6a,0x04,0x80,0x94]
+0x6a,0x04,0x80,0x94
-# CHECK: s_cbranch_g_fork tba, s[0:1] ; encoding: [0x6c,0x00,0x80,0x94]
-0x6c,0x00,0x80,0x94
+# CHECK: s_cbranch_g_fork tba, s[4:5] ; encoding: [0x6c,0x04,0x80,0x94]
+0x6c,0x04,0x80,0x94
-# CHECK: s_cbranch_g_fork tma, s[0:1] ; encoding: [0x6e,0x00,0x80,0x94]
-0x6e,0x00,0x80,0x94
+# CHECK: s_cbranch_g_fork tma, s[4:5] ; encoding: [0x6e,0x04,0x80,0x94]
+0x6e,0x04,0x80,0x94
-# CHECK: s_cbranch_g_fork ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x80,0x94]
-0x7a,0x00,0x80,0x94
+# CHECK: s_cbranch_g_fork ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x80,0x94]
+0x7a,0x04,0x80,0x94
-# CHECK: s_cbranch_g_fork exec, s[0:1] ; encoding: [0x7e,0x00,0x80,0x94]
-0x7e,0x00,0x80,0x94
+# CHECK: s_cbranch_g_fork exec, s[4:5] ; encoding: [0x7e,0x04,0x80,0x94]
+0x7e,0x04,0x80,0x94
-# CHECK: s_cbranch_g_fork s[0:1], s[2:3] ; encoding: [0x00,0x02,0x80,0x94]
-0x00,0x02,0x80,0x94
+# CHECK: s_cbranch_g_fork s[2:3], s[6:7] ; encoding: [0x02,0x06,0x80,0x94]
+0x02,0x06,0x80,0x94
-# CHECK: s_cbranch_g_fork s[0:1], s[100:101] ; encoding: [0x00,0x64,0x80,0x94]
-0x00,0x64,0x80,0x94
+# CHECK: s_cbranch_g_fork s[2:3], s[100:101] ; encoding: [0x02,0x64,0x80,0x94]
+0x02,0x64,0x80,0x94
-# CHECK: s_cbranch_g_fork s[0:1], flat_scratch ; encoding: [0x00,0x66,0x80,0x94]
-0x00,0x66,0x80,0x94
+# CHECK: s_cbranch_g_fork s[2:3], flat_scratch ; encoding: [0x02,0x66,0x80,0x94]
+0x02,0x66,0x80,0x94
-# CHECK: s_cbranch_g_fork s[0:1], vcc ; encoding: [0x00,0x6a,0x80,0x94]
-0x00,0x6a,0x80,0x94
+# CHECK: s_cbranch_g_fork s[2:3], vcc ; encoding: [0x02,0x6a,0x80,0x94]
+0x02,0x6a,0x80,0x94
-# CHECK: s_cbranch_g_fork s[0:1], tba ; encoding: [0x00,0x6c,0x80,0x94]
-0x00,0x6c,0x80,0x94
+# CHECK: s_cbranch_g_fork s[2:3], tba ; encoding: [0x02,0x6c,0x80,0x94]
+0x02,0x6c,0x80,0x94
-# CHECK: s_cbranch_g_fork s[0:1], tma ; encoding: [0x00,0x6e,0x80,0x94]
-0x00,0x6e,0x80,0x94
+# CHECK: s_cbranch_g_fork s[2:3], tma ; encoding: [0x02,0x6e,0x80,0x94]
+0x02,0x6e,0x80,0x94
-# CHECK: s_cbranch_g_fork s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x80,0x94]
-0x00,0x7a,0x80,0x94
+# CHECK: s_cbranch_g_fork s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x80,0x94]
+0x02,0x7a,0x80,0x94
-# CHECK: s_cbranch_g_fork s[0:1], exec ; encoding: [0x00,0x7e,0x80,0x94]
-0x00,0x7e,0x80,0x94
+# CHECK: s_cbranch_g_fork s[2:3], exec ; encoding: [0x02,0x7e,0x80,0x94]
+0x02,0x7e,0x80,0x94
-# CHECK: s_absdiff_i32 s0, s0, s0 ; encoding: [0x00,0x00,0x00,0x95]
-0x00,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x95]
+0x01,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s101, s0, s0 ; encoding: [0x00,0x00,0x65,0x95]
-0x00,0x00,0x65,0x95
+# CHECK: s_absdiff_i32 s101, s1, s2 ; encoding: [0x01,0x02,0x65,0x95]
+0x01,0x02,0x65,0x95
-# CHECK: s_absdiff_i32 flat_scratch_lo, s0, s0 ; encoding: [0x00,0x00,0x66,0x95]
-0x00,0x00,0x66,0x95
+# CHECK: s_absdiff_i32 flat_scratch_lo, s1, s2 ; encoding: [0x01,0x02,0x66,0x95]
+0x01,0x02,0x66,0x95
-# CHECK: s_absdiff_i32 flat_scratch_hi, s0, s0 ; encoding: [0x00,0x00,0x67,0x95]
-0x00,0x00,0x67,0x95
+# CHECK: s_absdiff_i32 flat_scratch_hi, s1, s2 ; encoding: [0x01,0x02,0x67,0x95]
+0x01,0x02,0x67,0x95
-# CHECK: s_absdiff_i32 vcc_lo, s0, s0 ; encoding: [0x00,0x00,0x6a,0x95]
-0x00,0x00,0x6a,0x95
+# CHECK: s_absdiff_i32 vcc_lo, s1, s2 ; encoding: [0x01,0x02,0x6a,0x95]
+0x01,0x02,0x6a,0x95
-# CHECK: s_absdiff_i32 vcc_hi, s0, s0 ; encoding: [0x00,0x00,0x6b,0x95]
-0x00,0x00,0x6b,0x95
+# CHECK: s_absdiff_i32 vcc_hi, s1, s2 ; encoding: [0x01,0x02,0x6b,0x95]
+0x01,0x02,0x6b,0x95
-# CHECK: s_absdiff_i32 tba_lo, s0, s0 ; encoding: [0x00,0x00,0x6c,0x95]
-0x00,0x00,0x6c,0x95
+# CHECK: s_absdiff_i32 tba_lo, s1, s2 ; encoding: [0x01,0x02,0x6c,0x95]
+0x01,0x02,0x6c,0x95
-# CHECK: s_absdiff_i32 tba_hi, s0, s0 ; encoding: [0x00,0x00,0x6d,0x95]
-0x00,0x00,0x6d,0x95
+# CHECK: s_absdiff_i32 tba_hi, s1, s2 ; encoding: [0x01,0x02,0x6d,0x95]
+0x01,0x02,0x6d,0x95
-# CHECK: s_absdiff_i32 tma_lo, s0, s0 ; encoding: [0x00,0x00,0x6e,0x95]
-0x00,0x00,0x6e,0x95
+# CHECK: s_absdiff_i32 tma_lo, s1, s2 ; encoding: [0x01,0x02,0x6e,0x95]
+0x01,0x02,0x6e,0x95
-# CHECK: s_absdiff_i32 tma_hi, s0, s0 ; encoding: [0x00,0x00,0x6f,0x95]
-0x00,0x00,0x6f,0x95
+# CHECK: s_absdiff_i32 tma_hi, s1, s2 ; encoding: [0x01,0x02,0x6f,0x95]
+0x01,0x02,0x6f,0x95
-# CHECK: s_absdiff_i32 ttmp11, s0, s0 ; encoding: [0x00,0x00,0x7b,0x95]
-0x00,0x00,0x7b,0x95
+# CHECK: s_absdiff_i32 ttmp11, s1, s2 ; encoding: [0x01,0x02,0x7b,0x95]
+0x01,0x02,0x7b,0x95
-# CHECK: s_absdiff_i32 m0, s0, s0 ; encoding: [0x00,0x00,0x7c,0x95]
-0x00,0x00,0x7c,0x95
+# CHECK: s_absdiff_i32 m0, s1, s2 ; encoding: [0x01,0x02,0x7c,0x95]
+0x01,0x02,0x7c,0x95
-# CHECK: s_absdiff_i32 exec_lo, s0, s0 ; encoding: [0x00,0x00,0x7e,0x95]
-0x00,0x00,0x7e,0x95
+# CHECK: s_absdiff_i32 exec_lo, s1, s2 ; encoding: [0x01,0x02,0x7e,0x95]
+0x01,0x02,0x7e,0x95
-# CHECK: s_absdiff_i32 exec_hi, s0, s0 ; encoding: [0x00,0x00,0x7f,0x95]
-0x00,0x00,0x7f,0x95
+# CHECK: s_absdiff_i32 exec_hi, s1, s2 ; encoding: [0x01,0x02,0x7f,0x95]
+0x01,0x02,0x7f,0x95
-# CHECK: s_absdiff_i32 s0, s101, s0 ; encoding: [0x65,0x00,0x00,0x95]
-0x65,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x95]
+0x65,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0x95]
-0x66,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0x95]
+0x66,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0x95]
-0x67,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0x95]
+0x67,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0x95]
-0x6a,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0x95]
+0x6a,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0x95]
-0x6b,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0x95]
+0x6b,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0x95]
-0x6c,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0x95]
+0x6c,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0x95]
-0x6d,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0x95]
+0x6d,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0x95]
-0x6e,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0x95]
+0x6e,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0x95]
-0x6f,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0x95]
+0x6f,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0x95]
-0x7b,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0x95]
+0x7b,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, m0, s0 ; encoding: [0x7c,0x00,0x00,0x95]
-0x7c,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, m0, s2 ; encoding: [0x7c,0x02,0x05,0x95]
+0x7c,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0x95]
-0x7e,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0x95]
+0x7e,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0x95]
-0x7f,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0x95]
+0x7f,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, 0, s0 ; encoding: [0x80,0x00,0x00,0x95]
-0x80,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x95]
+0x80,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, -1, s0 ; encoding: [0xc1,0x00,0x00,0x95]
-0xc1,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x95]
+0xc1,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, 0.5, s0 ; encoding: [0xf0,0x00,0x00,0x95]
-0xf0,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, 0.5, s2 ; encoding: [0xf0,0x02,0x05,0x95]
+0xf0,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, -4.0, s0 ; encoding: [0xf7,0x00,0x00,0x95]
-0xf7,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, -4.0, s2 ; encoding: [0xf7,0x02,0x05,0x95]
+0xf7,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, scc, s0 ; encoding: [0xfd,0x00,0x00,0x95]
-0xfd,0x00,0x00,0x95
+# CHECK: s_absdiff_i32 s5, scc, s2 ; encoding: [0xfd,0x02,0x05,0x95]
+0xfd,0x02,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, s101 ; encoding: [0x00,0x65,0x00,0x95]
-0x00,0x65,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x95]
+0x01,0x65,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0x95]
-0x00,0x66,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0x95]
+0x01,0x66,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0x95]
-0x00,0x67,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0x95]
+0x01,0x67,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0x95]
-0x00,0x6a,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0x95]
+0x01,0x6a,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0x95]
-0x00,0x6b,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0x95]
+0x01,0x6b,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, tba_lo ; encoding: [0x00,0x6c,0x00,0x95]
-0x00,0x6c,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, tba_lo ; encoding: [0x01,0x6c,0x05,0x95]
+0x01,0x6c,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, tba_hi ; encoding: [0x00,0x6d,0x00,0x95]
-0x00,0x6d,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, tba_hi ; encoding: [0x01,0x6d,0x05,0x95]
+0x01,0x6d,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, tma_lo ; encoding: [0x00,0x6e,0x00,0x95]
-0x00,0x6e,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, tma_lo ; encoding: [0x01,0x6e,0x05,0x95]
+0x01,0x6e,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, tma_hi ; encoding: [0x00,0x6f,0x00,0x95]
-0x00,0x6f,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, tma_hi ; encoding: [0x01,0x6f,0x05,0x95]
+0x01,0x6f,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0x95]
-0x00,0x7b,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0x95]
+0x01,0x7b,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, m0 ; encoding: [0x00,0x7c,0x00,0x95]
-0x00,0x7c,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, m0 ; encoding: [0x01,0x7c,0x05,0x95]
+0x01,0x7c,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, exec_lo ; encoding: [0x00,0x7e,0x00,0x95]
-0x00,0x7e,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, exec_lo ; encoding: [0x01,0x7e,0x05,0x95]
+0x01,0x7e,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, exec_hi ; encoding: [0x00,0x7f,0x00,0x95]
-0x00,0x7f,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, exec_hi ; encoding: [0x01,0x7f,0x05,0x95]
+0x01,0x7f,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, 0 ; encoding: [0x00,0x80,0x00,0x95]
-0x00,0x80,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x95]
+0x01,0x80,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, -1 ; encoding: [0x00,0xc1,0x00,0x95]
-0x00,0xc1,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, -1 ; encoding: [0x01,0xc1,0x05,0x95]
+0x01,0xc1,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, 0.5 ; encoding: [0x00,0xf0,0x00,0x95]
-0x00,0xf0,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, 0.5 ; encoding: [0x01,0xf0,0x05,0x95]
+0x01,0xf0,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, -4.0 ; encoding: [0x00,0xf7,0x00,0x95]
-0x00,0xf7,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, -4.0 ; encoding: [0x01,0xf7,0x05,0x95]
+0x01,0xf7,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, scc ; encoding: [0x00,0xfd,0x00,0x95]
-0x00,0xfd,0x00,0x95
+# CHECK: s_absdiff_i32 s5, s1, scc ; encoding: [0x01,0xfd,0x05,0x95]
+0x01,0xfd,0x05,0x95
-# CHECK: s_absdiff_i32 s0, s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0x95,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0x95,0x56,0x34,0x12,0xaf
+# CHECK: s_absdiff_i32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0x95,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0x95,0x56,0x34,0x12,0xaf
-# CHECK: s_absdiff_i32 s0, s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0x95,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0x95,0x73,0x72,0x71,0x3f
+# CHECK: s_absdiff_i32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x95,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0x95,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_eq_i32 s0, s0 ; encoding: [0x00,0x00,0x00,0xbf]
-0x00,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, s2 ; encoding: [0x01,0x02,0x00,0xbf]
+0x01,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s101, s0 ; encoding: [0x65,0x00,0x00,0xbf]
-0x65,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s101, s2 ; encoding: [0x65,0x02,0x00,0xbf]
+0x65,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x00,0xbf]
-0x66,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x00,0xbf]
+0x66,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x00,0xbf]
-0x67,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x00,0xbf]
+0x67,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x00,0xbf]
-0x6a,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x00,0xbf]
+0x6a,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x00,0xbf]
-0x6b,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x00,0xbf]
+0x6b,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 tba_lo, s0 ; encoding: [0x6c,0x00,0x00,0xbf]
-0x6c,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 tba_lo, s2 ; encoding: [0x6c,0x02,0x00,0xbf]
+0x6c,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 tba_hi, s0 ; encoding: [0x6d,0x00,0x00,0xbf]
-0x6d,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 tba_hi, s2 ; encoding: [0x6d,0x02,0x00,0xbf]
+0x6d,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 tma_lo, s0 ; encoding: [0x6e,0x00,0x00,0xbf]
-0x6e,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 tma_lo, s2 ; encoding: [0x6e,0x02,0x00,0xbf]
+0x6e,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 tma_hi, s0 ; encoding: [0x6f,0x00,0x00,0xbf]
-0x6f,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 tma_hi, s2 ; encoding: [0x6f,0x02,0x00,0xbf]
+0x6f,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 ttmp11, s0 ; encoding: [0x7b,0x00,0x00,0xbf]
-0x7b,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 ttmp11, s2 ; encoding: [0x7b,0x02,0x00,0xbf]
+0x7b,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 m0, s0 ; encoding: [0x7c,0x00,0x00,0xbf]
-0x7c,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 m0, s2 ; encoding: [0x7c,0x02,0x00,0xbf]
+0x7c,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 exec_lo, s0 ; encoding: [0x7e,0x00,0x00,0xbf]
-0x7e,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 exec_lo, s2 ; encoding: [0x7e,0x02,0x00,0xbf]
+0x7e,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 exec_hi, s0 ; encoding: [0x7f,0x00,0x00,0xbf]
-0x7f,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 exec_hi, s2 ; encoding: [0x7f,0x02,0x00,0xbf]
+0x7f,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 0, s0 ; encoding: [0x80,0x00,0x00,0xbf]
-0x80,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 0, s2 ; encoding: [0x80,0x02,0x00,0xbf]
+0x80,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 -1, s0 ; encoding: [0xc1,0x00,0x00,0xbf]
-0xc1,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 -1, s2 ; encoding: [0xc1,0x02,0x00,0xbf]
+0xc1,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 0.5, s0 ; encoding: [0xf0,0x00,0x00,0xbf]
-0xf0,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 0.5, s2 ; encoding: [0xf0,0x02,0x00,0xbf]
+0xf0,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 -4.0, s0 ; encoding: [0xf7,0x00,0x00,0xbf]
-0xf7,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x00,0xbf]
+0xf7,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 scc, s0 ; encoding: [0xfd,0x00,0x00,0xbf]
-0xfd,0x00,0x00,0xbf
+# CHECK: s_cmp_eq_i32 scc, s2 ; encoding: [0xfd,0x02,0x00,0xbf]
+0xfd,0x02,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, s101 ; encoding: [0x00,0x65,0x00,0xbf]
-0x00,0x65,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, s101 ; encoding: [0x01,0x65,0x00,0xbf]
+0x01,0x65,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x00,0xbf]
-0x00,0x66,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x00,0xbf]
+0x01,0x66,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x00,0xbf]
-0x00,0x67,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x00,0xbf]
+0x01,0x67,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, vcc_lo ; encoding: [0x00,0x6a,0x00,0xbf]
-0x00,0x6a,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x00,0xbf]
+0x01,0x6a,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, vcc_hi ; encoding: [0x00,0x6b,0x00,0xbf]
-0x00,0x6b,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x00,0xbf]
+0x01,0x6b,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, tba_lo ; encoding: [0x00,0x6c,0x00,0xbf]
-0x00,0x6c,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, tba_lo ; encoding: [0x01,0x6c,0x00,0xbf]
+0x01,0x6c,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, tba_hi ; encoding: [0x00,0x6d,0x00,0xbf]
-0x00,0x6d,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, tba_hi ; encoding: [0x01,0x6d,0x00,0xbf]
+0x01,0x6d,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, tma_lo ; encoding: [0x00,0x6e,0x00,0xbf]
-0x00,0x6e,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, tma_lo ; encoding: [0x01,0x6e,0x00,0xbf]
+0x01,0x6e,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, tma_hi ; encoding: [0x00,0x6f,0x00,0xbf]
-0x00,0x6f,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, tma_hi ; encoding: [0x01,0x6f,0x00,0xbf]
+0x01,0x6f,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, ttmp11 ; encoding: [0x00,0x7b,0x00,0xbf]
-0x00,0x7b,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, ttmp11 ; encoding: [0x01,0x7b,0x00,0xbf]
+0x01,0x7b,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, m0 ; encoding: [0x00,0x7c,0x00,0xbf]
-0x00,0x7c,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, m0 ; encoding: [0x01,0x7c,0x00,0xbf]
+0x01,0x7c,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, exec_lo ; encoding: [0x00,0x7e,0x00,0xbf]
-0x00,0x7e,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x00,0xbf]
+0x01,0x7e,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, exec_hi ; encoding: [0x00,0x7f,0x00,0xbf]
-0x00,0x7f,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x00,0xbf]
+0x01,0x7f,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, 0 ; encoding: [0x00,0x80,0x00,0xbf]
-0x00,0x80,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, 0 ; encoding: [0x01,0x80,0x00,0xbf]
+0x01,0x80,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, -1 ; encoding: [0x00,0xc1,0x00,0xbf]
-0x00,0xc1,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, -1 ; encoding: [0x01,0xc1,0x00,0xbf]
+0x01,0xc1,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, 0.5 ; encoding: [0x00,0xf0,0x00,0xbf]
-0x00,0xf0,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x00,0xbf]
+0x01,0xf0,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, -4.0 ; encoding: [0x00,0xf7,0x00,0xbf]
-0x00,0xf7,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x00,0xbf]
+0x01,0xf7,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, scc ; encoding: [0x00,0xfd,0x00,0xbf]
-0x00,0xfd,0x00,0xbf
+# CHECK: s_cmp_eq_i32 s1, scc ; encoding: [0x01,0xfd,0x00,0xbf]
+0x01,0xfd,0x00,0xbf
-# CHECK: s_cmp_eq_i32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x00,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x00,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_eq_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x00,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x00,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_eq_i32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x00,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x00,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_eq_i32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x00,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x00,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_lg_i32 s0, s0 ; encoding: [0x00,0x00,0x01,0xbf]
-0x00,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, s2 ; encoding: [0x01,0x02,0x01,0xbf]
+0x01,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s101, s0 ; encoding: [0x65,0x00,0x01,0xbf]
-0x65,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s101, s2 ; encoding: [0x65,0x02,0x01,0xbf]
+0x65,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x01,0xbf]
-0x66,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x01,0xbf]
+0x66,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x01,0xbf]
-0x67,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x01,0xbf]
+0x67,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x01,0xbf]
-0x6a,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x01,0xbf]
+0x6a,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x01,0xbf]
-0x6b,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x01,0xbf]
+0x6b,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 tba_lo, s0 ; encoding: [0x6c,0x00,0x01,0xbf]
-0x6c,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 tba_lo, s2 ; encoding: [0x6c,0x02,0x01,0xbf]
+0x6c,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 tba_hi, s0 ; encoding: [0x6d,0x00,0x01,0xbf]
-0x6d,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 tba_hi, s2 ; encoding: [0x6d,0x02,0x01,0xbf]
+0x6d,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 tma_lo, s0 ; encoding: [0x6e,0x00,0x01,0xbf]
-0x6e,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 tma_lo, s2 ; encoding: [0x6e,0x02,0x01,0xbf]
+0x6e,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 tma_hi, s0 ; encoding: [0x6f,0x00,0x01,0xbf]
-0x6f,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 tma_hi, s2 ; encoding: [0x6f,0x02,0x01,0xbf]
+0x6f,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 ttmp11, s0 ; encoding: [0x7b,0x00,0x01,0xbf]
-0x7b,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 ttmp11, s2 ; encoding: [0x7b,0x02,0x01,0xbf]
+0x7b,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 m0, s0 ; encoding: [0x7c,0x00,0x01,0xbf]
-0x7c,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 m0, s2 ; encoding: [0x7c,0x02,0x01,0xbf]
+0x7c,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 exec_lo, s0 ; encoding: [0x7e,0x00,0x01,0xbf]
-0x7e,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 exec_lo, s2 ; encoding: [0x7e,0x02,0x01,0xbf]
+0x7e,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 exec_hi, s0 ; encoding: [0x7f,0x00,0x01,0xbf]
-0x7f,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 exec_hi, s2 ; encoding: [0x7f,0x02,0x01,0xbf]
+0x7f,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 0, s0 ; encoding: [0x80,0x00,0x01,0xbf]
-0x80,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 0, s2 ; encoding: [0x80,0x02,0x01,0xbf]
+0x80,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 -1, s0 ; encoding: [0xc1,0x00,0x01,0xbf]
-0xc1,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 -1, s2 ; encoding: [0xc1,0x02,0x01,0xbf]
+0xc1,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 0.5, s0 ; encoding: [0xf0,0x00,0x01,0xbf]
-0xf0,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 0.5, s2 ; encoding: [0xf0,0x02,0x01,0xbf]
+0xf0,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 -4.0, s0 ; encoding: [0xf7,0x00,0x01,0xbf]
-0xf7,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x01,0xbf]
+0xf7,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 scc, s0 ; encoding: [0xfd,0x00,0x01,0xbf]
-0xfd,0x00,0x01,0xbf
+# CHECK: s_cmp_lg_i32 scc, s2 ; encoding: [0xfd,0x02,0x01,0xbf]
+0xfd,0x02,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, s101 ; encoding: [0x00,0x65,0x01,0xbf]
-0x00,0x65,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, s101 ; encoding: [0x01,0x65,0x01,0xbf]
+0x01,0x65,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x01,0xbf]
-0x00,0x66,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x01,0xbf]
+0x01,0x66,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x01,0xbf]
-0x00,0x67,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x01,0xbf]
+0x01,0x67,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, vcc_lo ; encoding: [0x00,0x6a,0x01,0xbf]
-0x00,0x6a,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x01,0xbf]
+0x01,0x6a,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, vcc_hi ; encoding: [0x00,0x6b,0x01,0xbf]
-0x00,0x6b,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x01,0xbf]
+0x01,0x6b,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, tba_lo ; encoding: [0x00,0x6c,0x01,0xbf]
-0x00,0x6c,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, tba_lo ; encoding: [0x01,0x6c,0x01,0xbf]
+0x01,0x6c,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, tba_hi ; encoding: [0x00,0x6d,0x01,0xbf]
-0x00,0x6d,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, tba_hi ; encoding: [0x01,0x6d,0x01,0xbf]
+0x01,0x6d,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, tma_lo ; encoding: [0x00,0x6e,0x01,0xbf]
-0x00,0x6e,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, tma_lo ; encoding: [0x01,0x6e,0x01,0xbf]
+0x01,0x6e,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, tma_hi ; encoding: [0x00,0x6f,0x01,0xbf]
-0x00,0x6f,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, tma_hi ; encoding: [0x01,0x6f,0x01,0xbf]
+0x01,0x6f,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, ttmp11 ; encoding: [0x00,0x7b,0x01,0xbf]
-0x00,0x7b,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, ttmp11 ; encoding: [0x01,0x7b,0x01,0xbf]
+0x01,0x7b,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, m0 ; encoding: [0x00,0x7c,0x01,0xbf]
-0x00,0x7c,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, m0 ; encoding: [0x01,0x7c,0x01,0xbf]
+0x01,0x7c,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, exec_lo ; encoding: [0x00,0x7e,0x01,0xbf]
-0x00,0x7e,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x01,0xbf]
+0x01,0x7e,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, exec_hi ; encoding: [0x00,0x7f,0x01,0xbf]
-0x00,0x7f,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x01,0xbf]
+0x01,0x7f,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, 0 ; encoding: [0x00,0x80,0x01,0xbf]
-0x00,0x80,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, 0 ; encoding: [0x01,0x80,0x01,0xbf]
+0x01,0x80,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, -1 ; encoding: [0x00,0xc1,0x01,0xbf]
-0x00,0xc1,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, -1 ; encoding: [0x01,0xc1,0x01,0xbf]
+0x01,0xc1,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, 0.5 ; encoding: [0x00,0xf0,0x01,0xbf]
-0x00,0xf0,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x01,0xbf]
+0x01,0xf0,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, -4.0 ; encoding: [0x00,0xf7,0x01,0xbf]
-0x00,0xf7,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x01,0xbf]
+0x01,0xf7,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, scc ; encoding: [0x00,0xfd,0x01,0xbf]
-0x00,0xfd,0x01,0xbf
+# CHECK: s_cmp_lg_i32 s1, scc ; encoding: [0x01,0xfd,0x01,0xbf]
+0x01,0xfd,0x01,0xbf
-# CHECK: s_cmp_lg_i32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x01,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x01,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_lg_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x01,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x01,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_lg_i32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x01,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x01,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_lg_i32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x01,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x01,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_gt_i32 s0, s0 ; encoding: [0x00,0x00,0x02,0xbf]
-0x00,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, s2 ; encoding: [0x01,0x02,0x02,0xbf]
+0x01,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s101, s0 ; encoding: [0x65,0x00,0x02,0xbf]
-0x65,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s101, s2 ; encoding: [0x65,0x02,0x02,0xbf]
+0x65,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x02,0xbf]
-0x66,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x02,0xbf]
+0x66,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x02,0xbf]
-0x67,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x02,0xbf]
+0x67,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x02,0xbf]
-0x6a,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x02,0xbf]
+0x6a,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x02,0xbf]
-0x6b,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x02,0xbf]
+0x6b,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 tba_lo, s0 ; encoding: [0x6c,0x00,0x02,0xbf]
-0x6c,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 tba_lo, s2 ; encoding: [0x6c,0x02,0x02,0xbf]
+0x6c,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 tba_hi, s0 ; encoding: [0x6d,0x00,0x02,0xbf]
-0x6d,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 tba_hi, s2 ; encoding: [0x6d,0x02,0x02,0xbf]
+0x6d,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 tma_lo, s0 ; encoding: [0x6e,0x00,0x02,0xbf]
-0x6e,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 tma_lo, s2 ; encoding: [0x6e,0x02,0x02,0xbf]
+0x6e,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 tma_hi, s0 ; encoding: [0x6f,0x00,0x02,0xbf]
-0x6f,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 tma_hi, s2 ; encoding: [0x6f,0x02,0x02,0xbf]
+0x6f,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 ttmp11, s0 ; encoding: [0x7b,0x00,0x02,0xbf]
-0x7b,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 ttmp11, s2 ; encoding: [0x7b,0x02,0x02,0xbf]
+0x7b,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 m0, s0 ; encoding: [0x7c,0x00,0x02,0xbf]
-0x7c,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 m0, s2 ; encoding: [0x7c,0x02,0x02,0xbf]
+0x7c,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 exec_lo, s0 ; encoding: [0x7e,0x00,0x02,0xbf]
-0x7e,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 exec_lo, s2 ; encoding: [0x7e,0x02,0x02,0xbf]
+0x7e,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 exec_hi, s0 ; encoding: [0x7f,0x00,0x02,0xbf]
-0x7f,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 exec_hi, s2 ; encoding: [0x7f,0x02,0x02,0xbf]
+0x7f,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 0, s0 ; encoding: [0x80,0x00,0x02,0xbf]
-0x80,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 0, s2 ; encoding: [0x80,0x02,0x02,0xbf]
+0x80,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 -1, s0 ; encoding: [0xc1,0x00,0x02,0xbf]
-0xc1,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 -1, s2 ; encoding: [0xc1,0x02,0x02,0xbf]
+0xc1,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 0.5, s0 ; encoding: [0xf0,0x00,0x02,0xbf]
-0xf0,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 0.5, s2 ; encoding: [0xf0,0x02,0x02,0xbf]
+0xf0,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 -4.0, s0 ; encoding: [0xf7,0x00,0x02,0xbf]
-0xf7,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x02,0xbf]
+0xf7,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 scc, s0 ; encoding: [0xfd,0x00,0x02,0xbf]
-0xfd,0x00,0x02,0xbf
+# CHECK: s_cmp_gt_i32 scc, s2 ; encoding: [0xfd,0x02,0x02,0xbf]
+0xfd,0x02,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, s101 ; encoding: [0x00,0x65,0x02,0xbf]
-0x00,0x65,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, s101 ; encoding: [0x01,0x65,0x02,0xbf]
+0x01,0x65,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x02,0xbf]
-0x00,0x66,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x02,0xbf]
+0x01,0x66,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x02,0xbf]
-0x00,0x67,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x02,0xbf]
+0x01,0x67,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, vcc_lo ; encoding: [0x00,0x6a,0x02,0xbf]
-0x00,0x6a,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x02,0xbf]
+0x01,0x6a,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, vcc_hi ; encoding: [0x00,0x6b,0x02,0xbf]
-0x00,0x6b,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x02,0xbf]
+0x01,0x6b,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, tba_lo ; encoding: [0x00,0x6c,0x02,0xbf]
-0x00,0x6c,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, tba_lo ; encoding: [0x01,0x6c,0x02,0xbf]
+0x01,0x6c,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, tba_hi ; encoding: [0x00,0x6d,0x02,0xbf]
-0x00,0x6d,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, tba_hi ; encoding: [0x01,0x6d,0x02,0xbf]
+0x01,0x6d,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, tma_lo ; encoding: [0x00,0x6e,0x02,0xbf]
-0x00,0x6e,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, tma_lo ; encoding: [0x01,0x6e,0x02,0xbf]
+0x01,0x6e,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, tma_hi ; encoding: [0x00,0x6f,0x02,0xbf]
-0x00,0x6f,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, tma_hi ; encoding: [0x01,0x6f,0x02,0xbf]
+0x01,0x6f,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, ttmp11 ; encoding: [0x00,0x7b,0x02,0xbf]
-0x00,0x7b,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, ttmp11 ; encoding: [0x01,0x7b,0x02,0xbf]
+0x01,0x7b,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, m0 ; encoding: [0x00,0x7c,0x02,0xbf]
-0x00,0x7c,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, m0 ; encoding: [0x01,0x7c,0x02,0xbf]
+0x01,0x7c,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, exec_lo ; encoding: [0x00,0x7e,0x02,0xbf]
-0x00,0x7e,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x02,0xbf]
+0x01,0x7e,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, exec_hi ; encoding: [0x00,0x7f,0x02,0xbf]
-0x00,0x7f,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x02,0xbf]
+0x01,0x7f,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, 0 ; encoding: [0x00,0x80,0x02,0xbf]
-0x00,0x80,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, 0 ; encoding: [0x01,0x80,0x02,0xbf]
+0x01,0x80,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, -1 ; encoding: [0x00,0xc1,0x02,0xbf]
-0x00,0xc1,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, -1 ; encoding: [0x01,0xc1,0x02,0xbf]
+0x01,0xc1,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, 0.5 ; encoding: [0x00,0xf0,0x02,0xbf]
-0x00,0xf0,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x02,0xbf]
+0x01,0xf0,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, -4.0 ; encoding: [0x00,0xf7,0x02,0xbf]
-0x00,0xf7,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x02,0xbf]
+0x01,0xf7,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, scc ; encoding: [0x00,0xfd,0x02,0xbf]
-0x00,0xfd,0x02,0xbf
+# CHECK: s_cmp_gt_i32 s1, scc ; encoding: [0x01,0xfd,0x02,0xbf]
+0x01,0xfd,0x02,0xbf
-# CHECK: s_cmp_gt_i32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x02,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x02,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_gt_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x02,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x02,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_gt_i32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x02,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x02,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_gt_i32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x02,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x02,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_ge_i32 s0, s0 ; encoding: [0x00,0x00,0x03,0xbf]
-0x00,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, s2 ; encoding: [0x01,0x02,0x03,0xbf]
+0x01,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s101, s0 ; encoding: [0x65,0x00,0x03,0xbf]
-0x65,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s101, s2 ; encoding: [0x65,0x02,0x03,0xbf]
+0x65,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x03,0xbf]
-0x66,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x03,0xbf]
+0x66,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x03,0xbf]
-0x67,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x03,0xbf]
+0x67,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x03,0xbf]
-0x6a,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x03,0xbf]
+0x6a,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x03,0xbf]
-0x6b,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x03,0xbf]
+0x6b,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 tba_lo, s0 ; encoding: [0x6c,0x00,0x03,0xbf]
-0x6c,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 tba_lo, s2 ; encoding: [0x6c,0x02,0x03,0xbf]
+0x6c,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 tba_hi, s0 ; encoding: [0x6d,0x00,0x03,0xbf]
-0x6d,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 tba_hi, s2 ; encoding: [0x6d,0x02,0x03,0xbf]
+0x6d,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 tma_lo, s0 ; encoding: [0x6e,0x00,0x03,0xbf]
-0x6e,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 tma_lo, s2 ; encoding: [0x6e,0x02,0x03,0xbf]
+0x6e,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 tma_hi, s0 ; encoding: [0x6f,0x00,0x03,0xbf]
-0x6f,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 tma_hi, s2 ; encoding: [0x6f,0x02,0x03,0xbf]
+0x6f,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 ttmp11, s0 ; encoding: [0x7b,0x00,0x03,0xbf]
-0x7b,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 ttmp11, s2 ; encoding: [0x7b,0x02,0x03,0xbf]
+0x7b,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 m0, s0 ; encoding: [0x7c,0x00,0x03,0xbf]
-0x7c,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 m0, s2 ; encoding: [0x7c,0x02,0x03,0xbf]
+0x7c,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 exec_lo, s0 ; encoding: [0x7e,0x00,0x03,0xbf]
-0x7e,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 exec_lo, s2 ; encoding: [0x7e,0x02,0x03,0xbf]
+0x7e,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 exec_hi, s0 ; encoding: [0x7f,0x00,0x03,0xbf]
-0x7f,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 exec_hi, s2 ; encoding: [0x7f,0x02,0x03,0xbf]
+0x7f,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 0, s0 ; encoding: [0x80,0x00,0x03,0xbf]
-0x80,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 0, s2 ; encoding: [0x80,0x02,0x03,0xbf]
+0x80,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 -1, s0 ; encoding: [0xc1,0x00,0x03,0xbf]
-0xc1,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 -1, s2 ; encoding: [0xc1,0x02,0x03,0xbf]
+0xc1,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 0.5, s0 ; encoding: [0xf0,0x00,0x03,0xbf]
-0xf0,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 0.5, s2 ; encoding: [0xf0,0x02,0x03,0xbf]
+0xf0,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 -4.0, s0 ; encoding: [0xf7,0x00,0x03,0xbf]
-0xf7,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x03,0xbf]
+0xf7,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 scc, s0 ; encoding: [0xfd,0x00,0x03,0xbf]
-0xfd,0x00,0x03,0xbf
+# CHECK: s_cmp_ge_i32 scc, s2 ; encoding: [0xfd,0x02,0x03,0xbf]
+0xfd,0x02,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, s101 ; encoding: [0x00,0x65,0x03,0xbf]
-0x00,0x65,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, s101 ; encoding: [0x01,0x65,0x03,0xbf]
+0x01,0x65,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x03,0xbf]
-0x00,0x66,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x03,0xbf]
+0x01,0x66,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x03,0xbf]
-0x00,0x67,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x03,0xbf]
+0x01,0x67,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, vcc_lo ; encoding: [0x00,0x6a,0x03,0xbf]
-0x00,0x6a,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x03,0xbf]
+0x01,0x6a,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, vcc_hi ; encoding: [0x00,0x6b,0x03,0xbf]
-0x00,0x6b,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x03,0xbf]
+0x01,0x6b,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, tba_lo ; encoding: [0x00,0x6c,0x03,0xbf]
-0x00,0x6c,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, tba_lo ; encoding: [0x01,0x6c,0x03,0xbf]
+0x01,0x6c,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, tba_hi ; encoding: [0x00,0x6d,0x03,0xbf]
-0x00,0x6d,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, tba_hi ; encoding: [0x01,0x6d,0x03,0xbf]
+0x01,0x6d,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, tma_lo ; encoding: [0x00,0x6e,0x03,0xbf]
-0x00,0x6e,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, tma_lo ; encoding: [0x01,0x6e,0x03,0xbf]
+0x01,0x6e,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, tma_hi ; encoding: [0x00,0x6f,0x03,0xbf]
-0x00,0x6f,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, tma_hi ; encoding: [0x01,0x6f,0x03,0xbf]
+0x01,0x6f,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, ttmp11 ; encoding: [0x00,0x7b,0x03,0xbf]
-0x00,0x7b,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, ttmp11 ; encoding: [0x01,0x7b,0x03,0xbf]
+0x01,0x7b,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, m0 ; encoding: [0x00,0x7c,0x03,0xbf]
-0x00,0x7c,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, m0 ; encoding: [0x01,0x7c,0x03,0xbf]
+0x01,0x7c,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, exec_lo ; encoding: [0x00,0x7e,0x03,0xbf]
-0x00,0x7e,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x03,0xbf]
+0x01,0x7e,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, exec_hi ; encoding: [0x00,0x7f,0x03,0xbf]
-0x00,0x7f,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x03,0xbf]
+0x01,0x7f,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, 0 ; encoding: [0x00,0x80,0x03,0xbf]
-0x00,0x80,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, 0 ; encoding: [0x01,0x80,0x03,0xbf]
+0x01,0x80,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, -1 ; encoding: [0x00,0xc1,0x03,0xbf]
-0x00,0xc1,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, -1 ; encoding: [0x01,0xc1,0x03,0xbf]
+0x01,0xc1,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, 0.5 ; encoding: [0x00,0xf0,0x03,0xbf]
-0x00,0xf0,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x03,0xbf]
+0x01,0xf0,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, -4.0 ; encoding: [0x00,0xf7,0x03,0xbf]
-0x00,0xf7,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x03,0xbf]
+0x01,0xf7,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, scc ; encoding: [0x00,0xfd,0x03,0xbf]
-0x00,0xfd,0x03,0xbf
+# CHECK: s_cmp_ge_i32 s1, scc ; encoding: [0x01,0xfd,0x03,0xbf]
+0x01,0xfd,0x03,0xbf
-# CHECK: s_cmp_ge_i32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x03,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x03,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_ge_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x03,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x03,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_ge_i32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x03,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x03,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_ge_i32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x03,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x03,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_lt_i32 s0, s0 ; encoding: [0x00,0x00,0x04,0xbf]
-0x00,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, s2 ; encoding: [0x01,0x02,0x04,0xbf]
+0x01,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s101, s0 ; encoding: [0x65,0x00,0x04,0xbf]
-0x65,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s101, s2 ; encoding: [0x65,0x02,0x04,0xbf]
+0x65,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x04,0xbf]
-0x66,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x04,0xbf]
+0x66,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x04,0xbf]
-0x67,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x04,0xbf]
+0x67,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x04,0xbf]
-0x6a,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x04,0xbf]
+0x6a,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x04,0xbf]
-0x6b,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x04,0xbf]
+0x6b,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 tba_lo, s0 ; encoding: [0x6c,0x00,0x04,0xbf]
-0x6c,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 tba_lo, s2 ; encoding: [0x6c,0x02,0x04,0xbf]
+0x6c,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 tba_hi, s0 ; encoding: [0x6d,0x00,0x04,0xbf]
-0x6d,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 tba_hi, s2 ; encoding: [0x6d,0x02,0x04,0xbf]
+0x6d,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 tma_lo, s0 ; encoding: [0x6e,0x00,0x04,0xbf]
-0x6e,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 tma_lo, s2 ; encoding: [0x6e,0x02,0x04,0xbf]
+0x6e,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 tma_hi, s0 ; encoding: [0x6f,0x00,0x04,0xbf]
-0x6f,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 tma_hi, s2 ; encoding: [0x6f,0x02,0x04,0xbf]
+0x6f,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 ttmp11, s0 ; encoding: [0x7b,0x00,0x04,0xbf]
-0x7b,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 ttmp11, s2 ; encoding: [0x7b,0x02,0x04,0xbf]
+0x7b,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 m0, s0 ; encoding: [0x7c,0x00,0x04,0xbf]
-0x7c,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 m0, s2 ; encoding: [0x7c,0x02,0x04,0xbf]
+0x7c,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 exec_lo, s0 ; encoding: [0x7e,0x00,0x04,0xbf]
-0x7e,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 exec_lo, s2 ; encoding: [0x7e,0x02,0x04,0xbf]
+0x7e,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 exec_hi, s0 ; encoding: [0x7f,0x00,0x04,0xbf]
-0x7f,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 exec_hi, s2 ; encoding: [0x7f,0x02,0x04,0xbf]
+0x7f,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 0, s0 ; encoding: [0x80,0x00,0x04,0xbf]
-0x80,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 0, s2 ; encoding: [0x80,0x02,0x04,0xbf]
+0x80,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 -1, s0 ; encoding: [0xc1,0x00,0x04,0xbf]
-0xc1,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 -1, s2 ; encoding: [0xc1,0x02,0x04,0xbf]
+0xc1,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 0.5, s0 ; encoding: [0xf0,0x00,0x04,0xbf]
-0xf0,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 0.5, s2 ; encoding: [0xf0,0x02,0x04,0xbf]
+0xf0,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 -4.0, s0 ; encoding: [0xf7,0x00,0x04,0xbf]
-0xf7,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x04,0xbf]
+0xf7,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 scc, s0 ; encoding: [0xfd,0x00,0x04,0xbf]
-0xfd,0x00,0x04,0xbf
+# CHECK: s_cmp_lt_i32 scc, s2 ; encoding: [0xfd,0x02,0x04,0xbf]
+0xfd,0x02,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, s101 ; encoding: [0x00,0x65,0x04,0xbf]
-0x00,0x65,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, s101 ; encoding: [0x01,0x65,0x04,0xbf]
+0x01,0x65,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x04,0xbf]
-0x00,0x66,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x04,0xbf]
+0x01,0x66,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x04,0xbf]
-0x00,0x67,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x04,0xbf]
+0x01,0x67,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, vcc_lo ; encoding: [0x00,0x6a,0x04,0xbf]
-0x00,0x6a,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x04,0xbf]
+0x01,0x6a,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, vcc_hi ; encoding: [0x00,0x6b,0x04,0xbf]
-0x00,0x6b,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x04,0xbf]
+0x01,0x6b,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, tba_lo ; encoding: [0x00,0x6c,0x04,0xbf]
-0x00,0x6c,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, tba_lo ; encoding: [0x01,0x6c,0x04,0xbf]
+0x01,0x6c,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, tba_hi ; encoding: [0x00,0x6d,0x04,0xbf]
-0x00,0x6d,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, tba_hi ; encoding: [0x01,0x6d,0x04,0xbf]
+0x01,0x6d,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, tma_lo ; encoding: [0x00,0x6e,0x04,0xbf]
-0x00,0x6e,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, tma_lo ; encoding: [0x01,0x6e,0x04,0xbf]
+0x01,0x6e,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, tma_hi ; encoding: [0x00,0x6f,0x04,0xbf]
-0x00,0x6f,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, tma_hi ; encoding: [0x01,0x6f,0x04,0xbf]
+0x01,0x6f,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, ttmp11 ; encoding: [0x00,0x7b,0x04,0xbf]
-0x00,0x7b,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, ttmp11 ; encoding: [0x01,0x7b,0x04,0xbf]
+0x01,0x7b,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, m0 ; encoding: [0x00,0x7c,0x04,0xbf]
-0x00,0x7c,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, m0 ; encoding: [0x01,0x7c,0x04,0xbf]
+0x01,0x7c,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, exec_lo ; encoding: [0x00,0x7e,0x04,0xbf]
-0x00,0x7e,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x04,0xbf]
+0x01,0x7e,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, exec_hi ; encoding: [0x00,0x7f,0x04,0xbf]
-0x00,0x7f,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x04,0xbf]
+0x01,0x7f,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, 0 ; encoding: [0x00,0x80,0x04,0xbf]
-0x00,0x80,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, 0 ; encoding: [0x01,0x80,0x04,0xbf]
+0x01,0x80,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, -1 ; encoding: [0x00,0xc1,0x04,0xbf]
-0x00,0xc1,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, -1 ; encoding: [0x01,0xc1,0x04,0xbf]
+0x01,0xc1,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, 0.5 ; encoding: [0x00,0xf0,0x04,0xbf]
-0x00,0xf0,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x04,0xbf]
+0x01,0xf0,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, -4.0 ; encoding: [0x00,0xf7,0x04,0xbf]
-0x00,0xf7,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x04,0xbf]
+0x01,0xf7,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, scc ; encoding: [0x00,0xfd,0x04,0xbf]
-0x00,0xfd,0x04,0xbf
+# CHECK: s_cmp_lt_i32 s1, scc ; encoding: [0x01,0xfd,0x04,0xbf]
+0x01,0xfd,0x04,0xbf
-# CHECK: s_cmp_lt_i32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x04,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x04,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_lt_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x04,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x04,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_lt_i32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x04,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x04,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_lt_i32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x04,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x04,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_le_i32 s0, s0 ; encoding: [0x00,0x00,0x05,0xbf]
-0x00,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, s2 ; encoding: [0x01,0x02,0x05,0xbf]
+0x01,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 s101, s0 ; encoding: [0x65,0x00,0x05,0xbf]
-0x65,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 s101, s2 ; encoding: [0x65,0x02,0x05,0xbf]
+0x65,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x05,0xbf]
-0x66,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x05,0xbf]
+0x66,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x05,0xbf]
-0x67,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x05,0xbf]
+0x67,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x05,0xbf]
-0x6a,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x05,0xbf]
+0x6a,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x05,0xbf]
-0x6b,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x05,0xbf]
+0x6b,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 tba_lo, s0 ; encoding: [0x6c,0x00,0x05,0xbf]
-0x6c,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 tba_lo, s2 ; encoding: [0x6c,0x02,0x05,0xbf]
+0x6c,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 tba_hi, s0 ; encoding: [0x6d,0x00,0x05,0xbf]
-0x6d,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 tba_hi, s2 ; encoding: [0x6d,0x02,0x05,0xbf]
+0x6d,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 tma_lo, s0 ; encoding: [0x6e,0x00,0x05,0xbf]
-0x6e,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 tma_lo, s2 ; encoding: [0x6e,0x02,0x05,0xbf]
+0x6e,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 tma_hi, s0 ; encoding: [0x6f,0x00,0x05,0xbf]
-0x6f,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 tma_hi, s2 ; encoding: [0x6f,0x02,0x05,0xbf]
+0x6f,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 ttmp11, s0 ; encoding: [0x7b,0x00,0x05,0xbf]
-0x7b,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 ttmp11, s2 ; encoding: [0x7b,0x02,0x05,0xbf]
+0x7b,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 m0, s0 ; encoding: [0x7c,0x00,0x05,0xbf]
-0x7c,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 m0, s2 ; encoding: [0x7c,0x02,0x05,0xbf]
+0x7c,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 exec_lo, s0 ; encoding: [0x7e,0x00,0x05,0xbf]
-0x7e,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 exec_lo, s2 ; encoding: [0x7e,0x02,0x05,0xbf]
+0x7e,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 exec_hi, s0 ; encoding: [0x7f,0x00,0x05,0xbf]
-0x7f,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 exec_hi, s2 ; encoding: [0x7f,0x02,0x05,0xbf]
+0x7f,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 0, s0 ; encoding: [0x80,0x00,0x05,0xbf]
-0x80,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 0, s2 ; encoding: [0x80,0x02,0x05,0xbf]
+0x80,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 -1, s0 ; encoding: [0xc1,0x00,0x05,0xbf]
-0xc1,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 -1, s2 ; encoding: [0xc1,0x02,0x05,0xbf]
+0xc1,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 0.5, s0 ; encoding: [0xf0,0x00,0x05,0xbf]
-0xf0,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 0.5, s2 ; encoding: [0xf0,0x02,0x05,0xbf]
+0xf0,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 -4.0, s0 ; encoding: [0xf7,0x00,0x05,0xbf]
-0xf7,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 -4.0, s2 ; encoding: [0xf7,0x02,0x05,0xbf]
+0xf7,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 scc, s0 ; encoding: [0xfd,0x00,0x05,0xbf]
-0xfd,0x00,0x05,0xbf
+# CHECK: s_cmp_le_i32 scc, s2 ; encoding: [0xfd,0x02,0x05,0xbf]
+0xfd,0x02,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, s101 ; encoding: [0x00,0x65,0x05,0xbf]
-0x00,0x65,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, s101 ; encoding: [0x01,0x65,0x05,0xbf]
+0x01,0x65,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x05,0xbf]
-0x00,0x66,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x05,0xbf]
+0x01,0x66,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x05,0xbf]
-0x00,0x67,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x05,0xbf]
+0x01,0x67,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, vcc_lo ; encoding: [0x00,0x6a,0x05,0xbf]
-0x00,0x6a,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, vcc_lo ; encoding: [0x01,0x6a,0x05,0xbf]
+0x01,0x6a,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, vcc_hi ; encoding: [0x00,0x6b,0x05,0xbf]
-0x00,0x6b,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, vcc_hi ; encoding: [0x01,0x6b,0x05,0xbf]
+0x01,0x6b,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, tba_lo ; encoding: [0x00,0x6c,0x05,0xbf]
-0x00,0x6c,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, tba_lo ; encoding: [0x01,0x6c,0x05,0xbf]
+0x01,0x6c,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, tba_hi ; encoding: [0x00,0x6d,0x05,0xbf]
-0x00,0x6d,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, tba_hi ; encoding: [0x01,0x6d,0x05,0xbf]
+0x01,0x6d,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, tma_lo ; encoding: [0x00,0x6e,0x05,0xbf]
-0x00,0x6e,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, tma_lo ; encoding: [0x01,0x6e,0x05,0xbf]
+0x01,0x6e,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, tma_hi ; encoding: [0x00,0x6f,0x05,0xbf]
-0x00,0x6f,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, tma_hi ; encoding: [0x01,0x6f,0x05,0xbf]
+0x01,0x6f,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, ttmp11 ; encoding: [0x00,0x7b,0x05,0xbf]
-0x00,0x7b,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, ttmp11 ; encoding: [0x01,0x7b,0x05,0xbf]
+0x01,0x7b,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, m0 ; encoding: [0x00,0x7c,0x05,0xbf]
-0x00,0x7c,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, m0 ; encoding: [0x01,0x7c,0x05,0xbf]
+0x01,0x7c,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, exec_lo ; encoding: [0x00,0x7e,0x05,0xbf]
-0x00,0x7e,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, exec_lo ; encoding: [0x01,0x7e,0x05,0xbf]
+0x01,0x7e,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, exec_hi ; encoding: [0x00,0x7f,0x05,0xbf]
-0x00,0x7f,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, exec_hi ; encoding: [0x01,0x7f,0x05,0xbf]
+0x01,0x7f,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, 0 ; encoding: [0x00,0x80,0x05,0xbf]
-0x00,0x80,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, 0 ; encoding: [0x01,0x80,0x05,0xbf]
+0x01,0x80,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, -1 ; encoding: [0x00,0xc1,0x05,0xbf]
-0x00,0xc1,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, -1 ; encoding: [0x01,0xc1,0x05,0xbf]
+0x01,0xc1,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, 0.5 ; encoding: [0x00,0xf0,0x05,0xbf]
-0x00,0xf0,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, 0.5 ; encoding: [0x01,0xf0,0x05,0xbf]
+0x01,0xf0,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, -4.0 ; encoding: [0x00,0xf7,0x05,0xbf]
-0x00,0xf7,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, -4.0 ; encoding: [0x01,0xf7,0x05,0xbf]
+0x01,0xf7,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, scc ; encoding: [0x00,0xfd,0x05,0xbf]
-0x00,0xfd,0x05,0xbf
+# CHECK: s_cmp_le_i32 s1, scc ; encoding: [0x01,0xfd,0x05,0xbf]
+0x01,0xfd,0x05,0xbf
-# CHECK: s_cmp_le_i32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x05,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x05,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_le_i32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x05,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x05,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_le_i32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x05,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x05,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_le_i32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x05,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_eq_u32 s0, s0 ; encoding: [0x00,0x00,0x06,0xbf]
-0x00,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, s2 ; encoding: [0x01,0x02,0x06,0xbf]
+0x01,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s101, s0 ; encoding: [0x65,0x00,0x06,0xbf]
-0x65,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s101, s2 ; encoding: [0x65,0x02,0x06,0xbf]
+0x65,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x06,0xbf]
-0x66,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x06,0xbf]
+0x66,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x06,0xbf]
-0x67,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x06,0xbf]
+0x67,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x06,0xbf]
-0x6a,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x06,0xbf]
+0x6a,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x06,0xbf]
-0x6b,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x06,0xbf]
+0x6b,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 tba_lo, s0 ; encoding: [0x6c,0x00,0x06,0xbf]
-0x6c,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 tba_lo, s2 ; encoding: [0x6c,0x02,0x06,0xbf]
+0x6c,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 tba_hi, s0 ; encoding: [0x6d,0x00,0x06,0xbf]
-0x6d,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 tba_hi, s2 ; encoding: [0x6d,0x02,0x06,0xbf]
+0x6d,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 tma_lo, s0 ; encoding: [0x6e,0x00,0x06,0xbf]
-0x6e,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 tma_lo, s2 ; encoding: [0x6e,0x02,0x06,0xbf]
+0x6e,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 tma_hi, s0 ; encoding: [0x6f,0x00,0x06,0xbf]
-0x6f,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 tma_hi, s2 ; encoding: [0x6f,0x02,0x06,0xbf]
+0x6f,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 ttmp11, s0 ; encoding: [0x7b,0x00,0x06,0xbf]
-0x7b,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 ttmp11, s2 ; encoding: [0x7b,0x02,0x06,0xbf]
+0x7b,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 m0, s0 ; encoding: [0x7c,0x00,0x06,0xbf]
-0x7c,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 m0, s2 ; encoding: [0x7c,0x02,0x06,0xbf]
+0x7c,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 exec_lo, s0 ; encoding: [0x7e,0x00,0x06,0xbf]
-0x7e,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 exec_lo, s2 ; encoding: [0x7e,0x02,0x06,0xbf]
+0x7e,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 exec_hi, s0 ; encoding: [0x7f,0x00,0x06,0xbf]
-0x7f,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 exec_hi, s2 ; encoding: [0x7f,0x02,0x06,0xbf]
+0x7f,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 0, s0 ; encoding: [0x80,0x00,0x06,0xbf]
-0x80,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 0, s2 ; encoding: [0x80,0x02,0x06,0xbf]
+0x80,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 -1, s0 ; encoding: [0xc1,0x00,0x06,0xbf]
-0xc1,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 -1, s2 ; encoding: [0xc1,0x02,0x06,0xbf]
+0xc1,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 0.5, s0 ; encoding: [0xf0,0x00,0x06,0xbf]
-0xf0,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 0.5, s2 ; encoding: [0xf0,0x02,0x06,0xbf]
+0xf0,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 -4.0, s0 ; encoding: [0xf7,0x00,0x06,0xbf]
-0xf7,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x06,0xbf]
+0xf7,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 scc, s0 ; encoding: [0xfd,0x00,0x06,0xbf]
-0xfd,0x00,0x06,0xbf
+# CHECK: s_cmp_eq_u32 scc, s2 ; encoding: [0xfd,0x02,0x06,0xbf]
+0xfd,0x02,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, s101 ; encoding: [0x00,0x65,0x06,0xbf]
-0x00,0x65,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, s101 ; encoding: [0x01,0x65,0x06,0xbf]
+0x01,0x65,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x06,0xbf]
-0x00,0x66,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x06,0xbf]
+0x01,0x66,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x06,0xbf]
-0x00,0x67,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x06,0xbf]
+0x01,0x67,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, vcc_lo ; encoding: [0x00,0x6a,0x06,0xbf]
-0x00,0x6a,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x06,0xbf]
+0x01,0x6a,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, vcc_hi ; encoding: [0x00,0x6b,0x06,0xbf]
-0x00,0x6b,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x06,0xbf]
+0x01,0x6b,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, tba_lo ; encoding: [0x00,0x6c,0x06,0xbf]
-0x00,0x6c,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, tba_lo ; encoding: [0x01,0x6c,0x06,0xbf]
+0x01,0x6c,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, tba_hi ; encoding: [0x00,0x6d,0x06,0xbf]
-0x00,0x6d,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, tba_hi ; encoding: [0x01,0x6d,0x06,0xbf]
+0x01,0x6d,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, tma_lo ; encoding: [0x00,0x6e,0x06,0xbf]
-0x00,0x6e,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, tma_lo ; encoding: [0x01,0x6e,0x06,0xbf]
+0x01,0x6e,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, tma_hi ; encoding: [0x00,0x6f,0x06,0xbf]
-0x00,0x6f,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, tma_hi ; encoding: [0x01,0x6f,0x06,0xbf]
+0x01,0x6f,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, ttmp11 ; encoding: [0x00,0x7b,0x06,0xbf]
-0x00,0x7b,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, ttmp11 ; encoding: [0x01,0x7b,0x06,0xbf]
+0x01,0x7b,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, m0 ; encoding: [0x00,0x7c,0x06,0xbf]
-0x00,0x7c,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, m0 ; encoding: [0x01,0x7c,0x06,0xbf]
+0x01,0x7c,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, exec_lo ; encoding: [0x00,0x7e,0x06,0xbf]
-0x00,0x7e,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x06,0xbf]
+0x01,0x7e,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, exec_hi ; encoding: [0x00,0x7f,0x06,0xbf]
-0x00,0x7f,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x06,0xbf]
+0x01,0x7f,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, 0 ; encoding: [0x00,0x80,0x06,0xbf]
-0x00,0x80,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, 0 ; encoding: [0x01,0x80,0x06,0xbf]
+0x01,0x80,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, -1 ; encoding: [0x00,0xc1,0x06,0xbf]
-0x00,0xc1,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, -1 ; encoding: [0x01,0xc1,0x06,0xbf]
+0x01,0xc1,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, 0.5 ; encoding: [0x00,0xf0,0x06,0xbf]
-0x00,0xf0,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x06,0xbf]
+0x01,0xf0,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, -4.0 ; encoding: [0x00,0xf7,0x06,0xbf]
-0x00,0xf7,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x06,0xbf]
+0x01,0xf7,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, scc ; encoding: [0x00,0xfd,0x06,0xbf]
-0x00,0xfd,0x06,0xbf
+# CHECK: s_cmp_eq_u32 s1, scc ; encoding: [0x01,0xfd,0x06,0xbf]
+0x01,0xfd,0x06,0xbf
-# CHECK: s_cmp_eq_u32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x06,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x06,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_eq_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x06,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x06,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_eq_u32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x06,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x06,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_eq_u32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x06,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x06,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_lg_u32 s0, s0 ; encoding: [0x00,0x00,0x07,0xbf]
-0x00,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, s2 ; encoding: [0x01,0x02,0x07,0xbf]
+0x01,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s101, s0 ; encoding: [0x65,0x00,0x07,0xbf]
-0x65,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s101, s2 ; encoding: [0x65,0x02,0x07,0xbf]
+0x65,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x07,0xbf]
-0x66,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x07,0xbf]
+0x66,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x07,0xbf]
-0x67,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x07,0xbf]
+0x67,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x07,0xbf]
-0x6a,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x07,0xbf]
+0x6a,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x07,0xbf]
-0x6b,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x07,0xbf]
+0x6b,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 tba_lo, s0 ; encoding: [0x6c,0x00,0x07,0xbf]
-0x6c,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 tba_lo, s2 ; encoding: [0x6c,0x02,0x07,0xbf]
+0x6c,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 tba_hi, s0 ; encoding: [0x6d,0x00,0x07,0xbf]
-0x6d,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 tba_hi, s2 ; encoding: [0x6d,0x02,0x07,0xbf]
+0x6d,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 tma_lo, s0 ; encoding: [0x6e,0x00,0x07,0xbf]
-0x6e,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 tma_lo, s2 ; encoding: [0x6e,0x02,0x07,0xbf]
+0x6e,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 tma_hi, s0 ; encoding: [0x6f,0x00,0x07,0xbf]
-0x6f,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 tma_hi, s2 ; encoding: [0x6f,0x02,0x07,0xbf]
+0x6f,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 ttmp11, s0 ; encoding: [0x7b,0x00,0x07,0xbf]
-0x7b,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 ttmp11, s2 ; encoding: [0x7b,0x02,0x07,0xbf]
+0x7b,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 m0, s0 ; encoding: [0x7c,0x00,0x07,0xbf]
-0x7c,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 m0, s2 ; encoding: [0x7c,0x02,0x07,0xbf]
+0x7c,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 exec_lo, s0 ; encoding: [0x7e,0x00,0x07,0xbf]
-0x7e,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 exec_lo, s2 ; encoding: [0x7e,0x02,0x07,0xbf]
+0x7e,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 exec_hi, s0 ; encoding: [0x7f,0x00,0x07,0xbf]
-0x7f,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 exec_hi, s2 ; encoding: [0x7f,0x02,0x07,0xbf]
+0x7f,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 0, s0 ; encoding: [0x80,0x00,0x07,0xbf]
-0x80,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 0, s2 ; encoding: [0x80,0x02,0x07,0xbf]
+0x80,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 -1, s0 ; encoding: [0xc1,0x00,0x07,0xbf]
-0xc1,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 -1, s2 ; encoding: [0xc1,0x02,0x07,0xbf]
+0xc1,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 0.5, s0 ; encoding: [0xf0,0x00,0x07,0xbf]
-0xf0,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 0.5, s2 ; encoding: [0xf0,0x02,0x07,0xbf]
+0xf0,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 -4.0, s0 ; encoding: [0xf7,0x00,0x07,0xbf]
-0xf7,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x07,0xbf]
+0xf7,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 scc, s0 ; encoding: [0xfd,0x00,0x07,0xbf]
-0xfd,0x00,0x07,0xbf
+# CHECK: s_cmp_lg_u32 scc, s2 ; encoding: [0xfd,0x02,0x07,0xbf]
+0xfd,0x02,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, s101 ; encoding: [0x00,0x65,0x07,0xbf]
-0x00,0x65,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, s101 ; encoding: [0x01,0x65,0x07,0xbf]
+0x01,0x65,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x07,0xbf]
-0x00,0x66,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x07,0xbf]
+0x01,0x66,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x07,0xbf]
-0x00,0x67,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x07,0xbf]
+0x01,0x67,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, vcc_lo ; encoding: [0x00,0x6a,0x07,0xbf]
-0x00,0x6a,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x07,0xbf]
+0x01,0x6a,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, vcc_hi ; encoding: [0x00,0x6b,0x07,0xbf]
-0x00,0x6b,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x07,0xbf]
+0x01,0x6b,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, tba_lo ; encoding: [0x00,0x6c,0x07,0xbf]
-0x00,0x6c,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, tba_lo ; encoding: [0x01,0x6c,0x07,0xbf]
+0x01,0x6c,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, tba_hi ; encoding: [0x00,0x6d,0x07,0xbf]
-0x00,0x6d,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, tba_hi ; encoding: [0x01,0x6d,0x07,0xbf]
+0x01,0x6d,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, tma_lo ; encoding: [0x00,0x6e,0x07,0xbf]
-0x00,0x6e,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, tma_lo ; encoding: [0x01,0x6e,0x07,0xbf]
+0x01,0x6e,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, tma_hi ; encoding: [0x00,0x6f,0x07,0xbf]
-0x00,0x6f,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, tma_hi ; encoding: [0x01,0x6f,0x07,0xbf]
+0x01,0x6f,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, ttmp11 ; encoding: [0x00,0x7b,0x07,0xbf]
-0x00,0x7b,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, ttmp11 ; encoding: [0x01,0x7b,0x07,0xbf]
+0x01,0x7b,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, m0 ; encoding: [0x00,0x7c,0x07,0xbf]
-0x00,0x7c,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, m0 ; encoding: [0x01,0x7c,0x07,0xbf]
+0x01,0x7c,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, exec_lo ; encoding: [0x00,0x7e,0x07,0xbf]
-0x00,0x7e,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x07,0xbf]
+0x01,0x7e,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, exec_hi ; encoding: [0x00,0x7f,0x07,0xbf]
-0x00,0x7f,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x07,0xbf]
+0x01,0x7f,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, 0 ; encoding: [0x00,0x80,0x07,0xbf]
-0x00,0x80,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, 0 ; encoding: [0x01,0x80,0x07,0xbf]
+0x01,0x80,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, -1 ; encoding: [0x00,0xc1,0x07,0xbf]
-0x00,0xc1,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, -1 ; encoding: [0x01,0xc1,0x07,0xbf]
+0x01,0xc1,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, 0.5 ; encoding: [0x00,0xf0,0x07,0xbf]
-0x00,0xf0,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x07,0xbf]
+0x01,0xf0,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, -4.0 ; encoding: [0x00,0xf7,0x07,0xbf]
-0x00,0xf7,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x07,0xbf]
+0x01,0xf7,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, scc ; encoding: [0x00,0xfd,0x07,0xbf]
-0x00,0xfd,0x07,0xbf
+# CHECK: s_cmp_lg_u32 s1, scc ; encoding: [0x01,0xfd,0x07,0xbf]
+0x01,0xfd,0x07,0xbf
-# CHECK: s_cmp_lg_u32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x07,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x07,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_lg_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x07,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x07,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_lg_u32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x07,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x07,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_lg_u32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x07,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x07,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_gt_u32 s0, s0 ; encoding: [0x00,0x00,0x08,0xbf]
-0x00,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, s2 ; encoding: [0x01,0x02,0x08,0xbf]
+0x01,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s101, s0 ; encoding: [0x65,0x00,0x08,0xbf]
-0x65,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s101, s2 ; encoding: [0x65,0x02,0x08,0xbf]
+0x65,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x08,0xbf]
-0x66,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x08,0xbf]
+0x66,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x08,0xbf]
-0x67,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x08,0xbf]
+0x67,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x08,0xbf]
-0x6a,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x08,0xbf]
+0x6a,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x08,0xbf]
-0x6b,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x08,0xbf]
+0x6b,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 tba_lo, s0 ; encoding: [0x6c,0x00,0x08,0xbf]
-0x6c,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 tba_lo, s2 ; encoding: [0x6c,0x02,0x08,0xbf]
+0x6c,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 tba_hi, s0 ; encoding: [0x6d,0x00,0x08,0xbf]
-0x6d,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 tba_hi, s2 ; encoding: [0x6d,0x02,0x08,0xbf]
+0x6d,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 tma_lo, s0 ; encoding: [0x6e,0x00,0x08,0xbf]
-0x6e,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 tma_lo, s2 ; encoding: [0x6e,0x02,0x08,0xbf]
+0x6e,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 tma_hi, s0 ; encoding: [0x6f,0x00,0x08,0xbf]
-0x6f,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 tma_hi, s2 ; encoding: [0x6f,0x02,0x08,0xbf]
+0x6f,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 ttmp11, s0 ; encoding: [0x7b,0x00,0x08,0xbf]
-0x7b,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 ttmp11, s2 ; encoding: [0x7b,0x02,0x08,0xbf]
+0x7b,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 m0, s0 ; encoding: [0x7c,0x00,0x08,0xbf]
-0x7c,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 m0, s2 ; encoding: [0x7c,0x02,0x08,0xbf]
+0x7c,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 exec_lo, s0 ; encoding: [0x7e,0x00,0x08,0xbf]
-0x7e,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 exec_lo, s2 ; encoding: [0x7e,0x02,0x08,0xbf]
+0x7e,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 exec_hi, s0 ; encoding: [0x7f,0x00,0x08,0xbf]
-0x7f,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 exec_hi, s2 ; encoding: [0x7f,0x02,0x08,0xbf]
+0x7f,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 0, s0 ; encoding: [0x80,0x00,0x08,0xbf]
-0x80,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 0, s2 ; encoding: [0x80,0x02,0x08,0xbf]
+0x80,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 -1, s0 ; encoding: [0xc1,0x00,0x08,0xbf]
-0xc1,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 -1, s2 ; encoding: [0xc1,0x02,0x08,0xbf]
+0xc1,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 0.5, s0 ; encoding: [0xf0,0x00,0x08,0xbf]
-0xf0,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 0.5, s2 ; encoding: [0xf0,0x02,0x08,0xbf]
+0xf0,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 -4.0, s0 ; encoding: [0xf7,0x00,0x08,0xbf]
-0xf7,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x08,0xbf]
+0xf7,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 scc, s0 ; encoding: [0xfd,0x00,0x08,0xbf]
-0xfd,0x00,0x08,0xbf
+# CHECK: s_cmp_gt_u32 scc, s2 ; encoding: [0xfd,0x02,0x08,0xbf]
+0xfd,0x02,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, s101 ; encoding: [0x00,0x65,0x08,0xbf]
-0x00,0x65,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, s101 ; encoding: [0x01,0x65,0x08,0xbf]
+0x01,0x65,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x08,0xbf]
-0x00,0x66,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x08,0xbf]
+0x01,0x66,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x08,0xbf]
-0x00,0x67,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x08,0xbf]
+0x01,0x67,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, vcc_lo ; encoding: [0x00,0x6a,0x08,0xbf]
-0x00,0x6a,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x08,0xbf]
+0x01,0x6a,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, vcc_hi ; encoding: [0x00,0x6b,0x08,0xbf]
-0x00,0x6b,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x08,0xbf]
+0x01,0x6b,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, tba_lo ; encoding: [0x00,0x6c,0x08,0xbf]
-0x00,0x6c,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, tba_lo ; encoding: [0x01,0x6c,0x08,0xbf]
+0x01,0x6c,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, tba_hi ; encoding: [0x00,0x6d,0x08,0xbf]
-0x00,0x6d,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, tba_hi ; encoding: [0x01,0x6d,0x08,0xbf]
+0x01,0x6d,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, tma_lo ; encoding: [0x00,0x6e,0x08,0xbf]
-0x00,0x6e,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, tma_lo ; encoding: [0x01,0x6e,0x08,0xbf]
+0x01,0x6e,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, tma_hi ; encoding: [0x00,0x6f,0x08,0xbf]
-0x00,0x6f,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, tma_hi ; encoding: [0x01,0x6f,0x08,0xbf]
+0x01,0x6f,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, ttmp11 ; encoding: [0x00,0x7b,0x08,0xbf]
-0x00,0x7b,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, ttmp11 ; encoding: [0x01,0x7b,0x08,0xbf]
+0x01,0x7b,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, m0 ; encoding: [0x00,0x7c,0x08,0xbf]
-0x00,0x7c,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, m0 ; encoding: [0x01,0x7c,0x08,0xbf]
+0x01,0x7c,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, exec_lo ; encoding: [0x00,0x7e,0x08,0xbf]
-0x00,0x7e,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x08,0xbf]
+0x01,0x7e,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, exec_hi ; encoding: [0x00,0x7f,0x08,0xbf]
-0x00,0x7f,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x08,0xbf]
+0x01,0x7f,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, 0 ; encoding: [0x00,0x80,0x08,0xbf]
-0x00,0x80,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, 0 ; encoding: [0x01,0x80,0x08,0xbf]
+0x01,0x80,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, -1 ; encoding: [0x00,0xc1,0x08,0xbf]
-0x00,0xc1,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, -1 ; encoding: [0x01,0xc1,0x08,0xbf]
+0x01,0xc1,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, 0.5 ; encoding: [0x00,0xf0,0x08,0xbf]
-0x00,0xf0,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x08,0xbf]
+0x01,0xf0,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, -4.0 ; encoding: [0x00,0xf7,0x08,0xbf]
-0x00,0xf7,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x08,0xbf]
+0x01,0xf7,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, scc ; encoding: [0x00,0xfd,0x08,0xbf]
-0x00,0xfd,0x08,0xbf
+# CHECK: s_cmp_gt_u32 s1, scc ; encoding: [0x01,0xfd,0x08,0xbf]
+0x01,0xfd,0x08,0xbf
-# CHECK: s_cmp_gt_u32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x08,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x08,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_gt_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x08,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x08,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_gt_u32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x08,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x08,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_gt_u32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x08,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x08,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_ge_u32 s0, s0 ; encoding: [0x00,0x00,0x09,0xbf]
-0x00,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, s2 ; encoding: [0x01,0x02,0x09,0xbf]
+0x01,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s101, s0 ; encoding: [0x65,0x00,0x09,0xbf]
-0x65,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s101, s2 ; encoding: [0x65,0x02,0x09,0xbf]
+0x65,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x09,0xbf]
-0x66,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x09,0xbf]
+0x66,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x09,0xbf]
-0x67,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x09,0xbf]
+0x67,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x09,0xbf]
-0x6a,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x09,0xbf]
+0x6a,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x09,0xbf]
-0x6b,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x09,0xbf]
+0x6b,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 tba_lo, s0 ; encoding: [0x6c,0x00,0x09,0xbf]
-0x6c,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 tba_lo, s2 ; encoding: [0x6c,0x02,0x09,0xbf]
+0x6c,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 tba_hi, s0 ; encoding: [0x6d,0x00,0x09,0xbf]
-0x6d,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 tba_hi, s2 ; encoding: [0x6d,0x02,0x09,0xbf]
+0x6d,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 tma_lo, s0 ; encoding: [0x6e,0x00,0x09,0xbf]
-0x6e,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 tma_lo, s2 ; encoding: [0x6e,0x02,0x09,0xbf]
+0x6e,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 tma_hi, s0 ; encoding: [0x6f,0x00,0x09,0xbf]
-0x6f,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 tma_hi, s2 ; encoding: [0x6f,0x02,0x09,0xbf]
+0x6f,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 ttmp11, s0 ; encoding: [0x7b,0x00,0x09,0xbf]
-0x7b,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 ttmp11, s2 ; encoding: [0x7b,0x02,0x09,0xbf]
+0x7b,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 m0, s0 ; encoding: [0x7c,0x00,0x09,0xbf]
-0x7c,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 m0, s2 ; encoding: [0x7c,0x02,0x09,0xbf]
+0x7c,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 exec_lo, s0 ; encoding: [0x7e,0x00,0x09,0xbf]
-0x7e,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 exec_lo, s2 ; encoding: [0x7e,0x02,0x09,0xbf]
+0x7e,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 exec_hi, s0 ; encoding: [0x7f,0x00,0x09,0xbf]
-0x7f,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 exec_hi, s2 ; encoding: [0x7f,0x02,0x09,0xbf]
+0x7f,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 0, s0 ; encoding: [0x80,0x00,0x09,0xbf]
-0x80,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 0, s2 ; encoding: [0x80,0x02,0x09,0xbf]
+0x80,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 -1, s0 ; encoding: [0xc1,0x00,0x09,0xbf]
-0xc1,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 -1, s2 ; encoding: [0xc1,0x02,0x09,0xbf]
+0xc1,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 0.5, s0 ; encoding: [0xf0,0x00,0x09,0xbf]
-0xf0,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 0.5, s2 ; encoding: [0xf0,0x02,0x09,0xbf]
+0xf0,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 -4.0, s0 ; encoding: [0xf7,0x00,0x09,0xbf]
-0xf7,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x09,0xbf]
+0xf7,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 scc, s0 ; encoding: [0xfd,0x00,0x09,0xbf]
-0xfd,0x00,0x09,0xbf
+# CHECK: s_cmp_ge_u32 scc, s2 ; encoding: [0xfd,0x02,0x09,0xbf]
+0xfd,0x02,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, s101 ; encoding: [0x00,0x65,0x09,0xbf]
-0x00,0x65,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, s101 ; encoding: [0x01,0x65,0x09,0xbf]
+0x01,0x65,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x09,0xbf]
-0x00,0x66,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x09,0xbf]
+0x01,0x66,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x09,0xbf]
-0x00,0x67,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x09,0xbf]
+0x01,0x67,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, vcc_lo ; encoding: [0x00,0x6a,0x09,0xbf]
-0x00,0x6a,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x09,0xbf]
+0x01,0x6a,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, vcc_hi ; encoding: [0x00,0x6b,0x09,0xbf]
-0x00,0x6b,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x09,0xbf]
+0x01,0x6b,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, tba_lo ; encoding: [0x00,0x6c,0x09,0xbf]
-0x00,0x6c,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, tba_lo ; encoding: [0x01,0x6c,0x09,0xbf]
+0x01,0x6c,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, tba_hi ; encoding: [0x00,0x6d,0x09,0xbf]
-0x00,0x6d,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, tba_hi ; encoding: [0x01,0x6d,0x09,0xbf]
+0x01,0x6d,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, tma_lo ; encoding: [0x00,0x6e,0x09,0xbf]
-0x00,0x6e,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, tma_lo ; encoding: [0x01,0x6e,0x09,0xbf]
+0x01,0x6e,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, tma_hi ; encoding: [0x00,0x6f,0x09,0xbf]
-0x00,0x6f,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, tma_hi ; encoding: [0x01,0x6f,0x09,0xbf]
+0x01,0x6f,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, ttmp11 ; encoding: [0x00,0x7b,0x09,0xbf]
-0x00,0x7b,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, ttmp11 ; encoding: [0x01,0x7b,0x09,0xbf]
+0x01,0x7b,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, m0 ; encoding: [0x00,0x7c,0x09,0xbf]
-0x00,0x7c,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, m0 ; encoding: [0x01,0x7c,0x09,0xbf]
+0x01,0x7c,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, exec_lo ; encoding: [0x00,0x7e,0x09,0xbf]
-0x00,0x7e,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x09,0xbf]
+0x01,0x7e,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, exec_hi ; encoding: [0x00,0x7f,0x09,0xbf]
-0x00,0x7f,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x09,0xbf]
+0x01,0x7f,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, 0 ; encoding: [0x00,0x80,0x09,0xbf]
-0x00,0x80,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, 0 ; encoding: [0x01,0x80,0x09,0xbf]
+0x01,0x80,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, -1 ; encoding: [0x00,0xc1,0x09,0xbf]
-0x00,0xc1,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, -1 ; encoding: [0x01,0xc1,0x09,0xbf]
+0x01,0xc1,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, 0.5 ; encoding: [0x00,0xf0,0x09,0xbf]
-0x00,0xf0,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x09,0xbf]
+0x01,0xf0,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, -4.0 ; encoding: [0x00,0xf7,0x09,0xbf]
-0x00,0xf7,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x09,0xbf]
+0x01,0xf7,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, scc ; encoding: [0x00,0xfd,0x09,0xbf]
-0x00,0xfd,0x09,0xbf
+# CHECK: s_cmp_ge_u32 s1, scc ; encoding: [0x01,0xfd,0x09,0xbf]
+0x01,0xfd,0x09,0xbf
-# CHECK: s_cmp_ge_u32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x09,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x09,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_ge_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x09,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x09,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_ge_u32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x09,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x09,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_ge_u32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x09,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x09,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_lt_u32 s0, s0 ; encoding: [0x00,0x00,0x0a,0xbf]
-0x00,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, s2 ; encoding: [0x01,0x02,0x0a,0xbf]
+0x01,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s101, s0 ; encoding: [0x65,0x00,0x0a,0xbf]
-0x65,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s101, s2 ; encoding: [0x65,0x02,0x0a,0xbf]
+0x65,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x0a,0xbf]
-0x66,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x0a,0xbf]
+0x66,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x0a,0xbf]
-0x67,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x0a,0xbf]
+0x67,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x0a,0xbf]
-0x6a,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x0a,0xbf]
+0x6a,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x0a,0xbf]
-0x6b,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x0a,0xbf]
+0x6b,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 tba_lo, s0 ; encoding: [0x6c,0x00,0x0a,0xbf]
-0x6c,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 tba_lo, s2 ; encoding: [0x6c,0x02,0x0a,0xbf]
+0x6c,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 tba_hi, s0 ; encoding: [0x6d,0x00,0x0a,0xbf]
-0x6d,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 tba_hi, s2 ; encoding: [0x6d,0x02,0x0a,0xbf]
+0x6d,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 tma_lo, s0 ; encoding: [0x6e,0x00,0x0a,0xbf]
-0x6e,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 tma_lo, s2 ; encoding: [0x6e,0x02,0x0a,0xbf]
+0x6e,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 tma_hi, s0 ; encoding: [0x6f,0x00,0x0a,0xbf]
-0x6f,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 tma_hi, s2 ; encoding: [0x6f,0x02,0x0a,0xbf]
+0x6f,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 ttmp11, s0 ; encoding: [0x7b,0x00,0x0a,0xbf]
-0x7b,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 ttmp11, s2 ; encoding: [0x7b,0x02,0x0a,0xbf]
+0x7b,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 m0, s0 ; encoding: [0x7c,0x00,0x0a,0xbf]
-0x7c,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 m0, s2 ; encoding: [0x7c,0x02,0x0a,0xbf]
+0x7c,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 exec_lo, s0 ; encoding: [0x7e,0x00,0x0a,0xbf]
-0x7e,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 exec_lo, s2 ; encoding: [0x7e,0x02,0x0a,0xbf]
+0x7e,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 exec_hi, s0 ; encoding: [0x7f,0x00,0x0a,0xbf]
-0x7f,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 exec_hi, s2 ; encoding: [0x7f,0x02,0x0a,0xbf]
+0x7f,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 0, s0 ; encoding: [0x80,0x00,0x0a,0xbf]
-0x80,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 0, s2 ; encoding: [0x80,0x02,0x0a,0xbf]
+0x80,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 -1, s0 ; encoding: [0xc1,0x00,0x0a,0xbf]
-0xc1,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 -1, s2 ; encoding: [0xc1,0x02,0x0a,0xbf]
+0xc1,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 0.5, s0 ; encoding: [0xf0,0x00,0x0a,0xbf]
-0xf0,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 0.5, s2 ; encoding: [0xf0,0x02,0x0a,0xbf]
+0xf0,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 -4.0, s0 ; encoding: [0xf7,0x00,0x0a,0xbf]
-0xf7,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x0a,0xbf]
+0xf7,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 scc, s0 ; encoding: [0xfd,0x00,0x0a,0xbf]
-0xfd,0x00,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 scc, s2 ; encoding: [0xfd,0x02,0x0a,0xbf]
+0xfd,0x02,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, s101 ; encoding: [0x00,0x65,0x0a,0xbf]
-0x00,0x65,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, s101 ; encoding: [0x01,0x65,0x0a,0xbf]
+0x01,0x65,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x0a,0xbf]
-0x00,0x66,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x0a,0xbf]
+0x01,0x66,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x0a,0xbf]
-0x00,0x67,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x0a,0xbf]
+0x01,0x67,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, vcc_lo ; encoding: [0x00,0x6a,0x0a,0xbf]
-0x00,0x6a,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x0a,0xbf]
+0x01,0x6a,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, vcc_hi ; encoding: [0x00,0x6b,0x0a,0xbf]
-0x00,0x6b,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x0a,0xbf]
+0x01,0x6b,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, tba_lo ; encoding: [0x00,0x6c,0x0a,0xbf]
-0x00,0x6c,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, tba_lo ; encoding: [0x01,0x6c,0x0a,0xbf]
+0x01,0x6c,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, tba_hi ; encoding: [0x00,0x6d,0x0a,0xbf]
-0x00,0x6d,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, tba_hi ; encoding: [0x01,0x6d,0x0a,0xbf]
+0x01,0x6d,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, tma_lo ; encoding: [0x00,0x6e,0x0a,0xbf]
-0x00,0x6e,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, tma_lo ; encoding: [0x01,0x6e,0x0a,0xbf]
+0x01,0x6e,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, tma_hi ; encoding: [0x00,0x6f,0x0a,0xbf]
-0x00,0x6f,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, tma_hi ; encoding: [0x01,0x6f,0x0a,0xbf]
+0x01,0x6f,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, ttmp11 ; encoding: [0x00,0x7b,0x0a,0xbf]
-0x00,0x7b,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, ttmp11 ; encoding: [0x01,0x7b,0x0a,0xbf]
+0x01,0x7b,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, m0 ; encoding: [0x00,0x7c,0x0a,0xbf]
-0x00,0x7c,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, m0 ; encoding: [0x01,0x7c,0x0a,0xbf]
+0x01,0x7c,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, exec_lo ; encoding: [0x00,0x7e,0x0a,0xbf]
-0x00,0x7e,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x0a,0xbf]
+0x01,0x7e,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, exec_hi ; encoding: [0x00,0x7f,0x0a,0xbf]
-0x00,0x7f,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x0a,0xbf]
+0x01,0x7f,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, 0 ; encoding: [0x00,0x80,0x0a,0xbf]
-0x00,0x80,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, 0 ; encoding: [0x01,0x80,0x0a,0xbf]
+0x01,0x80,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, -1 ; encoding: [0x00,0xc1,0x0a,0xbf]
-0x00,0xc1,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, -1 ; encoding: [0x01,0xc1,0x0a,0xbf]
+0x01,0xc1,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, 0.5 ; encoding: [0x00,0xf0,0x0a,0xbf]
-0x00,0xf0,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x0a,0xbf]
+0x01,0xf0,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, -4.0 ; encoding: [0x00,0xf7,0x0a,0xbf]
-0x00,0xf7,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x0a,0xbf]
+0x01,0xf7,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, scc ; encoding: [0x00,0xfd,0x0a,0xbf]
-0x00,0xfd,0x0a,0xbf
+# CHECK: s_cmp_lt_u32 s1, scc ; encoding: [0x01,0xfd,0x0a,0xbf]
+0x01,0xfd,0x0a,0xbf
-# CHECK: s_cmp_lt_u32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x0a,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x0a,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_lt_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x0a,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x0a,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_lt_u32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x0a,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x0a,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_lt_u32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x0a,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x0a,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_le_u32 s0, s0 ; encoding: [0x00,0x00,0x0b,0xbf]
-0x00,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, s2 ; encoding: [0x01,0x02,0x0b,0xbf]
+0x01,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s101, s0 ; encoding: [0x65,0x00,0x0b,0xbf]
-0x65,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s101, s2 ; encoding: [0x65,0x02,0x0b,0xbf]
+0x65,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x0b,0xbf]
-0x66,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x0b,0xbf]
+0x66,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x0b,0xbf]
-0x67,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x0b,0xbf]
+0x67,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x0b,0xbf]
-0x6a,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x0b,0xbf]
+0x6a,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x0b,0xbf]
-0x6b,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x0b,0xbf]
+0x6b,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 tba_lo, s0 ; encoding: [0x6c,0x00,0x0b,0xbf]
-0x6c,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 tba_lo, s2 ; encoding: [0x6c,0x02,0x0b,0xbf]
+0x6c,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 tba_hi, s0 ; encoding: [0x6d,0x00,0x0b,0xbf]
-0x6d,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 tba_hi, s2 ; encoding: [0x6d,0x02,0x0b,0xbf]
+0x6d,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 tma_lo, s0 ; encoding: [0x6e,0x00,0x0b,0xbf]
-0x6e,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 tma_lo, s2 ; encoding: [0x6e,0x02,0x0b,0xbf]
+0x6e,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 tma_hi, s0 ; encoding: [0x6f,0x00,0x0b,0xbf]
-0x6f,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 tma_hi, s2 ; encoding: [0x6f,0x02,0x0b,0xbf]
+0x6f,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 ttmp11, s0 ; encoding: [0x7b,0x00,0x0b,0xbf]
-0x7b,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 ttmp11, s2 ; encoding: [0x7b,0x02,0x0b,0xbf]
+0x7b,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 m0, s0 ; encoding: [0x7c,0x00,0x0b,0xbf]
-0x7c,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 m0, s2 ; encoding: [0x7c,0x02,0x0b,0xbf]
+0x7c,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 exec_lo, s0 ; encoding: [0x7e,0x00,0x0b,0xbf]
-0x7e,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 exec_lo, s2 ; encoding: [0x7e,0x02,0x0b,0xbf]
+0x7e,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 exec_hi, s0 ; encoding: [0x7f,0x00,0x0b,0xbf]
-0x7f,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 exec_hi, s2 ; encoding: [0x7f,0x02,0x0b,0xbf]
+0x7f,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 0, s0 ; encoding: [0x80,0x00,0x0b,0xbf]
-0x80,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 0, s2 ; encoding: [0x80,0x02,0x0b,0xbf]
+0x80,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 -1, s0 ; encoding: [0xc1,0x00,0x0b,0xbf]
-0xc1,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 -1, s2 ; encoding: [0xc1,0x02,0x0b,0xbf]
+0xc1,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 0.5, s0 ; encoding: [0xf0,0x00,0x0b,0xbf]
-0xf0,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 0.5, s2 ; encoding: [0xf0,0x02,0x0b,0xbf]
+0xf0,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 -4.0, s0 ; encoding: [0xf7,0x00,0x0b,0xbf]
-0xf7,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 -4.0, s2 ; encoding: [0xf7,0x02,0x0b,0xbf]
+0xf7,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 scc, s0 ; encoding: [0xfd,0x00,0x0b,0xbf]
-0xfd,0x00,0x0b,0xbf
+# CHECK: s_cmp_le_u32 scc, s2 ; encoding: [0xfd,0x02,0x0b,0xbf]
+0xfd,0x02,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, s101 ; encoding: [0x00,0x65,0x0b,0xbf]
-0x00,0x65,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, s101 ; encoding: [0x01,0x65,0x0b,0xbf]
+0x01,0x65,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x0b,0xbf]
-0x00,0x66,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x0b,0xbf]
+0x01,0x66,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x0b,0xbf]
-0x00,0x67,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x0b,0xbf]
+0x01,0x67,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, vcc_lo ; encoding: [0x00,0x6a,0x0b,0xbf]
-0x00,0x6a,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, vcc_lo ; encoding: [0x01,0x6a,0x0b,0xbf]
+0x01,0x6a,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, vcc_hi ; encoding: [0x00,0x6b,0x0b,0xbf]
-0x00,0x6b,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, vcc_hi ; encoding: [0x01,0x6b,0x0b,0xbf]
+0x01,0x6b,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, tba_lo ; encoding: [0x00,0x6c,0x0b,0xbf]
-0x00,0x6c,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, tba_lo ; encoding: [0x01,0x6c,0x0b,0xbf]
+0x01,0x6c,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, tba_hi ; encoding: [0x00,0x6d,0x0b,0xbf]
-0x00,0x6d,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, tba_hi ; encoding: [0x01,0x6d,0x0b,0xbf]
+0x01,0x6d,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, tma_lo ; encoding: [0x00,0x6e,0x0b,0xbf]
-0x00,0x6e,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, tma_lo ; encoding: [0x01,0x6e,0x0b,0xbf]
+0x01,0x6e,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, tma_hi ; encoding: [0x00,0x6f,0x0b,0xbf]
-0x00,0x6f,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, tma_hi ; encoding: [0x01,0x6f,0x0b,0xbf]
+0x01,0x6f,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, ttmp11 ; encoding: [0x00,0x7b,0x0b,0xbf]
-0x00,0x7b,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, ttmp11 ; encoding: [0x01,0x7b,0x0b,0xbf]
+0x01,0x7b,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, m0 ; encoding: [0x00,0x7c,0x0b,0xbf]
-0x00,0x7c,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, m0 ; encoding: [0x01,0x7c,0x0b,0xbf]
+0x01,0x7c,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, exec_lo ; encoding: [0x00,0x7e,0x0b,0xbf]
-0x00,0x7e,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, exec_lo ; encoding: [0x01,0x7e,0x0b,0xbf]
+0x01,0x7e,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, exec_hi ; encoding: [0x00,0x7f,0x0b,0xbf]
-0x00,0x7f,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, exec_hi ; encoding: [0x01,0x7f,0x0b,0xbf]
+0x01,0x7f,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, 0 ; encoding: [0x00,0x80,0x0b,0xbf]
-0x00,0x80,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, 0 ; encoding: [0x01,0x80,0x0b,0xbf]
+0x01,0x80,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, -1 ; encoding: [0x00,0xc1,0x0b,0xbf]
-0x00,0xc1,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, -1 ; encoding: [0x01,0xc1,0x0b,0xbf]
+0x01,0xc1,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, 0.5 ; encoding: [0x00,0xf0,0x0b,0xbf]
-0x00,0xf0,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, 0.5 ; encoding: [0x01,0xf0,0x0b,0xbf]
+0x01,0xf0,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, -4.0 ; encoding: [0x00,0xf7,0x0b,0xbf]
-0x00,0xf7,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, -4.0 ; encoding: [0x01,0xf7,0x0b,0xbf]
+0x01,0xf7,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, scc ; encoding: [0x00,0xfd,0x0b,0xbf]
-0x00,0xfd,0x0b,0xbf
+# CHECK: s_cmp_le_u32 s1, scc ; encoding: [0x01,0xfd,0x0b,0xbf]
+0x01,0xfd,0x0b,0xbf
-# CHECK: s_cmp_le_u32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x0b,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x0b,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_le_u32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x0b,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x0b,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_le_u32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x0b,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x0b,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_le_u32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x0b,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x0b,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_bitcmp0_b32 s0, s0 ; encoding: [0x00,0x00,0x0c,0xbf]
-0x00,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, s2 ; encoding: [0x01,0x02,0x0c,0xbf]
+0x01,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s101, s0 ; encoding: [0x65,0x00,0x0c,0xbf]
-0x65,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s101, s2 ; encoding: [0x65,0x02,0x0c,0xbf]
+0x65,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x0c,0xbf]
-0x66,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x0c,0xbf]
+0x66,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x0c,0xbf]
-0x67,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x0c,0xbf]
+0x67,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x0c,0xbf]
-0x6a,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x0c,0xbf]
+0x6a,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x0c,0xbf]
-0x6b,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x0c,0xbf]
+0x6b,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 tba_lo, s0 ; encoding: [0x6c,0x00,0x0c,0xbf]
-0x6c,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 tba_lo, s2 ; encoding: [0x6c,0x02,0x0c,0xbf]
+0x6c,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 tba_hi, s0 ; encoding: [0x6d,0x00,0x0c,0xbf]
-0x6d,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 tba_hi, s2 ; encoding: [0x6d,0x02,0x0c,0xbf]
+0x6d,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 tma_lo, s0 ; encoding: [0x6e,0x00,0x0c,0xbf]
-0x6e,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 tma_lo, s2 ; encoding: [0x6e,0x02,0x0c,0xbf]
+0x6e,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 tma_hi, s0 ; encoding: [0x6f,0x00,0x0c,0xbf]
-0x6f,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 tma_hi, s2 ; encoding: [0x6f,0x02,0x0c,0xbf]
+0x6f,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 ttmp11, s0 ; encoding: [0x7b,0x00,0x0c,0xbf]
-0x7b,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 ttmp11, s2 ; encoding: [0x7b,0x02,0x0c,0xbf]
+0x7b,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 m0, s0 ; encoding: [0x7c,0x00,0x0c,0xbf]
-0x7c,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 m0, s2 ; encoding: [0x7c,0x02,0x0c,0xbf]
+0x7c,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 exec_lo, s0 ; encoding: [0x7e,0x00,0x0c,0xbf]
-0x7e,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 exec_lo, s2 ; encoding: [0x7e,0x02,0x0c,0xbf]
+0x7e,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 exec_hi, s0 ; encoding: [0x7f,0x00,0x0c,0xbf]
-0x7f,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 exec_hi, s2 ; encoding: [0x7f,0x02,0x0c,0xbf]
+0x7f,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 0, s0 ; encoding: [0x80,0x00,0x0c,0xbf]
-0x80,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 0, s2 ; encoding: [0x80,0x02,0x0c,0xbf]
+0x80,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 -1, s0 ; encoding: [0xc1,0x00,0x0c,0xbf]
-0xc1,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 -1, s2 ; encoding: [0xc1,0x02,0x0c,0xbf]
+0xc1,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 0.5, s0 ; encoding: [0xf0,0x00,0x0c,0xbf]
-0xf0,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 0.5, s2 ; encoding: [0xf0,0x02,0x0c,0xbf]
+0xf0,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 -4.0, s0 ; encoding: [0xf7,0x00,0x0c,0xbf]
-0xf7,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 -4.0, s2 ; encoding: [0xf7,0x02,0x0c,0xbf]
+0xf7,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 scc, s0 ; encoding: [0xfd,0x00,0x0c,0xbf]
-0xfd,0x00,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 scc, s2 ; encoding: [0xfd,0x02,0x0c,0xbf]
+0xfd,0x02,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, s101 ; encoding: [0x00,0x65,0x0c,0xbf]
-0x00,0x65,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, s101 ; encoding: [0x01,0x65,0x0c,0xbf]
+0x01,0x65,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x0c,0xbf]
-0x00,0x66,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x0c,0xbf]
+0x01,0x66,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x0c,0xbf]
-0x00,0x67,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x0c,0xbf]
+0x01,0x67,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, vcc_lo ; encoding: [0x00,0x6a,0x0c,0xbf]
-0x00,0x6a,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, vcc_lo ; encoding: [0x01,0x6a,0x0c,0xbf]
+0x01,0x6a,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, vcc_hi ; encoding: [0x00,0x6b,0x0c,0xbf]
-0x00,0x6b,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, vcc_hi ; encoding: [0x01,0x6b,0x0c,0xbf]
+0x01,0x6b,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, tba_lo ; encoding: [0x00,0x6c,0x0c,0xbf]
-0x00,0x6c,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, tba_lo ; encoding: [0x01,0x6c,0x0c,0xbf]
+0x01,0x6c,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, tba_hi ; encoding: [0x00,0x6d,0x0c,0xbf]
-0x00,0x6d,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, tba_hi ; encoding: [0x01,0x6d,0x0c,0xbf]
+0x01,0x6d,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, tma_lo ; encoding: [0x00,0x6e,0x0c,0xbf]
-0x00,0x6e,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, tma_lo ; encoding: [0x01,0x6e,0x0c,0xbf]
+0x01,0x6e,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, tma_hi ; encoding: [0x00,0x6f,0x0c,0xbf]
-0x00,0x6f,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, tma_hi ; encoding: [0x01,0x6f,0x0c,0xbf]
+0x01,0x6f,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, ttmp11 ; encoding: [0x00,0x7b,0x0c,0xbf]
-0x00,0x7b,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, ttmp11 ; encoding: [0x01,0x7b,0x0c,0xbf]
+0x01,0x7b,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, m0 ; encoding: [0x00,0x7c,0x0c,0xbf]
-0x00,0x7c,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, m0 ; encoding: [0x01,0x7c,0x0c,0xbf]
+0x01,0x7c,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, exec_lo ; encoding: [0x00,0x7e,0x0c,0xbf]
-0x00,0x7e,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, exec_lo ; encoding: [0x01,0x7e,0x0c,0xbf]
+0x01,0x7e,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, exec_hi ; encoding: [0x00,0x7f,0x0c,0xbf]
-0x00,0x7f,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, exec_hi ; encoding: [0x01,0x7f,0x0c,0xbf]
+0x01,0x7f,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, 0 ; encoding: [0x00,0x80,0x0c,0xbf]
-0x00,0x80,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, 0 ; encoding: [0x01,0x80,0x0c,0xbf]
+0x01,0x80,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, -1 ; encoding: [0x00,0xc1,0x0c,0xbf]
-0x00,0xc1,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, -1 ; encoding: [0x01,0xc1,0x0c,0xbf]
+0x01,0xc1,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, 0.5 ; encoding: [0x00,0xf0,0x0c,0xbf]
-0x00,0xf0,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, 0.5 ; encoding: [0x01,0xf0,0x0c,0xbf]
+0x01,0xf0,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, -4.0 ; encoding: [0x00,0xf7,0x0c,0xbf]
-0x00,0xf7,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, -4.0 ; encoding: [0x01,0xf7,0x0c,0xbf]
+0x01,0xf7,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, scc ; encoding: [0x00,0xfd,0x0c,0xbf]
-0x00,0xfd,0x0c,0xbf
+# CHECK: s_bitcmp0_b32 s1, scc ; encoding: [0x01,0xfd,0x0c,0xbf]
+0x01,0xfd,0x0c,0xbf
-# CHECK: s_bitcmp0_b32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x0c,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x0c,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_bitcmp0_b32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x0c,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x0c,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_bitcmp0_b32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x0c,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x0c,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_bitcmp0_b32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x0c,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x0c,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_bitcmp1_b32 s0, s0 ; encoding: [0x00,0x00,0x0d,0xbf]
-0x00,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, s2 ; encoding: [0x01,0x02,0x0d,0xbf]
+0x01,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s101, s0 ; encoding: [0x65,0x00,0x0d,0xbf]
-0x65,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s101, s2 ; encoding: [0x65,0x02,0x0d,0xbf]
+0x65,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x0d,0xbf]
-0x66,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x0d,0xbf]
+0x66,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x0d,0xbf]
-0x67,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x0d,0xbf]
+0x67,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 vcc_lo, s0 ; encoding: [0x6a,0x00,0x0d,0xbf]
-0x6a,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 vcc_lo, s2 ; encoding: [0x6a,0x02,0x0d,0xbf]
+0x6a,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 vcc_hi, s0 ; encoding: [0x6b,0x00,0x0d,0xbf]
-0x6b,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 vcc_hi, s2 ; encoding: [0x6b,0x02,0x0d,0xbf]
+0x6b,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 tba_lo, s0 ; encoding: [0x6c,0x00,0x0d,0xbf]
-0x6c,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 tba_lo, s2 ; encoding: [0x6c,0x02,0x0d,0xbf]
+0x6c,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 tba_hi, s0 ; encoding: [0x6d,0x00,0x0d,0xbf]
-0x6d,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 tba_hi, s2 ; encoding: [0x6d,0x02,0x0d,0xbf]
+0x6d,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 tma_lo, s0 ; encoding: [0x6e,0x00,0x0d,0xbf]
-0x6e,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 tma_lo, s2 ; encoding: [0x6e,0x02,0x0d,0xbf]
+0x6e,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 tma_hi, s0 ; encoding: [0x6f,0x00,0x0d,0xbf]
-0x6f,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 tma_hi, s2 ; encoding: [0x6f,0x02,0x0d,0xbf]
+0x6f,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 ttmp11, s0 ; encoding: [0x7b,0x00,0x0d,0xbf]
-0x7b,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 ttmp11, s2 ; encoding: [0x7b,0x02,0x0d,0xbf]
+0x7b,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 m0, s0 ; encoding: [0x7c,0x00,0x0d,0xbf]
-0x7c,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 m0, s2 ; encoding: [0x7c,0x02,0x0d,0xbf]
+0x7c,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 exec_lo, s0 ; encoding: [0x7e,0x00,0x0d,0xbf]
-0x7e,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 exec_lo, s2 ; encoding: [0x7e,0x02,0x0d,0xbf]
+0x7e,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 exec_hi, s0 ; encoding: [0x7f,0x00,0x0d,0xbf]
-0x7f,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 exec_hi, s2 ; encoding: [0x7f,0x02,0x0d,0xbf]
+0x7f,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 0, s0 ; encoding: [0x80,0x00,0x0d,0xbf]
-0x80,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 0, s2 ; encoding: [0x80,0x02,0x0d,0xbf]
+0x80,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 -1, s0 ; encoding: [0xc1,0x00,0x0d,0xbf]
-0xc1,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 -1, s2 ; encoding: [0xc1,0x02,0x0d,0xbf]
+0xc1,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 0.5, s0 ; encoding: [0xf0,0x00,0x0d,0xbf]
-0xf0,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 0.5, s2 ; encoding: [0xf0,0x02,0x0d,0xbf]
+0xf0,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 -4.0, s0 ; encoding: [0xf7,0x00,0x0d,0xbf]
-0xf7,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 -4.0, s2 ; encoding: [0xf7,0x02,0x0d,0xbf]
+0xf7,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 scc, s0 ; encoding: [0xfd,0x00,0x0d,0xbf]
-0xfd,0x00,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 scc, s2 ; encoding: [0xfd,0x02,0x0d,0xbf]
+0xfd,0x02,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, s101 ; encoding: [0x00,0x65,0x0d,0xbf]
-0x00,0x65,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, s101 ; encoding: [0x01,0x65,0x0d,0xbf]
+0x01,0x65,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, flat_scratch_lo ; encoding: [0x00,0x66,0x0d,0xbf]
-0x00,0x66,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, flat_scratch_lo ; encoding: [0x01,0x66,0x0d,0xbf]
+0x01,0x66,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, flat_scratch_hi ; encoding: [0x00,0x67,0x0d,0xbf]
-0x00,0x67,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, flat_scratch_hi ; encoding: [0x01,0x67,0x0d,0xbf]
+0x01,0x67,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, vcc_lo ; encoding: [0x00,0x6a,0x0d,0xbf]
-0x00,0x6a,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, vcc_lo ; encoding: [0x01,0x6a,0x0d,0xbf]
+0x01,0x6a,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, vcc_hi ; encoding: [0x00,0x6b,0x0d,0xbf]
-0x00,0x6b,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, vcc_hi ; encoding: [0x01,0x6b,0x0d,0xbf]
+0x01,0x6b,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, tba_lo ; encoding: [0x00,0x6c,0x0d,0xbf]
-0x00,0x6c,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, tba_lo ; encoding: [0x01,0x6c,0x0d,0xbf]
+0x01,0x6c,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, tba_hi ; encoding: [0x00,0x6d,0x0d,0xbf]
-0x00,0x6d,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, tba_hi ; encoding: [0x01,0x6d,0x0d,0xbf]
+0x01,0x6d,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, tma_lo ; encoding: [0x00,0x6e,0x0d,0xbf]
-0x00,0x6e,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, tma_lo ; encoding: [0x01,0x6e,0x0d,0xbf]
+0x01,0x6e,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, tma_hi ; encoding: [0x00,0x6f,0x0d,0xbf]
-0x00,0x6f,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, tma_hi ; encoding: [0x01,0x6f,0x0d,0xbf]
+0x01,0x6f,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, ttmp11 ; encoding: [0x00,0x7b,0x0d,0xbf]
-0x00,0x7b,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, ttmp11 ; encoding: [0x01,0x7b,0x0d,0xbf]
+0x01,0x7b,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, m0 ; encoding: [0x00,0x7c,0x0d,0xbf]
-0x00,0x7c,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, m0 ; encoding: [0x01,0x7c,0x0d,0xbf]
+0x01,0x7c,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, exec_lo ; encoding: [0x00,0x7e,0x0d,0xbf]
-0x00,0x7e,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, exec_lo ; encoding: [0x01,0x7e,0x0d,0xbf]
+0x01,0x7e,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, exec_hi ; encoding: [0x00,0x7f,0x0d,0xbf]
-0x00,0x7f,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, exec_hi ; encoding: [0x01,0x7f,0x0d,0xbf]
+0x01,0x7f,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, 0 ; encoding: [0x00,0x80,0x0d,0xbf]
-0x00,0x80,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, 0 ; encoding: [0x01,0x80,0x0d,0xbf]
+0x01,0x80,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, -1 ; encoding: [0x00,0xc1,0x0d,0xbf]
-0x00,0xc1,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, -1 ; encoding: [0x01,0xc1,0x0d,0xbf]
+0x01,0xc1,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, 0.5 ; encoding: [0x00,0xf0,0x0d,0xbf]
-0x00,0xf0,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, 0.5 ; encoding: [0x01,0xf0,0x0d,0xbf]
+0x01,0xf0,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, -4.0 ; encoding: [0x00,0xf7,0x0d,0xbf]
-0x00,0xf7,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, -4.0 ; encoding: [0x01,0xf7,0x0d,0xbf]
+0x01,0xf7,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, scc ; encoding: [0x00,0xfd,0x0d,0xbf]
-0x00,0xfd,0x0d,0xbf
+# CHECK: s_bitcmp1_b32 s1, scc ; encoding: [0x01,0xfd,0x0d,0xbf]
+0x01,0xfd,0x0d,0xbf
-# CHECK: s_bitcmp1_b32 s0, 0xaf123456 ; encoding: [0x00,0xff,0x0d,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x0d,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_bitcmp1_b32 s1, 0xaf123456 ; encoding: [0x01,0xff,0x0d,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x0d,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_bitcmp1_b32 s0, 0x3f717273 ; encoding: [0x00,0xff,0x0d,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x0d,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_bitcmp1_b32 s1, 0x3f717273 ; encoding: [0x01,0xff,0x0d,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x0d,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_bitcmp0_b64 s[0:1], s0 ; encoding: [0x00,0x00,0x0e,0xbf]
-0x00,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], s2 ; encoding: [0x02,0x02,0x0e,0xbf]
+0x02,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[2:3], s0 ; encoding: [0x02,0x00,0x0e,0xbf]
-0x02,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[4:5], s2 ; encoding: [0x04,0x02,0x0e,0xbf]
+0x04,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[100:101], s0 ; encoding: [0x64,0x00,0x0e,0xbf]
-0x64,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[100:101], s2 ; encoding: [0x64,0x02,0x0e,0xbf]
+0x64,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 flat_scratch, s0 ; encoding: [0x66,0x00,0x0e,0xbf]
-0x66,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 flat_scratch, s2 ; encoding: [0x66,0x02,0x0e,0xbf]
+0x66,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 vcc, s0 ; encoding: [0x6a,0x00,0x0e,0xbf]
-0x6a,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 vcc, s2 ; encoding: [0x6a,0x02,0x0e,0xbf]
+0x6a,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 tba, s0 ; encoding: [0x6c,0x00,0x0e,0xbf]
-0x6c,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 tba, s2 ; encoding: [0x6c,0x02,0x0e,0xbf]
+0x6c,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 tma, s0 ; encoding: [0x6e,0x00,0x0e,0xbf]
-0x6e,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 tma, s2 ; encoding: [0x6e,0x02,0x0e,0xbf]
+0x6e,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 ttmp[10:11], s0 ; encoding: [0x7a,0x00,0x0e,0xbf]
-0x7a,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 ttmp[10:11], s2 ; encoding: [0x7a,0x02,0x0e,0xbf]
+0x7a,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 exec, s0 ; encoding: [0x7e,0x00,0x0e,0xbf]
-0x7e,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 exec, s2 ; encoding: [0x7e,0x02,0x0e,0xbf]
+0x7e,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 0, s0 ; encoding: [0x80,0x00,0x0e,0xbf]
-0x80,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 0, s2 ; encoding: [0x80,0x02,0x0e,0xbf]
+0x80,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 -1, s0 ; encoding: [0xc1,0x00,0x0e,0xbf]
-0xc1,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 -1, s2 ; encoding: [0xc1,0x02,0x0e,0xbf]
+0xc1,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 0.5, s0 ; encoding: [0xf0,0x00,0x0e,0xbf]
-0xf0,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 0.5, s2 ; encoding: [0xf0,0x02,0x0e,0xbf]
+0xf0,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 -4.0, s0 ; encoding: [0xf7,0x00,0x0e,0xbf]
-0xf7,0x00,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 -4.0, s2 ; encoding: [0xf7,0x02,0x0e,0xbf]
+0xf7,0x02,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 0xaf123456, s0 ; encoding: [0xff,0x00,0x0e,0xbf,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x0e,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_bitcmp0_b64 0xaf123456, s2 ; encoding: [0xff,0x02,0x0e,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0e,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_bitcmp0_b64 0x3f717273, s0 ; encoding: [0xff,0x00,0x0e,0xbf,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x0e,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_bitcmp0_b64 0x3f717273, s2 ; encoding: [0xff,0x02,0x0e,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0e,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_bitcmp0_b64 s[0:1], s101 ; encoding: [0x00,0x65,0x0e,0xbf]
-0x00,0x65,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], s101 ; encoding: [0x02,0x65,0x0e,0xbf]
+0x02,0x65,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], flat_scratch_lo ; encoding: [0x00,0x66,0x0e,0xbf]
-0x00,0x66,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x0e,0xbf]
+0x02,0x66,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], flat_scratch_hi ; encoding: [0x00,0x67,0x0e,0xbf]
-0x00,0x67,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x0e,0xbf]
+0x02,0x67,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], vcc_lo ; encoding: [0x00,0x6a,0x0e,0xbf]
-0x00,0x6a,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], vcc_lo ; encoding: [0x02,0x6a,0x0e,0xbf]
+0x02,0x6a,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], vcc_hi ; encoding: [0x00,0x6b,0x0e,0xbf]
-0x00,0x6b,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x0e,0xbf]
+0x02,0x6b,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], tba_lo ; encoding: [0x00,0x6c,0x0e,0xbf]
-0x00,0x6c,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], tba_lo ; encoding: [0x02,0x6c,0x0e,0xbf]
+0x02,0x6c,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], tba_hi ; encoding: [0x00,0x6d,0x0e,0xbf]
-0x00,0x6d,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], tba_hi ; encoding: [0x02,0x6d,0x0e,0xbf]
+0x02,0x6d,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], tma_lo ; encoding: [0x00,0x6e,0x0e,0xbf]
-0x00,0x6e,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], tma_lo ; encoding: [0x02,0x6e,0x0e,0xbf]
+0x02,0x6e,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], tma_hi ; encoding: [0x00,0x6f,0x0e,0xbf]
-0x00,0x6f,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], tma_hi ; encoding: [0x02,0x6f,0x0e,0xbf]
+0x02,0x6f,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], ttmp11 ; encoding: [0x00,0x7b,0x0e,0xbf]
-0x00,0x7b,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], ttmp11 ; encoding: [0x02,0x7b,0x0e,0xbf]
+0x02,0x7b,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], m0 ; encoding: [0x00,0x7c,0x0e,0xbf]
-0x00,0x7c,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], m0 ; encoding: [0x02,0x7c,0x0e,0xbf]
+0x02,0x7c,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], exec_lo ; encoding: [0x00,0x7e,0x0e,0xbf]
-0x00,0x7e,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], exec_lo ; encoding: [0x02,0x7e,0x0e,0xbf]
+0x02,0x7e,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], exec_hi ; encoding: [0x00,0x7f,0x0e,0xbf]
-0x00,0x7f,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], exec_hi ; encoding: [0x02,0x7f,0x0e,0xbf]
+0x02,0x7f,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], 0 ; encoding: [0x00,0x80,0x0e,0xbf]
-0x00,0x80,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], 0 ; encoding: [0x02,0x80,0x0e,0xbf]
+0x02,0x80,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], -1 ; encoding: [0x00,0xc1,0x0e,0xbf]
-0x00,0xc1,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], -1 ; encoding: [0x02,0xc1,0x0e,0xbf]
+0x02,0xc1,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], 0.5 ; encoding: [0x00,0xf0,0x0e,0xbf]
-0x00,0xf0,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], 0.5 ; encoding: [0x02,0xf0,0x0e,0xbf]
+0x02,0xf0,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], -4.0 ; encoding: [0x00,0xf7,0x0e,0xbf]
-0x00,0xf7,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], -4.0 ; encoding: [0x02,0xf7,0x0e,0xbf]
+0x02,0xf7,0x0e,0xbf
-# CHECK: s_bitcmp0_b64 s[0:1], scc ; encoding: [0x00,0xfd,0x0e,0xbf]
-0x00,0xfd,0x0e,0xbf
+# CHECK: s_bitcmp0_b64 s[2:3], scc ; encoding: [0x02,0xfd,0x0e,0xbf]
+0x02,0xfd,0x0e,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], s0 ; encoding: [0x00,0x00,0x0f,0xbf]
-0x00,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], s2 ; encoding: [0x02,0x02,0x0f,0xbf]
+0x02,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[2:3], s0 ; encoding: [0x02,0x00,0x0f,0xbf]
-0x02,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[4:5], s2 ; encoding: [0x04,0x02,0x0f,0xbf]
+0x04,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[100:101], s0 ; encoding: [0x64,0x00,0x0f,0xbf]
-0x64,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[100:101], s2 ; encoding: [0x64,0x02,0x0f,0xbf]
+0x64,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 flat_scratch, s0 ; encoding: [0x66,0x00,0x0f,0xbf]
-0x66,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 flat_scratch, s2 ; encoding: [0x66,0x02,0x0f,0xbf]
+0x66,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 vcc, s0 ; encoding: [0x6a,0x00,0x0f,0xbf]
-0x6a,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 vcc, s2 ; encoding: [0x6a,0x02,0x0f,0xbf]
+0x6a,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 tba, s0 ; encoding: [0x6c,0x00,0x0f,0xbf]
-0x6c,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 tba, s2 ; encoding: [0x6c,0x02,0x0f,0xbf]
+0x6c,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 tma, s0 ; encoding: [0x6e,0x00,0x0f,0xbf]
-0x6e,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 tma, s2 ; encoding: [0x6e,0x02,0x0f,0xbf]
+0x6e,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 ttmp[10:11], s0 ; encoding: [0x7a,0x00,0x0f,0xbf]
-0x7a,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 ttmp[10:11], s2 ; encoding: [0x7a,0x02,0x0f,0xbf]
+0x7a,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 exec, s0 ; encoding: [0x7e,0x00,0x0f,0xbf]
-0x7e,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 exec, s2 ; encoding: [0x7e,0x02,0x0f,0xbf]
+0x7e,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 0, s0 ; encoding: [0x80,0x00,0x0f,0xbf]
-0x80,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 0, s2 ; encoding: [0x80,0x02,0x0f,0xbf]
+0x80,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 -1, s0 ; encoding: [0xc1,0x00,0x0f,0xbf]
-0xc1,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 -1, s2 ; encoding: [0xc1,0x02,0x0f,0xbf]
+0xc1,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 0.5, s0 ; encoding: [0xf0,0x00,0x0f,0xbf]
-0xf0,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 0.5, s2 ; encoding: [0xf0,0x02,0x0f,0xbf]
+0xf0,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 -4.0, s0 ; encoding: [0xf7,0x00,0x0f,0xbf]
-0xf7,0x00,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 -4.0, s2 ; encoding: [0xf7,0x02,0x0f,0xbf]
+0xf7,0x02,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 0xaf123456, s0 ; encoding: [0xff,0x00,0x0f,0xbf,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x0f,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_bitcmp1_b64 0xaf123456, s2 ; encoding: [0xff,0x02,0x0f,0xbf,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0f,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_bitcmp1_b64 0x3f717273, s0 ; encoding: [0xff,0x00,0x0f,0xbf,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x0f,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_bitcmp1_b64 0x3f717273, s2 ; encoding: [0xff,0x02,0x0f,0xbf,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0f,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_bitcmp1_b64 s[0:1], s101 ; encoding: [0x00,0x65,0x0f,0xbf]
-0x00,0x65,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], s101 ; encoding: [0x02,0x65,0x0f,0xbf]
+0x02,0x65,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], flat_scratch_lo ; encoding: [0x00,0x66,0x0f,0xbf]
-0x00,0x66,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], flat_scratch_lo ; encoding: [0x02,0x66,0x0f,0xbf]
+0x02,0x66,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], flat_scratch_hi ; encoding: [0x00,0x67,0x0f,0xbf]
-0x00,0x67,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], flat_scratch_hi ; encoding: [0x02,0x67,0x0f,0xbf]
+0x02,0x67,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], vcc_lo ; encoding: [0x00,0x6a,0x0f,0xbf]
-0x00,0x6a,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], vcc_lo ; encoding: [0x02,0x6a,0x0f,0xbf]
+0x02,0x6a,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], vcc_hi ; encoding: [0x00,0x6b,0x0f,0xbf]
-0x00,0x6b,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], vcc_hi ; encoding: [0x02,0x6b,0x0f,0xbf]
+0x02,0x6b,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], tba_lo ; encoding: [0x00,0x6c,0x0f,0xbf]
-0x00,0x6c,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], tba_lo ; encoding: [0x02,0x6c,0x0f,0xbf]
+0x02,0x6c,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], tba_hi ; encoding: [0x00,0x6d,0x0f,0xbf]
-0x00,0x6d,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], tba_hi ; encoding: [0x02,0x6d,0x0f,0xbf]
+0x02,0x6d,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], tma_lo ; encoding: [0x00,0x6e,0x0f,0xbf]
-0x00,0x6e,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], tma_lo ; encoding: [0x02,0x6e,0x0f,0xbf]
+0x02,0x6e,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], tma_hi ; encoding: [0x00,0x6f,0x0f,0xbf]
-0x00,0x6f,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], tma_hi ; encoding: [0x02,0x6f,0x0f,0xbf]
+0x02,0x6f,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], ttmp11 ; encoding: [0x00,0x7b,0x0f,0xbf]
-0x00,0x7b,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], ttmp11 ; encoding: [0x02,0x7b,0x0f,0xbf]
+0x02,0x7b,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], m0 ; encoding: [0x00,0x7c,0x0f,0xbf]
-0x00,0x7c,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], m0 ; encoding: [0x02,0x7c,0x0f,0xbf]
+0x02,0x7c,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], exec_lo ; encoding: [0x00,0x7e,0x0f,0xbf]
-0x00,0x7e,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], exec_lo ; encoding: [0x02,0x7e,0x0f,0xbf]
+0x02,0x7e,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], exec_hi ; encoding: [0x00,0x7f,0x0f,0xbf]
-0x00,0x7f,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], exec_hi ; encoding: [0x02,0x7f,0x0f,0xbf]
+0x02,0x7f,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], 0 ; encoding: [0x00,0x80,0x0f,0xbf]
-0x00,0x80,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], 0 ; encoding: [0x02,0x80,0x0f,0xbf]
+0x02,0x80,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], -1 ; encoding: [0x00,0xc1,0x0f,0xbf]
-0x00,0xc1,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], -1 ; encoding: [0x02,0xc1,0x0f,0xbf]
+0x02,0xc1,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], 0.5 ; encoding: [0x00,0xf0,0x0f,0xbf]
-0x00,0xf0,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], 0.5 ; encoding: [0x02,0xf0,0x0f,0xbf]
+0x02,0xf0,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], -4.0 ; encoding: [0x00,0xf7,0x0f,0xbf]
-0x00,0xf7,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], -4.0 ; encoding: [0x02,0xf7,0x0f,0xbf]
+0x02,0xf7,0x0f,0xbf
-# CHECK: s_bitcmp1_b64 s[0:1], scc ; encoding: [0x00,0xfd,0x0f,0xbf]
-0x00,0xfd,0x0f,0xbf
+# CHECK: s_bitcmp1_b64 s[2:3], scc ; encoding: [0x02,0xfd,0x0f,0xbf]
+0x02,0xfd,0x0f,0xbf
-# CHECK: s_setvskip s0, s0 ; encoding: [0x00,0x00,0x10,0xbf]
-0x00,0x00,0x10,0xbf
+# CHECK: s_setvskip s1, s2 ; encoding: [0x01,0x02,0x10,0xbf]
+0x01,0x02,0x10,0xbf
-# CHECK: s_setvskip s101, s0 ; encoding: [0x65,0x00,0x10,0xbf]
-0x65,0x00,0x10,0xbf
+# CHECK: s_setvskip s101, s2 ; encoding: [0x65,0x02,0x10,0xbf]
+0x65,0x02,0x10,0xbf
-# CHECK: s_setvskip flat_scratch_lo, s0 ; encoding: [0x66,0x00,0x10,0xbf]
-0x66,0x00,0x10,0xbf
+# CHECK: s_setvskip flat_scratch_lo, s2 ; encoding: [0x66,0x02,0x10,0xbf]
+0x66,0x02,0x10,0xbf
-# CHECK: s_setvskip flat_scratch_hi, s0 ; encoding: [0x67,0x00,0x10,0xbf]
-0x67,0x00,0x10,0xbf
+# CHECK: s_setvskip flat_scratch_hi, s2 ; encoding: [0x67,0x02,0x10,0xbf]
+0x67,0x02,0x10,0xbf
-# CHECK: s_setvskip vcc_lo, s0 ; encoding: [0x6a,0x00,0x10,0xbf]
-0x6a,0x00,0x10,0xbf
+# CHECK: s_setvskip vcc_lo, s2 ; encoding: [0x6a,0x02,0x10,0xbf]
+0x6a,0x02,0x10,0xbf
-# CHECK: s_setvskip vcc_hi, s0 ; encoding: [0x6b,0x00,0x10,0xbf]
-0x6b,0x00,0x10,0xbf
+# CHECK: s_setvskip vcc_hi, s2 ; encoding: [0x6b,0x02,0x10,0xbf]
+0x6b,0x02,0x10,0xbf
-# CHECK: s_setvskip tba_lo, s0 ; encoding: [0x6c,0x00,0x10,0xbf]
-0x6c,0x00,0x10,0xbf
+# CHECK: s_setvskip tba_lo, s2 ; encoding: [0x6c,0x02,0x10,0xbf]
+0x6c,0x02,0x10,0xbf
-# CHECK: s_setvskip tba_hi, s0 ; encoding: [0x6d,0x00,0x10,0xbf]
-0x6d,0x00,0x10,0xbf
+# CHECK: s_setvskip tba_hi, s2 ; encoding: [0x6d,0x02,0x10,0xbf]
+0x6d,0x02,0x10,0xbf
-# CHECK: s_setvskip tma_lo, s0 ; encoding: [0x6e,0x00,0x10,0xbf]
-0x6e,0x00,0x10,0xbf
+# CHECK: s_setvskip tma_lo, s2 ; encoding: [0x6e,0x02,0x10,0xbf]
+0x6e,0x02,0x10,0xbf
-# CHECK: s_setvskip tma_hi, s0 ; encoding: [0x6f,0x00,0x10,0xbf]
-0x6f,0x00,0x10,0xbf
+# CHECK: s_setvskip tma_hi, s2 ; encoding: [0x6f,0x02,0x10,0xbf]
+0x6f,0x02,0x10,0xbf
-# CHECK: s_setvskip ttmp11, s0 ; encoding: [0x7b,0x00,0x10,0xbf]
-0x7b,0x00,0x10,0xbf
+# CHECK: s_setvskip ttmp11, s2 ; encoding: [0x7b,0x02,0x10,0xbf]
+0x7b,0x02,0x10,0xbf
-# CHECK: s_setvskip m0, s0 ; encoding: [0x7c,0x00,0x10,0xbf]
-0x7c,0x00,0x10,0xbf
+# CHECK: s_setvskip m0, s2 ; encoding: [0x7c,0x02,0x10,0xbf]
+0x7c,0x02,0x10,0xbf
-# CHECK: s_setvskip exec_lo, s0 ; encoding: [0x7e,0x00,0x10,0xbf]
-0x7e,0x00,0x10,0xbf
+# CHECK: s_setvskip exec_lo, s2 ; encoding: [0x7e,0x02,0x10,0xbf]
+0x7e,0x02,0x10,0xbf
-# CHECK: s_setvskip exec_hi, s0 ; encoding: [0x7f,0x00,0x10,0xbf]
-0x7f,0x00,0x10,0xbf
+# CHECK: s_setvskip exec_hi, s2 ; encoding: [0x7f,0x02,0x10,0xbf]
+0x7f,0x02,0x10,0xbf
-# CHECK: s_setvskip 0, s0 ; encoding: [0x80,0x00,0x10,0xbf]
-0x80,0x00,0x10,0xbf
+# CHECK: s_setvskip 0, s2 ; encoding: [0x80,0x02,0x10,0xbf]
+0x80,0x02,0x10,0xbf
-# CHECK: s_setvskip -1, s0 ; encoding: [0xc1,0x00,0x10,0xbf]
-0xc1,0x00,0x10,0xbf
+# CHECK: s_setvskip -1, s2 ; encoding: [0xc1,0x02,0x10,0xbf]
+0xc1,0x02,0x10,0xbf
-# CHECK: s_setvskip 0.5, s0 ; encoding: [0xf0,0x00,0x10,0xbf]
-0xf0,0x00,0x10,0xbf
+# CHECK: s_setvskip 0.5, s2 ; encoding: [0xf0,0x02,0x10,0xbf]
+0xf0,0x02,0x10,0xbf
-# CHECK: s_setvskip -4.0, s0 ; encoding: [0xf7,0x00,0x10,0xbf]
-0xf7,0x00,0x10,0xbf
+# CHECK: s_setvskip -4.0, s2 ; encoding: [0xf7,0x02,0x10,0xbf]
+0xf7,0x02,0x10,0xbf
-# CHECK: s_setvskip scc, s0 ; encoding: [0xfd,0x00,0x10,0xbf]
-0xfd,0x00,0x10,0xbf
+# CHECK: s_setvskip scc, s2 ; encoding: [0xfd,0x02,0x10,0xbf]
+0xfd,0x02,0x10,0xbf
-# CHECK: s_setvskip s0, s101 ; encoding: [0x00,0x65,0x10,0xbf]
-0x00,0x65,0x10,0xbf
+# CHECK: s_setvskip s1, s101 ; encoding: [0x01,0x65,0x10,0xbf]
+0x01,0x65,0x10,0xbf
-# CHECK: s_setvskip s0, flat_scratch_lo ; encoding: [0x00,0x66,0x10,0xbf]
-0x00,0x66,0x10,0xbf
+# CHECK: s_setvskip s1, flat_scratch_lo ; encoding: [0x01,0x66,0x10,0xbf]
+0x01,0x66,0x10,0xbf
-# CHECK: s_setvskip s0, flat_scratch_hi ; encoding: [0x00,0x67,0x10,0xbf]
-0x00,0x67,0x10,0xbf
+# CHECK: s_setvskip s1, flat_scratch_hi ; encoding: [0x01,0x67,0x10,0xbf]
+0x01,0x67,0x10,0xbf
-# CHECK: s_setvskip s0, vcc_lo ; encoding: [0x00,0x6a,0x10,0xbf]
-0x00,0x6a,0x10,0xbf
+# CHECK: s_setvskip s1, vcc_lo ; encoding: [0x01,0x6a,0x10,0xbf]
+0x01,0x6a,0x10,0xbf
-# CHECK: s_setvskip s0, vcc_hi ; encoding: [0x00,0x6b,0x10,0xbf]
-0x00,0x6b,0x10,0xbf
+# CHECK: s_setvskip s1, vcc_hi ; encoding: [0x01,0x6b,0x10,0xbf]
+0x01,0x6b,0x10,0xbf
-# CHECK: s_setvskip s0, tba_lo ; encoding: [0x00,0x6c,0x10,0xbf]
-0x00,0x6c,0x10,0xbf
+# CHECK: s_setvskip s1, tba_lo ; encoding: [0x01,0x6c,0x10,0xbf]
+0x01,0x6c,0x10,0xbf
-# CHECK: s_setvskip s0, tba_hi ; encoding: [0x00,0x6d,0x10,0xbf]
-0x00,0x6d,0x10,0xbf
+# CHECK: s_setvskip s1, tba_hi ; encoding: [0x01,0x6d,0x10,0xbf]
+0x01,0x6d,0x10,0xbf
-# CHECK: s_setvskip s0, tma_lo ; encoding: [0x00,0x6e,0x10,0xbf]
-0x00,0x6e,0x10,0xbf
+# CHECK: s_setvskip s1, tma_lo ; encoding: [0x01,0x6e,0x10,0xbf]
+0x01,0x6e,0x10,0xbf
-# CHECK: s_setvskip s0, tma_hi ; encoding: [0x00,0x6f,0x10,0xbf]
-0x00,0x6f,0x10,0xbf
+# CHECK: s_setvskip s1, tma_hi ; encoding: [0x01,0x6f,0x10,0xbf]
+0x01,0x6f,0x10,0xbf
-# CHECK: s_setvskip s0, ttmp11 ; encoding: [0x00,0x7b,0x10,0xbf]
-0x00,0x7b,0x10,0xbf
+# CHECK: s_setvskip s1, ttmp11 ; encoding: [0x01,0x7b,0x10,0xbf]
+0x01,0x7b,0x10,0xbf
-# CHECK: s_setvskip s0, m0 ; encoding: [0x00,0x7c,0x10,0xbf]
-0x00,0x7c,0x10,0xbf
+# CHECK: s_setvskip s1, m0 ; encoding: [0x01,0x7c,0x10,0xbf]
+0x01,0x7c,0x10,0xbf
-# CHECK: s_setvskip s0, exec_lo ; encoding: [0x00,0x7e,0x10,0xbf]
-0x00,0x7e,0x10,0xbf
+# CHECK: s_setvskip s1, exec_lo ; encoding: [0x01,0x7e,0x10,0xbf]
+0x01,0x7e,0x10,0xbf
-# CHECK: s_setvskip s0, exec_hi ; encoding: [0x00,0x7f,0x10,0xbf]
-0x00,0x7f,0x10,0xbf
+# CHECK: s_setvskip s1, exec_hi ; encoding: [0x01,0x7f,0x10,0xbf]
+0x01,0x7f,0x10,0xbf
-# CHECK: s_setvskip s0, 0 ; encoding: [0x00,0x80,0x10,0xbf]
-0x00,0x80,0x10,0xbf
+# CHECK: s_setvskip s1, 0 ; encoding: [0x01,0x80,0x10,0xbf]
+0x01,0x80,0x10,0xbf
-# CHECK: s_setvskip s0, -1 ; encoding: [0x00,0xc1,0x10,0xbf]
-0x00,0xc1,0x10,0xbf
+# CHECK: s_setvskip s1, -1 ; encoding: [0x01,0xc1,0x10,0xbf]
+0x01,0xc1,0x10,0xbf
-# CHECK: s_setvskip s0, 0.5 ; encoding: [0x00,0xf0,0x10,0xbf]
-0x00,0xf0,0x10,0xbf
+# CHECK: s_setvskip s1, 0.5 ; encoding: [0x01,0xf0,0x10,0xbf]
+0x01,0xf0,0x10,0xbf
-# CHECK: s_setvskip s0, -4.0 ; encoding: [0x00,0xf7,0x10,0xbf]
-0x00,0xf7,0x10,0xbf
+# CHECK: s_setvskip s1, -4.0 ; encoding: [0x01,0xf7,0x10,0xbf]
+0x01,0xf7,0x10,0xbf
-# CHECK: s_setvskip s0, scc ; encoding: [0x00,0xfd,0x10,0xbf]
-0x00,0xfd,0x10,0xbf
+# CHECK: s_setvskip s1, scc ; encoding: [0x01,0xfd,0x10,0xbf]
+0x01,0xfd,0x10,0xbf
-# CHECK: s_setvskip s0, 0xaf123456 ; encoding: [0x00,0xff,0x10,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x10,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_setvskip s1, 0xaf123456 ; encoding: [0x01,0xff,0x10,0xbf,0x56,0x34,0x12,0xaf]
+0x01,0xff,0x10,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_setvskip s0, 0x3f717273 ; encoding: [0x00,0xff,0x10,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x10,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_setvskip s1, 0x3f717273 ; encoding: [0x01,0xff,0x10,0xbf,0x73,0x72,0x71,0x3f]
+0x01,0xff,0x10,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_eq_u64 s[0:1], s[0:1] ; encoding: [0x00,0x00,0x12,0xbf]
-0x00,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], s[4:5] ; encoding: [0x02,0x04,0x12,0xbf]
+0x02,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[2:3], s[0:1] ; encoding: [0x02,0x00,0x12,0xbf]
-0x02,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[4:5], s[4:5] ; encoding: [0x04,0x04,0x12,0xbf]
+0x04,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[100:101], s[0:1] ; encoding: [0x64,0x00,0x12,0xbf]
-0x64,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[100:101], s[4:5] ; encoding: [0x64,0x04,0x12,0xbf]
+0x64,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x12,0xbf]
-0x66,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x12,0xbf]
+0x66,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 vcc, s[0:1] ; encoding: [0x6a,0x00,0x12,0xbf]
-0x6a,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 vcc, s[4:5] ; encoding: [0x6a,0x04,0x12,0xbf]
+0x6a,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 tba, s[0:1] ; encoding: [0x6c,0x00,0x12,0xbf]
-0x6c,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 tba, s[4:5] ; encoding: [0x6c,0x04,0x12,0xbf]
+0x6c,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 tma, s[0:1] ; encoding: [0x6e,0x00,0x12,0xbf]
-0x6e,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 tma, s[4:5] ; encoding: [0x6e,0x04,0x12,0xbf]
+0x6e,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x12,0xbf]
-0x7a,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x12,0xbf]
+0x7a,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 exec, s[0:1] ; encoding: [0x7e,0x00,0x12,0xbf]
-0x7e,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 exec, s[4:5] ; encoding: [0x7e,0x04,0x12,0xbf]
+0x7e,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 0, s[0:1] ; encoding: [0x80,0x00,0x12,0xbf]
-0x80,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 0, s[4:5] ; encoding: [0x80,0x04,0x12,0xbf]
+0x80,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 -1, s[0:1] ; encoding: [0xc1,0x00,0x12,0xbf]
-0xc1,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 -1, s[4:5] ; encoding: [0xc1,0x04,0x12,0xbf]
+0xc1,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 0.5, s[0:1] ; encoding: [0xf0,0x00,0x12,0xbf]
-0xf0,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 0.5, s[4:5] ; encoding: [0xf0,0x04,0x12,0xbf]
+0xf0,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 -4.0, s[0:1] ; encoding: [0xf7,0x00,0x12,0xbf]
-0xf7,0x00,0x12,0xbf
+# CHECK: s_cmp_eq_u64 -4.0, s[4:5] ; encoding: [0xf7,0x04,0x12,0xbf]
+0xf7,0x04,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], s[2:3] ; encoding: [0x00,0x02,0x12,0xbf]
-0x00,0x02,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], s[6:7] ; encoding: [0x02,0x06,0x12,0xbf]
+0x02,0x06,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], s[100:101] ; encoding: [0x00,0x64,0x12,0xbf]
-0x00,0x64,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], s[100:101] ; encoding: [0x02,0x64,0x12,0xbf]
+0x02,0x64,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], flat_scratch ; encoding: [0x00,0x66,0x12,0xbf]
-0x00,0x66,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], flat_scratch ; encoding: [0x02,0x66,0x12,0xbf]
+0x02,0x66,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], vcc ; encoding: [0x00,0x6a,0x12,0xbf]
-0x00,0x6a,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], vcc ; encoding: [0x02,0x6a,0x12,0xbf]
+0x02,0x6a,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], tba ; encoding: [0x00,0x6c,0x12,0xbf]
-0x00,0x6c,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], tba ; encoding: [0x02,0x6c,0x12,0xbf]
+0x02,0x6c,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], tma ; encoding: [0x00,0x6e,0x12,0xbf]
-0x00,0x6e,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], tma ; encoding: [0x02,0x6e,0x12,0xbf]
+0x02,0x6e,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x12,0xbf]
-0x00,0x7a,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x12,0xbf]
+0x02,0x7a,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], exec ; encoding: [0x00,0x7e,0x12,0xbf]
-0x00,0x7e,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], exec ; encoding: [0x02,0x7e,0x12,0xbf]
+0x02,0x7e,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], 0 ; encoding: [0x00,0x80,0x12,0xbf]
-0x00,0x80,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], 0 ; encoding: [0x02,0x80,0x12,0xbf]
+0x02,0x80,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], -1 ; encoding: [0x00,0xc1,0x12,0xbf]
-0x00,0xc1,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], -1 ; encoding: [0x02,0xc1,0x12,0xbf]
+0x02,0xc1,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], 0.5 ; encoding: [0x00,0xf0,0x12,0xbf]
-0x00,0xf0,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], 0.5 ; encoding: [0x02,0xf0,0x12,0xbf]
+0x02,0xf0,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], -4.0 ; encoding: [0x00,0xf7,0x12,0xbf]
-0x00,0xf7,0x12,0xbf
+# CHECK: s_cmp_eq_u64 s[2:3], -4.0 ; encoding: [0x02,0xf7,0x12,0xbf]
+0x02,0xf7,0x12,0xbf
-# CHECK: s_cmp_eq_u64 s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x12,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x12,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_eq_u64 s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x12,0xbf,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x12,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_eq_u64 s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x12,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x12,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_eq_u64 s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x12,0xbf,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x12,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_cmp_lg_u64 s[0:1], s[0:1] ; encoding: [0x00,0x00,0x13,0xbf]
-0x00,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], s[4:5] ; encoding: [0x02,0x04,0x13,0xbf]
+0x02,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[2:3], s[0:1] ; encoding: [0x02,0x00,0x13,0xbf]
-0x02,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[4:5], s[4:5] ; encoding: [0x04,0x04,0x13,0xbf]
+0x04,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[100:101], s[0:1] ; encoding: [0x64,0x00,0x13,0xbf]
-0x64,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[100:101], s[4:5] ; encoding: [0x64,0x04,0x13,0xbf]
+0x64,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 flat_scratch, s[0:1] ; encoding: [0x66,0x00,0x13,0xbf]
-0x66,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 flat_scratch, s[4:5] ; encoding: [0x66,0x04,0x13,0xbf]
+0x66,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 vcc, s[0:1] ; encoding: [0x6a,0x00,0x13,0xbf]
-0x6a,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 vcc, s[4:5] ; encoding: [0x6a,0x04,0x13,0xbf]
+0x6a,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 tba, s[0:1] ; encoding: [0x6c,0x00,0x13,0xbf]
-0x6c,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 tba, s[4:5] ; encoding: [0x6c,0x04,0x13,0xbf]
+0x6c,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 tma, s[0:1] ; encoding: [0x6e,0x00,0x13,0xbf]
-0x6e,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 tma, s[4:5] ; encoding: [0x6e,0x04,0x13,0xbf]
+0x6e,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 ttmp[10:11], s[0:1] ; encoding: [0x7a,0x00,0x13,0xbf]
-0x7a,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 ttmp[10:11], s[4:5] ; encoding: [0x7a,0x04,0x13,0xbf]
+0x7a,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 exec, s[0:1] ; encoding: [0x7e,0x00,0x13,0xbf]
-0x7e,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 exec, s[4:5] ; encoding: [0x7e,0x04,0x13,0xbf]
+0x7e,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 0, s[0:1] ; encoding: [0x80,0x00,0x13,0xbf]
-0x80,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 0, s[4:5] ; encoding: [0x80,0x04,0x13,0xbf]
+0x80,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 -1, s[0:1] ; encoding: [0xc1,0x00,0x13,0xbf]
-0xc1,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 -1, s[4:5] ; encoding: [0xc1,0x04,0x13,0xbf]
+0xc1,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 0.5, s[0:1] ; encoding: [0xf0,0x00,0x13,0xbf]
-0xf0,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 0.5, s[4:5] ; encoding: [0xf0,0x04,0x13,0xbf]
+0xf0,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 -4.0, s[0:1] ; encoding: [0xf7,0x00,0x13,0xbf]
-0xf7,0x00,0x13,0xbf
+# CHECK: s_cmp_lg_u64 -4.0, s[4:5] ; encoding: [0xf7,0x04,0x13,0xbf]
+0xf7,0x04,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], s[2:3] ; encoding: [0x00,0x02,0x13,0xbf]
-0x00,0x02,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], s[6:7] ; encoding: [0x02,0x06,0x13,0xbf]
+0x02,0x06,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], s[100:101] ; encoding: [0x00,0x64,0x13,0xbf]
-0x00,0x64,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], s[100:101] ; encoding: [0x02,0x64,0x13,0xbf]
+0x02,0x64,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], flat_scratch ; encoding: [0x00,0x66,0x13,0xbf]
-0x00,0x66,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], flat_scratch ; encoding: [0x02,0x66,0x13,0xbf]
+0x02,0x66,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], vcc ; encoding: [0x00,0x6a,0x13,0xbf]
-0x00,0x6a,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], vcc ; encoding: [0x02,0x6a,0x13,0xbf]
+0x02,0x6a,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], tba ; encoding: [0x00,0x6c,0x13,0xbf]
-0x00,0x6c,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], tba ; encoding: [0x02,0x6c,0x13,0xbf]
+0x02,0x6c,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], tma ; encoding: [0x00,0x6e,0x13,0xbf]
-0x00,0x6e,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], tma ; encoding: [0x02,0x6e,0x13,0xbf]
+0x02,0x6e,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], ttmp[10:11] ; encoding: [0x00,0x7a,0x13,0xbf]
-0x00,0x7a,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], ttmp[10:11] ; encoding: [0x02,0x7a,0x13,0xbf]
+0x02,0x7a,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], exec ; encoding: [0x00,0x7e,0x13,0xbf]
-0x00,0x7e,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], exec ; encoding: [0x02,0x7e,0x13,0xbf]
+0x02,0x7e,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], 0 ; encoding: [0x00,0x80,0x13,0xbf]
-0x00,0x80,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], 0 ; encoding: [0x02,0x80,0x13,0xbf]
+0x02,0x80,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], -1 ; encoding: [0x00,0xc1,0x13,0xbf]
-0x00,0xc1,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], -1 ; encoding: [0x02,0xc1,0x13,0xbf]
+0x02,0xc1,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], 0.5 ; encoding: [0x00,0xf0,0x13,0xbf]
-0x00,0xf0,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], 0.5 ; encoding: [0x02,0xf0,0x13,0xbf]
+0x02,0xf0,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], -4.0 ; encoding: [0x00,0xf7,0x13,0xbf]
-0x00,0xf7,0x13,0xbf
+# CHECK: s_cmp_lg_u64 s[2:3], -4.0 ; encoding: [0x02,0xf7,0x13,0xbf]
+0x02,0xf7,0x13,0xbf
-# CHECK: s_cmp_lg_u64 s[0:1], 0xaf123456 ; encoding: [0x00,0xff,0x13,0xbf,0x56,0x34,0x12,0xaf]
-0x00,0xff,0x13,0xbf,0x56,0x34,0x12,0xaf
+# CHECK: s_cmp_lg_u64 s[2:3], 0xaf123456 ; encoding: [0x02,0xff,0x13,0xbf,0x56,0x34,0x12,0xaf]
+0x02,0xff,0x13,0xbf,0x56,0x34,0x12,0xaf
-# CHECK: s_cmp_lg_u64 s[0:1], 0x3f717273 ; encoding: [0x00,0xff,0x13,0xbf,0x73,0x72,0x71,0x3f]
-0x00,0xff,0x13,0xbf,0x73,0x72,0x71,0x3f
+# CHECK: s_cmp_lg_u64 s[2:3], 0x3f717273 ; encoding: [0x02,0xff,0x13,0xbf,0x73,0x72,0x71,0x3f]
+0x02,0xff,0x13,0xbf,0x73,0x72,0x71,0x3f
-# CHECK: s_movk_i32 s0, 0x3141 ; encoding: [0x41,0x31,0x00,0xb0]
-0x41,0x31,0x00,0xb0
+# CHECK: s_movk_i32 s5, 0x3141 ; encoding: [0x41,0x31,0x05,0xb0]
+0x41,0x31,0x05,0xb0
# CHECK: s_movk_i32 s101, 0x3141 ; encoding: [0x41,0x31,0x65,0xb0]
0x41,0x31,0x65,0xb0
@@ -18459,11 +18534,11 @@
# CHECK: s_movk_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb0]
0x41,0x31,0x7f,0xb0
-# CHECK: s_movk_i32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x00,0xb0]
-0xd1,0xc1,0x00,0xb0
+# CHECK: s_movk_i32 s5, 0xc1d1 ; encoding: [0xd1,0xc1,0x05,0xb0]
+0xd1,0xc1,0x05,0xb0
-# CHECK: s_cmovk_i32 s0, 0x3141 ; encoding: [0x41,0x31,0x80,0xb0]
-0x41,0x31,0x80,0xb0
+# CHECK: s_cmovk_i32 s5, 0x3141 ; encoding: [0x41,0x31,0x85,0xb0]
+0x41,0x31,0x85,0xb0
# CHECK: s_cmovk_i32 s101, 0x3141 ; encoding: [0x41,0x31,0xe5,0xb0]
0x41,0x31,0xe5,0xb0
@@ -18504,11 +18579,11 @@
# CHECK: s_cmovk_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb0]
0x41,0x31,0xff,0xb0
-# CHECK: s_cmovk_i32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xb0]
-0xd1,0xc1,0x80,0xb0
+# CHECK: s_cmovk_i32 s5, 0xc1d1 ; encoding: [0xd1,0xc1,0x85,0xb0]
+0xd1,0xc1,0x85,0xb0
-# CHECK: s_cmpk_eq_i32 s0, 0x3141 ; encoding: [0x41,0x31,0x00,0xb1]
-0x41,0x31,0x00,0xb1
+# CHECK: s_cmpk_eq_i32 s1, 0x3141 ; encoding: [0x41,0x31,0x01,0xb1]
+0x41,0x31,0x01,0xb1
# CHECK: s_cmpk_eq_i32 s101, 0x3141 ; encoding: [0x41,0x31,0x65,0xb1]
0x41,0x31,0x65,0xb1
@@ -18549,11 +18624,11 @@
# CHECK: s_cmpk_eq_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb1]
0x41,0x31,0x7f,0xb1
-# CHECK: s_cmpk_eq_i32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x00,0xb1]
-0xd1,0xc1,0x00,0xb1
+# CHECK: s_cmpk_eq_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb1]
+0xd1,0xc1,0x01,0xb1
-# CHECK: s_cmpk_lg_i32 s0, 0x3141 ; encoding: [0x41,0x31,0x80,0xb1]
-0x41,0x31,0x80,0xb1
+# CHECK: s_cmpk_lg_i32 s1, 0x3141 ; encoding: [0x41,0x31,0x81,0xb1]
+0x41,0x31,0x81,0xb1
# CHECK: s_cmpk_lg_i32 s101, 0x3141 ; encoding: [0x41,0x31,0xe5,0xb1]
0x41,0x31,0xe5,0xb1
@@ -18594,11 +18669,11 @@
# CHECK: s_cmpk_lg_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb1]
0x41,0x31,0xff,0xb1
-# CHECK: s_cmpk_lg_i32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xb1]
-0xd1,0xc1,0x80,0xb1
+# CHECK: s_cmpk_lg_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb1]
+0xd1,0xc1,0x81,0xb1
-# CHECK: s_cmpk_gt_i32 s0, 0x3141 ; encoding: [0x41,0x31,0x00,0xb2]
-0x41,0x31,0x00,0xb2
+# CHECK: s_cmpk_gt_i32 s1, 0x3141 ; encoding: [0x41,0x31,0x01,0xb2]
+0x41,0x31,0x01,0xb2
# CHECK: s_cmpk_gt_i32 s101, 0x3141 ; encoding: [0x41,0x31,0x65,0xb2]
0x41,0x31,0x65,0xb2
@@ -18639,11 +18714,11 @@
# CHECK: s_cmpk_gt_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb2]
0x41,0x31,0x7f,0xb2
-# CHECK: s_cmpk_gt_i32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x00,0xb2]
-0xd1,0xc1,0x00,0xb2
+# CHECK: s_cmpk_gt_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb2]
+0xd1,0xc1,0x01,0xb2
-# CHECK: s_cmpk_ge_i32 s0, 0x3141 ; encoding: [0x41,0x31,0x80,0xb2]
-0x41,0x31,0x80,0xb2
+# CHECK: s_cmpk_ge_i32 s1, 0x3141 ; encoding: [0x41,0x31,0x81,0xb2]
+0x41,0x31,0x81,0xb2
# CHECK: s_cmpk_ge_i32 s101, 0x3141 ; encoding: [0x41,0x31,0xe5,0xb2]
0x41,0x31,0xe5,0xb2
@@ -18684,11 +18759,11 @@
# CHECK: s_cmpk_ge_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb2]
0x41,0x31,0xff,0xb2
-# CHECK: s_cmpk_ge_i32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xb2]
-0xd1,0xc1,0x80,0xb2
+# CHECK: s_cmpk_ge_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb2]
+0xd1,0xc1,0x81,0xb2
-# CHECK: s_cmpk_lt_i32 s0, 0x3141 ; encoding: [0x41,0x31,0x00,0xb3]
-0x41,0x31,0x00,0xb3
+# CHECK: s_cmpk_lt_i32 s1, 0x3141 ; encoding: [0x41,0x31,0x01,0xb3]
+0x41,0x31,0x01,0xb3
# CHECK: s_cmpk_lt_i32 s101, 0x3141 ; encoding: [0x41,0x31,0x65,0xb3]
0x41,0x31,0x65,0xb3
@@ -18729,11 +18804,11 @@
# CHECK: s_cmpk_lt_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb3]
0x41,0x31,0x7f,0xb3
-# CHECK: s_cmpk_lt_i32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x00,0xb3]
-0xd1,0xc1,0x00,0xb3
+# CHECK: s_cmpk_lt_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb3]
+0xd1,0xc1,0x01,0xb3
-# CHECK: s_cmpk_le_i32 s0, 0x3141 ; encoding: [0x41,0x31,0x80,0xb3]
-0x41,0x31,0x80,0xb3
+# CHECK: s_cmpk_le_i32 s1, 0x3141 ; encoding: [0x41,0x31,0x81,0xb3]
+0x41,0x31,0x81,0xb3
# CHECK: s_cmpk_le_i32 s101, 0x3141 ; encoding: [0x41,0x31,0xe5,0xb3]
0x41,0x31,0xe5,0xb3
@@ -18774,11 +18849,11 @@
# CHECK: s_cmpk_le_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb3]
0x41,0x31,0xff,0xb3
-# CHECK: s_cmpk_le_i32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xb3]
-0xd1,0xc1,0x80,0xb3
+# CHECK: s_cmpk_le_i32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb3]
+0xd1,0xc1,0x81,0xb3
-# CHECK: s_cmpk_eq_u32 s0, 0x3141 ; encoding: [0x41,0x31,0x00,0xb4]
-0x41,0x31,0x00,0xb4
+# CHECK: s_cmpk_eq_u32 s1, 0x3141 ; encoding: [0x41,0x31,0x01,0xb4]
+0x41,0x31,0x01,0xb4
# CHECK: s_cmpk_eq_u32 s101, 0x3141 ; encoding: [0x41,0x31,0x65,0xb4]
0x41,0x31,0x65,0xb4
@@ -18819,11 +18894,11 @@
# CHECK: s_cmpk_eq_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb4]
0x41,0x31,0x7f,0xb4
-# CHECK: s_cmpk_eq_u32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x00,0xb4]
-0xd1,0xc1,0x00,0xb4
+# CHECK: s_cmpk_eq_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb4]
+0xd1,0xc1,0x01,0xb4
-# CHECK: s_cmpk_lg_u32 s0, 0x3141 ; encoding: [0x41,0x31,0x80,0xb4]
-0x41,0x31,0x80,0xb4
+# CHECK: s_cmpk_lg_u32 s1, 0x3141 ; encoding: [0x41,0x31,0x81,0xb4]
+0x41,0x31,0x81,0xb4
# CHECK: s_cmpk_lg_u32 s101, 0x3141 ; encoding: [0x41,0x31,0xe5,0xb4]
0x41,0x31,0xe5,0xb4
@@ -18864,11 +18939,11 @@
# CHECK: s_cmpk_lg_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb4]
0x41,0x31,0xff,0xb4
-# CHECK: s_cmpk_lg_u32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xb4]
-0xd1,0xc1,0x80,0xb4
+# CHECK: s_cmpk_lg_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb4]
+0xd1,0xc1,0x81,0xb4
-# CHECK: s_cmpk_gt_u32 s0, 0x3141 ; encoding: [0x41,0x31,0x00,0xb5]
-0x41,0x31,0x00,0xb5
+# CHECK: s_cmpk_gt_u32 s1, 0x3141 ; encoding: [0x41,0x31,0x01,0xb5]
+0x41,0x31,0x01,0xb5
# CHECK: s_cmpk_gt_u32 s101, 0x3141 ; encoding: [0x41,0x31,0x65,0xb5]
0x41,0x31,0x65,0xb5
@@ -18909,11 +18984,11 @@
# CHECK: s_cmpk_gt_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb5]
0x41,0x31,0x7f,0xb5
-# CHECK: s_cmpk_gt_u32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x00,0xb5]
-0xd1,0xc1,0x00,0xb5
+# CHECK: s_cmpk_gt_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb5]
+0xd1,0xc1,0x01,0xb5
-# CHECK: s_cmpk_ge_u32 s0, 0x3141 ; encoding: [0x41,0x31,0x80,0xb5]
-0x41,0x31,0x80,0xb5
+# CHECK: s_cmpk_ge_u32 s1, 0x3141 ; encoding: [0x41,0x31,0x81,0xb5]
+0x41,0x31,0x81,0xb5
# CHECK: s_cmpk_ge_u32 s101, 0x3141 ; encoding: [0x41,0x31,0xe5,0xb5]
0x41,0x31,0xe5,0xb5
@@ -18954,11 +19029,11 @@
# CHECK: s_cmpk_ge_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb5]
0x41,0x31,0xff,0xb5
-# CHECK: s_cmpk_ge_u32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xb5]
-0xd1,0xc1,0x80,0xb5
+# CHECK: s_cmpk_ge_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb5]
+0xd1,0xc1,0x81,0xb5
-# CHECK: s_cmpk_lt_u32 s0, 0x3141 ; encoding: [0x41,0x31,0x00,0xb6]
-0x41,0x31,0x00,0xb6
+# CHECK: s_cmpk_lt_u32 s1, 0x3141 ; encoding: [0x41,0x31,0x01,0xb6]
+0x41,0x31,0x01,0xb6
# CHECK: s_cmpk_lt_u32 s101, 0x3141 ; encoding: [0x41,0x31,0x65,0xb6]
0x41,0x31,0x65,0xb6
@@ -18999,11 +19074,11 @@
# CHECK: s_cmpk_lt_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb6]
0x41,0x31,0x7f,0xb6
-# CHECK: s_cmpk_lt_u32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x00,0xb6]
-0xd1,0xc1,0x00,0xb6
+# CHECK: s_cmpk_lt_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x01,0xb6]
+0xd1,0xc1,0x01,0xb6
-# CHECK: s_cmpk_le_u32 s0, 0x3141 ; encoding: [0x41,0x31,0x80,0xb6]
-0x41,0x31,0x80,0xb6
+# CHECK: s_cmpk_le_u32 s1, 0x3141 ; encoding: [0x41,0x31,0x81,0xb6]
+0x41,0x31,0x81,0xb6
# CHECK: s_cmpk_le_u32 s101, 0x3141 ; encoding: [0x41,0x31,0xe5,0xb6]
0x41,0x31,0xe5,0xb6
@@ -19044,11 +19119,11 @@
# CHECK: s_cmpk_le_u32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb6]
0x41,0x31,0xff,0xb6
-# CHECK: s_cmpk_le_u32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xb6]
-0xd1,0xc1,0x80,0xb6
+# CHECK: s_cmpk_le_u32 s1, 0xc1d1 ; encoding: [0xd1,0xc1,0x81,0xb6]
+0xd1,0xc1,0x81,0xb6
-# CHECK: s_addk_i32 s0, 0x3141 ; encoding: [0x41,0x31,0x00,0xb7]
-0x41,0x31,0x00,0xb7
+# CHECK: s_addk_i32 s5, 0x3141 ; encoding: [0x41,0x31,0x05,0xb7]
+0x41,0x31,0x05,0xb7
# CHECK: s_addk_i32 s101, 0x3141 ; encoding: [0x41,0x31,0x65,0xb7]
0x41,0x31,0x65,0xb7
@@ -19089,11 +19164,11 @@
# CHECK: s_addk_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0x7f,0xb7]
0x41,0x31,0x7f,0xb7
-# CHECK: s_addk_i32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x00,0xb7]
-0xd1,0xc1,0x00,0xb7
+# CHECK: s_addk_i32 s5, 0xc1d1 ; encoding: [0xd1,0xc1,0x05,0xb7]
+0xd1,0xc1,0x05,0xb7
-# CHECK: s_mulk_i32 s0, 0x3141 ; encoding: [0x41,0x31,0x80,0xb7]
-0x41,0x31,0x80,0xb7
+# CHECK: s_mulk_i32 s5, 0x3141 ; encoding: [0x41,0x31,0x85,0xb7]
+0x41,0x31,0x85,0xb7
# CHECK: s_mulk_i32 s101, 0x3141 ; encoding: [0x41,0x31,0xe5,0xb7]
0x41,0x31,0xe5,0xb7
@@ -19134,8 +19209,8 @@
# CHECK: s_mulk_i32 exec_hi, 0x3141 ; encoding: [0x41,0x31,0xff,0xb7]
0x41,0x31,0xff,0xb7
-# CHECK: s_mulk_i32 s0, 0xc1d1 ; encoding: [0xd1,0xc1,0x80,0xb7]
-0xd1,0xc1,0x80,0xb7
+# CHECK: s_mulk_i32 s5, 0xc1d1 ; encoding: [0xd1,0xc1,0x85,0xb7]
+0xd1,0xc1,0x85,0xb7
# CHECK: s_nop 0x3141 ; encoding: [0x41,0x31,0x80,0xbf]
0x41,0x31,0x80,0xbf
@@ -19236,68441 +19311,76166 @@
# CHECK: s_set_gpr_idx_off ; encoding: [0x00,0x00,0x9c,0xbf]
0x00,0x00,0x9c,0xbf
-# CHECK: v_mov_b32_e32 v0, s0 ; encoding: [0x00,0x02,0x00,0x7e]
-0x00,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, s1 ; encoding: [0x01,0x02,0x0a,0x7e]
+0x01,0x02,0x0a,0x7e
+
+# CHECK: v_mov_b32_e32 v255, s1 ; encoding: [0x01,0x02,0xfe,0x7f]
+0x01,0x02,0xfe,0x7f
+
+# CHECK: v_mov_b32_e32 v5, s101 ; encoding: [0x65,0x02,0x0a,0x7e]
+0x65,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v255, s0 ; encoding: [0x00,0x02,0xfe,0x7f]
-0x00,0x02,0xfe,0x7f
+# CHECK: v_mov_b32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x02,0x0a,0x7e]
+0x66,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, s101 ; encoding: [0x65,0x02,0x00,0x7e]
-0x65,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x02,0x0a,0x7e]
+0x67,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x02,0x00,0x7e]
-0x66,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, vcc_lo ; encoding: [0x6a,0x02,0x0a,0x7e]
+0x6a,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x02,0x00,0x7e]
-0x67,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, vcc_hi ; encoding: [0x6b,0x02,0x0a,0x7e]
+0x6b,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, vcc_lo ; encoding: [0x6a,0x02,0x00,0x7e]
-0x6a,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, tba_lo ; encoding: [0x6c,0x02,0x0a,0x7e]
+0x6c,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, vcc_hi ; encoding: [0x6b,0x02,0x00,0x7e]
-0x6b,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, tba_hi ; encoding: [0x6d,0x02,0x0a,0x7e]
+0x6d,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, tba_lo ; encoding: [0x6c,0x02,0x00,0x7e]
-0x6c,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, tma_lo ; encoding: [0x6e,0x02,0x0a,0x7e]
+0x6e,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, tba_hi ; encoding: [0x6d,0x02,0x00,0x7e]
-0x6d,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, tma_hi ; encoding: [0x6f,0x02,0x0a,0x7e]
+0x6f,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, tma_lo ; encoding: [0x6e,0x02,0x00,0x7e]
-0x6e,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, ttmp11 ; encoding: [0x7b,0x02,0x0a,0x7e]
+0x7b,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, tma_hi ; encoding: [0x6f,0x02,0x00,0x7e]
-0x6f,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, m0 ; encoding: [0x7c,0x02,0x0a,0x7e]
+0x7c,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, ttmp11 ; encoding: [0x7b,0x02,0x00,0x7e]
-0x7b,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, exec_lo ; encoding: [0x7e,0x02,0x0a,0x7e]
+0x7e,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, m0 ; encoding: [0x7c,0x02,0x00,0x7e]
-0x7c,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, exec_hi ; encoding: [0x7f,0x02,0x0a,0x7e]
+0x7f,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, exec_lo ; encoding: [0x7e,0x02,0x00,0x7e]
-0x7e,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, 0 ; encoding: [0x80,0x02,0x0a,0x7e]
+0x80,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, exec_hi ; encoding: [0x7f,0x02,0x00,0x7e]
-0x7f,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, -1 ; encoding: [0xc1,0x02,0x0a,0x7e]
+0xc1,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, 0 ; encoding: [0x80,0x02,0x00,0x7e]
-0x80,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, 0.5 ; encoding: [0xf0,0x02,0x0a,0x7e]
+0xf0,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, -1 ; encoding: [0xc1,0x02,0x00,0x7e]
-0xc1,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, -4.0 ; encoding: [0xf7,0x02,0x0a,0x7e]
+0xf7,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, 0.5 ; encoding: [0xf0,0x02,0x00,0x7e]
-0xf0,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, scc ; encoding: [0xfd,0x02,0x0a,0x7e]
+0xfd,0x02,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, -4.0 ; encoding: [0xf7,0x02,0x00,0x7e]
-0xf7,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, 0xaf123456 ; encoding: [0xff,0x02,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x02,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_mov_b32_e32 v0, scc ; encoding: [0xfd,0x02,0x00,0x7e]
-0xfd,0x02,0x00,0x7e
+# CHECK: v_mov_b32_e32 v5, 0x3f717273 ; encoding: [0xff,0x02,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x02,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_mov_b32_e32 v0, 0xaf123456 ; encoding: [0xff,0x02,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x02,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_mov_b32_e32 v5, v1 ; encoding: [0x01,0x03,0x0a,0x7e]
+0x01,0x03,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, 0x3f717273 ; encoding: [0xff,0x02,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x02,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_mov_b32_e32 v5, v255 ; encoding: [0xff,0x03,0x0a,0x7e]
+0xff,0x03,0x0a,0x7e
-# CHECK: v_mov_b32_e32 v0, v0 ; encoding: [0x00,0x03,0x00,0x7e]
-0x00,0x03,0x00,0x7e
+# CHECK: v_mov_b32_e64 v5, s1 ; encoding: [0x05,0x00,0x41,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_mov_b32_e32 v0, v255 ; encoding: [0xff,0x03,0x00,0x7e]
-0xff,0x03,0x00,0x7e
+# CHECK: v_mov_b32_e64 v255, s1 ; encoding: [0xff,0x00,0x41,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x41,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, s0 ; encoding: [0x00,0x00,0x41,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, s101 ; encoding: [0x05,0x00,0x41,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v255, s0 ; encoding: [0xff,0x00,0x41,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x41,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x41,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, s101 ; encoding: [0x00,0x00,0x41,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x41,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x41,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x41,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x41,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x41,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x41,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x41,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x41,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x41,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x41,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x41,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x41,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x41,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x41,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x41,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x41,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, m0 ; encoding: [0x05,0x00,0x41,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x41,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x41,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, m0 ; encoding: [0x00,0x00,0x41,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x41,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x41,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, 0 ; encoding: [0x05,0x00,0x41,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x41,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, -1 ; encoding: [0x05,0x00,0x41,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, 0 ; encoding: [0x00,0x00,0x41,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x41,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, -1 ; encoding: [0x00,0x00,0x41,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x41,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x41,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, scc ; encoding: [0x05,0x00,0x41,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x41,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x41,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, v1 ; encoding: [0x05,0x00,0x41,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x41,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, scc ; encoding: [0x00,0x00,0x41,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mov_b32_e64 v5, v255 ; encoding: [0x05,0x00,0x41,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x41,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_mov_b32_e64 v0, v0 ; encoding: [0x00,0x00,0x41,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x41,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_readfirstlane_b32 s5, v1 ; encoding: [0x01,0x05,0x0a,0x7e]
+0x01,0x05,0x0a,0x7e
-# CHECK: v_mov_b32_e64 v0, v255 ; encoding: [0x00,0x00,0x41,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x41,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_readfirstlane_b32 s101, v1 ; encoding: [0x01,0x05,0xca,0x7e]
+0x01,0x05,0xca,0x7e
-# CHECK: v_readfirstlane_b32 s0, v0 ; encoding: [0x00,0x05,0x00,0x7e]
-0x00,0x05,0x00,0x7e
+# CHECK: v_readfirstlane_b32 flat_scratch_lo, v1 ; encoding: [0x01,0x05,0xcc,0x7e]
+0x01,0x05,0xcc,0x7e
-# CHECK: v_readfirstlane_b32 s101, v0 ; encoding: [0x00,0x05,0xca,0x7e]
-0x00,0x05,0xca,0x7e
+# CHECK: v_readfirstlane_b32 flat_scratch_hi, v1 ; encoding: [0x01,0x05,0xce,0x7e]
+0x01,0x05,0xce,0x7e
-# CHECK: v_readfirstlane_b32 flat_scratch_lo, v0 ; encoding: [0x00,0x05,0xcc,0x7e]
-0x00,0x05,0xcc,0x7e
+# CHECK: v_readfirstlane_b32 tba_lo, v1 ; encoding: [0x01,0x05,0xd8,0x7e]
+0x01,0x05,0xd8,0x7e
-# CHECK: v_readfirstlane_b32 flat_scratch_hi, v0 ; encoding: [0x00,0x05,0xce,0x7e]
-0x00,0x05,0xce,0x7e
+# CHECK: v_readfirstlane_b32 tba_hi, v1 ; encoding: [0x01,0x05,0xda,0x7e]
+0x01,0x05,0xda,0x7e
-# CHECK: v_readfirstlane_b32 tba_lo, v0 ; encoding: [0x00,0x05,0xd8,0x7e]
-0x00,0x05,0xd8,0x7e
+# CHECK: v_readfirstlane_b32 tma_lo, v1 ; encoding: [0x01,0x05,0xdc,0x7e]
+0x01,0x05,0xdc,0x7e
-# CHECK: v_readfirstlane_b32 tba_hi, v0 ; encoding: [0x00,0x05,0xda,0x7e]
-0x00,0x05,0xda,0x7e
+# CHECK: v_readfirstlane_b32 tma_hi, v1 ; encoding: [0x01,0x05,0xde,0x7e]
+0x01,0x05,0xde,0x7e
-# CHECK: v_readfirstlane_b32 tma_lo, v0 ; encoding: [0x00,0x05,0xdc,0x7e]
-0x00,0x05,0xdc,0x7e
+# CHECK: v_readfirstlane_b32 ttmp11, v1 ; encoding: [0x01,0x05,0xf6,0x7e]
+0x01,0x05,0xf6,0x7e
-# CHECK: v_readfirstlane_b32 tma_hi, v0 ; encoding: [0x00,0x05,0xde,0x7e]
-0x00,0x05,0xde,0x7e
+# CHECK: v_readfirstlane_b32 s5, v255 ; encoding: [0xff,0x05,0x0a,0x7e]
+0xff,0x05,0x0a,0x7e
-# CHECK: v_readfirstlane_b32 ttmp11, v0 ; encoding: [0x00,0x05,0xf6,0x7e]
-0x00,0x05,0xf6,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, s[2:3] ; encoding: [0x02,0x06,0x0a,0x7e]
+0x02,0x06,0x0a,0x7e
-# CHECK: v_readfirstlane_b32 s0, v255 ; encoding: [0xff,0x05,0x00,0x7e]
-0xff,0x05,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v255, s[2:3] ; encoding: [0x02,0x06,0xfe,0x7f]
+0x02,0x06,0xfe,0x7f
-# CHECK: v_cvt_i32_f64_e32 v0, s[0:1] ; encoding: [0x00,0x06,0x00,0x7e]
-0x00,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, s[4:5] ; encoding: [0x04,0x06,0x0a,0x7e]
+0x04,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v255, s[0:1] ; encoding: [0x00,0x06,0xfe,0x7f]
-0x00,0x06,0xfe,0x7f
+# CHECK: v_cvt_i32_f64_e32 v5, s[100:101] ; encoding: [0x64,0x06,0x0a,0x7e]
+0x64,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, s[2:3] ; encoding: [0x02,0x06,0x00,0x7e]
-0x02,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, flat_scratch ; encoding: [0x66,0x06,0x0a,0x7e]
+0x66,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, s[100:101] ; encoding: [0x64,0x06,0x00,0x7e]
-0x64,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, vcc ; encoding: [0x6a,0x06,0x0a,0x7e]
+0x6a,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, flat_scratch ; encoding: [0x66,0x06,0x00,0x7e]
-0x66,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, tba ; encoding: [0x6c,0x06,0x0a,0x7e]
+0x6c,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, vcc ; encoding: [0x6a,0x06,0x00,0x7e]
-0x6a,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, tma ; encoding: [0x6e,0x06,0x0a,0x7e]
+0x6e,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, tba ; encoding: [0x6c,0x06,0x00,0x7e]
-0x6c,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, ttmp[10:11] ; encoding: [0x7a,0x06,0x0a,0x7e]
+0x7a,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, tma ; encoding: [0x6e,0x06,0x00,0x7e]
-0x6e,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, exec ; encoding: [0x7e,0x06,0x0a,0x7e]
+0x7e,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, ttmp[10:11] ; encoding: [0x7a,0x06,0x00,0x7e]
-0x7a,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, 0 ; encoding: [0x80,0x06,0x0a,0x7e]
+0x80,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, exec ; encoding: [0x7e,0x06,0x00,0x7e]
-0x7e,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, -1 ; encoding: [0xc1,0x06,0x0a,0x7e]
+0xc1,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, 0 ; encoding: [0x80,0x06,0x00,0x7e]
-0x80,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, 0.5 ; encoding: [0xf0,0x06,0x0a,0x7e]
+0xf0,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, -1 ; encoding: [0xc1,0x06,0x00,0x7e]
-0xc1,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, -4.0 ; encoding: [0xf7,0x06,0x0a,0x7e]
+0xf7,0x06,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, 0.5 ; encoding: [0xf0,0x06,0x00,0x7e]
-0xf0,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, 0xaf123456 ; encoding: [0xff,0x06,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x06,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_i32_f64_e32 v0, -4.0 ; encoding: [0xf7,0x06,0x00,0x7e]
-0xf7,0x06,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e32 v5, 0x3f717273 ; encoding: [0xff,0x06,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x06,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_i32_f64_e32 v0, 0xaf123456 ; encoding: [0xff,0x06,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x06,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_i32_f64_e32 v5, v[1:2] ; encoding: [0x01,0x07,0x0a,0x7e]
+0x01,0x07,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, 0x3f717273 ; encoding: [0xff,0x06,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x06,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_i32_f64_e32 v5, v[254:255] ; encoding: [0xfe,0x07,0x0a,0x7e]
+0xfe,0x07,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e32 v0, v[0:1] ; encoding: [0x00,0x07,0x00,0x7e]
-0x00,0x07,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e64 v5, s[2:3] ; encoding: [0x05,0x00,0x43,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e32 v0, v[254:255] ; encoding: [0xfe,0x07,0x00,0x7e]
-0xfe,0x07,0x00,0x7e
+# CHECK: v_cvt_i32_f64_e64 v255, s[2:3] ; encoding: [0xff,0x00,0x43,0xd1,0x02,0x00,0x00,0x00]
+0xff,0x00,0x43,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, s[0:1] ; encoding: [0x00,0x00,0x43,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, s[4:5] ; encoding: [0x05,0x00,0x43,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v255, s[0:1] ; encoding: [0xff,0x00,0x43,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x43,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, s[100:101] ; encoding: [0x05,0x00,0x43,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, s[2:3] ; encoding: [0x00,0x00,0x43,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, flat_scratch ; encoding: [0x05,0x00,0x43,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, s[100:101] ; encoding: [0x00,0x00,0x43,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, vcc ; encoding: [0x05,0x00,0x43,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, flat_scratch ; encoding: [0x00,0x00,0x43,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, tba ; encoding: [0x05,0x00,0x43,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, vcc ; encoding: [0x00,0x00,0x43,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, tma ; encoding: [0x05,0x00,0x43,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, tba ; encoding: [0x00,0x00,0x43,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, ttmp[10:11] ; encoding: [0x05,0x00,0x43,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, tma ; encoding: [0x00,0x00,0x43,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, exec ; encoding: [0x05,0x00,0x43,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, ttmp[10:11] ; encoding: [0x00,0x00,0x43,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, 0 ; encoding: [0x05,0x00,0x43,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, exec ; encoding: [0x00,0x00,0x43,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, -1 ; encoding: [0x05,0x00,0x43,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, 0 ; encoding: [0x00,0x00,0x43,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, 0.5 ; encoding: [0x05,0x00,0x43,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, -1 ; encoding: [0x00,0x00,0x43,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, -4.0 ; encoding: [0x05,0x00,0x43,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x43,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, 0.5 ; encoding: [0x00,0x00,0x43,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, v[1:2] ; encoding: [0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x43,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, -4.0 ; encoding: [0x00,0x00,0x43,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, v[254:255] ; encoding: [0x05,0x00,0x43,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x43,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, v[0:1] ; encoding: [0x00,0x00,0x43,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x43,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, -s[2:3] ; encoding: [0x05,0x00,0x43,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x43,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_cvt_i32_f64_e64 v0, v[254:255] ; encoding: [0x00,0x00,0x43,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x43,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_cvt_i32_f64_e64 v5, |s[2:3]| ; encoding: [0x05,0x01,0x43,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x01,0x43,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, -s[0:1] ; encoding: [0x00,0x00,0x43,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x43,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cvt_i32_f64_e64 v5, s[2:3] clamp ; encoding: [0x05,0x80,0x43,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x43,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f64_e64 v0, |s[0:1]| ; encoding: [0x00,0x01,0x43,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x43,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e32 v[5:6], s1 ; encoding: [0x01,0x08,0x0a,0x7e]
+0x01,0x08,0x0a,0x7e
-# CHECK: v_cvt_i32_f64_e64 v0, s[0:1] clamp ; encoding: [0x00,0x80,0x43,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x43,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e32 v[254:255], s1 ; encoding: [0x01,0x08,0xfc,0x7f]
+0x01,0x08,0xfc,0x7f
-# CHECK: v_cvt_f64_i32_e32 v[0:1], s0 ; encoding: [0x00,0x08,0x00,0x7e]
-0x00,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], s101 ; encoding: [0x65,0x08,0x0a,0x7e]
+0x65,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[254:255], s0 ; encoding: [0x00,0x08,0xfc,0x7f]
-0x00,0x08,0xfc,0x7f
+# CHECK: v_cvt_f64_i32_e32 v[5:6], flat_scratch_lo ; encoding: [0x66,0x08,0x0a,0x7e]
+0x66,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], s101 ; encoding: [0x65,0x08,0x00,0x7e]
-0x65,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], flat_scratch_hi ; encoding: [0x67,0x08,0x0a,0x7e]
+0x67,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], flat_scratch_lo ; encoding: [0x66,0x08,0x00,0x7e]
-0x66,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], vcc_lo ; encoding: [0x6a,0x08,0x0a,0x7e]
+0x6a,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], flat_scratch_hi ; encoding: [0x67,0x08,0x00,0x7e]
-0x67,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], vcc_hi ; encoding: [0x6b,0x08,0x0a,0x7e]
+0x6b,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], vcc_lo ; encoding: [0x6a,0x08,0x00,0x7e]
-0x6a,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], tba_lo ; encoding: [0x6c,0x08,0x0a,0x7e]
+0x6c,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], vcc_hi ; encoding: [0x6b,0x08,0x00,0x7e]
-0x6b,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], tba_hi ; encoding: [0x6d,0x08,0x0a,0x7e]
+0x6d,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], tba_lo ; encoding: [0x6c,0x08,0x00,0x7e]
-0x6c,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], tma_lo ; encoding: [0x6e,0x08,0x0a,0x7e]
+0x6e,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], tba_hi ; encoding: [0x6d,0x08,0x00,0x7e]
-0x6d,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], tma_hi ; encoding: [0x6f,0x08,0x0a,0x7e]
+0x6f,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], tma_lo ; encoding: [0x6e,0x08,0x00,0x7e]
-0x6e,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], ttmp11 ; encoding: [0x7b,0x08,0x0a,0x7e]
+0x7b,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], tma_hi ; encoding: [0x6f,0x08,0x00,0x7e]
-0x6f,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], m0 ; encoding: [0x7c,0x08,0x0a,0x7e]
+0x7c,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], ttmp11 ; encoding: [0x7b,0x08,0x00,0x7e]
-0x7b,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], exec_lo ; encoding: [0x7e,0x08,0x0a,0x7e]
+0x7e,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], m0 ; encoding: [0x7c,0x08,0x00,0x7e]
-0x7c,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], exec_hi ; encoding: [0x7f,0x08,0x0a,0x7e]
+0x7f,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], exec_lo ; encoding: [0x7e,0x08,0x00,0x7e]
-0x7e,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], 0 ; encoding: [0x80,0x08,0x0a,0x7e]
+0x80,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], exec_hi ; encoding: [0x7f,0x08,0x00,0x7e]
-0x7f,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], -1 ; encoding: [0xc1,0x08,0x0a,0x7e]
+0xc1,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], 0 ; encoding: [0x80,0x08,0x00,0x7e]
-0x80,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], 0.5 ; encoding: [0xf0,0x08,0x0a,0x7e]
+0xf0,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], -1 ; encoding: [0xc1,0x08,0x00,0x7e]
-0xc1,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], -4.0 ; encoding: [0xf7,0x08,0x0a,0x7e]
+0xf7,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], 0.5 ; encoding: [0xf0,0x08,0x00,0x7e]
-0xf0,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], scc ; encoding: [0xfd,0x08,0x0a,0x7e]
+0xfd,0x08,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], -4.0 ; encoding: [0xf7,0x08,0x00,0x7e]
-0xf7,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x08,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x08,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f64_i32_e32 v[0:1], scc ; encoding: [0xfd,0x08,0x00,0x7e]
-0xfd,0x08,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x08,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x08,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f64_i32_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x08,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x08,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f64_i32_e32 v[5:6], v1 ; encoding: [0x01,0x09,0x0a,0x7e]
+0x01,0x09,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x08,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x08,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f64_i32_e32 v[5:6], v255 ; encoding: [0xff,0x09,0x0a,0x7e]
+0xff,0x09,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e32 v[0:1], v0 ; encoding: [0x00,0x09,0x00,0x7e]
-0x00,0x09,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e64 v[5:6], s1 ; encoding: [0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e32 v[0:1], v255 ; encoding: [0xff,0x09,0x00,0x7e]
-0xff,0x09,0x00,0x7e
+# CHECK: v_cvt_f64_i32_e64 v[254:255], s1 ; encoding: [0xfe,0x00,0x44,0xd1,0x01,0x00,0x00,0x00]
+0xfe,0x00,0x44,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], s0 ; encoding: [0x00,0x00,0x44,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], s101 ; encoding: [0x05,0x00,0x44,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[254:255], s0 ; encoding: [0xfe,0x00,0x44,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x44,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], flat_scratch_lo ; encoding: [0x05,0x00,0x44,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], s101 ; encoding: [0x00,0x00,0x44,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], flat_scratch_hi ; encoding: [0x05,0x00,0x44,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], flat_scratch_lo ; encoding: [0x00,0x00,0x44,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], vcc_lo ; encoding: [0x05,0x00,0x44,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], flat_scratch_hi ; encoding: [0x00,0x00,0x44,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], vcc_hi ; encoding: [0x05,0x00,0x44,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], vcc_lo ; encoding: [0x00,0x00,0x44,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], tba_lo ; encoding: [0x05,0x00,0x44,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], vcc_hi ; encoding: [0x00,0x00,0x44,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], tba_hi ; encoding: [0x05,0x00,0x44,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], tba_lo ; encoding: [0x00,0x00,0x44,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], tma_lo ; encoding: [0x05,0x00,0x44,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], tba_hi ; encoding: [0x00,0x00,0x44,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], tma_hi ; encoding: [0x05,0x00,0x44,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], tma_lo ; encoding: [0x00,0x00,0x44,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], ttmp11 ; encoding: [0x05,0x00,0x44,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], tma_hi ; encoding: [0x00,0x00,0x44,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], m0 ; encoding: [0x05,0x00,0x44,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], ttmp11 ; encoding: [0x00,0x00,0x44,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], exec_lo ; encoding: [0x05,0x00,0x44,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], m0 ; encoding: [0x00,0x00,0x44,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], exec_hi ; encoding: [0x05,0x00,0x44,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], exec_lo ; encoding: [0x00,0x00,0x44,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x44,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], exec_hi ; encoding: [0x00,0x00,0x44,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x44,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x44,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x44,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x44,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x44,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x44,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], scc ; encoding: [0x05,0x00,0x44,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x44,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x44,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], v1 ; encoding: [0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x44,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], scc ; encoding: [0x00,0x00,0x44,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f64_i32_e64 v[5:6], v255 ; encoding: [0x05,0x00,0x44,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x44,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_f64_i32_e64 v[0:1], v0 ; encoding: [0x00,0x00,0x44,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x44,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f32_i32_e32 v5, s1 ; encoding: [0x01,0x0a,0x0a,0x7e]
+0x01,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f64_i32_e64 v[0:1], v255 ; encoding: [0x00,0x00,0x44,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x44,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_f32_i32_e32 v255, s1 ; encoding: [0x01,0x0a,0xfe,0x7f]
+0x01,0x0a,0xfe,0x7f
-# CHECK: v_cvt_f32_i32_e32 v0, s0 ; encoding: [0x00,0x0a,0x00,0x7e]
-0x00,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, s101 ; encoding: [0x65,0x0a,0x0a,0x7e]
+0x65,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v255, s0 ; encoding: [0x00,0x0a,0xfe,0x7f]
-0x00,0x0a,0xfe,0x7f
+# CHECK: v_cvt_f32_i32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x0a,0x0a,0x7e]
+0x66,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, s101 ; encoding: [0x65,0x0a,0x00,0x7e]
-0x65,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x0a,0x0a,0x7e]
+0x67,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x0a,0x00,0x7e]
-0x66,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, vcc_lo ; encoding: [0x6a,0x0a,0x0a,0x7e]
+0x6a,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x0a,0x00,0x7e]
-0x67,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, vcc_hi ; encoding: [0x6b,0x0a,0x0a,0x7e]
+0x6b,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, vcc_lo ; encoding: [0x6a,0x0a,0x00,0x7e]
-0x6a,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, tba_lo ; encoding: [0x6c,0x0a,0x0a,0x7e]
+0x6c,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, vcc_hi ; encoding: [0x6b,0x0a,0x00,0x7e]
-0x6b,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, tba_hi ; encoding: [0x6d,0x0a,0x0a,0x7e]
+0x6d,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, tba_lo ; encoding: [0x6c,0x0a,0x00,0x7e]
-0x6c,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, tma_lo ; encoding: [0x6e,0x0a,0x0a,0x7e]
+0x6e,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, tba_hi ; encoding: [0x6d,0x0a,0x00,0x7e]
-0x6d,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, tma_hi ; encoding: [0x6f,0x0a,0x0a,0x7e]
+0x6f,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, tma_lo ; encoding: [0x6e,0x0a,0x00,0x7e]
-0x6e,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, ttmp11 ; encoding: [0x7b,0x0a,0x0a,0x7e]
+0x7b,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, tma_hi ; encoding: [0x6f,0x0a,0x00,0x7e]
-0x6f,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, m0 ; encoding: [0x7c,0x0a,0x0a,0x7e]
+0x7c,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, ttmp11 ; encoding: [0x7b,0x0a,0x00,0x7e]
-0x7b,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, exec_lo ; encoding: [0x7e,0x0a,0x0a,0x7e]
+0x7e,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, m0 ; encoding: [0x7c,0x0a,0x00,0x7e]
-0x7c,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, exec_hi ; encoding: [0x7f,0x0a,0x0a,0x7e]
+0x7f,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, exec_lo ; encoding: [0x7e,0x0a,0x00,0x7e]
-0x7e,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, 0 ; encoding: [0x80,0x0a,0x0a,0x7e]
+0x80,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, exec_hi ; encoding: [0x7f,0x0a,0x00,0x7e]
-0x7f,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, -1 ; encoding: [0xc1,0x0a,0x0a,0x7e]
+0xc1,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, 0 ; encoding: [0x80,0x0a,0x00,0x7e]
-0x80,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, 0.5 ; encoding: [0xf0,0x0a,0x0a,0x7e]
+0xf0,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, -1 ; encoding: [0xc1,0x0a,0x00,0x7e]
-0xc1,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, -4.0 ; encoding: [0xf7,0x0a,0x0a,0x7e]
+0xf7,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, 0.5 ; encoding: [0xf0,0x0a,0x00,0x7e]
-0xf0,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, scc ; encoding: [0xfd,0x0a,0x0a,0x7e]
+0xfd,0x0a,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, -4.0 ; encoding: [0xf7,0x0a,0x00,0x7e]
-0xf7,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, 0xaf123456 ; encoding: [0xff,0x0a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x0a,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f32_i32_e32 v0, scc ; encoding: [0xfd,0x0a,0x00,0x7e]
-0xfd,0x0a,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e32 v5, 0x3f717273 ; encoding: [0xff,0x0a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x0a,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f32_i32_e32 v0, 0xaf123456 ; encoding: [0xff,0x0a,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x0a,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f32_i32_e32 v5, v1 ; encoding: [0x01,0x0b,0x0a,0x7e]
+0x01,0x0b,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, 0x3f717273 ; encoding: [0xff,0x0a,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x0a,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f32_i32_e32 v5, v255 ; encoding: [0xff,0x0b,0x0a,0x7e]
+0xff,0x0b,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e32 v0, v0 ; encoding: [0x00,0x0b,0x00,0x7e]
-0x00,0x0b,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e64 v5, s1 ; encoding: [0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e32 v0, v255 ; encoding: [0xff,0x0b,0x00,0x7e]
-0xff,0x0b,0x00,0x7e
+# CHECK: v_cvt_f32_i32_e64 v255, s1 ; encoding: [0xff,0x00,0x45,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x45,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, s0 ; encoding: [0x00,0x00,0x45,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, s101 ; encoding: [0x05,0x00,0x45,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v255, s0 ; encoding: [0xff,0x00,0x45,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x45,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x45,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, s101 ; encoding: [0x00,0x00,0x45,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x45,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x45,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x45,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x45,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x45,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x45,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x45,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x45,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x45,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x45,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x45,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x45,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x45,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x45,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x45,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x45,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, m0 ; encoding: [0x05,0x00,0x45,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x45,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x45,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, m0 ; encoding: [0x00,0x00,0x45,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x45,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x45,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, 0 ; encoding: [0x05,0x00,0x45,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x45,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, -1 ; encoding: [0x05,0x00,0x45,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, 0 ; encoding: [0x00,0x00,0x45,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x45,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, -1 ; encoding: [0x00,0x00,0x45,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x45,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x45,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, scc ; encoding: [0x05,0x00,0x45,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x45,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x45,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, v1 ; encoding: [0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x45,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, scc ; encoding: [0x00,0x00,0x45,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_e64 v5, v255 ; encoding: [0x05,0x00,0x45,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x45,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_f32_i32_e64 v0, v0 ; encoding: [0x00,0x00,0x45,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x45,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f32_u32_e32 v5, s1 ; encoding: [0x01,0x0c,0x0a,0x7e]
+0x01,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_i32_e64 v0, v255 ; encoding: [0x00,0x00,0x45,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x45,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_f32_u32_e32 v255, s1 ; encoding: [0x01,0x0c,0xfe,0x7f]
+0x01,0x0c,0xfe,0x7f
-# CHECK: v_cvt_f32_u32_e32 v0, s0 ; encoding: [0x00,0x0c,0x00,0x7e]
-0x00,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, s101 ; encoding: [0x65,0x0c,0x0a,0x7e]
+0x65,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v255, s0 ; encoding: [0x00,0x0c,0xfe,0x7f]
-0x00,0x0c,0xfe,0x7f
+# CHECK: v_cvt_f32_u32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x0c,0x0a,0x7e]
+0x66,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, s101 ; encoding: [0x65,0x0c,0x00,0x7e]
-0x65,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x0c,0x0a,0x7e]
+0x67,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x0c,0x00,0x7e]
-0x66,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, vcc_lo ; encoding: [0x6a,0x0c,0x0a,0x7e]
+0x6a,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x0c,0x00,0x7e]
-0x67,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, vcc_hi ; encoding: [0x6b,0x0c,0x0a,0x7e]
+0x6b,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, vcc_lo ; encoding: [0x6a,0x0c,0x00,0x7e]
-0x6a,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, tba_lo ; encoding: [0x6c,0x0c,0x0a,0x7e]
+0x6c,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, vcc_hi ; encoding: [0x6b,0x0c,0x00,0x7e]
-0x6b,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, tba_hi ; encoding: [0x6d,0x0c,0x0a,0x7e]
+0x6d,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, tba_lo ; encoding: [0x6c,0x0c,0x00,0x7e]
-0x6c,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, tma_lo ; encoding: [0x6e,0x0c,0x0a,0x7e]
+0x6e,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, tba_hi ; encoding: [0x6d,0x0c,0x00,0x7e]
-0x6d,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, tma_hi ; encoding: [0x6f,0x0c,0x0a,0x7e]
+0x6f,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, tma_lo ; encoding: [0x6e,0x0c,0x00,0x7e]
-0x6e,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, ttmp11 ; encoding: [0x7b,0x0c,0x0a,0x7e]
+0x7b,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, tma_hi ; encoding: [0x6f,0x0c,0x00,0x7e]
-0x6f,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, m0 ; encoding: [0x7c,0x0c,0x0a,0x7e]
+0x7c,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, ttmp11 ; encoding: [0x7b,0x0c,0x00,0x7e]
-0x7b,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, exec_lo ; encoding: [0x7e,0x0c,0x0a,0x7e]
+0x7e,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, m0 ; encoding: [0x7c,0x0c,0x00,0x7e]
-0x7c,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, exec_hi ; encoding: [0x7f,0x0c,0x0a,0x7e]
+0x7f,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, exec_lo ; encoding: [0x7e,0x0c,0x00,0x7e]
-0x7e,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, 0 ; encoding: [0x80,0x0c,0x0a,0x7e]
+0x80,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, exec_hi ; encoding: [0x7f,0x0c,0x00,0x7e]
-0x7f,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, -1 ; encoding: [0xc1,0x0c,0x0a,0x7e]
+0xc1,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, 0 ; encoding: [0x80,0x0c,0x00,0x7e]
-0x80,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, 0.5 ; encoding: [0xf0,0x0c,0x0a,0x7e]
+0xf0,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, -1 ; encoding: [0xc1,0x0c,0x00,0x7e]
-0xc1,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, -4.0 ; encoding: [0xf7,0x0c,0x0a,0x7e]
+0xf7,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, 0.5 ; encoding: [0xf0,0x0c,0x00,0x7e]
-0xf0,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, scc ; encoding: [0xfd,0x0c,0x0a,0x7e]
+0xfd,0x0c,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, -4.0 ; encoding: [0xf7,0x0c,0x00,0x7e]
-0xf7,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, 0xaf123456 ; encoding: [0xff,0x0c,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x0c,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f32_u32_e32 v0, scc ; encoding: [0xfd,0x0c,0x00,0x7e]
-0xfd,0x0c,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e32 v5, 0x3f717273 ; encoding: [0xff,0x0c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x0c,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f32_u32_e32 v0, 0xaf123456 ; encoding: [0xff,0x0c,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x0c,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f32_u32_e32 v5, v1 ; encoding: [0x01,0x0d,0x0a,0x7e]
+0x01,0x0d,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, 0x3f717273 ; encoding: [0xff,0x0c,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x0c,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f32_u32_e32 v5, v255 ; encoding: [0xff,0x0d,0x0a,0x7e]
+0xff,0x0d,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e32 v0, v0 ; encoding: [0x00,0x0d,0x00,0x7e]
-0x00,0x0d,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e64 v5, s1 ; encoding: [0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e32 v0, v255 ; encoding: [0xff,0x0d,0x00,0x7e]
-0xff,0x0d,0x00,0x7e
+# CHECK: v_cvt_f32_u32_e64 v255, s1 ; encoding: [0xff,0x00,0x46,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x46,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, s0 ; encoding: [0x00,0x00,0x46,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, s101 ; encoding: [0x05,0x00,0x46,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v255, s0 ; encoding: [0xff,0x00,0x46,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x46,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x46,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, s101 ; encoding: [0x00,0x00,0x46,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x46,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x46,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x46,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x46,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x46,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x46,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x46,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x46,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x46,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x46,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x46,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x46,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x46,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x46,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x46,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x46,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, m0 ; encoding: [0x05,0x00,0x46,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x46,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x46,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, m0 ; encoding: [0x00,0x00,0x46,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x46,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x46,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, 0 ; encoding: [0x05,0x00,0x46,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x46,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, -1 ; encoding: [0x05,0x00,0x46,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, 0 ; encoding: [0x00,0x00,0x46,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x46,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, -1 ; encoding: [0x00,0x00,0x46,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x46,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x46,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, scc ; encoding: [0x05,0x00,0x46,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x46,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x46,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, v1 ; encoding: [0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x46,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, scc ; encoding: [0x00,0x00,0x46,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f32_u32_e64 v5, v255 ; encoding: [0x05,0x00,0x46,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x46,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_f32_u32_e64 v0, v0 ; encoding: [0x00,0x00,0x46,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x46,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_u32_f32_e32 v5, s1 ; encoding: [0x01,0x0e,0x0a,0x7e]
+0x01,0x0e,0x0a,0x7e
-# CHECK: v_cvt_f32_u32_e64 v0, v255 ; encoding: [0x00,0x00,0x46,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x46,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_u32_f32_e32 v255, s1 ; encoding: [0x01,0x0e,0xfe,0x7f]
+0x01,0x0e,0xfe,0x7f
-# CHECK: v_cvt_u32_f32_e32 v0, s0 ; encoding: [0x00,0x0e,0x00,0x7e]
-0x00,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, s101 ; encoding: [0x65,0x0e,0x0a,0x7e]
+0x65,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v255, s0 ; encoding: [0x00,0x0e,0xfe,0x7f]
-0x00,0x0e,0xfe,0x7f
+# CHECK: v_cvt_u32_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x0e,0x0a,0x7e]
+0x66,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, s101 ; encoding: [0x65,0x0e,0x00,0x7e]
-0x65,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x0e,0x0a,0x7e]
+0x67,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x0e,0x00,0x7e]
-0x66,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x0e,0x0a,0x7e]
+0x6a,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x0e,0x00,0x7e]
-0x67,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x0e,0x0a,0x7e]
+0x6b,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x0e,0x00,0x7e]
-0x6a,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, tba_lo ; encoding: [0x6c,0x0e,0x0a,0x7e]
+0x6c,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x0e,0x00,0x7e]
-0x6b,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, tba_hi ; encoding: [0x6d,0x0e,0x0a,0x7e]
+0x6d,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, tba_lo ; encoding: [0x6c,0x0e,0x00,0x7e]
-0x6c,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, tma_lo ; encoding: [0x6e,0x0e,0x0a,0x7e]
+0x6e,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, tba_hi ; encoding: [0x6d,0x0e,0x00,0x7e]
-0x6d,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, tma_hi ; encoding: [0x6f,0x0e,0x0a,0x7e]
+0x6f,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, tma_lo ; encoding: [0x6e,0x0e,0x00,0x7e]
-0x6e,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x0e,0x0a,0x7e]
+0x7b,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, tma_hi ; encoding: [0x6f,0x0e,0x00,0x7e]
-0x6f,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, m0 ; encoding: [0x7c,0x0e,0x0a,0x7e]
+0x7c,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x0e,0x00,0x7e]
-0x7b,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, exec_lo ; encoding: [0x7e,0x0e,0x0a,0x7e]
+0x7e,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, m0 ; encoding: [0x7c,0x0e,0x00,0x7e]
-0x7c,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, exec_hi ; encoding: [0x7f,0x0e,0x0a,0x7e]
+0x7f,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, exec_lo ; encoding: [0x7e,0x0e,0x00,0x7e]
-0x7e,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, 0 ; encoding: [0x80,0x0e,0x0a,0x7e]
+0x80,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, exec_hi ; encoding: [0x7f,0x0e,0x00,0x7e]
-0x7f,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, -1 ; encoding: [0xc1,0x0e,0x0a,0x7e]
+0xc1,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, 0 ; encoding: [0x80,0x0e,0x00,0x7e]
-0x80,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, 0.5 ; encoding: [0xf0,0x0e,0x0a,0x7e]
+0xf0,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, -1 ; encoding: [0xc1,0x0e,0x00,0x7e]
-0xc1,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, -4.0 ; encoding: [0xf7,0x0e,0x0a,0x7e]
+0xf7,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, 0.5 ; encoding: [0xf0,0x0e,0x00,0x7e]
-0xf0,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, scc ; encoding: [0xfd,0x0e,0x0a,0x7e]
+0xfd,0x0e,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, -4.0 ; encoding: [0xf7,0x0e,0x00,0x7e]
-0xf7,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x0e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x0e,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_u32_f32_e32 v0, scc ; encoding: [0xfd,0x0e,0x00,0x7e]
-0xfd,0x0e,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x0e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x0e,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_u32_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x0e,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x0e,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_u32_f32_e32 v5, v1 ; encoding: [0x01,0x0f,0x0a,0x7e]
+0x01,0x0f,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x0e,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x0e,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_u32_f32_e32 v5, v255 ; encoding: [0xff,0x0f,0x0a,0x7e]
+0xff,0x0f,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e32 v0, v0 ; encoding: [0x00,0x0f,0x00,0x7e]
-0x00,0x0f,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x47,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e32 v0, v255 ; encoding: [0xff,0x0f,0x00,0x7e]
-0xff,0x0f,0x00,0x7e
+# CHECK: v_cvt_u32_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x47,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x47,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x47,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x47,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x47,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x47,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x47,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x47,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x47,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x47,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x47,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x47,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x47,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x47,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x47,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x47,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x47,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x47,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x47,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x47,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x47,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x47,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x47,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x47,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x47,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x47,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x47,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x47,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x47,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x47,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x47,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x47,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x47,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x47,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x47,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x47,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x47,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x47,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, scc ; encoding: [0x05,0x00,0x47,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x47,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x47,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x47,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, scc ; encoding: [0x00,0x00,0x47,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x47,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x47,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x47,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x47,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x47,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x47,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_cvt_u32_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x47,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x47,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_u32_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x47,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x47,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x47,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x47,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cvt_u32_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x47,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x47,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x47,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x47,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e32 v5, s1 ; encoding: [0x01,0x10,0x0a,0x7e]
+0x01,0x10,0x0a,0x7e
-# CHECK: v_cvt_u32_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x47,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x47,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e32 v255, s1 ; encoding: [0x01,0x10,0xfe,0x7f]
+0x01,0x10,0xfe,0x7f
-# CHECK: v_cvt_i32_f32_e32 v0, s0 ; encoding: [0x00,0x10,0x00,0x7e]
-0x00,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, s101 ; encoding: [0x65,0x10,0x0a,0x7e]
+0x65,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v255, s0 ; encoding: [0x00,0x10,0xfe,0x7f]
-0x00,0x10,0xfe,0x7f
+# CHECK: v_cvt_i32_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x10,0x0a,0x7e]
+0x66,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, s101 ; encoding: [0x65,0x10,0x00,0x7e]
-0x65,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x10,0x0a,0x7e]
+0x67,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x10,0x00,0x7e]
-0x66,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x10,0x0a,0x7e]
+0x6a,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x10,0x00,0x7e]
-0x67,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x10,0x0a,0x7e]
+0x6b,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x10,0x00,0x7e]
-0x6a,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, tba_lo ; encoding: [0x6c,0x10,0x0a,0x7e]
+0x6c,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x10,0x00,0x7e]
-0x6b,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, tba_hi ; encoding: [0x6d,0x10,0x0a,0x7e]
+0x6d,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, tba_lo ; encoding: [0x6c,0x10,0x00,0x7e]
-0x6c,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, tma_lo ; encoding: [0x6e,0x10,0x0a,0x7e]
+0x6e,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, tba_hi ; encoding: [0x6d,0x10,0x00,0x7e]
-0x6d,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, tma_hi ; encoding: [0x6f,0x10,0x0a,0x7e]
+0x6f,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, tma_lo ; encoding: [0x6e,0x10,0x00,0x7e]
-0x6e,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x10,0x0a,0x7e]
+0x7b,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, tma_hi ; encoding: [0x6f,0x10,0x00,0x7e]
-0x6f,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, m0 ; encoding: [0x7c,0x10,0x0a,0x7e]
+0x7c,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x10,0x00,0x7e]
-0x7b,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, exec_lo ; encoding: [0x7e,0x10,0x0a,0x7e]
+0x7e,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, m0 ; encoding: [0x7c,0x10,0x00,0x7e]
-0x7c,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, exec_hi ; encoding: [0x7f,0x10,0x0a,0x7e]
+0x7f,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, exec_lo ; encoding: [0x7e,0x10,0x00,0x7e]
-0x7e,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, 0 ; encoding: [0x80,0x10,0x0a,0x7e]
+0x80,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, exec_hi ; encoding: [0x7f,0x10,0x00,0x7e]
-0x7f,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, -1 ; encoding: [0xc1,0x10,0x0a,0x7e]
+0xc1,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, 0 ; encoding: [0x80,0x10,0x00,0x7e]
-0x80,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, 0.5 ; encoding: [0xf0,0x10,0x0a,0x7e]
+0xf0,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, -1 ; encoding: [0xc1,0x10,0x00,0x7e]
-0xc1,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, -4.0 ; encoding: [0xf7,0x10,0x0a,0x7e]
+0xf7,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, 0.5 ; encoding: [0xf0,0x10,0x00,0x7e]
-0xf0,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, scc ; encoding: [0xfd,0x10,0x0a,0x7e]
+0xfd,0x10,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, -4.0 ; encoding: [0xf7,0x10,0x00,0x7e]
-0xf7,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x10,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x10,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_i32_f32_e32 v0, scc ; encoding: [0xfd,0x10,0x00,0x7e]
-0xfd,0x10,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x10,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x10,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_i32_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x10,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x10,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_i32_f32_e32 v5, v1 ; encoding: [0x01,0x11,0x0a,0x7e]
+0x01,0x11,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x10,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x10,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_i32_f32_e32 v5, v255 ; encoding: [0xff,0x11,0x0a,0x7e]
+0xff,0x11,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e32 v0, v0 ; encoding: [0x00,0x11,0x00,0x7e]
-0x00,0x11,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x48,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e32 v0, v255 ; encoding: [0xff,0x11,0x00,0x7e]
-0xff,0x11,0x00,0x7e
+# CHECK: v_cvt_i32_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x48,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x48,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x48,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x48,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x48,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x48,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x48,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x48,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x48,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x48,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x48,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x48,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x48,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x48,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x48,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x48,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x48,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x48,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x48,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x48,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x48,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x48,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x48,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x48,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x48,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x48,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x48,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x48,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x48,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x48,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x48,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x48,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x48,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x48,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x48,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x48,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x48,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x48,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, scc ; encoding: [0x05,0x00,0x48,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x48,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x48,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x48,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, scc ; encoding: [0x00,0x00,0x48,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x48,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x48,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x48,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x48,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x48,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x48,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_cvt_i32_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x48,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x48,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_i32_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x48,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x48,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x48,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x48,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cvt_i32_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x48,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x48,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_i32_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x48,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x48,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e32 v5, s1 ; encoding: [0x01,0x14,0x0a,0x7e]
+0x01,0x14,0x0a,0x7e
-# CHECK: v_cvt_i32_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x48,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x48,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e32 v255, s1 ; encoding: [0x01,0x14,0xfe,0x7f]
+0x01,0x14,0xfe,0x7f
-# CHECK: v_cvt_f16_f32_e32 v0, s0 ; encoding: [0x00,0x14,0x00,0x7e]
-0x00,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, s101 ; encoding: [0x65,0x14,0x0a,0x7e]
+0x65,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v255, s0 ; encoding: [0x00,0x14,0xfe,0x7f]
-0x00,0x14,0xfe,0x7f
+# CHECK: v_cvt_f16_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x14,0x0a,0x7e]
+0x66,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, s101 ; encoding: [0x65,0x14,0x00,0x7e]
-0x65,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x14,0x0a,0x7e]
+0x67,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x14,0x00,0x7e]
-0x66,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x14,0x0a,0x7e]
+0x6a,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x14,0x00,0x7e]
-0x67,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x14,0x0a,0x7e]
+0x6b,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x14,0x00,0x7e]
-0x6a,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, tba_lo ; encoding: [0x6c,0x14,0x0a,0x7e]
+0x6c,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x14,0x00,0x7e]
-0x6b,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, tba_hi ; encoding: [0x6d,0x14,0x0a,0x7e]
+0x6d,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, tba_lo ; encoding: [0x6c,0x14,0x00,0x7e]
-0x6c,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, tma_lo ; encoding: [0x6e,0x14,0x0a,0x7e]
+0x6e,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, tba_hi ; encoding: [0x6d,0x14,0x00,0x7e]
-0x6d,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, tma_hi ; encoding: [0x6f,0x14,0x0a,0x7e]
+0x6f,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, tma_lo ; encoding: [0x6e,0x14,0x00,0x7e]
-0x6e,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x14,0x0a,0x7e]
+0x7b,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, tma_hi ; encoding: [0x6f,0x14,0x00,0x7e]
-0x6f,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, m0 ; encoding: [0x7c,0x14,0x0a,0x7e]
+0x7c,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x14,0x00,0x7e]
-0x7b,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, exec_lo ; encoding: [0x7e,0x14,0x0a,0x7e]
+0x7e,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, m0 ; encoding: [0x7c,0x14,0x00,0x7e]
-0x7c,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, exec_hi ; encoding: [0x7f,0x14,0x0a,0x7e]
+0x7f,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, exec_lo ; encoding: [0x7e,0x14,0x00,0x7e]
-0x7e,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, 0 ; encoding: [0x80,0x14,0x0a,0x7e]
+0x80,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, exec_hi ; encoding: [0x7f,0x14,0x00,0x7e]
-0x7f,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, -1 ; encoding: [0xc1,0x14,0x0a,0x7e]
+0xc1,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, 0 ; encoding: [0x80,0x14,0x00,0x7e]
-0x80,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, 0.5 ; encoding: [0xf0,0x14,0x0a,0x7e]
+0xf0,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, -1 ; encoding: [0xc1,0x14,0x00,0x7e]
-0xc1,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, -4.0 ; encoding: [0xf7,0x14,0x0a,0x7e]
+0xf7,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, 0.5 ; encoding: [0xf0,0x14,0x00,0x7e]
-0xf0,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, scc ; encoding: [0xfd,0x14,0x0a,0x7e]
+0xfd,0x14,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, -4.0 ; encoding: [0xf7,0x14,0x00,0x7e]
-0xf7,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x14,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x14,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f16_f32_e32 v0, scc ; encoding: [0xfd,0x14,0x00,0x7e]
-0xfd,0x14,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x14,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x14,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f16_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x14,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x14,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f16_f32_e32 v5, v1 ; encoding: [0x01,0x15,0x0a,0x7e]
+0x01,0x15,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x14,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x14,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f16_f32_e32 v5, v255 ; encoding: [0xff,0x15,0x0a,0x7e]
+0xff,0x15,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e32 v0, v0 ; encoding: [0x00,0x15,0x00,0x7e]
-0x00,0x15,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e32 v0, v255 ; encoding: [0xff,0x15,0x00,0x7e]
-0xff,0x15,0x00,0x7e
+# CHECK: v_cvt_f16_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x4a,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x4a,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x4a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x4a,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x4a,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x4a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x4a,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x4a,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x4a,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x4a,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x4a,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x4a,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x4a,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x4a,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x4a,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x4a,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x4a,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x4a,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x4a,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x4a,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x4a,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x4a,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x4a,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x4a,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x4a,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x4a,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x4a,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x4a,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x4a,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x4a,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x4a,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x4a,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x4a,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x4a,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x4a,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x4a,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x4a,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x4a,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, scc ; encoding: [0x05,0x00,0x4a,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x4a,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, scc ; encoding: [0x00,0x00,0x4a,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x4a,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x4a,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x4a,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_cvt_f16_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x4a,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4a,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x4a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x4a,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x4a,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x4a,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cvt_f16_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x4a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x4a,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f16_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x4a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x4a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_cvt_f16_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x4a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x4a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f16_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_cvt_f16_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x4a,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x4a,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cvt_f16_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x4a,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_cvt_f16_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x4a,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x4a,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cvt_f32_f16_e32 v5, s1 ; encoding: [0x01,0x16,0x0a,0x7e]
+0x01,0x16,0x0a,0x7e
-# CHECK: v_cvt_f16_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x4a,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x4a,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cvt_f32_f16_e32 v255, s1 ; encoding: [0x01,0x16,0xfe,0x7f]
+0x01,0x16,0xfe,0x7f
-# CHECK: v_cvt_f32_f16_e32 v0, s0 ; encoding: [0x00,0x16,0x00,0x7e]
-0x00,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, s101 ; encoding: [0x65,0x16,0x0a,0x7e]
+0x65,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v255, s0 ; encoding: [0x00,0x16,0xfe,0x7f]
-0x00,0x16,0xfe,0x7f
+# CHECK: v_cvt_f32_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x16,0x0a,0x7e]
+0x66,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, s101 ; encoding: [0x65,0x16,0x00,0x7e]
-0x65,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x16,0x0a,0x7e]
+0x67,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x16,0x00,0x7e]
-0x66,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x16,0x0a,0x7e]
+0x6a,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x16,0x00,0x7e]
-0x67,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x16,0x0a,0x7e]
+0x6b,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x16,0x00,0x7e]
-0x6a,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, tba_lo ; encoding: [0x6c,0x16,0x0a,0x7e]
+0x6c,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x16,0x00,0x7e]
-0x6b,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, tba_hi ; encoding: [0x6d,0x16,0x0a,0x7e]
+0x6d,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, tba_lo ; encoding: [0x6c,0x16,0x00,0x7e]
-0x6c,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, tma_lo ; encoding: [0x6e,0x16,0x0a,0x7e]
+0x6e,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, tba_hi ; encoding: [0x6d,0x16,0x00,0x7e]
-0x6d,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, tma_hi ; encoding: [0x6f,0x16,0x0a,0x7e]
+0x6f,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, tma_lo ; encoding: [0x6e,0x16,0x00,0x7e]
-0x6e,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x16,0x0a,0x7e]
+0x7b,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, tma_hi ; encoding: [0x6f,0x16,0x00,0x7e]
-0x6f,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, m0 ; encoding: [0x7c,0x16,0x0a,0x7e]
+0x7c,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x16,0x00,0x7e]
-0x7b,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, exec_lo ; encoding: [0x7e,0x16,0x0a,0x7e]
+0x7e,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, m0 ; encoding: [0x7c,0x16,0x00,0x7e]
-0x7c,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, exec_hi ; encoding: [0x7f,0x16,0x0a,0x7e]
+0x7f,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, exec_lo ; encoding: [0x7e,0x16,0x00,0x7e]
-0x7e,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, 0 ; encoding: [0x80,0x16,0x0a,0x7e]
+0x80,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, exec_hi ; encoding: [0x7f,0x16,0x00,0x7e]
-0x7f,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, -1 ; encoding: [0xc1,0x16,0x0a,0x7e]
+0xc1,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, 0 ; encoding: [0x80,0x16,0x00,0x7e]
-0x80,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, 0.5 ; encoding: [0xf0,0x16,0x0a,0x7e]
+0xf0,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, -1 ; encoding: [0xc1,0x16,0x00,0x7e]
-0xc1,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, -4.0 ; encoding: [0xf7,0x16,0x0a,0x7e]
+0xf7,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, 0.5 ; encoding: [0xf0,0x16,0x00,0x7e]
-0xf0,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, scc ; encoding: [0xfd,0x16,0x0a,0x7e]
+0xfd,0x16,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, -4.0 ; encoding: [0xf7,0x16,0x00,0x7e]
-0xf7,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x16,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x16,0x0a,0x7e,0x0b,0xfe,0x00,0x00
-# CHECK: v_cvt_f32_f16_e32 v0, scc ; encoding: [0xfd,0x16,0x00,0x7e]
-0xfd,0x16,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e32 v5, 0x3456 ; encoding: [0xff,0x16,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x16,0x0a,0x7e,0x56,0x34,0x00,0x00
-# CHECK: v_cvt_f32_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x16,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x16,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_cvt_f32_f16_e32 v5, v1 ; encoding: [0x01,0x17,0x0a,0x7e]
+0x01,0x17,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, 0x3456 ; encoding: [0xff,0x16,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x16,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_cvt_f32_f16_e32 v5, v255 ; encoding: [0xff,0x17,0x0a,0x7e]
+0xff,0x17,0x0a,0x7e
-# CHECK: v_cvt_f32_f16_e32 v0, v0 ; encoding: [0x00,0x17,0x00,0x7e]
-0x00,0x17,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e32 v0, v255 ; encoding: [0xff,0x17,0x00,0x7e]
-0xff,0x17,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x4b,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x4b,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x4b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x4b,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x4b,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x4b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x4b,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x4b,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x4b,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x4b,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x4b,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x4b,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x4b,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x4b,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x4b,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x4b,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x4b,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x4b,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x4b,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x4b,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x4b,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x4b,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x4b,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x4b,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x4b,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x4b,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x4b,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x4b,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x4b,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x4b,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x4b,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x4b,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x4b,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x4b,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x4b,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x4b,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x4b,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x4b,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, scc ; encoding: [0x05,0x00,0x4b,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x4b,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, scc ; encoding: [0x00,0x00,0x4b,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x4b,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x4b,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_f32_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x4b,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_cvt_f32_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x4b,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4b,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_f32_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x4b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x4b,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, s0 ; encoding: [0x00,0x18,0x00,0x7e]
-0x00,0x18,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x4b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x4b,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e32 v255, s0 ; encoding: [0x00,0x18,0xfe,0x7f]
-0x00,0x18,0xfe,0x7f
+# CHECK: v_cvt_f32_f16_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, s101 ; encoding: [0x65,0x18,0x00,0x7e]
-0x65,0x18,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x18,0x00,0x7e]
-0x66,0x18,0x00,0x7e
+# CHECK: v_cvt_f32_f16_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x4b,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x18,0x00,0x7e]
-0x67,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, s1 ; encoding: [0x01,0x18,0x0a,0x7e]
+0x01,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x18,0x00,0x7e]
-0x6a,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v255, s1 ; encoding: [0x01,0x18,0xfe,0x7f]
+0x01,0x18,0xfe,0x7f
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x18,0x00,0x7e]
-0x6b,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, s101 ; encoding: [0x65,0x18,0x0a,0x7e]
+0x65,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, tba_lo ; encoding: [0x6c,0x18,0x00,0x7e]
-0x6c,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x18,0x0a,0x7e]
+0x66,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, tba_hi ; encoding: [0x6d,0x18,0x00,0x7e]
-0x6d,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x18,0x0a,0x7e]
+0x67,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, tma_lo ; encoding: [0x6e,0x18,0x00,0x7e]
-0x6e,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x18,0x0a,0x7e]
+0x6a,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, tma_hi ; encoding: [0x6f,0x18,0x00,0x7e]
-0x6f,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x18,0x0a,0x7e]
+0x6b,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x18,0x00,0x7e]
-0x7b,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, tba_lo ; encoding: [0x6c,0x18,0x0a,0x7e]
+0x6c,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, m0 ; encoding: [0x7c,0x18,0x00,0x7e]
-0x7c,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, tba_hi ; encoding: [0x6d,0x18,0x0a,0x7e]
+0x6d,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, exec_lo ; encoding: [0x7e,0x18,0x00,0x7e]
-0x7e,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, tma_lo ; encoding: [0x6e,0x18,0x0a,0x7e]
+0x6e,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, exec_hi ; encoding: [0x7f,0x18,0x00,0x7e]
-0x7f,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, tma_hi ; encoding: [0x6f,0x18,0x0a,0x7e]
+0x6f,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, 0 ; encoding: [0x80,0x18,0x00,0x7e]
-0x80,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x18,0x0a,0x7e]
+0x7b,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, -1 ; encoding: [0xc1,0x18,0x00,0x7e]
-0xc1,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, m0 ; encoding: [0x7c,0x18,0x0a,0x7e]
+0x7c,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, 0.5 ; encoding: [0xf0,0x18,0x00,0x7e]
-0xf0,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, exec_lo ; encoding: [0x7e,0x18,0x0a,0x7e]
+0x7e,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, -4.0 ; encoding: [0xf7,0x18,0x00,0x7e]
-0xf7,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, exec_hi ; encoding: [0x7f,0x18,0x0a,0x7e]
+0x7f,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, scc ; encoding: [0xfd,0x18,0x00,0x7e]
-0xfd,0x18,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, 0 ; encoding: [0x80,0x18,0x0a,0x7e]
+0x80,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x18,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x18,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, -1 ; encoding: [0xc1,0x18,0x0a,0x7e]
+0xc1,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x18,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x18,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, 0.5 ; encoding: [0xf0,0x18,0x0a,0x7e]
+0xf0,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, v0 ; encoding: [0x00,0x19,0x00,0x7e]
-0x00,0x19,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, -4.0 ; encoding: [0xf7,0x18,0x0a,0x7e]
+0xf7,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e32 v0, v255 ; encoding: [0xff,0x19,0x00,0x7e]
-0xff,0x19,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, scc ; encoding: [0xfd,0x18,0x0a,0x7e]
+0xfd,0x18,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x4c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x18,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x18,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_rpi_i32_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x4c,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x4c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x18,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x18,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x4c,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, v1 ; encoding: [0x01,0x19,0x0a,0x7e]
+0x01,0x19,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x4c,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e32 v5, v255 ; encoding: [0xff,0x19,0x0a,0x7e]
+0xff,0x19,0x0a,0x7e
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x4c,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x4c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x4c,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x4c,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x4c,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x4c,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x4c,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x4c,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x4c,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x4c,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x4c,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x4c,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x4c,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x4c,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x4c,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x4c,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x4c,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x4c,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x4c,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x4c,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x4c,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x4c,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x4c,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x4c,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x4c,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x4c,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x4c,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x4c,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x4c,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x4c,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x4c,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, scc ; encoding: [0x00,0x00,0x4c,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x4c,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x4c,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x4c,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x4c,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4c,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x4c,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x4c,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x4c,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x4c,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x4c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x4c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, scc ; encoding: [0x05,0x00,0x4c,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x4c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x4c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e32 v0, s0 ; encoding: [0x00,0x1a,0x00,0x7e]
-0x00,0x1a,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x4c,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x4c,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e32 v255, s0 ; encoding: [0x00,0x1a,0xfe,0x7f]
-0x00,0x1a,0xfe,0x7f
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x4c,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x4c,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_cvt_flr_i32_f32_e32 v0, s101 ; encoding: [0x65,0x1a,0x00,0x7e]
-0x65,0x1a,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x4c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x4c,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x1a,0x00,0x7e]
-0x66,0x1a,0x00,0x7e
+# CHECK: v_cvt_rpi_i32_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x4c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x4c,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x1a,0x00,0x7e]
-0x67,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, s1 ; encoding: [0x01,0x1a,0x0a,0x7e]
+0x01,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x1a,0x00,0x7e]
-0x6a,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v255, s1 ; encoding: [0x01,0x1a,0xfe,0x7f]
+0x01,0x1a,0xfe,0x7f
-# CHECK: v_cvt_flr_i32_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x1a,0x00,0x7e]
-0x6b,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, s101 ; encoding: [0x65,0x1a,0x0a,0x7e]
+0x65,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, tba_lo ; encoding: [0x6c,0x1a,0x00,0x7e]
-0x6c,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x1a,0x0a,0x7e]
+0x66,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, tba_hi ; encoding: [0x6d,0x1a,0x00,0x7e]
-0x6d,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x1a,0x0a,0x7e]
+0x67,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, tma_lo ; encoding: [0x6e,0x1a,0x00,0x7e]
-0x6e,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x1a,0x0a,0x7e]
+0x6a,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, tma_hi ; encoding: [0x6f,0x1a,0x00,0x7e]
-0x6f,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x1a,0x0a,0x7e]
+0x6b,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x1a,0x00,0x7e]
-0x7b,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, tba_lo ; encoding: [0x6c,0x1a,0x0a,0x7e]
+0x6c,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, m0 ; encoding: [0x7c,0x1a,0x00,0x7e]
-0x7c,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, tba_hi ; encoding: [0x6d,0x1a,0x0a,0x7e]
+0x6d,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, exec_lo ; encoding: [0x7e,0x1a,0x00,0x7e]
-0x7e,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, tma_lo ; encoding: [0x6e,0x1a,0x0a,0x7e]
+0x6e,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, exec_hi ; encoding: [0x7f,0x1a,0x00,0x7e]
-0x7f,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, tma_hi ; encoding: [0x6f,0x1a,0x0a,0x7e]
+0x6f,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, 0 ; encoding: [0x80,0x1a,0x00,0x7e]
-0x80,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x1a,0x0a,0x7e]
+0x7b,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, -1 ; encoding: [0xc1,0x1a,0x00,0x7e]
-0xc1,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, m0 ; encoding: [0x7c,0x1a,0x0a,0x7e]
+0x7c,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, 0.5 ; encoding: [0xf0,0x1a,0x00,0x7e]
-0xf0,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, exec_lo ; encoding: [0x7e,0x1a,0x0a,0x7e]
+0x7e,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, -4.0 ; encoding: [0xf7,0x1a,0x00,0x7e]
-0xf7,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, exec_hi ; encoding: [0x7f,0x1a,0x0a,0x7e]
+0x7f,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, scc ; encoding: [0xfd,0x1a,0x00,0x7e]
-0xfd,0x1a,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, 0 ; encoding: [0x80,0x1a,0x0a,0x7e]
+0x80,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x1a,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x1a,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_flr_i32_f32_e32 v5, -1 ; encoding: [0xc1,0x1a,0x0a,0x7e]
+0xc1,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x1a,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x1a,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_flr_i32_f32_e32 v5, 0.5 ; encoding: [0xf0,0x1a,0x0a,0x7e]
+0xf0,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, v0 ; encoding: [0x00,0x1b,0x00,0x7e]
-0x00,0x1b,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, -4.0 ; encoding: [0xf7,0x1a,0x0a,0x7e]
+0xf7,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e32 v0, v255 ; encoding: [0xff,0x1b,0x00,0x7e]
-0xff,0x1b,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e32 v5, scc ; encoding: [0xfd,0x1a,0x0a,0x7e]
+0xfd,0x1a,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x4d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x1a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x1a,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_flr_i32_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x4d,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x4d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x1a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x1a,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_flr_i32_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x4d,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e32 v5, v1 ; encoding: [0x01,0x1b,0x0a,0x7e]
+0x01,0x1b,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x4d,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e32 v5, v255 ; encoding: [0xff,0x1b,0x0a,0x7e]
+0xff,0x1b,0x0a,0x7e
-# CHECK: v_cvt_flr_i32_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x4d,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x4d,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x4d,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x4d,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x4d,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x4d,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x4d,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x4d,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x4d,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x4d,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x4d,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x4d,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x4d,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x4d,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x4d,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x4d,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x4d,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x4d,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x4d,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x4d,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x4d,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x4d,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x4d,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x4d,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x4d,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x4d,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x4d,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x4d,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x4d,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x4d,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x4d,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, scc ; encoding: [0x00,0x00,0x4d,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x4d,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x4d,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x4d,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x4d,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4d,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x4d,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x4d,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x4d,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cvt_flr_i32_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x4d,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x4d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x4d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, scc ; encoding: [0x05,0x00,0x4d,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x4d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x4d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e32 v0, s0 ; encoding: [0x00,0x1c,0x00,0x7e]
-0x00,0x1c,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x4d,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x4d,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e32 v255, s0 ; encoding: [0x00,0x1c,0xfe,0x7f]
-0x00,0x1c,0xfe,0x7f
+# CHECK: v_cvt_flr_i32_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x4d,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x4d,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_cvt_off_f32_i4_e32 v0, s101 ; encoding: [0x65,0x1c,0x00,0x7e]
-0x65,0x1c,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x4d,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x4d,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e32 v0, flat_scratch_lo ; encoding: [0x66,0x1c,0x00,0x7e]
-0x66,0x1c,0x00,0x7e
+# CHECK: v_cvt_flr_i32_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x4d,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x4d,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e32 v0, flat_scratch_hi ; encoding: [0x67,0x1c,0x00,0x7e]
-0x67,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, s1 ; encoding: [0x01,0x1c,0x0a,0x7e]
+0x01,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, vcc_lo ; encoding: [0x6a,0x1c,0x00,0x7e]
-0x6a,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v255, s1 ; encoding: [0x01,0x1c,0xfe,0x7f]
+0x01,0x1c,0xfe,0x7f
-# CHECK: v_cvt_off_f32_i4_e32 v0, vcc_hi ; encoding: [0x6b,0x1c,0x00,0x7e]
-0x6b,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, s101 ; encoding: [0x65,0x1c,0x0a,0x7e]
+0x65,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, tba_lo ; encoding: [0x6c,0x1c,0x00,0x7e]
-0x6c,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, flat_scratch_lo ; encoding: [0x66,0x1c,0x0a,0x7e]
+0x66,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, tba_hi ; encoding: [0x6d,0x1c,0x00,0x7e]
-0x6d,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, flat_scratch_hi ; encoding: [0x67,0x1c,0x0a,0x7e]
+0x67,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, tma_lo ; encoding: [0x6e,0x1c,0x00,0x7e]
-0x6e,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, vcc_lo ; encoding: [0x6a,0x1c,0x0a,0x7e]
+0x6a,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, tma_hi ; encoding: [0x6f,0x1c,0x00,0x7e]
-0x6f,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, vcc_hi ; encoding: [0x6b,0x1c,0x0a,0x7e]
+0x6b,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, ttmp11 ; encoding: [0x7b,0x1c,0x00,0x7e]
-0x7b,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, tba_lo ; encoding: [0x6c,0x1c,0x0a,0x7e]
+0x6c,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, m0 ; encoding: [0x7c,0x1c,0x00,0x7e]
-0x7c,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, tba_hi ; encoding: [0x6d,0x1c,0x0a,0x7e]
+0x6d,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, exec_lo ; encoding: [0x7e,0x1c,0x00,0x7e]
-0x7e,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, tma_lo ; encoding: [0x6e,0x1c,0x0a,0x7e]
+0x6e,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, exec_hi ; encoding: [0x7f,0x1c,0x00,0x7e]
-0x7f,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, tma_hi ; encoding: [0x6f,0x1c,0x0a,0x7e]
+0x6f,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, 0 ; encoding: [0x80,0x1c,0x00,0x7e]
-0x80,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, ttmp11 ; encoding: [0x7b,0x1c,0x0a,0x7e]
+0x7b,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, -1 ; encoding: [0xc1,0x1c,0x00,0x7e]
-0xc1,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, m0 ; encoding: [0x7c,0x1c,0x0a,0x7e]
+0x7c,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, 0.5 ; encoding: [0xf0,0x1c,0x00,0x7e]
-0xf0,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, exec_lo ; encoding: [0x7e,0x1c,0x0a,0x7e]
+0x7e,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, -4.0 ; encoding: [0xf7,0x1c,0x00,0x7e]
-0xf7,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, exec_hi ; encoding: [0x7f,0x1c,0x0a,0x7e]
+0x7f,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, scc ; encoding: [0xfd,0x1c,0x00,0x7e]
-0xfd,0x1c,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, 0 ; encoding: [0x80,0x1c,0x0a,0x7e]
+0x80,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, 0x4f ; encoding: [0xff,0x1c,0x00,0x7e,0x4f,0x00,0x00,0x00]
-0xff,0x1c,0x00,0x7e,0x4f,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e32 v5, -1 ; encoding: [0xc1,0x1c,0x0a,0x7e]
+0xc1,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, 0x41 ; encoding: [0xff,0x1c,0x00,0x7e,0x41,0x00,0x00,0x00]
-0xff,0x1c,0x00,0x7e,0x41,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e32 v5, 0.5 ; encoding: [0xf0,0x1c,0x0a,0x7e]
+0xf0,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, v0 ; encoding: [0x00,0x1d,0x00,0x7e]
-0x00,0x1d,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, -4.0 ; encoding: [0xf7,0x1c,0x0a,0x7e]
+0xf7,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e32 v0, v255 ; encoding: [0xff,0x1d,0x00,0x7e]
-0xff,0x1d,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e32 v5, scc ; encoding: [0xfd,0x1c,0x0a,0x7e]
+0xfd,0x1c,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e64 v0, s0 ; encoding: [0x00,0x00,0x4e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e32 v5, 0x4f ; encoding: [0xff,0x1c,0x0a,0x7e,0x4f,0x00,0x00,0x00]
+0xff,0x1c,0x0a,0x7e,0x4f,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v255, s0 ; encoding: [0xff,0x00,0x4e,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x4e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e32 v5, 0x41 ; encoding: [0xff,0x1c,0x0a,0x7e,0x41,0x00,0x00,0x00]
+0xff,0x1c,0x0a,0x7e,0x41,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, s101 ; encoding: [0x00,0x00,0x4e,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e32 v5, v1 ; encoding: [0x01,0x1d,0x0a,0x7e]
+0x01,0x1d,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x4e,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e32 v5, v255 ; encoding: [0xff,0x1d,0x0a,0x7e]
+0xff,0x1d,0x0a,0x7e
-# CHECK: v_cvt_off_f32_i4_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x4e,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, s1 ; encoding: [0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x4e,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v255, s1 ; encoding: [0xff,0x00,0x4e,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x4e,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x4e,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, s101 ; encoding: [0x05,0x00,0x4e,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, tba_lo ; encoding: [0x00,0x00,0x4e,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x4e,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, tba_hi ; encoding: [0x00,0x00,0x4e,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x4e,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, tma_lo ; encoding: [0x00,0x00,0x4e,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x4e,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, tma_hi ; encoding: [0x00,0x00,0x4e,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x4e,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x4e,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, tba_lo ; encoding: [0x05,0x00,0x4e,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, m0 ; encoding: [0x00,0x00,0x4e,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, tba_hi ; encoding: [0x05,0x00,0x4e,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, exec_lo ; encoding: [0x00,0x00,0x4e,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, tma_lo ; encoding: [0x05,0x00,0x4e,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, exec_hi ; encoding: [0x00,0x00,0x4e,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, tma_hi ; encoding: [0x05,0x00,0x4e,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, 0 ; encoding: [0x00,0x00,0x4e,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x4e,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, -1 ; encoding: [0x00,0x00,0x4e,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, m0 ; encoding: [0x05,0x00,0x4e,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, 0.5 ; encoding: [0x00,0x00,0x4e,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, exec_lo ; encoding: [0x05,0x00,0x4e,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, -4.0 ; encoding: [0x00,0x00,0x4e,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, exec_hi ; encoding: [0x05,0x00,0x4e,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, scc ; encoding: [0x00,0x00,0x4e,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, 0 ; encoding: [0x05,0x00,0x4e,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, v0 ; encoding: [0x00,0x00,0x4e,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, -1 ; encoding: [0x05,0x00,0x4e,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_e64 v0, v255 ; encoding: [0x00,0x00,0x4e,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4e,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_e64 v5, 0.5 ; encoding: [0x05,0x00,0x4e,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e32 v0, s[0:1] ; encoding: [0x00,0x1e,0x00,0x7e]
-0x00,0x1e,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e64 v5, -4.0 ; encoding: [0x05,0x00,0x4e,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e32 v255, s[0:1] ; encoding: [0x00,0x1e,0xfe,0x7f]
-0x00,0x1e,0xfe,0x7f
+# CHECK: v_cvt_off_f32_i4_e64 v5, scc ; encoding: [0x05,0x00,0x4e,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e32 v0, s[2:3] ; encoding: [0x02,0x1e,0x00,0x7e]
-0x02,0x1e,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e64 v5, v1 ; encoding: [0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f32_f64_e32 v0, s[100:101] ; encoding: [0x64,0x1e,0x00,0x7e]
-0x64,0x1e,0x00,0x7e
+# CHECK: v_cvt_off_f32_i4_e64 v5, v255 ; encoding: [0x05,0x00,0x4e,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x4e,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_f32_f64_e32 v0, flat_scratch ; encoding: [0x66,0x1e,0x00,0x7e]
-0x66,0x1e,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, s[2:3] ; encoding: [0x02,0x1e,0x0a,0x7e]
+0x02,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, vcc ; encoding: [0x6a,0x1e,0x00,0x7e]
-0x6a,0x1e,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v255, s[2:3] ; encoding: [0x02,0x1e,0xfe,0x7f]
+0x02,0x1e,0xfe,0x7f
-# CHECK: v_cvt_f32_f64_e32 v0, tba ; encoding: [0x6c,0x1e,0x00,0x7e]
-0x6c,0x1e,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, s[4:5] ; encoding: [0x04,0x1e,0x0a,0x7e]
+0x04,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, tma ; encoding: [0x6e,0x1e,0x00,0x7e]
-0x6e,0x1e,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, s[100:101] ; encoding: [0x64,0x1e,0x0a,0x7e]
+0x64,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, ttmp[10:11] ; encoding: [0x7a,0x1e,0x00,0x7e]
-0x7a,0x1e,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, flat_scratch ; encoding: [0x66,0x1e,0x0a,0x7e]
+0x66,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, exec ; encoding: [0x7e,0x1e,0x00,0x7e]
-0x7e,0x1e,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, vcc ; encoding: [0x6a,0x1e,0x0a,0x7e]
+0x6a,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, 0 ; encoding: [0x80,0x1e,0x00,0x7e]
-0x80,0x1e,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, tba ; encoding: [0x6c,0x1e,0x0a,0x7e]
+0x6c,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, -1 ; encoding: [0xc1,0x1e,0x00,0x7e]
-0xc1,0x1e,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, tma ; encoding: [0x6e,0x1e,0x0a,0x7e]
+0x6e,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, 0.5 ; encoding: [0xf0,0x1e,0x00,0x7e]
-0xf0,0x1e,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, ttmp[10:11] ; encoding: [0x7a,0x1e,0x0a,0x7e]
+0x7a,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, -4.0 ; encoding: [0xf7,0x1e,0x00,0x7e]
-0xf7,0x1e,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, exec ; encoding: [0x7e,0x1e,0x0a,0x7e]
+0x7e,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, 0xaf123456 ; encoding: [0xff,0x1e,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x1e,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f32_f64_e32 v5, 0 ; encoding: [0x80,0x1e,0x0a,0x7e]
+0x80,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, 0x3f717273 ; encoding: [0xff,0x1e,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x1e,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f32_f64_e32 v5, -1 ; encoding: [0xc1,0x1e,0x0a,0x7e]
+0xc1,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, v[0:1] ; encoding: [0x00,0x1f,0x00,0x7e]
-0x00,0x1f,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, 0.5 ; encoding: [0xf0,0x1e,0x0a,0x7e]
+0xf0,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e32 v0, v[254:255] ; encoding: [0xfe,0x1f,0x00,0x7e]
-0xfe,0x1f,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e32 v5, -4.0 ; encoding: [0xf7,0x1e,0x0a,0x7e]
+0xf7,0x1e,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e64 v0, s[0:1] ; encoding: [0x00,0x00,0x4f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e32 v5, 0xaf123456 ; encoding: [0xff,0x1e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x1e,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f32_f64_e64 v255, s[0:1] ; encoding: [0xff,0x00,0x4f,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x4f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e32 v5, 0x3f717273 ; encoding: [0xff,0x1e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x1e,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f32_f64_e64 v0, s[2:3] ; encoding: [0x00,0x00,0x4f,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e32 v5, v[1:2] ; encoding: [0x01,0x1f,0x0a,0x7e]
+0x01,0x1f,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e64 v0, s[100:101] ; encoding: [0x00,0x00,0x4f,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e32 v5, v[254:255] ; encoding: [0xfe,0x1f,0x0a,0x7e]
+0xfe,0x1f,0x0a,0x7e
-# CHECK: v_cvt_f32_f64_e64 v0, flat_scratch ; encoding: [0x00,0x00,0x4f,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, s[2:3] ; encoding: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, vcc ; encoding: [0x00,0x00,0x4f,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v255, s[2:3] ; encoding: [0xff,0x00,0x4f,0xd1,0x02,0x00,0x00,0x00]
+0xff,0x00,0x4f,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, tba ; encoding: [0x00,0x00,0x4f,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, s[4:5] ; encoding: [0x05,0x00,0x4f,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, tma ; encoding: [0x00,0x00,0x4f,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, s[100:101] ; encoding: [0x05,0x00,0x4f,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, ttmp[10:11] ; encoding: [0x00,0x00,0x4f,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, flat_scratch ; encoding: [0x05,0x00,0x4f,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, exec ; encoding: [0x00,0x00,0x4f,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, vcc ; encoding: [0x05,0x00,0x4f,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, 0 ; encoding: [0x00,0x00,0x4f,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, tba ; encoding: [0x05,0x00,0x4f,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, -1 ; encoding: [0x00,0x00,0x4f,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, tma ; encoding: [0x05,0x00,0x4f,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, 0.5 ; encoding: [0x00,0x00,0x4f,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, ttmp[10:11] ; encoding: [0x05,0x00,0x4f,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, -4.0 ; encoding: [0x00,0x00,0x4f,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, exec ; encoding: [0x05,0x00,0x4f,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, v[0:1] ; encoding: [0x00,0x00,0x4f,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, 0 ; encoding: [0x05,0x00,0x4f,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, v[254:255] ; encoding: [0x00,0x00,0x4f,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x4f,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, -1 ; encoding: [0x05,0x00,0x4f,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, -s[0:1] ; encoding: [0x00,0x00,0x4f,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x4f,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cvt_f32_f64_e64 v5, 0.5 ; encoding: [0x05,0x00,0x4f,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, |s[0:1]| ; encoding: [0x00,0x01,0x4f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x4f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, -4.0 ; encoding: [0x05,0x00,0x4f,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, s[0:1] clamp ; encoding: [0x00,0x80,0x4f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x4f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_f64_e64 v5, v[1:2] ; encoding: [0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, s[0:1] mul:2 ; encoding: [0x00,0x00,0x4f,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x4f,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cvt_f32_f64_e64 v5, v[254:255] ; encoding: [0x05,0x00,0x4f,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x4f,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_cvt_f32_f64_e64 v0, s[0:1] mul:4 ; encoding: [0x00,0x00,0x4f,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x4f,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cvt_f32_f64_e64 v5, -s[2:3] ; encoding: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_cvt_f32_f64_e64 v0, s[0:1] div:2 ; encoding: [0x00,0x00,0x4f,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x4f,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cvt_f32_f64_e64 v5, |s[2:3]| ; encoding: [0x05,0x01,0x4f,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x01,0x4f,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e32 v[0:1], s0 ; encoding: [0x00,0x20,0x00,0x7e]
-0x00,0x20,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e64 v5, s[2:3] clamp ; encoding: [0x05,0x80,0x4f,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x4f,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e32 v[254:255], s0 ; encoding: [0x00,0x20,0xfc,0x7f]
-0x00,0x20,0xfc,0x7f
+# CHECK: v_cvt_f32_f64_e64 v5, s[2:3] mul:2 ; encoding: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x08]
+0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x08
-# CHECK: v_cvt_f64_f32_e32 v[0:1], s101 ; encoding: [0x65,0x20,0x00,0x7e]
-0x65,0x20,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e64 v5, s[2:3] mul:4 ; encoding: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x10]
+0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x10
-# CHECK: v_cvt_f64_f32_e32 v[0:1], flat_scratch_lo ; encoding: [0x66,0x20,0x00,0x7e]
-0x66,0x20,0x00,0x7e
+# CHECK: v_cvt_f32_f64_e64 v5, s[2:3] div:2 ; encoding: [0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x18]
+0x05,0x00,0x4f,0xd1,0x02,0x00,0x00,0x18
-# CHECK: v_cvt_f64_f32_e32 v[0:1], flat_scratch_hi ; encoding: [0x67,0x20,0x00,0x7e]
-0x67,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], s1 ; encoding: [0x01,0x20,0x0a,0x7e]
+0x01,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], vcc_lo ; encoding: [0x6a,0x20,0x00,0x7e]
-0x6a,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[254:255], s1 ; encoding: [0x01,0x20,0xfc,0x7f]
+0x01,0x20,0xfc,0x7f
-# CHECK: v_cvt_f64_f32_e32 v[0:1], vcc_hi ; encoding: [0x6b,0x20,0x00,0x7e]
-0x6b,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], s101 ; encoding: [0x65,0x20,0x0a,0x7e]
+0x65,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], tba_lo ; encoding: [0x6c,0x20,0x00,0x7e]
-0x6c,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], flat_scratch_lo ; encoding: [0x66,0x20,0x0a,0x7e]
+0x66,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], tba_hi ; encoding: [0x6d,0x20,0x00,0x7e]
-0x6d,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], flat_scratch_hi ; encoding: [0x67,0x20,0x0a,0x7e]
+0x67,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], tma_lo ; encoding: [0x6e,0x20,0x00,0x7e]
-0x6e,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], vcc_lo ; encoding: [0x6a,0x20,0x0a,0x7e]
+0x6a,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], tma_hi ; encoding: [0x6f,0x20,0x00,0x7e]
-0x6f,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], vcc_hi ; encoding: [0x6b,0x20,0x0a,0x7e]
+0x6b,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], ttmp11 ; encoding: [0x7b,0x20,0x00,0x7e]
-0x7b,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], tba_lo ; encoding: [0x6c,0x20,0x0a,0x7e]
+0x6c,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], m0 ; encoding: [0x7c,0x20,0x00,0x7e]
-0x7c,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], tba_hi ; encoding: [0x6d,0x20,0x0a,0x7e]
+0x6d,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], exec_lo ; encoding: [0x7e,0x20,0x00,0x7e]
-0x7e,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], tma_lo ; encoding: [0x6e,0x20,0x0a,0x7e]
+0x6e,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], exec_hi ; encoding: [0x7f,0x20,0x00,0x7e]
-0x7f,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], tma_hi ; encoding: [0x6f,0x20,0x0a,0x7e]
+0x6f,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], 0 ; encoding: [0x80,0x20,0x00,0x7e]
-0x80,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], ttmp11 ; encoding: [0x7b,0x20,0x0a,0x7e]
+0x7b,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], -1 ; encoding: [0xc1,0x20,0x00,0x7e]
-0xc1,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], m0 ; encoding: [0x7c,0x20,0x0a,0x7e]
+0x7c,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], 0.5 ; encoding: [0xf0,0x20,0x00,0x7e]
-0xf0,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], exec_lo ; encoding: [0x7e,0x20,0x0a,0x7e]
+0x7e,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], -4.0 ; encoding: [0xf7,0x20,0x00,0x7e]
-0xf7,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], exec_hi ; encoding: [0x7f,0x20,0x0a,0x7e]
+0x7f,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], scc ; encoding: [0xfd,0x20,0x00,0x7e]
-0xfd,0x20,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], 0 ; encoding: [0x80,0x20,0x0a,0x7e]
+0x80,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x20,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x20,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f64_f32_e32 v[5:6], -1 ; encoding: [0xc1,0x20,0x0a,0x7e]
+0xc1,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x20,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x20,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f64_f32_e32 v[5:6], 0.5 ; encoding: [0xf0,0x20,0x0a,0x7e]
+0xf0,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], v0 ; encoding: [0x00,0x21,0x00,0x7e]
-0x00,0x21,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], -4.0 ; encoding: [0xf7,0x20,0x0a,0x7e]
+0xf7,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e32 v[0:1], v255 ; encoding: [0xff,0x21,0x00,0x7e]
-0xff,0x21,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e32 v[5:6], scc ; encoding: [0xfd,0x20,0x0a,0x7e]
+0xfd,0x20,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e64 v[0:1], s0 ; encoding: [0x00,0x00,0x50,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x20,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x20,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f64_f32_e64 v[254:255], s0 ; encoding: [0xfe,0x00,0x50,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x50,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x20,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x20,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f64_f32_e64 v[0:1], s101 ; encoding: [0x00,0x00,0x50,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e32 v[5:6], v1 ; encoding: [0x01,0x21,0x0a,0x7e]
+0x01,0x21,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e64 v[0:1], flat_scratch_lo ; encoding: [0x00,0x00,0x50,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e32 v[5:6], v255 ; encoding: [0xff,0x21,0x0a,0x7e]
+0xff,0x21,0x0a,0x7e
-# CHECK: v_cvt_f64_f32_e64 v[0:1], flat_scratch_hi ; encoding: [0x00,0x00,0x50,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], s1 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], vcc_lo ; encoding: [0x00,0x00,0x50,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[254:255], s1 ; encoding: [0xfe,0x00,0x50,0xd1,0x01,0x00,0x00,0x00]
+0xfe,0x00,0x50,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], vcc_hi ; encoding: [0x00,0x00,0x50,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], s101 ; encoding: [0x05,0x00,0x50,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], tba_lo ; encoding: [0x00,0x00,0x50,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], flat_scratch_lo ; encoding: [0x05,0x00,0x50,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], tba_hi ; encoding: [0x00,0x00,0x50,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], flat_scratch_hi ; encoding: [0x05,0x00,0x50,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], tma_lo ; encoding: [0x00,0x00,0x50,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], vcc_lo ; encoding: [0x05,0x00,0x50,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], tma_hi ; encoding: [0x00,0x00,0x50,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], vcc_hi ; encoding: [0x05,0x00,0x50,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], ttmp11 ; encoding: [0x00,0x00,0x50,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], tba_lo ; encoding: [0x05,0x00,0x50,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], m0 ; encoding: [0x00,0x00,0x50,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], tba_hi ; encoding: [0x05,0x00,0x50,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], exec_lo ; encoding: [0x00,0x00,0x50,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], tma_lo ; encoding: [0x05,0x00,0x50,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], exec_hi ; encoding: [0x00,0x00,0x50,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], tma_hi ; encoding: [0x05,0x00,0x50,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x50,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], ttmp11 ; encoding: [0x05,0x00,0x50,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x50,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], m0 ; encoding: [0x05,0x00,0x50,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x50,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], exec_lo ; encoding: [0x05,0x00,0x50,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x50,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], exec_hi ; encoding: [0x05,0x00,0x50,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], scc ; encoding: [0x00,0x00,0x50,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x50,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], v0 ; encoding: [0x00,0x00,0x50,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x50,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x50,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], v255 ; encoding: [0x00,0x00,0x50,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x50,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x50,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], -s0 ; encoding: [0x00,0x00,0x50,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x50,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cvt_f64_f32_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x50,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], |s0| ; encoding: [0x00,0x01,0x50,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x50,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], scc ; encoding: [0x05,0x00,0x50,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x50,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], s0 clamp ; encoding: [0x00,0x80,0x50,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x50,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f64_f32_e64 v[5:6], v1 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x50,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], s0 mul:2 ; encoding: [0x00,0x00,0x50,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x50,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cvt_f64_f32_e64 v[5:6], v255 ; encoding: [0x05,0x00,0x50,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x50,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_f64_f32_e64 v[0:1], s0 mul:4 ; encoding: [0x00,0x00,0x50,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x50,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cvt_f64_f32_e64 v[5:6], -s1 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_cvt_f64_f32_e64 v[0:1], s0 div:2 ; encoding: [0x00,0x00,0x50,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x50,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cvt_f64_f32_e64 v[5:6], |s1| ; encoding: [0x05,0x01,0x50,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x50,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e32 v0, s0 ; encoding: [0x00,0x22,0x00,0x7e]
-0x00,0x22,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e64 v[5:6], s1 clamp ; encoding: [0x05,0x80,0x50,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x50,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e32 v255, s0 ; encoding: [0x00,0x22,0xfe,0x7f]
-0x00,0x22,0xfe,0x7f
+# CHECK: v_cvt_f64_f32_e64 v[5:6], s1 mul:2 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_cvt_f32_ubyte0_e32 v0, s101 ; encoding: [0x65,0x22,0x00,0x7e]
-0x65,0x22,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e64 v[5:6], s1 mul:4 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_cvt_f32_ubyte0_e32 v0, flat_scratch_lo ; encoding: [0x66,0x22,0x00,0x7e]
-0x66,0x22,0x00,0x7e
+# CHECK: v_cvt_f64_f32_e64 v[5:6], s1 div:2 ; encoding: [0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x50,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_cvt_f32_ubyte0_e32 v0, flat_scratch_hi ; encoding: [0x67,0x22,0x00,0x7e]
-0x67,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, s1 ; encoding: [0x01,0x22,0x0a,0x7e]
+0x01,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, vcc_lo ; encoding: [0x6a,0x22,0x00,0x7e]
-0x6a,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v255, s1 ; encoding: [0x01,0x22,0xfe,0x7f]
+0x01,0x22,0xfe,0x7f
-# CHECK: v_cvt_f32_ubyte0_e32 v0, vcc_hi ; encoding: [0x6b,0x22,0x00,0x7e]
-0x6b,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, s101 ; encoding: [0x65,0x22,0x0a,0x7e]
+0x65,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, tba_lo ; encoding: [0x6c,0x22,0x00,0x7e]
-0x6c,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, flat_scratch_lo ; encoding: [0x66,0x22,0x0a,0x7e]
+0x66,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, tba_hi ; encoding: [0x6d,0x22,0x00,0x7e]
-0x6d,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, flat_scratch_hi ; encoding: [0x67,0x22,0x0a,0x7e]
+0x67,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, tma_lo ; encoding: [0x6e,0x22,0x00,0x7e]
-0x6e,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, vcc_lo ; encoding: [0x6a,0x22,0x0a,0x7e]
+0x6a,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, tma_hi ; encoding: [0x6f,0x22,0x00,0x7e]
-0x6f,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, vcc_hi ; encoding: [0x6b,0x22,0x0a,0x7e]
+0x6b,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, ttmp11 ; encoding: [0x7b,0x22,0x00,0x7e]
-0x7b,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, tba_lo ; encoding: [0x6c,0x22,0x0a,0x7e]
+0x6c,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, m0 ; encoding: [0x7c,0x22,0x00,0x7e]
-0x7c,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, tba_hi ; encoding: [0x6d,0x22,0x0a,0x7e]
+0x6d,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, exec_lo ; encoding: [0x7e,0x22,0x00,0x7e]
-0x7e,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, tma_lo ; encoding: [0x6e,0x22,0x0a,0x7e]
+0x6e,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, exec_hi ; encoding: [0x7f,0x22,0x00,0x7e]
-0x7f,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, tma_hi ; encoding: [0x6f,0x22,0x0a,0x7e]
+0x6f,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, 0 ; encoding: [0x80,0x22,0x00,0x7e]
-0x80,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, ttmp11 ; encoding: [0x7b,0x22,0x0a,0x7e]
+0x7b,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, -1 ; encoding: [0xc1,0x22,0x00,0x7e]
-0xc1,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, m0 ; encoding: [0x7c,0x22,0x0a,0x7e]
+0x7c,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, 0.5 ; encoding: [0xf0,0x22,0x00,0x7e]
-0xf0,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, exec_lo ; encoding: [0x7e,0x22,0x0a,0x7e]
+0x7e,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, -4.0 ; encoding: [0xf7,0x22,0x00,0x7e]
-0xf7,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, exec_hi ; encoding: [0x7f,0x22,0x0a,0x7e]
+0x7f,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, scc ; encoding: [0xfd,0x22,0x00,0x7e]
-0xfd,0x22,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, 0 ; encoding: [0x80,0x22,0x0a,0x7e]
+0x80,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, 0xaf123456 ; encoding: [0xff,0x22,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x22,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f32_ubyte0_e32 v5, -1 ; encoding: [0xc1,0x22,0x0a,0x7e]
+0xc1,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, 0x3f717273 ; encoding: [0xff,0x22,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x22,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f32_ubyte0_e32 v5, 0.5 ; encoding: [0xf0,0x22,0x0a,0x7e]
+0xf0,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, v0 ; encoding: [0x00,0x23,0x00,0x7e]
-0x00,0x23,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, -4.0 ; encoding: [0xf7,0x22,0x0a,0x7e]
+0xf7,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e32 v0, v255 ; encoding: [0xff,0x23,0x00,0x7e]
-0xff,0x23,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e32 v5, scc ; encoding: [0xfd,0x22,0x0a,0x7e]
+0xfd,0x22,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e64 v0, s0 ; encoding: [0x00,0x00,0x51,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e32 v5, 0xaf123456 ; encoding: [0xff,0x22,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x22,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f32_ubyte0_e64 v255, s0 ; encoding: [0xff,0x00,0x51,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x51,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e32 v5, 0x3f717273 ; encoding: [0xff,0x22,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x22,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f32_ubyte0_e64 v0, s101 ; encoding: [0x00,0x00,0x51,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e32 v5, v1 ; encoding: [0x01,0x23,0x0a,0x7e]
+0x01,0x23,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x51,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e32 v5, v255 ; encoding: [0xff,0x23,0x0a,0x7e]
+0xff,0x23,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte0_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x51,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, s1 ; encoding: [0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x51,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v255, s1 ; encoding: [0xff,0x00,0x51,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x51,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x51,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, s101 ; encoding: [0x05,0x00,0x51,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, tba_lo ; encoding: [0x00,0x00,0x51,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x51,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, tba_hi ; encoding: [0x00,0x00,0x51,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x51,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, tma_lo ; encoding: [0x00,0x00,0x51,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x51,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, tma_hi ; encoding: [0x00,0x00,0x51,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x51,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x51,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, tba_lo ; encoding: [0x05,0x00,0x51,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, m0 ; encoding: [0x00,0x00,0x51,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, tba_hi ; encoding: [0x05,0x00,0x51,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, exec_lo ; encoding: [0x00,0x00,0x51,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, tma_lo ; encoding: [0x05,0x00,0x51,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, exec_hi ; encoding: [0x00,0x00,0x51,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, tma_hi ; encoding: [0x05,0x00,0x51,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, 0 ; encoding: [0x00,0x00,0x51,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x51,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, -1 ; encoding: [0x00,0x00,0x51,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, m0 ; encoding: [0x05,0x00,0x51,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, 0.5 ; encoding: [0x00,0x00,0x51,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, exec_lo ; encoding: [0x05,0x00,0x51,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, -4.0 ; encoding: [0x00,0x00,0x51,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, exec_hi ; encoding: [0x05,0x00,0x51,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, scc ; encoding: [0x00,0x00,0x51,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, 0 ; encoding: [0x05,0x00,0x51,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, v0 ; encoding: [0x00,0x00,0x51,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x51,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, -1 ; encoding: [0x05,0x00,0x51,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_e64 v0, v255 ; encoding: [0x00,0x00,0x51,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x51,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_e64 v5, 0.5 ; encoding: [0x05,0x00,0x51,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e32 v0, s0 ; encoding: [0x00,0x24,0x00,0x7e]
-0x00,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e64 v5, -4.0 ; encoding: [0x05,0x00,0x51,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e32 v255, s0 ; encoding: [0x00,0x24,0xfe,0x7f]
-0x00,0x24,0xfe,0x7f
+# CHECK: v_cvt_f32_ubyte0_e64 v5, scc ; encoding: [0x05,0x00,0x51,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x51,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e32 v0, s101 ; encoding: [0x65,0x24,0x00,0x7e]
-0x65,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e64 v5, v1 ; encoding: [0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x51,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e32 v0, flat_scratch_lo ; encoding: [0x66,0x24,0x00,0x7e]
-0x66,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte0_e64 v5, v255 ; encoding: [0x05,0x00,0x51,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x51,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e32 v0, flat_scratch_hi ; encoding: [0x67,0x24,0x00,0x7e]
-0x67,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, s1 ; encoding: [0x01,0x24,0x0a,0x7e]
+0x01,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, vcc_lo ; encoding: [0x6a,0x24,0x00,0x7e]
-0x6a,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v255, s1 ; encoding: [0x01,0x24,0xfe,0x7f]
+0x01,0x24,0xfe,0x7f
-# CHECK: v_cvt_f32_ubyte1_e32 v0, vcc_hi ; encoding: [0x6b,0x24,0x00,0x7e]
-0x6b,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, s101 ; encoding: [0x65,0x24,0x0a,0x7e]
+0x65,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, tba_lo ; encoding: [0x6c,0x24,0x00,0x7e]
-0x6c,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, flat_scratch_lo ; encoding: [0x66,0x24,0x0a,0x7e]
+0x66,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, tba_hi ; encoding: [0x6d,0x24,0x00,0x7e]
-0x6d,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, flat_scratch_hi ; encoding: [0x67,0x24,0x0a,0x7e]
+0x67,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, tma_lo ; encoding: [0x6e,0x24,0x00,0x7e]
-0x6e,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, vcc_lo ; encoding: [0x6a,0x24,0x0a,0x7e]
+0x6a,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, tma_hi ; encoding: [0x6f,0x24,0x00,0x7e]
-0x6f,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, vcc_hi ; encoding: [0x6b,0x24,0x0a,0x7e]
+0x6b,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, ttmp11 ; encoding: [0x7b,0x24,0x00,0x7e]
-0x7b,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, tba_lo ; encoding: [0x6c,0x24,0x0a,0x7e]
+0x6c,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, m0 ; encoding: [0x7c,0x24,0x00,0x7e]
-0x7c,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, tba_hi ; encoding: [0x6d,0x24,0x0a,0x7e]
+0x6d,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, exec_lo ; encoding: [0x7e,0x24,0x00,0x7e]
-0x7e,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, tma_lo ; encoding: [0x6e,0x24,0x0a,0x7e]
+0x6e,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, exec_hi ; encoding: [0x7f,0x24,0x00,0x7e]
-0x7f,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, tma_hi ; encoding: [0x6f,0x24,0x0a,0x7e]
+0x6f,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, 0 ; encoding: [0x80,0x24,0x00,0x7e]
-0x80,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, ttmp11 ; encoding: [0x7b,0x24,0x0a,0x7e]
+0x7b,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, -1 ; encoding: [0xc1,0x24,0x00,0x7e]
-0xc1,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, m0 ; encoding: [0x7c,0x24,0x0a,0x7e]
+0x7c,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, 0.5 ; encoding: [0xf0,0x24,0x00,0x7e]
-0xf0,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, exec_lo ; encoding: [0x7e,0x24,0x0a,0x7e]
+0x7e,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, -4.0 ; encoding: [0xf7,0x24,0x00,0x7e]
-0xf7,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, exec_hi ; encoding: [0x7f,0x24,0x0a,0x7e]
+0x7f,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, scc ; encoding: [0xfd,0x24,0x00,0x7e]
-0xfd,0x24,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, 0 ; encoding: [0x80,0x24,0x0a,0x7e]
+0x80,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, 0xaf123456 ; encoding: [0xff,0x24,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x24,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f32_ubyte1_e32 v5, -1 ; encoding: [0xc1,0x24,0x0a,0x7e]
+0xc1,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, 0x3f717273 ; encoding: [0xff,0x24,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x24,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f32_ubyte1_e32 v5, 0.5 ; encoding: [0xf0,0x24,0x0a,0x7e]
+0xf0,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, v0 ; encoding: [0x00,0x25,0x00,0x7e]
-0x00,0x25,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, -4.0 ; encoding: [0xf7,0x24,0x0a,0x7e]
+0xf7,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e32 v0, v255 ; encoding: [0xff,0x25,0x00,0x7e]
-0xff,0x25,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e32 v5, scc ; encoding: [0xfd,0x24,0x0a,0x7e]
+0xfd,0x24,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e64 v0, s0 ; encoding: [0x00,0x00,0x52,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e32 v5, 0xaf123456 ; encoding: [0xff,0x24,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x24,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f32_ubyte1_e64 v255, s0 ; encoding: [0xff,0x00,0x52,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x52,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e32 v5, 0x3f717273 ; encoding: [0xff,0x24,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x24,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f32_ubyte1_e64 v0, s101 ; encoding: [0x00,0x00,0x52,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e32 v5, v1 ; encoding: [0x01,0x25,0x0a,0x7e]
+0x01,0x25,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x52,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e32 v5, v255 ; encoding: [0xff,0x25,0x0a,0x7e]
+0xff,0x25,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte1_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x52,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, s1 ; encoding: [0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x52,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v255, s1 ; encoding: [0xff,0x00,0x52,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x52,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x52,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, s101 ; encoding: [0x05,0x00,0x52,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, tba_lo ; encoding: [0x00,0x00,0x52,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x52,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, tba_hi ; encoding: [0x00,0x00,0x52,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x52,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, tma_lo ; encoding: [0x00,0x00,0x52,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x52,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, tma_hi ; encoding: [0x00,0x00,0x52,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x52,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x52,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, tba_lo ; encoding: [0x05,0x00,0x52,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, m0 ; encoding: [0x00,0x00,0x52,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, tba_hi ; encoding: [0x05,0x00,0x52,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, exec_lo ; encoding: [0x00,0x00,0x52,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, tma_lo ; encoding: [0x05,0x00,0x52,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, exec_hi ; encoding: [0x00,0x00,0x52,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, tma_hi ; encoding: [0x05,0x00,0x52,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, 0 ; encoding: [0x00,0x00,0x52,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x52,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, -1 ; encoding: [0x00,0x00,0x52,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, m0 ; encoding: [0x05,0x00,0x52,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, 0.5 ; encoding: [0x00,0x00,0x52,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, exec_lo ; encoding: [0x05,0x00,0x52,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, -4.0 ; encoding: [0x00,0x00,0x52,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, exec_hi ; encoding: [0x05,0x00,0x52,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, scc ; encoding: [0x00,0x00,0x52,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, 0 ; encoding: [0x05,0x00,0x52,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, v0 ; encoding: [0x00,0x00,0x52,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x52,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, -1 ; encoding: [0x05,0x00,0x52,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_e64 v0, v255 ; encoding: [0x00,0x00,0x52,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x52,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_e64 v5, 0.5 ; encoding: [0x05,0x00,0x52,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e32 v0, s0 ; encoding: [0x00,0x26,0x00,0x7e]
-0x00,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e64 v5, -4.0 ; encoding: [0x05,0x00,0x52,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e32 v255, s0 ; encoding: [0x00,0x26,0xfe,0x7f]
-0x00,0x26,0xfe,0x7f
+# CHECK: v_cvt_f32_ubyte1_e64 v5, scc ; encoding: [0x05,0x00,0x52,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x52,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e32 v0, s101 ; encoding: [0x65,0x26,0x00,0x7e]
-0x65,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e64 v5, v1 ; encoding: [0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x52,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e32 v0, flat_scratch_lo ; encoding: [0x66,0x26,0x00,0x7e]
-0x66,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte1_e64 v5, v255 ; encoding: [0x05,0x00,0x52,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x52,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e32 v0, flat_scratch_hi ; encoding: [0x67,0x26,0x00,0x7e]
-0x67,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, s1 ; encoding: [0x01,0x26,0x0a,0x7e]
+0x01,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, vcc_lo ; encoding: [0x6a,0x26,0x00,0x7e]
-0x6a,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v255, s1 ; encoding: [0x01,0x26,0xfe,0x7f]
+0x01,0x26,0xfe,0x7f
-# CHECK: v_cvt_f32_ubyte2_e32 v0, vcc_hi ; encoding: [0x6b,0x26,0x00,0x7e]
-0x6b,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, s101 ; encoding: [0x65,0x26,0x0a,0x7e]
+0x65,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, tba_lo ; encoding: [0x6c,0x26,0x00,0x7e]
-0x6c,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, flat_scratch_lo ; encoding: [0x66,0x26,0x0a,0x7e]
+0x66,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, tba_hi ; encoding: [0x6d,0x26,0x00,0x7e]
-0x6d,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, flat_scratch_hi ; encoding: [0x67,0x26,0x0a,0x7e]
+0x67,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, tma_lo ; encoding: [0x6e,0x26,0x00,0x7e]
-0x6e,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, vcc_lo ; encoding: [0x6a,0x26,0x0a,0x7e]
+0x6a,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, tma_hi ; encoding: [0x6f,0x26,0x00,0x7e]
-0x6f,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, vcc_hi ; encoding: [0x6b,0x26,0x0a,0x7e]
+0x6b,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, ttmp11 ; encoding: [0x7b,0x26,0x00,0x7e]
-0x7b,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, tba_lo ; encoding: [0x6c,0x26,0x0a,0x7e]
+0x6c,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, m0 ; encoding: [0x7c,0x26,0x00,0x7e]
-0x7c,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, tba_hi ; encoding: [0x6d,0x26,0x0a,0x7e]
+0x6d,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, exec_lo ; encoding: [0x7e,0x26,0x00,0x7e]
-0x7e,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, tma_lo ; encoding: [0x6e,0x26,0x0a,0x7e]
+0x6e,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, exec_hi ; encoding: [0x7f,0x26,0x00,0x7e]
-0x7f,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, tma_hi ; encoding: [0x6f,0x26,0x0a,0x7e]
+0x6f,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, 0 ; encoding: [0x80,0x26,0x00,0x7e]
-0x80,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, ttmp11 ; encoding: [0x7b,0x26,0x0a,0x7e]
+0x7b,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, -1 ; encoding: [0xc1,0x26,0x00,0x7e]
-0xc1,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, m0 ; encoding: [0x7c,0x26,0x0a,0x7e]
+0x7c,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, 0.5 ; encoding: [0xf0,0x26,0x00,0x7e]
-0xf0,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, exec_lo ; encoding: [0x7e,0x26,0x0a,0x7e]
+0x7e,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, -4.0 ; encoding: [0xf7,0x26,0x00,0x7e]
-0xf7,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, exec_hi ; encoding: [0x7f,0x26,0x0a,0x7e]
+0x7f,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, scc ; encoding: [0xfd,0x26,0x00,0x7e]
-0xfd,0x26,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, 0 ; encoding: [0x80,0x26,0x0a,0x7e]
+0x80,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, 0xaf123456 ; encoding: [0xff,0x26,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x26,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f32_ubyte2_e32 v5, -1 ; encoding: [0xc1,0x26,0x0a,0x7e]
+0xc1,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, 0x3f717273 ; encoding: [0xff,0x26,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x26,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f32_ubyte2_e32 v5, 0.5 ; encoding: [0xf0,0x26,0x0a,0x7e]
+0xf0,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, v0 ; encoding: [0x00,0x27,0x00,0x7e]
-0x00,0x27,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, -4.0 ; encoding: [0xf7,0x26,0x0a,0x7e]
+0xf7,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e32 v0, v255 ; encoding: [0xff,0x27,0x00,0x7e]
-0xff,0x27,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e32 v5, scc ; encoding: [0xfd,0x26,0x0a,0x7e]
+0xfd,0x26,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e64 v0, s0 ; encoding: [0x00,0x00,0x53,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e32 v5, 0xaf123456 ; encoding: [0xff,0x26,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x26,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f32_ubyte2_e64 v255, s0 ; encoding: [0xff,0x00,0x53,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x53,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e32 v5, 0x3f717273 ; encoding: [0xff,0x26,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x26,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f32_ubyte2_e64 v0, s101 ; encoding: [0x00,0x00,0x53,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e32 v5, v1 ; encoding: [0x01,0x27,0x0a,0x7e]
+0x01,0x27,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x53,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e32 v5, v255 ; encoding: [0xff,0x27,0x0a,0x7e]
+0xff,0x27,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte2_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x53,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, s1 ; encoding: [0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x53,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v255, s1 ; encoding: [0xff,0x00,0x53,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x53,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x53,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, s101 ; encoding: [0x05,0x00,0x53,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, tba_lo ; encoding: [0x00,0x00,0x53,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x53,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, tba_hi ; encoding: [0x00,0x00,0x53,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x53,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, tma_lo ; encoding: [0x00,0x00,0x53,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x53,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, tma_hi ; encoding: [0x00,0x00,0x53,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x53,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x53,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, tba_lo ; encoding: [0x05,0x00,0x53,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, m0 ; encoding: [0x00,0x00,0x53,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, tba_hi ; encoding: [0x05,0x00,0x53,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, exec_lo ; encoding: [0x00,0x00,0x53,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, tma_lo ; encoding: [0x05,0x00,0x53,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, exec_hi ; encoding: [0x00,0x00,0x53,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, tma_hi ; encoding: [0x05,0x00,0x53,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, 0 ; encoding: [0x00,0x00,0x53,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x53,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, -1 ; encoding: [0x00,0x00,0x53,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, m0 ; encoding: [0x05,0x00,0x53,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, 0.5 ; encoding: [0x00,0x00,0x53,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, exec_lo ; encoding: [0x05,0x00,0x53,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, -4.0 ; encoding: [0x00,0x00,0x53,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, exec_hi ; encoding: [0x05,0x00,0x53,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, scc ; encoding: [0x00,0x00,0x53,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, 0 ; encoding: [0x05,0x00,0x53,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, v0 ; encoding: [0x00,0x00,0x53,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x53,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, -1 ; encoding: [0x05,0x00,0x53,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_e64 v0, v255 ; encoding: [0x00,0x00,0x53,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x53,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_e64 v5, 0.5 ; encoding: [0x05,0x00,0x53,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e32 v0, s0 ; encoding: [0x00,0x28,0x00,0x7e]
-0x00,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e64 v5, -4.0 ; encoding: [0x05,0x00,0x53,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e32 v255, s0 ; encoding: [0x00,0x28,0xfe,0x7f]
-0x00,0x28,0xfe,0x7f
+# CHECK: v_cvt_f32_ubyte2_e64 v5, scc ; encoding: [0x05,0x00,0x53,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x53,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e32 v0, s101 ; encoding: [0x65,0x28,0x00,0x7e]
-0x65,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e64 v5, v1 ; encoding: [0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x53,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e32 v0, flat_scratch_lo ; encoding: [0x66,0x28,0x00,0x7e]
-0x66,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte2_e64 v5, v255 ; encoding: [0x05,0x00,0x53,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x53,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e32 v0, flat_scratch_hi ; encoding: [0x67,0x28,0x00,0x7e]
-0x67,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, s1 ; encoding: [0x01,0x28,0x0a,0x7e]
+0x01,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, vcc_lo ; encoding: [0x6a,0x28,0x00,0x7e]
-0x6a,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v255, s1 ; encoding: [0x01,0x28,0xfe,0x7f]
+0x01,0x28,0xfe,0x7f
-# CHECK: v_cvt_f32_ubyte3_e32 v0, vcc_hi ; encoding: [0x6b,0x28,0x00,0x7e]
-0x6b,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, s101 ; encoding: [0x65,0x28,0x0a,0x7e]
+0x65,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, tba_lo ; encoding: [0x6c,0x28,0x00,0x7e]
-0x6c,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, flat_scratch_lo ; encoding: [0x66,0x28,0x0a,0x7e]
+0x66,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, tba_hi ; encoding: [0x6d,0x28,0x00,0x7e]
-0x6d,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, flat_scratch_hi ; encoding: [0x67,0x28,0x0a,0x7e]
+0x67,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, tma_lo ; encoding: [0x6e,0x28,0x00,0x7e]
-0x6e,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, vcc_lo ; encoding: [0x6a,0x28,0x0a,0x7e]
+0x6a,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, tma_hi ; encoding: [0x6f,0x28,0x00,0x7e]
-0x6f,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, vcc_hi ; encoding: [0x6b,0x28,0x0a,0x7e]
+0x6b,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, ttmp11 ; encoding: [0x7b,0x28,0x00,0x7e]
-0x7b,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, tba_lo ; encoding: [0x6c,0x28,0x0a,0x7e]
+0x6c,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, m0 ; encoding: [0x7c,0x28,0x00,0x7e]
-0x7c,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, tba_hi ; encoding: [0x6d,0x28,0x0a,0x7e]
+0x6d,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, exec_lo ; encoding: [0x7e,0x28,0x00,0x7e]
-0x7e,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, tma_lo ; encoding: [0x6e,0x28,0x0a,0x7e]
+0x6e,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, exec_hi ; encoding: [0x7f,0x28,0x00,0x7e]
-0x7f,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, tma_hi ; encoding: [0x6f,0x28,0x0a,0x7e]
+0x6f,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, 0 ; encoding: [0x80,0x28,0x00,0x7e]
-0x80,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, ttmp11 ; encoding: [0x7b,0x28,0x0a,0x7e]
+0x7b,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, -1 ; encoding: [0xc1,0x28,0x00,0x7e]
-0xc1,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, m0 ; encoding: [0x7c,0x28,0x0a,0x7e]
+0x7c,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, 0.5 ; encoding: [0xf0,0x28,0x00,0x7e]
-0xf0,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, exec_lo ; encoding: [0x7e,0x28,0x0a,0x7e]
+0x7e,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, -4.0 ; encoding: [0xf7,0x28,0x00,0x7e]
-0xf7,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, exec_hi ; encoding: [0x7f,0x28,0x0a,0x7e]
+0x7f,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, scc ; encoding: [0xfd,0x28,0x00,0x7e]
-0xfd,0x28,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, 0 ; encoding: [0x80,0x28,0x0a,0x7e]
+0x80,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, 0xaf123456 ; encoding: [0xff,0x28,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x28,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f32_ubyte3_e32 v5, -1 ; encoding: [0xc1,0x28,0x0a,0x7e]
+0xc1,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, 0x3f717273 ; encoding: [0xff,0x28,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x28,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f32_ubyte3_e32 v5, 0.5 ; encoding: [0xf0,0x28,0x0a,0x7e]
+0xf0,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, v0 ; encoding: [0x00,0x29,0x00,0x7e]
-0x00,0x29,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, -4.0 ; encoding: [0xf7,0x28,0x0a,0x7e]
+0xf7,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e32 v0, v255 ; encoding: [0xff,0x29,0x00,0x7e]
-0xff,0x29,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e32 v5, scc ; encoding: [0xfd,0x28,0x0a,0x7e]
+0xfd,0x28,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e64 v0, s0 ; encoding: [0x00,0x00,0x54,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e32 v5, 0xaf123456 ; encoding: [0xff,0x28,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x28,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f32_ubyte3_e64 v255, s0 ; encoding: [0xff,0x00,0x54,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x54,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e32 v5, 0x3f717273 ; encoding: [0xff,0x28,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x28,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f32_ubyte3_e64 v0, s101 ; encoding: [0x00,0x00,0x54,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e32 v5, v1 ; encoding: [0x01,0x29,0x0a,0x7e]
+0x01,0x29,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x54,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e32 v5, v255 ; encoding: [0xff,0x29,0x0a,0x7e]
+0xff,0x29,0x0a,0x7e
-# CHECK: v_cvt_f32_ubyte3_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x54,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, s1 ; encoding: [0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x54,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v255, s1 ; encoding: [0xff,0x00,0x54,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x54,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x54,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, s101 ; encoding: [0x05,0x00,0x54,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, tba_lo ; encoding: [0x00,0x00,0x54,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x54,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, tba_hi ; encoding: [0x00,0x00,0x54,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x54,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, tma_lo ; encoding: [0x00,0x00,0x54,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x54,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, tma_hi ; encoding: [0x00,0x00,0x54,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x54,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x54,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, tba_lo ; encoding: [0x05,0x00,0x54,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, m0 ; encoding: [0x00,0x00,0x54,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, tba_hi ; encoding: [0x05,0x00,0x54,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, exec_lo ; encoding: [0x00,0x00,0x54,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, tma_lo ; encoding: [0x05,0x00,0x54,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, exec_hi ; encoding: [0x00,0x00,0x54,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, tma_hi ; encoding: [0x05,0x00,0x54,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, 0 ; encoding: [0x00,0x00,0x54,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x54,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, -1 ; encoding: [0x00,0x00,0x54,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, m0 ; encoding: [0x05,0x00,0x54,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, 0.5 ; encoding: [0x00,0x00,0x54,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, exec_lo ; encoding: [0x05,0x00,0x54,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, -4.0 ; encoding: [0x00,0x00,0x54,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, exec_hi ; encoding: [0x05,0x00,0x54,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, scc ; encoding: [0x00,0x00,0x54,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, 0 ; encoding: [0x05,0x00,0x54,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, v0 ; encoding: [0x00,0x00,0x54,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x54,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, -1 ; encoding: [0x05,0x00,0x54,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_e64 v0, v255 ; encoding: [0x00,0x00,0x54,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x54,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_e64 v5, 0.5 ; encoding: [0x05,0x00,0x54,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e32 v0, s[0:1] ; encoding: [0x00,0x2a,0x00,0x7e]
-0x00,0x2a,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e64 v5, -4.0 ; encoding: [0x05,0x00,0x54,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e32 v255, s[0:1] ; encoding: [0x00,0x2a,0xfe,0x7f]
-0x00,0x2a,0xfe,0x7f
+# CHECK: v_cvt_f32_ubyte3_e64 v5, scc ; encoding: [0x05,0x00,0x54,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x54,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e32 v0, s[2:3] ; encoding: [0x02,0x2a,0x00,0x7e]
-0x02,0x2a,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e64 v5, v1 ; encoding: [0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x54,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_u32_f64_e32 v0, s[100:101] ; encoding: [0x64,0x2a,0x00,0x7e]
-0x64,0x2a,0x00,0x7e
+# CHECK: v_cvt_f32_ubyte3_e64 v5, v255 ; encoding: [0x05,0x00,0x54,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x54,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cvt_u32_f64_e32 v0, flat_scratch ; encoding: [0x66,0x2a,0x00,0x7e]
-0x66,0x2a,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, s[2:3] ; encoding: [0x02,0x2a,0x0a,0x7e]
+0x02,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, vcc ; encoding: [0x6a,0x2a,0x00,0x7e]
-0x6a,0x2a,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v255, s[2:3] ; encoding: [0x02,0x2a,0xfe,0x7f]
+0x02,0x2a,0xfe,0x7f
-# CHECK: v_cvt_u32_f64_e32 v0, tba ; encoding: [0x6c,0x2a,0x00,0x7e]
-0x6c,0x2a,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, s[4:5] ; encoding: [0x04,0x2a,0x0a,0x7e]
+0x04,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, tma ; encoding: [0x6e,0x2a,0x00,0x7e]
-0x6e,0x2a,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, s[100:101] ; encoding: [0x64,0x2a,0x0a,0x7e]
+0x64,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, ttmp[10:11] ; encoding: [0x7a,0x2a,0x00,0x7e]
-0x7a,0x2a,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, flat_scratch ; encoding: [0x66,0x2a,0x0a,0x7e]
+0x66,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, exec ; encoding: [0x7e,0x2a,0x00,0x7e]
-0x7e,0x2a,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, vcc ; encoding: [0x6a,0x2a,0x0a,0x7e]
+0x6a,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, 0 ; encoding: [0x80,0x2a,0x00,0x7e]
-0x80,0x2a,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, tba ; encoding: [0x6c,0x2a,0x0a,0x7e]
+0x6c,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, -1 ; encoding: [0xc1,0x2a,0x00,0x7e]
-0xc1,0x2a,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, tma ; encoding: [0x6e,0x2a,0x0a,0x7e]
+0x6e,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, 0.5 ; encoding: [0xf0,0x2a,0x00,0x7e]
-0xf0,0x2a,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, ttmp[10:11] ; encoding: [0x7a,0x2a,0x0a,0x7e]
+0x7a,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, -4.0 ; encoding: [0xf7,0x2a,0x00,0x7e]
-0xf7,0x2a,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, exec ; encoding: [0x7e,0x2a,0x0a,0x7e]
+0x7e,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, 0xaf123456 ; encoding: [0xff,0x2a,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x2a,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_u32_f64_e32 v5, 0 ; encoding: [0x80,0x2a,0x0a,0x7e]
+0x80,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, 0x3f717273 ; encoding: [0xff,0x2a,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x2a,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_u32_f64_e32 v5, -1 ; encoding: [0xc1,0x2a,0x0a,0x7e]
+0xc1,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, v[0:1] ; encoding: [0x00,0x2b,0x00,0x7e]
-0x00,0x2b,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, 0.5 ; encoding: [0xf0,0x2a,0x0a,0x7e]
+0xf0,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e32 v0, v[254:255] ; encoding: [0xfe,0x2b,0x00,0x7e]
-0xfe,0x2b,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e32 v5, -4.0 ; encoding: [0xf7,0x2a,0x0a,0x7e]
+0xf7,0x2a,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e64 v0, s[0:1] ; encoding: [0x00,0x00,0x55,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e32 v5, 0xaf123456 ; encoding: [0xff,0x2a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x2a,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_u32_f64_e64 v255, s[0:1] ; encoding: [0xff,0x00,0x55,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x55,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e32 v5, 0x3f717273 ; encoding: [0xff,0x2a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x2a,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_u32_f64_e64 v0, s[2:3] ; encoding: [0x00,0x00,0x55,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e32 v5, v[1:2] ; encoding: [0x01,0x2b,0x0a,0x7e]
+0x01,0x2b,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e64 v0, s[100:101] ; encoding: [0x00,0x00,0x55,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e32 v5, v[254:255] ; encoding: [0xfe,0x2b,0x0a,0x7e]
+0xfe,0x2b,0x0a,0x7e
-# CHECK: v_cvt_u32_f64_e64 v0, flat_scratch ; encoding: [0x00,0x00,0x55,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, s[2:3] ; encoding: [0x05,0x00,0x55,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, vcc ; encoding: [0x00,0x00,0x55,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v255, s[2:3] ; encoding: [0xff,0x00,0x55,0xd1,0x02,0x00,0x00,0x00]
+0xff,0x00,0x55,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, tba ; encoding: [0x00,0x00,0x55,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, s[4:5] ; encoding: [0x05,0x00,0x55,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, tma ; encoding: [0x00,0x00,0x55,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, s[100:101] ; encoding: [0x05,0x00,0x55,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, ttmp[10:11] ; encoding: [0x00,0x00,0x55,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, flat_scratch ; encoding: [0x05,0x00,0x55,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, exec ; encoding: [0x00,0x00,0x55,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, vcc ; encoding: [0x05,0x00,0x55,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, 0 ; encoding: [0x00,0x00,0x55,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, tba ; encoding: [0x05,0x00,0x55,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, -1 ; encoding: [0x00,0x00,0x55,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, tma ; encoding: [0x05,0x00,0x55,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, 0.5 ; encoding: [0x00,0x00,0x55,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, ttmp[10:11] ; encoding: [0x05,0x00,0x55,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, -4.0 ; encoding: [0x00,0x00,0x55,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, exec ; encoding: [0x05,0x00,0x55,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, v[0:1] ; encoding: [0x00,0x00,0x55,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x55,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, 0 ; encoding: [0x05,0x00,0x55,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, v[254:255] ; encoding: [0x00,0x00,0x55,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x55,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, -1 ; encoding: [0x05,0x00,0x55,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, -s[0:1] ; encoding: [0x00,0x00,0x55,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x55,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cvt_u32_f64_e64 v5, 0.5 ; encoding: [0x05,0x00,0x55,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, |s[0:1]| ; encoding: [0x00,0x01,0x55,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x55,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, -4.0 ; encoding: [0x05,0x00,0x55,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x55,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cvt_u32_f64_e64 v0, s[0:1] clamp ; encoding: [0x00,0x80,0x55,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x55,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_u32_f64_e64 v5, v[1:2] ; encoding: [0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x55,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cvt_f64_u32_e32 v[0:1], s0 ; encoding: [0x00,0x2c,0x00,0x7e]
-0x00,0x2c,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e64 v5, v[254:255] ; encoding: [0x05,0x00,0x55,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x55,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_cvt_f64_u32_e32 v[254:255], s0 ; encoding: [0x00,0x2c,0xfc,0x7f]
-0x00,0x2c,0xfc,0x7f
+# CHECK: v_cvt_u32_f64_e64 v5, -s[2:3] ; encoding: [0x05,0x00,0x55,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x55,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_cvt_f64_u32_e32 v[0:1], s101 ; encoding: [0x65,0x2c,0x00,0x7e]
-0x65,0x2c,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e64 v5, |s[2:3]| ; encoding: [0x05,0x01,0x55,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x01,0x55,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e32 v[0:1], flat_scratch_lo ; encoding: [0x66,0x2c,0x00,0x7e]
-0x66,0x2c,0x00,0x7e
+# CHECK: v_cvt_u32_f64_e64 v5, s[2:3] clamp ; encoding: [0x05,0x80,0x55,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x55,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e32 v[0:1], flat_scratch_hi ; encoding: [0x67,0x2c,0x00,0x7e]
-0x67,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], s1 ; encoding: [0x01,0x2c,0x0a,0x7e]
+0x01,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], vcc_lo ; encoding: [0x6a,0x2c,0x00,0x7e]
-0x6a,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[254:255], s1 ; encoding: [0x01,0x2c,0xfc,0x7f]
+0x01,0x2c,0xfc,0x7f
-# CHECK: v_cvt_f64_u32_e32 v[0:1], vcc_hi ; encoding: [0x6b,0x2c,0x00,0x7e]
-0x6b,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], s101 ; encoding: [0x65,0x2c,0x0a,0x7e]
+0x65,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], tba_lo ; encoding: [0x6c,0x2c,0x00,0x7e]
-0x6c,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], flat_scratch_lo ; encoding: [0x66,0x2c,0x0a,0x7e]
+0x66,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], tba_hi ; encoding: [0x6d,0x2c,0x00,0x7e]
-0x6d,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], flat_scratch_hi ; encoding: [0x67,0x2c,0x0a,0x7e]
+0x67,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], tma_lo ; encoding: [0x6e,0x2c,0x00,0x7e]
-0x6e,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], vcc_lo ; encoding: [0x6a,0x2c,0x0a,0x7e]
+0x6a,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], tma_hi ; encoding: [0x6f,0x2c,0x00,0x7e]
-0x6f,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], vcc_hi ; encoding: [0x6b,0x2c,0x0a,0x7e]
+0x6b,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], ttmp11 ; encoding: [0x7b,0x2c,0x00,0x7e]
-0x7b,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], tba_lo ; encoding: [0x6c,0x2c,0x0a,0x7e]
+0x6c,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], m0 ; encoding: [0x7c,0x2c,0x00,0x7e]
-0x7c,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], tba_hi ; encoding: [0x6d,0x2c,0x0a,0x7e]
+0x6d,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], exec_lo ; encoding: [0x7e,0x2c,0x00,0x7e]
-0x7e,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], tma_lo ; encoding: [0x6e,0x2c,0x0a,0x7e]
+0x6e,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], exec_hi ; encoding: [0x7f,0x2c,0x00,0x7e]
-0x7f,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], tma_hi ; encoding: [0x6f,0x2c,0x0a,0x7e]
+0x6f,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], 0 ; encoding: [0x80,0x2c,0x00,0x7e]
-0x80,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], ttmp11 ; encoding: [0x7b,0x2c,0x0a,0x7e]
+0x7b,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], -1 ; encoding: [0xc1,0x2c,0x00,0x7e]
-0xc1,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], m0 ; encoding: [0x7c,0x2c,0x0a,0x7e]
+0x7c,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], 0.5 ; encoding: [0xf0,0x2c,0x00,0x7e]
-0xf0,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], exec_lo ; encoding: [0x7e,0x2c,0x0a,0x7e]
+0x7e,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], -4.0 ; encoding: [0xf7,0x2c,0x00,0x7e]
-0xf7,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], exec_hi ; encoding: [0x7f,0x2c,0x0a,0x7e]
+0x7f,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], scc ; encoding: [0xfd,0x2c,0x00,0x7e]
-0xfd,0x2c,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], 0 ; encoding: [0x80,0x2c,0x0a,0x7e]
+0x80,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x2c,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x2c,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f64_u32_e32 v[5:6], -1 ; encoding: [0xc1,0x2c,0x0a,0x7e]
+0xc1,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x2c,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x2c,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f64_u32_e32 v[5:6], 0.5 ; encoding: [0xf0,0x2c,0x0a,0x7e]
+0xf0,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], v0 ; encoding: [0x00,0x2d,0x00,0x7e]
-0x00,0x2d,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], -4.0 ; encoding: [0xf7,0x2c,0x0a,0x7e]
+0xf7,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e32 v[0:1], v255 ; encoding: [0xff,0x2d,0x00,0x7e]
-0xff,0x2d,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e32 v[5:6], scc ; encoding: [0xfd,0x2c,0x0a,0x7e]
+0xfd,0x2c,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e64 v[0:1], s0 ; encoding: [0x00,0x00,0x56,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x2c,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x2c,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cvt_f64_u32_e64 v[254:255], s0 ; encoding: [0xfe,0x00,0x56,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x56,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x2c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x2c,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cvt_f64_u32_e64 v[0:1], s101 ; encoding: [0x00,0x00,0x56,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e32 v[5:6], v1 ; encoding: [0x01,0x2d,0x0a,0x7e]
+0x01,0x2d,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e64 v[0:1], flat_scratch_lo ; encoding: [0x00,0x00,0x56,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e32 v[5:6], v255 ; encoding: [0xff,0x2d,0x0a,0x7e]
+0xff,0x2d,0x0a,0x7e
-# CHECK: v_cvt_f64_u32_e64 v[0:1], flat_scratch_hi ; encoding: [0x00,0x00,0x56,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], s1 ; encoding: [0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], vcc_lo ; encoding: [0x00,0x00,0x56,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[254:255], s1 ; encoding: [0xfe,0x00,0x56,0xd1,0x01,0x00,0x00,0x00]
+0xfe,0x00,0x56,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], vcc_hi ; encoding: [0x00,0x00,0x56,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], s101 ; encoding: [0x05,0x00,0x56,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], tba_lo ; encoding: [0x00,0x00,0x56,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], flat_scratch_lo ; encoding: [0x05,0x00,0x56,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], tba_hi ; encoding: [0x00,0x00,0x56,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], flat_scratch_hi ; encoding: [0x05,0x00,0x56,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], tma_lo ; encoding: [0x00,0x00,0x56,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], vcc_lo ; encoding: [0x05,0x00,0x56,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], tma_hi ; encoding: [0x00,0x00,0x56,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], vcc_hi ; encoding: [0x05,0x00,0x56,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], ttmp11 ; encoding: [0x00,0x00,0x56,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], tba_lo ; encoding: [0x05,0x00,0x56,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], m0 ; encoding: [0x00,0x00,0x56,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], tba_hi ; encoding: [0x05,0x00,0x56,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], exec_lo ; encoding: [0x00,0x00,0x56,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], tma_lo ; encoding: [0x05,0x00,0x56,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], exec_hi ; encoding: [0x00,0x00,0x56,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], tma_hi ; encoding: [0x05,0x00,0x56,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x56,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], ttmp11 ; encoding: [0x05,0x00,0x56,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x56,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], m0 ; encoding: [0x05,0x00,0x56,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x56,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], exec_lo ; encoding: [0x05,0x00,0x56,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x56,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], exec_hi ; encoding: [0x05,0x00,0x56,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], scc ; encoding: [0x00,0x00,0x56,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x56,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], v0 ; encoding: [0x00,0x00,0x56,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x56,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x56,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cvt_f64_u32_e64 v[0:1], v255 ; encoding: [0x00,0x00,0x56,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x56,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_f64_u32_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x56,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e32 v[0:1], s[0:1] ; encoding: [0x00,0x2e,0x00,0x7e]
-0x00,0x2e,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x56,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e32 v[254:255], s[0:1] ; encoding: [0x00,0x2e,0xfc,0x7f]
-0x00,0x2e,0xfc,0x7f
+# CHECK: v_cvt_f64_u32_e64 v[5:6], scc ; encoding: [0x05,0x00,0x56,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x56,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e32 v[0:1], s[2:3] ; encoding: [0x02,0x2e,0x00,0x7e]
-0x02,0x2e,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e64 v[5:6], v1 ; encoding: [0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x56,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_trunc_f64_e32 v[0:1], s[100:101] ; encoding: [0x64,0x2e,0x00,0x7e]
-0x64,0x2e,0x00,0x7e
+# CHECK: v_cvt_f64_u32_e64 v[5:6], v255 ; encoding: [0x05,0x00,0x56,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x56,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_trunc_f64_e32 v[0:1], flat_scratch ; encoding: [0x66,0x2e,0x00,0x7e]
-0x66,0x2e,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], s[2:3] ; encoding: [0x02,0x2e,0x0a,0x7e]
+0x02,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], vcc ; encoding: [0x6a,0x2e,0x00,0x7e]
-0x6a,0x2e,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[254:255], s[2:3] ; encoding: [0x02,0x2e,0xfc,0x7f]
+0x02,0x2e,0xfc,0x7f
-# CHECK: v_trunc_f64_e32 v[0:1], tba ; encoding: [0x6c,0x2e,0x00,0x7e]
-0x6c,0x2e,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x2e,0x0a,0x7e]
+0x04,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], tma ; encoding: [0x6e,0x2e,0x00,0x7e]
-0x6e,0x2e,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], s[100:101] ; encoding: [0x64,0x2e,0x0a,0x7e]
+0x64,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], ttmp[10:11] ; encoding: [0x7a,0x2e,0x00,0x7e]
-0x7a,0x2e,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], flat_scratch ; encoding: [0x66,0x2e,0x0a,0x7e]
+0x66,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], exec ; encoding: [0x7e,0x2e,0x00,0x7e]
-0x7e,0x2e,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], vcc ; encoding: [0x6a,0x2e,0x0a,0x7e]
+0x6a,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], 0 ; encoding: [0x80,0x2e,0x00,0x7e]
-0x80,0x2e,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], tba ; encoding: [0x6c,0x2e,0x0a,0x7e]
+0x6c,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], -1 ; encoding: [0xc1,0x2e,0x00,0x7e]
-0xc1,0x2e,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], tma ; encoding: [0x6e,0x2e,0x0a,0x7e]
+0x6e,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], 0.5 ; encoding: [0xf0,0x2e,0x00,0x7e]
-0xf0,0x2e,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], ttmp[10:11] ; encoding: [0x7a,0x2e,0x0a,0x7e]
+0x7a,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], -4.0 ; encoding: [0xf7,0x2e,0x00,0x7e]
-0xf7,0x2e,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], exec ; encoding: [0x7e,0x2e,0x0a,0x7e]
+0x7e,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x2e,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x2e,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_trunc_f64_e32 v[5:6], 0 ; encoding: [0x80,0x2e,0x0a,0x7e]
+0x80,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x2e,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x2e,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_trunc_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x2e,0x0a,0x7e]
+0xc1,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], v[0:1] ; encoding: [0x00,0x2f,0x00,0x7e]
-0x00,0x2f,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], 0.5 ; encoding: [0xf0,0x2e,0x0a,0x7e]
+0xf0,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e32 v[0:1], v[254:255] ; encoding: [0xfe,0x2f,0x00,0x7e]
-0xfe,0x2f,0x00,0x7e
+# CHECK: v_trunc_f64_e32 v[5:6], -4.0 ; encoding: [0xf7,0x2e,0x0a,0x7e]
+0xf7,0x2e,0x0a,0x7e
-# CHECK: v_trunc_f64_e64 v[0:1], s[0:1] ; encoding: [0x00,0x00,0x57,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x2e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x2e,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_trunc_f64_e64 v[254:255], s[0:1] ; encoding: [0xfe,0x00,0x57,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x57,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x2e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x2e,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_trunc_f64_e64 v[0:1], s[2:3] ; encoding: [0x00,0x00,0x57,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x2f,0x0a,0x7e]
+0x01,0x2f,0x0a,0x7e
-# CHECK: v_trunc_f64_e64 v[0:1], s[100:101] ; encoding: [0x00,0x00,0x57,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x2f,0x0a,0x7e]
+0xfe,0x2f,0x0a,0x7e
-# CHECK: v_trunc_f64_e64 v[0:1], flat_scratch ; encoding: [0x00,0x00,0x57,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], vcc ; encoding: [0x00,0x00,0x57,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[254:255], s[2:3] ; encoding: [0xfe,0x00,0x57,0xd1,0x02,0x00,0x00,0x00]
+0xfe,0x00,0x57,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], tba ; encoding: [0x00,0x00,0x57,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], s[4:5] ; encoding: [0x05,0x00,0x57,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], tma ; encoding: [0x00,0x00,0x57,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], s[100:101] ; encoding: [0x05,0x00,0x57,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], ttmp[10:11] ; encoding: [0x00,0x00,0x57,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], flat_scratch ; encoding: [0x05,0x00,0x57,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], exec ; encoding: [0x00,0x00,0x57,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], vcc ; encoding: [0x05,0x00,0x57,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x57,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], tba ; encoding: [0x05,0x00,0x57,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x57,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], tma ; encoding: [0x05,0x00,0x57,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x57,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], ttmp[10:11] ; encoding: [0x05,0x00,0x57,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x57,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], exec ; encoding: [0x05,0x00,0x57,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x57,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x57,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x57,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x57,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x57,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x57,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], -s[0:1] ; encoding: [0x00,0x00,0x57,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x57,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_trunc_f64_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x57,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], |s[0:1]| ; encoding: [0x00,0x01,0x57,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x57,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x57,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x57,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x57,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x57,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_trunc_f64_e64 v[5:6], v[1:2] ; encoding: [0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x57,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x57,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x57,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_trunc_f64_e64 v[5:6], v[254:255] ; encoding: [0x05,0x00,0x57,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x57,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_trunc_f64_e64 v[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x57,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x57,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_trunc_f64_e64 v[5:6], -s[2:3] ; encoding: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_trunc_f64_e64 v[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x57,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x57,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_trunc_f64_e64 v[5:6], |s[2:3]| ; encoding: [0x05,0x01,0x57,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x01,0x57,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e32 v[0:1], s[0:1] ; encoding: [0x00,0x30,0x00,0x7e]
-0x00,0x30,0x00,0x7e
+# CHECK: v_trunc_f64_e64 v[5:6], s[2:3] clamp ; encoding: [0x05,0x80,0x57,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x57,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e32 v[254:255], s[0:1] ; encoding: [0x00,0x30,0xfc,0x7f]
-0x00,0x30,0xfc,0x7f
+# CHECK: v_trunc_f64_e64 v[5:6], s[2:3] mul:2 ; encoding: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x08]
+0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x08
-# CHECK: v_ceil_f64_e32 v[0:1], s[2:3] ; encoding: [0x02,0x30,0x00,0x7e]
-0x02,0x30,0x00,0x7e
+# CHECK: v_trunc_f64_e64 v[5:6], s[2:3] mul:4 ; encoding: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x10]
+0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x10
-# CHECK: v_ceil_f64_e32 v[0:1], s[100:101] ; encoding: [0x64,0x30,0x00,0x7e]
-0x64,0x30,0x00,0x7e
+# CHECK: v_trunc_f64_e64 v[5:6], s[2:3] div:2 ; encoding: [0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x18]
+0x05,0x00,0x57,0xd1,0x02,0x00,0x00,0x18
-# CHECK: v_ceil_f64_e32 v[0:1], flat_scratch ; encoding: [0x66,0x30,0x00,0x7e]
-0x66,0x30,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], s[2:3] ; encoding: [0x02,0x30,0x0a,0x7e]
+0x02,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], vcc ; encoding: [0x6a,0x30,0x00,0x7e]
-0x6a,0x30,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[254:255], s[2:3] ; encoding: [0x02,0x30,0xfc,0x7f]
+0x02,0x30,0xfc,0x7f
-# CHECK: v_ceil_f64_e32 v[0:1], tba ; encoding: [0x6c,0x30,0x00,0x7e]
-0x6c,0x30,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x30,0x0a,0x7e]
+0x04,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], tma ; encoding: [0x6e,0x30,0x00,0x7e]
-0x6e,0x30,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], s[100:101] ; encoding: [0x64,0x30,0x0a,0x7e]
+0x64,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], ttmp[10:11] ; encoding: [0x7a,0x30,0x00,0x7e]
-0x7a,0x30,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], flat_scratch ; encoding: [0x66,0x30,0x0a,0x7e]
+0x66,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], exec ; encoding: [0x7e,0x30,0x00,0x7e]
-0x7e,0x30,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], vcc ; encoding: [0x6a,0x30,0x0a,0x7e]
+0x6a,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], 0 ; encoding: [0x80,0x30,0x00,0x7e]
-0x80,0x30,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], tba ; encoding: [0x6c,0x30,0x0a,0x7e]
+0x6c,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], -1 ; encoding: [0xc1,0x30,0x00,0x7e]
-0xc1,0x30,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], tma ; encoding: [0x6e,0x30,0x0a,0x7e]
+0x6e,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], 0.5 ; encoding: [0xf0,0x30,0x00,0x7e]
-0xf0,0x30,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], ttmp[10:11] ; encoding: [0x7a,0x30,0x0a,0x7e]
+0x7a,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], -4.0 ; encoding: [0xf7,0x30,0x00,0x7e]
-0xf7,0x30,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], exec ; encoding: [0x7e,0x30,0x0a,0x7e]
+0x7e,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x30,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x30,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_ceil_f64_e32 v[5:6], 0 ; encoding: [0x80,0x30,0x0a,0x7e]
+0x80,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x30,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x30,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_ceil_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x30,0x0a,0x7e]
+0xc1,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], v[0:1] ; encoding: [0x00,0x31,0x00,0x7e]
-0x00,0x31,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], 0.5 ; encoding: [0xf0,0x30,0x0a,0x7e]
+0xf0,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e32 v[0:1], v[254:255] ; encoding: [0xfe,0x31,0x00,0x7e]
-0xfe,0x31,0x00,0x7e
+# CHECK: v_ceil_f64_e32 v[5:6], -4.0 ; encoding: [0xf7,0x30,0x0a,0x7e]
+0xf7,0x30,0x0a,0x7e
-# CHECK: v_ceil_f64_e64 v[0:1], s[0:1] ; encoding: [0x00,0x00,0x58,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x30,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x30,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_ceil_f64_e64 v[254:255], s[0:1] ; encoding: [0xfe,0x00,0x58,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x58,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x30,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x30,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_ceil_f64_e64 v[0:1], s[2:3] ; encoding: [0x00,0x00,0x58,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x31,0x0a,0x7e]
+0x01,0x31,0x0a,0x7e
-# CHECK: v_ceil_f64_e64 v[0:1], s[100:101] ; encoding: [0x00,0x00,0x58,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x31,0x0a,0x7e]
+0xfe,0x31,0x0a,0x7e
-# CHECK: v_ceil_f64_e64 v[0:1], flat_scratch ; encoding: [0x00,0x00,0x58,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], vcc ; encoding: [0x00,0x00,0x58,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[254:255], s[2:3] ; encoding: [0xfe,0x00,0x58,0xd1,0x02,0x00,0x00,0x00]
+0xfe,0x00,0x58,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], tba ; encoding: [0x00,0x00,0x58,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], s[4:5] ; encoding: [0x05,0x00,0x58,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], tma ; encoding: [0x00,0x00,0x58,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], s[100:101] ; encoding: [0x05,0x00,0x58,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], ttmp[10:11] ; encoding: [0x00,0x00,0x58,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], flat_scratch ; encoding: [0x05,0x00,0x58,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], exec ; encoding: [0x00,0x00,0x58,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], vcc ; encoding: [0x05,0x00,0x58,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x58,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], tba ; encoding: [0x05,0x00,0x58,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x58,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], tma ; encoding: [0x05,0x00,0x58,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x58,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], ttmp[10:11] ; encoding: [0x05,0x00,0x58,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x58,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], exec ; encoding: [0x05,0x00,0x58,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x58,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x58,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x58,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x58,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x58,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x58,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], -s[0:1] ; encoding: [0x00,0x00,0x58,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x58,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_ceil_f64_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x58,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], |s[0:1]| ; encoding: [0x00,0x01,0x58,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x58,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x58,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x58,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x58,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x58,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ceil_f64_e64 v[5:6], v[1:2] ; encoding: [0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x58,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x58,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x58,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_ceil_f64_e64 v[5:6], v[254:255] ; encoding: [0x05,0x00,0x58,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x58,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_ceil_f64_e64 v[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x58,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x58,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_ceil_f64_e64 v[5:6], -s[2:3] ; encoding: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_ceil_f64_e64 v[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x58,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x58,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_ceil_f64_e64 v[5:6], |s[2:3]| ; encoding: [0x05,0x01,0x58,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x01,0x58,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e32 v[0:1], s[0:1] ; encoding: [0x00,0x32,0x00,0x7e]
-0x00,0x32,0x00,0x7e
+# CHECK: v_ceil_f64_e64 v[5:6], s[2:3] clamp ; encoding: [0x05,0x80,0x58,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x58,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e32 v[254:255], s[0:1] ; encoding: [0x00,0x32,0xfc,0x7f]
-0x00,0x32,0xfc,0x7f
+# CHECK: v_ceil_f64_e64 v[5:6], s[2:3] mul:2 ; encoding: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x08]
+0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x08
-# CHECK: v_rndne_f64_e32 v[0:1], s[2:3] ; encoding: [0x02,0x32,0x00,0x7e]
-0x02,0x32,0x00,0x7e
+# CHECK: v_ceil_f64_e64 v[5:6], s[2:3] mul:4 ; encoding: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x10]
+0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x10
-# CHECK: v_rndne_f64_e32 v[0:1], s[100:101] ; encoding: [0x64,0x32,0x00,0x7e]
-0x64,0x32,0x00,0x7e
+# CHECK: v_ceil_f64_e64 v[5:6], s[2:3] div:2 ; encoding: [0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x18]
+0x05,0x00,0x58,0xd1,0x02,0x00,0x00,0x18
-# CHECK: v_rndne_f64_e32 v[0:1], flat_scratch ; encoding: [0x66,0x32,0x00,0x7e]
-0x66,0x32,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], s[2:3] ; encoding: [0x02,0x32,0x0a,0x7e]
+0x02,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], vcc ; encoding: [0x6a,0x32,0x00,0x7e]
-0x6a,0x32,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[254:255], s[2:3] ; encoding: [0x02,0x32,0xfc,0x7f]
+0x02,0x32,0xfc,0x7f
-# CHECK: v_rndne_f64_e32 v[0:1], tba ; encoding: [0x6c,0x32,0x00,0x7e]
-0x6c,0x32,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x32,0x0a,0x7e]
+0x04,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], tma ; encoding: [0x6e,0x32,0x00,0x7e]
-0x6e,0x32,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], s[100:101] ; encoding: [0x64,0x32,0x0a,0x7e]
+0x64,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], ttmp[10:11] ; encoding: [0x7a,0x32,0x00,0x7e]
-0x7a,0x32,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], flat_scratch ; encoding: [0x66,0x32,0x0a,0x7e]
+0x66,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], exec ; encoding: [0x7e,0x32,0x00,0x7e]
-0x7e,0x32,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], vcc ; encoding: [0x6a,0x32,0x0a,0x7e]
+0x6a,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], 0 ; encoding: [0x80,0x32,0x00,0x7e]
-0x80,0x32,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], tba ; encoding: [0x6c,0x32,0x0a,0x7e]
+0x6c,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], -1 ; encoding: [0xc1,0x32,0x00,0x7e]
-0xc1,0x32,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], tma ; encoding: [0x6e,0x32,0x0a,0x7e]
+0x6e,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], 0.5 ; encoding: [0xf0,0x32,0x00,0x7e]
-0xf0,0x32,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], ttmp[10:11] ; encoding: [0x7a,0x32,0x0a,0x7e]
+0x7a,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], -4.0 ; encoding: [0xf7,0x32,0x00,0x7e]
-0xf7,0x32,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], exec ; encoding: [0x7e,0x32,0x0a,0x7e]
+0x7e,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x32,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x32,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_rndne_f64_e32 v[5:6], 0 ; encoding: [0x80,0x32,0x0a,0x7e]
+0x80,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x32,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x32,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_rndne_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x32,0x0a,0x7e]
+0xc1,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], v[0:1] ; encoding: [0x00,0x33,0x00,0x7e]
-0x00,0x33,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], 0.5 ; encoding: [0xf0,0x32,0x0a,0x7e]
+0xf0,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e32 v[0:1], v[254:255] ; encoding: [0xfe,0x33,0x00,0x7e]
-0xfe,0x33,0x00,0x7e
+# CHECK: v_rndne_f64_e32 v[5:6], -4.0 ; encoding: [0xf7,0x32,0x0a,0x7e]
+0xf7,0x32,0x0a,0x7e
-# CHECK: v_rndne_f64_e64 v[0:1], s[0:1] ; encoding: [0x00,0x00,0x59,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x32,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x32,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_rndne_f64_e64 v[254:255], s[0:1] ; encoding: [0xfe,0x00,0x59,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x59,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x32,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x32,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_rndne_f64_e64 v[0:1], s[2:3] ; encoding: [0x00,0x00,0x59,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x33,0x0a,0x7e]
+0x01,0x33,0x0a,0x7e
-# CHECK: v_rndne_f64_e64 v[0:1], s[100:101] ; encoding: [0x00,0x00,0x59,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x33,0x0a,0x7e]
+0xfe,0x33,0x0a,0x7e
-# CHECK: v_rndne_f64_e64 v[0:1], flat_scratch ; encoding: [0x00,0x00,0x59,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], vcc ; encoding: [0x00,0x00,0x59,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[254:255], s[2:3] ; encoding: [0xfe,0x00,0x59,0xd1,0x02,0x00,0x00,0x00]
+0xfe,0x00,0x59,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], tba ; encoding: [0x00,0x00,0x59,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], s[4:5] ; encoding: [0x05,0x00,0x59,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], tma ; encoding: [0x00,0x00,0x59,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], s[100:101] ; encoding: [0x05,0x00,0x59,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], ttmp[10:11] ; encoding: [0x00,0x00,0x59,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], flat_scratch ; encoding: [0x05,0x00,0x59,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], exec ; encoding: [0x00,0x00,0x59,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], vcc ; encoding: [0x05,0x00,0x59,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x59,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], tba ; encoding: [0x05,0x00,0x59,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x59,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], tma ; encoding: [0x05,0x00,0x59,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x59,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], ttmp[10:11] ; encoding: [0x05,0x00,0x59,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x59,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], exec ; encoding: [0x05,0x00,0x59,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x59,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x59,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x59,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x59,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x59,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x59,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], -s[0:1] ; encoding: [0x00,0x00,0x59,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x59,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_rndne_f64_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x59,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x59,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x59,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rndne_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x59,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x59,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x59,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x59,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_rndne_f64_e64 v[5:6], v[1:2] ; encoding: [0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x59,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x59,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x59,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_rndne_f64_e64 v[5:6], v[254:255] ; encoding: [0x05,0x00,0x59,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x59,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_rndne_f64_e64 v[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x59,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x59,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_rndne_f64_e64 v[5:6], -s[2:3] ; encoding: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_floor_f64_e32 v[0:1], s[0:1] ; encoding: [0x00,0x34,0x00,0x7e]
-0x00,0x34,0x00,0x7e
+# CHECK: v_rndne_f64_e64 v[5:6], s[2:3] clamp ; encoding: [0x05,0x80,0x59,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x59,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_floor_f64_e32 v[254:255], s[0:1] ; encoding: [0x00,0x34,0xfc,0x7f]
-0x00,0x34,0xfc,0x7f
+# CHECK: v_rndne_f64_e64 v[5:6], s[2:3] mul:2 ; encoding: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x08]
+0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x08
-# CHECK: v_floor_f64_e32 v[0:1], s[2:3] ; encoding: [0x02,0x34,0x00,0x7e]
-0x02,0x34,0x00,0x7e
+# CHECK: v_rndne_f64_e64 v[5:6], s[2:3] mul:4 ; encoding: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x10]
+0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x10
-# CHECK: v_floor_f64_e32 v[0:1], s[100:101] ; encoding: [0x64,0x34,0x00,0x7e]
-0x64,0x34,0x00,0x7e
+# CHECK: v_rndne_f64_e64 v[5:6], s[2:3] div:2 ; encoding: [0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x18]
+0x05,0x00,0x59,0xd1,0x02,0x00,0x00,0x18
-# CHECK: v_floor_f64_e32 v[0:1], flat_scratch ; encoding: [0x66,0x34,0x00,0x7e]
-0x66,0x34,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], s[2:3] ; encoding: [0x02,0x34,0x0a,0x7e]
+0x02,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], vcc ; encoding: [0x6a,0x34,0x00,0x7e]
-0x6a,0x34,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[254:255], s[2:3] ; encoding: [0x02,0x34,0xfc,0x7f]
+0x02,0x34,0xfc,0x7f
-# CHECK: v_floor_f64_e32 v[0:1], tba ; encoding: [0x6c,0x34,0x00,0x7e]
-0x6c,0x34,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x34,0x0a,0x7e]
+0x04,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], tma ; encoding: [0x6e,0x34,0x00,0x7e]
-0x6e,0x34,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], s[100:101] ; encoding: [0x64,0x34,0x0a,0x7e]
+0x64,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], ttmp[10:11] ; encoding: [0x7a,0x34,0x00,0x7e]
-0x7a,0x34,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], flat_scratch ; encoding: [0x66,0x34,0x0a,0x7e]
+0x66,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], exec ; encoding: [0x7e,0x34,0x00,0x7e]
-0x7e,0x34,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], vcc ; encoding: [0x6a,0x34,0x0a,0x7e]
+0x6a,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], 0 ; encoding: [0x80,0x34,0x00,0x7e]
-0x80,0x34,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], tba ; encoding: [0x6c,0x34,0x0a,0x7e]
+0x6c,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], -1 ; encoding: [0xc1,0x34,0x00,0x7e]
-0xc1,0x34,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], tma ; encoding: [0x6e,0x34,0x0a,0x7e]
+0x6e,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], 0.5 ; encoding: [0xf0,0x34,0x00,0x7e]
-0xf0,0x34,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], ttmp[10:11] ; encoding: [0x7a,0x34,0x0a,0x7e]
+0x7a,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], -4.0 ; encoding: [0xf7,0x34,0x00,0x7e]
-0xf7,0x34,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], exec ; encoding: [0x7e,0x34,0x0a,0x7e]
+0x7e,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x34,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x34,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_floor_f64_e32 v[5:6], 0 ; encoding: [0x80,0x34,0x0a,0x7e]
+0x80,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x34,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x34,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_floor_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x34,0x0a,0x7e]
+0xc1,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], v[0:1] ; encoding: [0x00,0x35,0x00,0x7e]
-0x00,0x35,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], 0.5 ; encoding: [0xf0,0x34,0x0a,0x7e]
+0xf0,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e32 v[0:1], v[254:255] ; encoding: [0xfe,0x35,0x00,0x7e]
-0xfe,0x35,0x00,0x7e
+# CHECK: v_floor_f64_e32 v[5:6], -4.0 ; encoding: [0xf7,0x34,0x0a,0x7e]
+0xf7,0x34,0x0a,0x7e
-# CHECK: v_floor_f64_e64 v[0:1], s[0:1] ; encoding: [0x00,0x00,0x5a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_floor_f64_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x34,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x34,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_floor_f64_e64 v[254:255], s[0:1] ; encoding: [0xfe,0x00,0x5a,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x5a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_floor_f64_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x34,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x34,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_floor_f64_e64 v[0:1], s[2:3] ; encoding: [0x00,0x00,0x5a,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_floor_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x35,0x0a,0x7e]
+0x01,0x35,0x0a,0x7e
-# CHECK: v_floor_f64_e64 v[0:1], s[100:101] ; encoding: [0x00,0x00,0x5a,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_floor_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x35,0x0a,0x7e]
+0xfe,0x35,0x0a,0x7e
-# CHECK: v_floor_f64_e64 v[0:1], flat_scratch ; encoding: [0x00,0x00,0x5a,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], vcc ; encoding: [0x00,0x00,0x5a,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[254:255], s[2:3] ; encoding: [0xfe,0x00,0x5a,0xd1,0x02,0x00,0x00,0x00]
+0xfe,0x00,0x5a,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], tba ; encoding: [0x00,0x00,0x5a,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], s[4:5] ; encoding: [0x05,0x00,0x5a,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], tma ; encoding: [0x00,0x00,0x5a,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], s[100:101] ; encoding: [0x05,0x00,0x5a,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], ttmp[10:11] ; encoding: [0x00,0x00,0x5a,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], flat_scratch ; encoding: [0x05,0x00,0x5a,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], exec ; encoding: [0x00,0x00,0x5a,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], vcc ; encoding: [0x05,0x00,0x5a,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x5a,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], tba ; encoding: [0x05,0x00,0x5a,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x5a,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], tma ; encoding: [0x05,0x00,0x5a,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x5a,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], ttmp[10:11] ; encoding: [0x05,0x00,0x5a,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x5a,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], exec ; encoding: [0x05,0x00,0x5a,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x5a,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x5a,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x5a,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x5a,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x5a,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], -s[0:1] ; encoding: [0x00,0x00,0x5a,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5a,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_floor_f64_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x5a,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x5a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_floor_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x5a,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x5a,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x5a,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_floor_f64_e64 v[5:6], v[1:2] ; encoding: [0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x5a,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x5a,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_floor_f64_e64 v[5:6], v[254:255] ; encoding: [0x05,0x00,0x5a,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x5a,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_floor_f64_e64 v[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x5a,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x5a,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_floor_f64_e64 v[5:6], -s[2:3] ; encoding: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_fract_f32_e32 v0, s0 ; encoding: [0x00,0x36,0x00,0x7e]
-0x00,0x36,0x00,0x7e
+# CHECK: v_floor_f64_e64 v[5:6], s[2:3] clamp ; encoding: [0x05,0x80,0x5a,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x5a,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_fract_f32_e32 v255, s0 ; encoding: [0x00,0x36,0xfe,0x7f]
-0x00,0x36,0xfe,0x7f
+# CHECK: v_floor_f64_e64 v[5:6], s[2:3] mul:2 ; encoding: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x08]
+0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x08
-# CHECK: v_fract_f32_e32 v0, s101 ; encoding: [0x65,0x36,0x00,0x7e]
-0x65,0x36,0x00,0x7e
+# CHECK: v_floor_f64_e64 v[5:6], s[2:3] mul:4 ; encoding: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x10]
+0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x10
-# CHECK: v_fract_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x36,0x00,0x7e]
-0x66,0x36,0x00,0x7e
+# CHECK: v_floor_f64_e64 v[5:6], s[2:3] div:2 ; encoding: [0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x18]
+0x05,0x00,0x5a,0xd1,0x02,0x00,0x00,0x18
-# CHECK: v_fract_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x36,0x00,0x7e]
-0x67,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, s1 ; encoding: [0x01,0x36,0x0a,0x7e]
+0x01,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x36,0x00,0x7e]
-0x6a,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v255, s1 ; encoding: [0x01,0x36,0xfe,0x7f]
+0x01,0x36,0xfe,0x7f
-# CHECK: v_fract_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x36,0x00,0x7e]
-0x6b,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, s101 ; encoding: [0x65,0x36,0x0a,0x7e]
+0x65,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, tba_lo ; encoding: [0x6c,0x36,0x00,0x7e]
-0x6c,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x36,0x0a,0x7e]
+0x66,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, tba_hi ; encoding: [0x6d,0x36,0x00,0x7e]
-0x6d,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x36,0x0a,0x7e]
+0x67,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, tma_lo ; encoding: [0x6e,0x36,0x00,0x7e]
-0x6e,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x36,0x0a,0x7e]
+0x6a,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, tma_hi ; encoding: [0x6f,0x36,0x00,0x7e]
-0x6f,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x36,0x0a,0x7e]
+0x6b,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x36,0x00,0x7e]
-0x7b,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, tba_lo ; encoding: [0x6c,0x36,0x0a,0x7e]
+0x6c,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, m0 ; encoding: [0x7c,0x36,0x00,0x7e]
-0x7c,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, tba_hi ; encoding: [0x6d,0x36,0x0a,0x7e]
+0x6d,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, exec_lo ; encoding: [0x7e,0x36,0x00,0x7e]
-0x7e,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, tma_lo ; encoding: [0x6e,0x36,0x0a,0x7e]
+0x6e,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, exec_hi ; encoding: [0x7f,0x36,0x00,0x7e]
-0x7f,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, tma_hi ; encoding: [0x6f,0x36,0x0a,0x7e]
+0x6f,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, 0 ; encoding: [0x80,0x36,0x00,0x7e]
-0x80,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x36,0x0a,0x7e]
+0x7b,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, -1 ; encoding: [0xc1,0x36,0x00,0x7e]
-0xc1,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, m0 ; encoding: [0x7c,0x36,0x0a,0x7e]
+0x7c,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, 0.5 ; encoding: [0xf0,0x36,0x00,0x7e]
-0xf0,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, exec_lo ; encoding: [0x7e,0x36,0x0a,0x7e]
+0x7e,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, -4.0 ; encoding: [0xf7,0x36,0x00,0x7e]
-0xf7,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, exec_hi ; encoding: [0x7f,0x36,0x0a,0x7e]
+0x7f,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, scc ; encoding: [0xfd,0x36,0x00,0x7e]
-0xfd,0x36,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, 0 ; encoding: [0x80,0x36,0x0a,0x7e]
+0x80,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x36,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x36,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_fract_f32_e32 v5, -1 ; encoding: [0xc1,0x36,0x0a,0x7e]
+0xc1,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x36,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x36,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_fract_f32_e32 v5, 0.5 ; encoding: [0xf0,0x36,0x0a,0x7e]
+0xf0,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, v0 ; encoding: [0x00,0x37,0x00,0x7e]
-0x00,0x37,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, -4.0 ; encoding: [0xf7,0x36,0x0a,0x7e]
+0xf7,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e32 v0, v255 ; encoding: [0xff,0x37,0x00,0x7e]
-0xff,0x37,0x00,0x7e
+# CHECK: v_fract_f32_e32 v5, scc ; encoding: [0xfd,0x36,0x0a,0x7e]
+0xfd,0x36,0x0a,0x7e
-# CHECK: v_fract_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x5b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fract_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x36,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x36,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_fract_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x5b,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x5b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fract_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x36,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x36,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_fract_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x5b,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_fract_f32_e32 v5, v1 ; encoding: [0x01,0x37,0x0a,0x7e]
+0x01,0x37,0x0a,0x7e
-# CHECK: v_fract_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x5b,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_fract_f32_e32 v5, v255 ; encoding: [0xff,0x37,0x0a,0x7e]
+0xff,0x37,0x0a,0x7e
-# CHECK: v_fract_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x5b,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x5b,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x5b,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x5b,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x5b,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x5b,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x5b,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x5b,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x5b,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x5b,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x5b,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x5b,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x5b,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x5b,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x5b,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x5b,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x5b,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x5b,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x5b,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x5b,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x5b,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x5b,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x5b,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x5b,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x5b,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x5b,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x5b,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x5b,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x5b,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x5b,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, scc ; encoding: [0x00,0x00,0x5b,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x5b,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x5b,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x5b,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x5b,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5b,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x5b,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x5b,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5b,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_fract_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x5b,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x5b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fract_f32_e64 v5, scc ; encoding: [0x05,0x00,0x5b,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x5b,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x5b,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_fract_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x5b,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x5b,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_fract_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x5b,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x5b,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_fract_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x5b,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x5b,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_fract_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_trunc_f32_e32 v0, s0 ; encoding: [0x00,0x38,0x00,0x7e]
-0x00,0x38,0x00,0x7e
+# CHECK: v_fract_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x5b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x5b,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e32 v255, s0 ; encoding: [0x00,0x38,0xfe,0x7f]
-0x00,0x38,0xfe,0x7f
+# CHECK: v_fract_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_trunc_f32_e32 v0, s101 ; encoding: [0x65,0x38,0x00,0x7e]
-0x65,0x38,0x00,0x7e
+# CHECK: v_fract_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_trunc_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x38,0x00,0x7e]
-0x66,0x38,0x00,0x7e
+# CHECK: v_fract_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x5b,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_trunc_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x38,0x00,0x7e]
-0x67,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, s1 ; encoding: [0x01,0x38,0x0a,0x7e]
+0x01,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x38,0x00,0x7e]
-0x6a,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v255, s1 ; encoding: [0x01,0x38,0xfe,0x7f]
+0x01,0x38,0xfe,0x7f
-# CHECK: v_trunc_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x38,0x00,0x7e]
-0x6b,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, s101 ; encoding: [0x65,0x38,0x0a,0x7e]
+0x65,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, tba_lo ; encoding: [0x6c,0x38,0x00,0x7e]
-0x6c,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x38,0x0a,0x7e]
+0x66,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, tba_hi ; encoding: [0x6d,0x38,0x00,0x7e]
-0x6d,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x38,0x0a,0x7e]
+0x67,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, tma_lo ; encoding: [0x6e,0x38,0x00,0x7e]
-0x6e,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x38,0x0a,0x7e]
+0x6a,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, tma_hi ; encoding: [0x6f,0x38,0x00,0x7e]
-0x6f,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x38,0x0a,0x7e]
+0x6b,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x38,0x00,0x7e]
-0x7b,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, tba_lo ; encoding: [0x6c,0x38,0x0a,0x7e]
+0x6c,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, m0 ; encoding: [0x7c,0x38,0x00,0x7e]
-0x7c,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, tba_hi ; encoding: [0x6d,0x38,0x0a,0x7e]
+0x6d,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, exec_lo ; encoding: [0x7e,0x38,0x00,0x7e]
-0x7e,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, tma_lo ; encoding: [0x6e,0x38,0x0a,0x7e]
+0x6e,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, exec_hi ; encoding: [0x7f,0x38,0x00,0x7e]
-0x7f,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, tma_hi ; encoding: [0x6f,0x38,0x0a,0x7e]
+0x6f,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, 0 ; encoding: [0x80,0x38,0x00,0x7e]
-0x80,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x38,0x0a,0x7e]
+0x7b,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, -1 ; encoding: [0xc1,0x38,0x00,0x7e]
-0xc1,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, m0 ; encoding: [0x7c,0x38,0x0a,0x7e]
+0x7c,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, 0.5 ; encoding: [0xf0,0x38,0x00,0x7e]
-0xf0,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, exec_lo ; encoding: [0x7e,0x38,0x0a,0x7e]
+0x7e,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, -4.0 ; encoding: [0xf7,0x38,0x00,0x7e]
-0xf7,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, exec_hi ; encoding: [0x7f,0x38,0x0a,0x7e]
+0x7f,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, scc ; encoding: [0xfd,0x38,0x00,0x7e]
-0xfd,0x38,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, 0 ; encoding: [0x80,0x38,0x0a,0x7e]
+0x80,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x38,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x38,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_trunc_f32_e32 v5, -1 ; encoding: [0xc1,0x38,0x0a,0x7e]
+0xc1,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x38,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x38,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_trunc_f32_e32 v5, 0.5 ; encoding: [0xf0,0x38,0x0a,0x7e]
+0xf0,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, v0 ; encoding: [0x00,0x39,0x00,0x7e]
-0x00,0x39,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, -4.0 ; encoding: [0xf7,0x38,0x0a,0x7e]
+0xf7,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e32 v0, v255 ; encoding: [0xff,0x39,0x00,0x7e]
-0xff,0x39,0x00,0x7e
+# CHECK: v_trunc_f32_e32 v5, scc ; encoding: [0xfd,0x38,0x0a,0x7e]
+0xfd,0x38,0x0a,0x7e
-# CHECK: v_trunc_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x5c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x38,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x38,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_trunc_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x5c,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x5c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x38,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x38,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_trunc_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x5c,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e32 v5, v1 ; encoding: [0x01,0x39,0x0a,0x7e]
+0x01,0x39,0x0a,0x7e
-# CHECK: v_trunc_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x5c,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e32 v5, v255 ; encoding: [0xff,0x39,0x0a,0x7e]
+0xff,0x39,0x0a,0x7e
-# CHECK: v_trunc_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x5c,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x5c,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x5c,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x5c,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x5c,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x5c,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x5c,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x5c,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x5c,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x5c,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x5c,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x5c,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x5c,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x5c,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x5c,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x5c,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x5c,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x5c,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x5c,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x5c,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x5c,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x5c,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x5c,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x5c,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x5c,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x5c,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x5c,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x5c,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x5c,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x5c,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, scc ; encoding: [0x00,0x00,0x5c,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x5c,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x5c,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x5c,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x5c,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5c,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x5c,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x5c,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5c,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_trunc_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x5c,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x5c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_trunc_f32_e64 v5, scc ; encoding: [0x05,0x00,0x5c,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x5c,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x5c,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_trunc_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x5c,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x5c,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_trunc_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x5c,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x5c,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_trunc_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x5c,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x5c,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_trunc_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_ceil_f32_e32 v0, s0 ; encoding: [0x00,0x3a,0x00,0x7e]
-0x00,0x3a,0x00,0x7e
+# CHECK: v_trunc_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x5c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x5c,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e32 v255, s0 ; encoding: [0x00,0x3a,0xfe,0x7f]
-0x00,0x3a,0xfe,0x7f
+# CHECK: v_trunc_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_ceil_f32_e32 v0, s101 ; encoding: [0x65,0x3a,0x00,0x7e]
-0x65,0x3a,0x00,0x7e
+# CHECK: v_trunc_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_ceil_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x3a,0x00,0x7e]
-0x66,0x3a,0x00,0x7e
+# CHECK: v_trunc_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x5c,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_ceil_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x3a,0x00,0x7e]
-0x67,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, s1 ; encoding: [0x01,0x3a,0x0a,0x7e]
+0x01,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x3a,0x00,0x7e]
-0x6a,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v255, s1 ; encoding: [0x01,0x3a,0xfe,0x7f]
+0x01,0x3a,0xfe,0x7f
-# CHECK: v_ceil_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x3a,0x00,0x7e]
-0x6b,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, s101 ; encoding: [0x65,0x3a,0x0a,0x7e]
+0x65,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, tba_lo ; encoding: [0x6c,0x3a,0x00,0x7e]
-0x6c,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x3a,0x0a,0x7e]
+0x66,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, tba_hi ; encoding: [0x6d,0x3a,0x00,0x7e]
-0x6d,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x3a,0x0a,0x7e]
+0x67,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, tma_lo ; encoding: [0x6e,0x3a,0x00,0x7e]
-0x6e,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x3a,0x0a,0x7e]
+0x6a,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, tma_hi ; encoding: [0x6f,0x3a,0x00,0x7e]
-0x6f,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x3a,0x0a,0x7e]
+0x6b,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x3a,0x00,0x7e]
-0x7b,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, tba_lo ; encoding: [0x6c,0x3a,0x0a,0x7e]
+0x6c,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, m0 ; encoding: [0x7c,0x3a,0x00,0x7e]
-0x7c,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, tba_hi ; encoding: [0x6d,0x3a,0x0a,0x7e]
+0x6d,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, exec_lo ; encoding: [0x7e,0x3a,0x00,0x7e]
-0x7e,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, tma_lo ; encoding: [0x6e,0x3a,0x0a,0x7e]
+0x6e,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, exec_hi ; encoding: [0x7f,0x3a,0x00,0x7e]
-0x7f,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, tma_hi ; encoding: [0x6f,0x3a,0x0a,0x7e]
+0x6f,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, 0 ; encoding: [0x80,0x3a,0x00,0x7e]
-0x80,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x3a,0x0a,0x7e]
+0x7b,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, -1 ; encoding: [0xc1,0x3a,0x00,0x7e]
-0xc1,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, m0 ; encoding: [0x7c,0x3a,0x0a,0x7e]
+0x7c,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, 0.5 ; encoding: [0xf0,0x3a,0x00,0x7e]
-0xf0,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, exec_lo ; encoding: [0x7e,0x3a,0x0a,0x7e]
+0x7e,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, -4.0 ; encoding: [0xf7,0x3a,0x00,0x7e]
-0xf7,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, exec_hi ; encoding: [0x7f,0x3a,0x0a,0x7e]
+0x7f,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, scc ; encoding: [0xfd,0x3a,0x00,0x7e]
-0xfd,0x3a,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, 0 ; encoding: [0x80,0x3a,0x0a,0x7e]
+0x80,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x3a,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x3a,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_ceil_f32_e32 v5, -1 ; encoding: [0xc1,0x3a,0x0a,0x7e]
+0xc1,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x3a,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x3a,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_ceil_f32_e32 v5, 0.5 ; encoding: [0xf0,0x3a,0x0a,0x7e]
+0xf0,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, v0 ; encoding: [0x00,0x3b,0x00,0x7e]
-0x00,0x3b,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, -4.0 ; encoding: [0xf7,0x3a,0x0a,0x7e]
+0xf7,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e32 v0, v255 ; encoding: [0xff,0x3b,0x00,0x7e]
-0xff,0x3b,0x00,0x7e
+# CHECK: v_ceil_f32_e32 v5, scc ; encoding: [0xfd,0x3a,0x0a,0x7e]
+0xfd,0x3a,0x0a,0x7e
-# CHECK: v_ceil_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x5d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x3a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x3a,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_ceil_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x5d,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x5d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x3a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x3a,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_ceil_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x5d,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e32 v5, v1 ; encoding: [0x01,0x3b,0x0a,0x7e]
+0x01,0x3b,0x0a,0x7e
-# CHECK: v_ceil_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x5d,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e32 v5, v255 ; encoding: [0xff,0x3b,0x0a,0x7e]
+0xff,0x3b,0x0a,0x7e
-# CHECK: v_ceil_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x5d,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x5d,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x5d,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x5d,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x5d,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x5d,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x5d,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x5d,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x5d,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x5d,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x5d,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x5d,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x5d,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x5d,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x5d,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x5d,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x5d,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x5d,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x5d,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x5d,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x5d,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x5d,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x5d,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x5d,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x5d,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x5d,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x5d,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x5d,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x5d,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x5d,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, scc ; encoding: [0x00,0x00,0x5d,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x5d,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x5d,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x5d,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x5d,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5d,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x5d,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x5d,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5d,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_ceil_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x5d,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x5d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ceil_f32_e64 v5, scc ; encoding: [0x05,0x00,0x5d,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x5d,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x5d,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_ceil_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x5d,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x5d,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_ceil_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x5d,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x5d,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_ceil_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x5d,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x5d,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_ceil_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_rndne_f32_e32 v0, s0 ; encoding: [0x00,0x3c,0x00,0x7e]
-0x00,0x3c,0x00,0x7e
+# CHECK: v_ceil_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x5d,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x5d,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e32 v255, s0 ; encoding: [0x00,0x3c,0xfe,0x7f]
-0x00,0x3c,0xfe,0x7f
+# CHECK: v_ceil_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_rndne_f32_e32 v0, s101 ; encoding: [0x65,0x3c,0x00,0x7e]
-0x65,0x3c,0x00,0x7e
+# CHECK: v_ceil_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_rndne_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x3c,0x00,0x7e]
-0x66,0x3c,0x00,0x7e
+# CHECK: v_ceil_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x5d,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_rndne_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x3c,0x00,0x7e]
-0x67,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, s1 ; encoding: [0x01,0x3c,0x0a,0x7e]
+0x01,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x3c,0x00,0x7e]
-0x6a,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v255, s1 ; encoding: [0x01,0x3c,0xfe,0x7f]
+0x01,0x3c,0xfe,0x7f
-# CHECK: v_rndne_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x3c,0x00,0x7e]
-0x6b,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, s101 ; encoding: [0x65,0x3c,0x0a,0x7e]
+0x65,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, tba_lo ; encoding: [0x6c,0x3c,0x00,0x7e]
-0x6c,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x3c,0x0a,0x7e]
+0x66,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, tba_hi ; encoding: [0x6d,0x3c,0x00,0x7e]
-0x6d,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x3c,0x0a,0x7e]
+0x67,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, tma_lo ; encoding: [0x6e,0x3c,0x00,0x7e]
-0x6e,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x3c,0x0a,0x7e]
+0x6a,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, tma_hi ; encoding: [0x6f,0x3c,0x00,0x7e]
-0x6f,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x3c,0x0a,0x7e]
+0x6b,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x3c,0x00,0x7e]
-0x7b,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, tba_lo ; encoding: [0x6c,0x3c,0x0a,0x7e]
+0x6c,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, m0 ; encoding: [0x7c,0x3c,0x00,0x7e]
-0x7c,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, tba_hi ; encoding: [0x6d,0x3c,0x0a,0x7e]
+0x6d,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, exec_lo ; encoding: [0x7e,0x3c,0x00,0x7e]
-0x7e,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, tma_lo ; encoding: [0x6e,0x3c,0x0a,0x7e]
+0x6e,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, exec_hi ; encoding: [0x7f,0x3c,0x00,0x7e]
-0x7f,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, tma_hi ; encoding: [0x6f,0x3c,0x0a,0x7e]
+0x6f,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, 0 ; encoding: [0x80,0x3c,0x00,0x7e]
-0x80,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x3c,0x0a,0x7e]
+0x7b,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, -1 ; encoding: [0xc1,0x3c,0x00,0x7e]
-0xc1,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, m0 ; encoding: [0x7c,0x3c,0x0a,0x7e]
+0x7c,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, 0.5 ; encoding: [0xf0,0x3c,0x00,0x7e]
-0xf0,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, exec_lo ; encoding: [0x7e,0x3c,0x0a,0x7e]
+0x7e,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, -4.0 ; encoding: [0xf7,0x3c,0x00,0x7e]
-0xf7,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, exec_hi ; encoding: [0x7f,0x3c,0x0a,0x7e]
+0x7f,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, scc ; encoding: [0xfd,0x3c,0x00,0x7e]
-0xfd,0x3c,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, 0 ; encoding: [0x80,0x3c,0x0a,0x7e]
+0x80,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x3c,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x3c,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_rndne_f32_e32 v5, -1 ; encoding: [0xc1,0x3c,0x0a,0x7e]
+0xc1,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x3c,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x3c,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_rndne_f32_e32 v5, 0.5 ; encoding: [0xf0,0x3c,0x0a,0x7e]
+0xf0,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, v0 ; encoding: [0x00,0x3d,0x00,0x7e]
-0x00,0x3d,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, -4.0 ; encoding: [0xf7,0x3c,0x0a,0x7e]
+0xf7,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e32 v0, v255 ; encoding: [0xff,0x3d,0x00,0x7e]
-0xff,0x3d,0x00,0x7e
+# CHECK: v_rndne_f32_e32 v5, scc ; encoding: [0xfd,0x3c,0x0a,0x7e]
+0xfd,0x3c,0x0a,0x7e
-# CHECK: v_rndne_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x5e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x3c,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x3c,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_rndne_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x5e,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x5e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x3c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x3c,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_rndne_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x5e,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e32 v5, v1 ; encoding: [0x01,0x3d,0x0a,0x7e]
+0x01,0x3d,0x0a,0x7e
-# CHECK: v_rndne_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x5e,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e32 v5, v255 ; encoding: [0xff,0x3d,0x0a,0x7e]
+0xff,0x3d,0x0a,0x7e
-# CHECK: v_rndne_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x5e,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x5e,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x5e,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x5e,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x5e,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x5e,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x5e,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x5e,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x5e,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x5e,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x5e,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x5e,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x5e,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x5e,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x5e,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x5e,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x5e,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x5e,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x5e,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x5e,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x5e,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x5e,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x5e,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x5e,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x5e,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x5e,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x5e,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x5e,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x5e,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x5e,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, scc ; encoding: [0x00,0x00,0x5e,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x5e,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x5e,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x5e,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x5e,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5e,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x5e,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x5e,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5e,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_rndne_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x5e,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x5e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rndne_f32_e64 v5, scc ; encoding: [0x05,0x00,0x5e,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x5e,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x5e,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_rndne_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x5e,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x5e,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_rndne_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x5e,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x5e,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_rndne_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x5e,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x5e,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_rndne_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_floor_f32_e32 v0, s0 ; encoding: [0x00,0x3e,0x00,0x7e]
-0x00,0x3e,0x00,0x7e
+# CHECK: v_rndne_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x5e,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x5e,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_floor_f32_e32 v255, s0 ; encoding: [0x00,0x3e,0xfe,0x7f]
-0x00,0x3e,0xfe,0x7f
+# CHECK: v_rndne_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_floor_f32_e32 v0, s101 ; encoding: [0x65,0x3e,0x00,0x7e]
-0x65,0x3e,0x00,0x7e
+# CHECK: v_rndne_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_floor_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x3e,0x00,0x7e]
-0x66,0x3e,0x00,0x7e
+# CHECK: v_rndne_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x5e,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_floor_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x3e,0x00,0x7e]
-0x67,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, s1 ; encoding: [0x01,0x3e,0x0a,0x7e]
+0x01,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x3e,0x00,0x7e]
-0x6a,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v255, s1 ; encoding: [0x01,0x3e,0xfe,0x7f]
+0x01,0x3e,0xfe,0x7f
-# CHECK: v_floor_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x3e,0x00,0x7e]
-0x6b,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, s101 ; encoding: [0x65,0x3e,0x0a,0x7e]
+0x65,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, tba_lo ; encoding: [0x6c,0x3e,0x00,0x7e]
-0x6c,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x3e,0x0a,0x7e]
+0x66,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, tba_hi ; encoding: [0x6d,0x3e,0x00,0x7e]
-0x6d,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x3e,0x0a,0x7e]
+0x67,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, tma_lo ; encoding: [0x6e,0x3e,0x00,0x7e]
-0x6e,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x3e,0x0a,0x7e]
+0x6a,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, tma_hi ; encoding: [0x6f,0x3e,0x00,0x7e]
-0x6f,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x3e,0x0a,0x7e]
+0x6b,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x3e,0x00,0x7e]
-0x7b,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, tba_lo ; encoding: [0x6c,0x3e,0x0a,0x7e]
+0x6c,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, m0 ; encoding: [0x7c,0x3e,0x00,0x7e]
-0x7c,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, tba_hi ; encoding: [0x6d,0x3e,0x0a,0x7e]
+0x6d,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, exec_lo ; encoding: [0x7e,0x3e,0x00,0x7e]
-0x7e,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, tma_lo ; encoding: [0x6e,0x3e,0x0a,0x7e]
+0x6e,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, exec_hi ; encoding: [0x7f,0x3e,0x00,0x7e]
-0x7f,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, tma_hi ; encoding: [0x6f,0x3e,0x0a,0x7e]
+0x6f,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, 0 ; encoding: [0x80,0x3e,0x00,0x7e]
-0x80,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x3e,0x0a,0x7e]
+0x7b,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, -1 ; encoding: [0xc1,0x3e,0x00,0x7e]
-0xc1,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, m0 ; encoding: [0x7c,0x3e,0x0a,0x7e]
+0x7c,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, 0.5 ; encoding: [0xf0,0x3e,0x00,0x7e]
-0xf0,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, exec_lo ; encoding: [0x7e,0x3e,0x0a,0x7e]
+0x7e,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, -4.0 ; encoding: [0xf7,0x3e,0x00,0x7e]
-0xf7,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, exec_hi ; encoding: [0x7f,0x3e,0x0a,0x7e]
+0x7f,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, scc ; encoding: [0xfd,0x3e,0x00,0x7e]
-0xfd,0x3e,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, 0 ; encoding: [0x80,0x3e,0x0a,0x7e]
+0x80,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x3e,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x3e,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_floor_f32_e32 v5, -1 ; encoding: [0xc1,0x3e,0x0a,0x7e]
+0xc1,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x3e,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x3e,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_floor_f32_e32 v5, 0.5 ; encoding: [0xf0,0x3e,0x0a,0x7e]
+0xf0,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, v0 ; encoding: [0x00,0x3f,0x00,0x7e]
-0x00,0x3f,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, -4.0 ; encoding: [0xf7,0x3e,0x0a,0x7e]
+0xf7,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e32 v0, v255 ; encoding: [0xff,0x3f,0x00,0x7e]
-0xff,0x3f,0x00,0x7e
+# CHECK: v_floor_f32_e32 v5, scc ; encoding: [0xfd,0x3e,0x0a,0x7e]
+0xfd,0x3e,0x0a,0x7e
-# CHECK: v_floor_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x5f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_floor_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x3e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x3e,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_floor_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x5f,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x5f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_floor_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x3e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x3e,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_floor_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x5f,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_floor_f32_e32 v5, v1 ; encoding: [0x01,0x3f,0x0a,0x7e]
+0x01,0x3f,0x0a,0x7e
-# CHECK: v_floor_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x5f,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_floor_f32_e32 v5, v255 ; encoding: [0xff,0x3f,0x0a,0x7e]
+0xff,0x3f,0x0a,0x7e
-# CHECK: v_floor_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x5f,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x5f,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x5f,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x5f,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x5f,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x5f,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x5f,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x5f,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x5f,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x5f,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x5f,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x5f,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x5f,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x5f,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x5f,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x5f,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x5f,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x5f,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x5f,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x5f,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x5f,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x5f,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x5f,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x5f,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x5f,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x5f,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x5f,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x5f,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x5f,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x5f,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, scc ; encoding: [0x00,0x00,0x5f,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x5f,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x5f,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x5f,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x5f,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5f,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x5f,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x5f,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5f,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_floor_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x5f,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x5f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x5f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, scc ; encoding: [0x05,0x00,0x5f,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x5f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_floor_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x5f,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x5f,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_floor_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x5f,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x5f,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_floor_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x5f,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x5f,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_floor_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_floor_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x5f,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x5f,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_floor_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x5f,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x5f,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_exp_f32_e32 v0, s0 ; encoding: [0x00,0x40,0x00,0x7e]
-0x00,0x40,0x00,0x7e
+# CHECK: v_floor_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x5f,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x5f,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_exp_f32_e32 v255, s0 ; encoding: [0x00,0x40,0xfe,0x7f]
-0x00,0x40,0xfe,0x7f
+# CHECK: v_floor_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_exp_f32_e32 v0, s101 ; encoding: [0x65,0x40,0x00,0x7e]
-0x65,0x40,0x00,0x7e
+# CHECK: v_floor_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_exp_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x40,0x00,0x7e]
-0x66,0x40,0x00,0x7e
+# CHECK: v_floor_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x5f,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_exp_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x40,0x00,0x7e]
-0x67,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, s1 ; encoding: [0x01,0x40,0x0a,0x7e]
+0x01,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x40,0x00,0x7e]
-0x6a,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v255, s1 ; encoding: [0x01,0x40,0xfe,0x7f]
+0x01,0x40,0xfe,0x7f
-# CHECK: v_exp_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x40,0x00,0x7e]
-0x6b,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, s101 ; encoding: [0x65,0x40,0x0a,0x7e]
+0x65,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, tba_lo ; encoding: [0x6c,0x40,0x00,0x7e]
-0x6c,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x40,0x0a,0x7e]
+0x66,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, tba_hi ; encoding: [0x6d,0x40,0x00,0x7e]
-0x6d,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x40,0x0a,0x7e]
+0x67,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, tma_lo ; encoding: [0x6e,0x40,0x00,0x7e]
-0x6e,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x40,0x0a,0x7e]
+0x6a,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, tma_hi ; encoding: [0x6f,0x40,0x00,0x7e]
-0x6f,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x40,0x0a,0x7e]
+0x6b,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x40,0x00,0x7e]
-0x7b,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, tba_lo ; encoding: [0x6c,0x40,0x0a,0x7e]
+0x6c,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, m0 ; encoding: [0x7c,0x40,0x00,0x7e]
-0x7c,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, tba_hi ; encoding: [0x6d,0x40,0x0a,0x7e]
+0x6d,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, exec_lo ; encoding: [0x7e,0x40,0x00,0x7e]
-0x7e,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, tma_lo ; encoding: [0x6e,0x40,0x0a,0x7e]
+0x6e,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, exec_hi ; encoding: [0x7f,0x40,0x00,0x7e]
-0x7f,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, tma_hi ; encoding: [0x6f,0x40,0x0a,0x7e]
+0x6f,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, 0 ; encoding: [0x80,0x40,0x00,0x7e]
-0x80,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x40,0x0a,0x7e]
+0x7b,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, -1 ; encoding: [0xc1,0x40,0x00,0x7e]
-0xc1,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, m0 ; encoding: [0x7c,0x40,0x0a,0x7e]
+0x7c,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, 0.5 ; encoding: [0xf0,0x40,0x00,0x7e]
-0xf0,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, exec_lo ; encoding: [0x7e,0x40,0x0a,0x7e]
+0x7e,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, -4.0 ; encoding: [0xf7,0x40,0x00,0x7e]
-0xf7,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, exec_hi ; encoding: [0x7f,0x40,0x0a,0x7e]
+0x7f,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, scc ; encoding: [0xfd,0x40,0x00,0x7e]
-0xfd,0x40,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, 0 ; encoding: [0x80,0x40,0x0a,0x7e]
+0x80,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x40,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x40,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_exp_f32_e32 v5, -1 ; encoding: [0xc1,0x40,0x0a,0x7e]
+0xc1,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x40,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x40,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_exp_f32_e32 v5, 0.5 ; encoding: [0xf0,0x40,0x0a,0x7e]
+0xf0,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, v0 ; encoding: [0x00,0x41,0x00,0x7e]
-0x00,0x41,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, -4.0 ; encoding: [0xf7,0x40,0x0a,0x7e]
+0xf7,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e32 v0, v255 ; encoding: [0xff,0x41,0x00,0x7e]
-0xff,0x41,0x00,0x7e
+# CHECK: v_exp_f32_e32 v5, scc ; encoding: [0xfd,0x40,0x0a,0x7e]
+0xfd,0x40,0x0a,0x7e
-# CHECK: v_exp_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x60,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_exp_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x40,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x40,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_exp_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x60,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x60,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_exp_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x40,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x40,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_exp_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x60,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_exp_f32_e32 v5, v1 ; encoding: [0x01,0x41,0x0a,0x7e]
+0x01,0x41,0x0a,0x7e
-# CHECK: v_exp_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x60,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_exp_f32_e32 v5, v255 ; encoding: [0xff,0x41,0x0a,0x7e]
+0xff,0x41,0x0a,0x7e
-# CHECK: v_exp_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x60,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x60,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x60,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x60,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x60,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x60,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x60,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x60,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x60,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x60,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x60,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x60,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x60,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x60,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x60,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x60,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x60,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x60,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x60,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x60,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x60,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x60,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x60,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x60,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x60,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x60,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x60,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x60,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x60,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x60,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, scc ; encoding: [0x00,0x00,0x60,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x60,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x60,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x60,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x60,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x60,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x60,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x60,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x60,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x60,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_exp_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x60,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x60,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x60,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, scc ; encoding: [0x05,0x00,0x60,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x60,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x60,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x60,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_exp_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x60,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x60,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x60,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_exp_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x60,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x60,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_exp_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x60,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x60,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_exp_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_exp_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x60,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x60,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_exp_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x60,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x60,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_log_f32_e32 v0, s0 ; encoding: [0x00,0x42,0x00,0x7e]
-0x00,0x42,0x00,0x7e
+# CHECK: v_exp_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x60,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x60,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_log_f32_e32 v255, s0 ; encoding: [0x00,0x42,0xfe,0x7f]
-0x00,0x42,0xfe,0x7f
+# CHECK: v_exp_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_log_f32_e32 v0, s101 ; encoding: [0x65,0x42,0x00,0x7e]
-0x65,0x42,0x00,0x7e
+# CHECK: v_exp_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_log_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x42,0x00,0x7e]
-0x66,0x42,0x00,0x7e
+# CHECK: v_exp_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x60,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_log_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x42,0x00,0x7e]
-0x67,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, s1 ; encoding: [0x01,0x42,0x0a,0x7e]
+0x01,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x42,0x00,0x7e]
-0x6a,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v255, s1 ; encoding: [0x01,0x42,0xfe,0x7f]
+0x01,0x42,0xfe,0x7f
-# CHECK: v_log_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x42,0x00,0x7e]
-0x6b,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, s101 ; encoding: [0x65,0x42,0x0a,0x7e]
+0x65,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, tba_lo ; encoding: [0x6c,0x42,0x00,0x7e]
-0x6c,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x42,0x0a,0x7e]
+0x66,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, tba_hi ; encoding: [0x6d,0x42,0x00,0x7e]
-0x6d,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x42,0x0a,0x7e]
+0x67,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, tma_lo ; encoding: [0x6e,0x42,0x00,0x7e]
-0x6e,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x42,0x0a,0x7e]
+0x6a,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, tma_hi ; encoding: [0x6f,0x42,0x00,0x7e]
-0x6f,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x42,0x0a,0x7e]
+0x6b,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x42,0x00,0x7e]
-0x7b,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, tba_lo ; encoding: [0x6c,0x42,0x0a,0x7e]
+0x6c,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, m0 ; encoding: [0x7c,0x42,0x00,0x7e]
-0x7c,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, tba_hi ; encoding: [0x6d,0x42,0x0a,0x7e]
+0x6d,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, exec_lo ; encoding: [0x7e,0x42,0x00,0x7e]
-0x7e,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, tma_lo ; encoding: [0x6e,0x42,0x0a,0x7e]
+0x6e,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, exec_hi ; encoding: [0x7f,0x42,0x00,0x7e]
-0x7f,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, tma_hi ; encoding: [0x6f,0x42,0x0a,0x7e]
+0x6f,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, 0 ; encoding: [0x80,0x42,0x00,0x7e]
-0x80,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x42,0x0a,0x7e]
+0x7b,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, -1 ; encoding: [0xc1,0x42,0x00,0x7e]
-0xc1,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, m0 ; encoding: [0x7c,0x42,0x0a,0x7e]
+0x7c,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, 0.5 ; encoding: [0xf0,0x42,0x00,0x7e]
-0xf0,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, exec_lo ; encoding: [0x7e,0x42,0x0a,0x7e]
+0x7e,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, -4.0 ; encoding: [0xf7,0x42,0x00,0x7e]
-0xf7,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, exec_hi ; encoding: [0x7f,0x42,0x0a,0x7e]
+0x7f,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, scc ; encoding: [0xfd,0x42,0x00,0x7e]
-0xfd,0x42,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, 0 ; encoding: [0x80,0x42,0x0a,0x7e]
+0x80,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x42,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x42,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_log_f32_e32 v5, -1 ; encoding: [0xc1,0x42,0x0a,0x7e]
+0xc1,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x42,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x42,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_log_f32_e32 v5, 0.5 ; encoding: [0xf0,0x42,0x0a,0x7e]
+0xf0,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, v0 ; encoding: [0x00,0x43,0x00,0x7e]
-0x00,0x43,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, -4.0 ; encoding: [0xf7,0x42,0x0a,0x7e]
+0xf7,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e32 v0, v255 ; encoding: [0xff,0x43,0x00,0x7e]
-0xff,0x43,0x00,0x7e
+# CHECK: v_log_f32_e32 v5, scc ; encoding: [0xfd,0x42,0x0a,0x7e]
+0xfd,0x42,0x0a,0x7e
-# CHECK: v_log_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x61,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_log_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x42,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x42,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_log_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x61,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x61,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_log_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x42,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x42,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_log_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x61,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_log_f32_e32 v5, v1 ; encoding: [0x01,0x43,0x0a,0x7e]
+0x01,0x43,0x0a,0x7e
-# CHECK: v_log_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x61,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_log_f32_e32 v5, v255 ; encoding: [0xff,0x43,0x0a,0x7e]
+0xff,0x43,0x0a,0x7e
-# CHECK: v_log_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x61,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x61,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x61,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x61,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x61,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x61,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x61,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x61,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x61,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x61,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x61,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x61,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x61,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x61,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x61,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x61,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x61,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x61,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x61,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x61,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x61,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x61,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x61,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x61,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x61,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x61,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x61,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x61,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x61,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x61,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, scc ; encoding: [0x00,0x00,0x61,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x61,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x61,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x61,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_log_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x61,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x61,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x61,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_log_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x61,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x61,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x61,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_log_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x61,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x61,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x61,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, scc ; encoding: [0x05,0x00,0x61,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x61,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_log_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x61,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x61,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_log_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x61,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_log_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x61,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x61,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_log_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x61,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x61,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_log_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x61,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x61,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_log_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_log_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x61,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x61,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_log_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x61,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x61,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e32 v0, s0 ; encoding: [0x00,0x44,0x00,0x7e]
-0x00,0x44,0x00,0x7e
+# CHECK: v_log_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x61,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x61,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e32 v255, s0 ; encoding: [0x00,0x44,0xfe,0x7f]
-0x00,0x44,0xfe,0x7f
+# CHECK: v_log_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_rcp_f32_e32 v0, s101 ; encoding: [0x65,0x44,0x00,0x7e]
-0x65,0x44,0x00,0x7e
+# CHECK: v_log_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_rcp_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x44,0x00,0x7e]
-0x66,0x44,0x00,0x7e
+# CHECK: v_log_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x61,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_rcp_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x44,0x00,0x7e]
-0x67,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, s1 ; encoding: [0x01,0x44,0x0a,0x7e]
+0x01,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x44,0x00,0x7e]
-0x6a,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v255, s1 ; encoding: [0x01,0x44,0xfe,0x7f]
+0x01,0x44,0xfe,0x7f
-# CHECK: v_rcp_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x44,0x00,0x7e]
-0x6b,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, s101 ; encoding: [0x65,0x44,0x0a,0x7e]
+0x65,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, tba_lo ; encoding: [0x6c,0x44,0x00,0x7e]
-0x6c,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x44,0x0a,0x7e]
+0x66,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, tba_hi ; encoding: [0x6d,0x44,0x00,0x7e]
-0x6d,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x44,0x0a,0x7e]
+0x67,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, tma_lo ; encoding: [0x6e,0x44,0x00,0x7e]
-0x6e,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x44,0x0a,0x7e]
+0x6a,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, tma_hi ; encoding: [0x6f,0x44,0x00,0x7e]
-0x6f,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x44,0x0a,0x7e]
+0x6b,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x44,0x00,0x7e]
-0x7b,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, tba_lo ; encoding: [0x6c,0x44,0x0a,0x7e]
+0x6c,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, m0 ; encoding: [0x7c,0x44,0x00,0x7e]
-0x7c,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, tba_hi ; encoding: [0x6d,0x44,0x0a,0x7e]
+0x6d,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, exec_lo ; encoding: [0x7e,0x44,0x00,0x7e]
-0x7e,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, tma_lo ; encoding: [0x6e,0x44,0x0a,0x7e]
+0x6e,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, exec_hi ; encoding: [0x7f,0x44,0x00,0x7e]
-0x7f,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, tma_hi ; encoding: [0x6f,0x44,0x0a,0x7e]
+0x6f,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, 0 ; encoding: [0x80,0x44,0x00,0x7e]
-0x80,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x44,0x0a,0x7e]
+0x7b,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, -1 ; encoding: [0xc1,0x44,0x00,0x7e]
-0xc1,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, m0 ; encoding: [0x7c,0x44,0x0a,0x7e]
+0x7c,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, 0.5 ; encoding: [0xf0,0x44,0x00,0x7e]
-0xf0,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, exec_lo ; encoding: [0x7e,0x44,0x0a,0x7e]
+0x7e,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, -4.0 ; encoding: [0xf7,0x44,0x00,0x7e]
-0xf7,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, exec_hi ; encoding: [0x7f,0x44,0x0a,0x7e]
+0x7f,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, scc ; encoding: [0xfd,0x44,0x00,0x7e]
-0xfd,0x44,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, 0 ; encoding: [0x80,0x44,0x0a,0x7e]
+0x80,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x44,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x44,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_rcp_f32_e32 v5, -1 ; encoding: [0xc1,0x44,0x0a,0x7e]
+0xc1,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x44,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x44,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_rcp_f32_e32 v5, 0.5 ; encoding: [0xf0,0x44,0x0a,0x7e]
+0xf0,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, v0 ; encoding: [0x00,0x45,0x00,0x7e]
-0x00,0x45,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, -4.0 ; encoding: [0xf7,0x44,0x0a,0x7e]
+0xf7,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e32 v0, v255 ; encoding: [0xff,0x45,0x00,0x7e]
-0xff,0x45,0x00,0x7e
+# CHECK: v_rcp_f32_e32 v5, scc ; encoding: [0xfd,0x44,0x0a,0x7e]
+0xfd,0x44,0x0a,0x7e
-# CHECK: v_rcp_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x62,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x44,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x44,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_rcp_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x62,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x62,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x44,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x44,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_rcp_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x62,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e32 v5, v1 ; encoding: [0x01,0x45,0x0a,0x7e]
+0x01,0x45,0x0a,0x7e
-# CHECK: v_rcp_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x62,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e32 v5, v255 ; encoding: [0xff,0x45,0x0a,0x7e]
+0xff,0x45,0x0a,0x7e
-# CHECK: v_rcp_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x62,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x62,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x62,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x62,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x62,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x62,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x62,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x62,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x62,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x62,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x62,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x62,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x62,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x62,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x62,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x62,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x62,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x62,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x62,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x62,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x62,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x62,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x62,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x62,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x62,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x62,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x62,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x62,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x62,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x62,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, scc ; encoding: [0x00,0x00,0x62,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x62,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x62,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x62,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x62,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x62,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x62,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x62,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x62,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x62,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_rcp_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x62,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x62,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x62,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, scc ; encoding: [0x05,0x00,0x62,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x62,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x62,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x62,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x62,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x62,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x62,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_rcp_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x62,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x62,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_rcp_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x62,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x62,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_rcp_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_rcp_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x62,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x62,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_rcp_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x62,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x62,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e32 v0, s0 ; encoding: [0x00,0x46,0x00,0x7e]
-0x00,0x46,0x00,0x7e
+# CHECK: v_rcp_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x62,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x62,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e32 v255, s0 ; encoding: [0x00,0x46,0xfe,0x7f]
-0x00,0x46,0xfe,0x7f
+# CHECK: v_rcp_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_rcp_iflag_f32_e32 v0, s101 ; encoding: [0x65,0x46,0x00,0x7e]
-0x65,0x46,0x00,0x7e
+# CHECK: v_rcp_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_rcp_iflag_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x46,0x00,0x7e]
-0x66,0x46,0x00,0x7e
+# CHECK: v_rcp_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x62,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_rcp_iflag_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x46,0x00,0x7e]
-0x67,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, s1 ; encoding: [0x01,0x46,0x0a,0x7e]
+0x01,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x46,0x00,0x7e]
-0x6a,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v255, s1 ; encoding: [0x01,0x46,0xfe,0x7f]
+0x01,0x46,0xfe,0x7f
-# CHECK: v_rcp_iflag_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x46,0x00,0x7e]
-0x6b,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, s101 ; encoding: [0x65,0x46,0x0a,0x7e]
+0x65,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, tba_lo ; encoding: [0x6c,0x46,0x00,0x7e]
-0x6c,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x46,0x0a,0x7e]
+0x66,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, tba_hi ; encoding: [0x6d,0x46,0x00,0x7e]
-0x6d,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x46,0x0a,0x7e]
+0x67,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, tma_lo ; encoding: [0x6e,0x46,0x00,0x7e]
-0x6e,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x46,0x0a,0x7e]
+0x6a,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, tma_hi ; encoding: [0x6f,0x46,0x00,0x7e]
-0x6f,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x46,0x0a,0x7e]
+0x6b,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x46,0x00,0x7e]
-0x7b,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, tba_lo ; encoding: [0x6c,0x46,0x0a,0x7e]
+0x6c,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, m0 ; encoding: [0x7c,0x46,0x00,0x7e]
-0x7c,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, tba_hi ; encoding: [0x6d,0x46,0x0a,0x7e]
+0x6d,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, exec_lo ; encoding: [0x7e,0x46,0x00,0x7e]
-0x7e,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, tma_lo ; encoding: [0x6e,0x46,0x0a,0x7e]
+0x6e,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, exec_hi ; encoding: [0x7f,0x46,0x00,0x7e]
-0x7f,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, tma_hi ; encoding: [0x6f,0x46,0x0a,0x7e]
+0x6f,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, 0 ; encoding: [0x80,0x46,0x00,0x7e]
-0x80,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x46,0x0a,0x7e]
+0x7b,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, -1 ; encoding: [0xc1,0x46,0x00,0x7e]
-0xc1,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, m0 ; encoding: [0x7c,0x46,0x0a,0x7e]
+0x7c,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, 0.5 ; encoding: [0xf0,0x46,0x00,0x7e]
-0xf0,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, exec_lo ; encoding: [0x7e,0x46,0x0a,0x7e]
+0x7e,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, -4.0 ; encoding: [0xf7,0x46,0x00,0x7e]
-0xf7,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, exec_hi ; encoding: [0x7f,0x46,0x0a,0x7e]
+0x7f,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, scc ; encoding: [0xfd,0x46,0x00,0x7e]
-0xfd,0x46,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, 0 ; encoding: [0x80,0x46,0x0a,0x7e]
+0x80,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x46,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x46,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_rcp_iflag_f32_e32 v5, -1 ; encoding: [0xc1,0x46,0x0a,0x7e]
+0xc1,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x46,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x46,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_rcp_iflag_f32_e32 v5, 0.5 ; encoding: [0xf0,0x46,0x0a,0x7e]
+0xf0,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, v0 ; encoding: [0x00,0x47,0x00,0x7e]
-0x00,0x47,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, -4.0 ; encoding: [0xf7,0x46,0x0a,0x7e]
+0xf7,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e32 v0, v255 ; encoding: [0xff,0x47,0x00,0x7e]
-0xff,0x47,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e32 v5, scc ; encoding: [0xfd,0x46,0x0a,0x7e]
+0xfd,0x46,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x63,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x46,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x46,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_rcp_iflag_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x63,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x63,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x46,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x46,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_rcp_iflag_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x63,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e32 v5, v1 ; encoding: [0x01,0x47,0x0a,0x7e]
+0x01,0x47,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x63,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e32 v5, v255 ; encoding: [0xff,0x47,0x0a,0x7e]
+0xff,0x47,0x0a,0x7e
-# CHECK: v_rcp_iflag_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x63,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x63,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x63,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x63,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x63,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x63,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x63,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x63,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x63,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x63,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x63,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x63,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x63,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x63,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x63,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x63,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x63,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x63,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x63,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x63,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x63,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x63,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x63,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x63,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x63,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x63,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x63,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x63,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x63,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x63,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, scc ; encoding: [0x00,0x00,0x63,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x63,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x63,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x63,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x63,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x63,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x63,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x63,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x63,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x63,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_rcp_iflag_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x63,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x63,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x63,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, scc ; encoding: [0x05,0x00,0x63,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x63,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x63,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x63,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_iflag_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x63,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x63,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x63,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_rcp_iflag_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x63,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x63,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_rcp_iflag_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x63,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x63,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_rcp_iflag_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_rcp_iflag_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x63,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x63,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_rcp_iflag_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x63,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x63,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e32 v0, s0 ; encoding: [0x00,0x48,0x00,0x7e]
-0x00,0x48,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x63,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x63,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e32 v255, s0 ; encoding: [0x00,0x48,0xfe,0x7f]
-0x00,0x48,0xfe,0x7f
+# CHECK: v_rcp_iflag_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_rsq_f32_e32 v0, s101 ; encoding: [0x65,0x48,0x00,0x7e]
-0x65,0x48,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_rsq_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x48,0x00,0x7e]
-0x66,0x48,0x00,0x7e
+# CHECK: v_rcp_iflag_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x63,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_rsq_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x48,0x00,0x7e]
-0x67,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, s1 ; encoding: [0x01,0x48,0x0a,0x7e]
+0x01,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x48,0x00,0x7e]
-0x6a,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v255, s1 ; encoding: [0x01,0x48,0xfe,0x7f]
+0x01,0x48,0xfe,0x7f
-# CHECK: v_rsq_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x48,0x00,0x7e]
-0x6b,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, s101 ; encoding: [0x65,0x48,0x0a,0x7e]
+0x65,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, tba_lo ; encoding: [0x6c,0x48,0x00,0x7e]
-0x6c,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x48,0x0a,0x7e]
+0x66,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, tba_hi ; encoding: [0x6d,0x48,0x00,0x7e]
-0x6d,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x48,0x0a,0x7e]
+0x67,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, tma_lo ; encoding: [0x6e,0x48,0x00,0x7e]
-0x6e,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x48,0x0a,0x7e]
+0x6a,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, tma_hi ; encoding: [0x6f,0x48,0x00,0x7e]
-0x6f,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x48,0x0a,0x7e]
+0x6b,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x48,0x00,0x7e]
-0x7b,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, tba_lo ; encoding: [0x6c,0x48,0x0a,0x7e]
+0x6c,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, m0 ; encoding: [0x7c,0x48,0x00,0x7e]
-0x7c,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, tba_hi ; encoding: [0x6d,0x48,0x0a,0x7e]
+0x6d,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, exec_lo ; encoding: [0x7e,0x48,0x00,0x7e]
-0x7e,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, tma_lo ; encoding: [0x6e,0x48,0x0a,0x7e]
+0x6e,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, exec_hi ; encoding: [0x7f,0x48,0x00,0x7e]
-0x7f,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, tma_hi ; encoding: [0x6f,0x48,0x0a,0x7e]
+0x6f,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, 0 ; encoding: [0x80,0x48,0x00,0x7e]
-0x80,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x48,0x0a,0x7e]
+0x7b,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, -1 ; encoding: [0xc1,0x48,0x00,0x7e]
-0xc1,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, m0 ; encoding: [0x7c,0x48,0x0a,0x7e]
+0x7c,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, 0.5 ; encoding: [0xf0,0x48,0x00,0x7e]
-0xf0,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, exec_lo ; encoding: [0x7e,0x48,0x0a,0x7e]
+0x7e,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, -4.0 ; encoding: [0xf7,0x48,0x00,0x7e]
-0xf7,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, exec_hi ; encoding: [0x7f,0x48,0x0a,0x7e]
+0x7f,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, scc ; encoding: [0xfd,0x48,0x00,0x7e]
-0xfd,0x48,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, 0 ; encoding: [0x80,0x48,0x0a,0x7e]
+0x80,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x48,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x48,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_rsq_f32_e32 v5, -1 ; encoding: [0xc1,0x48,0x0a,0x7e]
+0xc1,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x48,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x48,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_rsq_f32_e32 v5, 0.5 ; encoding: [0xf0,0x48,0x0a,0x7e]
+0xf0,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, v0 ; encoding: [0x00,0x49,0x00,0x7e]
-0x00,0x49,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, -4.0 ; encoding: [0xf7,0x48,0x0a,0x7e]
+0xf7,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e32 v0, v255 ; encoding: [0xff,0x49,0x00,0x7e]
-0xff,0x49,0x00,0x7e
+# CHECK: v_rsq_f32_e32 v5, scc ; encoding: [0xfd,0x48,0x0a,0x7e]
+0xfd,0x48,0x0a,0x7e
-# CHECK: v_rsq_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x64,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x48,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x48,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_rsq_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x64,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x64,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x48,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x48,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_rsq_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x64,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e32 v5, v1 ; encoding: [0x01,0x49,0x0a,0x7e]
+0x01,0x49,0x0a,0x7e
-# CHECK: v_rsq_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x64,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e32 v5, v255 ; encoding: [0xff,0x49,0x0a,0x7e]
+0xff,0x49,0x0a,0x7e
-# CHECK: v_rsq_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x64,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x64,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x64,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x64,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x64,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x64,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x64,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x64,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x64,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x64,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x64,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x64,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x64,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x64,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x64,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x64,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x64,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x64,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x64,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x64,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x64,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x64,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x64,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x64,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x64,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x64,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x64,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x64,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x64,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x64,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, scc ; encoding: [0x00,0x00,0x64,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x64,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x64,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x64,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x64,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x64,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x64,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x64,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x64,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x64,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_rsq_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x64,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x64,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x64,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, scc ; encoding: [0x05,0x00,0x64,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x64,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x64,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x64,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rsq_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x64,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x64,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x64,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_rsq_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x64,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x64,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_rsq_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x64,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x64,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_rsq_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_rsq_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x64,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x64,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_rsq_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x64,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x64,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e32 v[0:1], s[0:1] ; encoding: [0x00,0x4a,0x00,0x7e]
-0x00,0x4a,0x00,0x7e
+# CHECK: v_rsq_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x64,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x64,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e32 v[254:255], s[0:1] ; encoding: [0x00,0x4a,0xfc,0x7f]
-0x00,0x4a,0xfc,0x7f
+# CHECK: v_rsq_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_rcp_f64_e32 v[0:1], s[2:3] ; encoding: [0x02,0x4a,0x00,0x7e]
-0x02,0x4a,0x00,0x7e
+# CHECK: v_rsq_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_rcp_f64_e32 v[0:1], s[100:101] ; encoding: [0x64,0x4a,0x00,0x7e]
-0x64,0x4a,0x00,0x7e
+# CHECK: v_rsq_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x64,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_rcp_f64_e32 v[0:1], flat_scratch ; encoding: [0x66,0x4a,0x00,0x7e]
-0x66,0x4a,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], s[2:3] ; encoding: [0x02,0x4a,0x0a,0x7e]
+0x02,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], vcc ; encoding: [0x6a,0x4a,0x00,0x7e]
-0x6a,0x4a,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[254:255], s[2:3] ; encoding: [0x02,0x4a,0xfc,0x7f]
+0x02,0x4a,0xfc,0x7f
-# CHECK: v_rcp_f64_e32 v[0:1], tba ; encoding: [0x6c,0x4a,0x00,0x7e]
-0x6c,0x4a,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x4a,0x0a,0x7e]
+0x04,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], tma ; encoding: [0x6e,0x4a,0x00,0x7e]
-0x6e,0x4a,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], s[100:101] ; encoding: [0x64,0x4a,0x0a,0x7e]
+0x64,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], ttmp[10:11] ; encoding: [0x7a,0x4a,0x00,0x7e]
-0x7a,0x4a,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], flat_scratch ; encoding: [0x66,0x4a,0x0a,0x7e]
+0x66,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], exec ; encoding: [0x7e,0x4a,0x00,0x7e]
-0x7e,0x4a,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], vcc ; encoding: [0x6a,0x4a,0x0a,0x7e]
+0x6a,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], 0 ; encoding: [0x80,0x4a,0x00,0x7e]
-0x80,0x4a,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], tba ; encoding: [0x6c,0x4a,0x0a,0x7e]
+0x6c,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], -1 ; encoding: [0xc1,0x4a,0x00,0x7e]
-0xc1,0x4a,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], tma ; encoding: [0x6e,0x4a,0x0a,0x7e]
+0x6e,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], 0.5 ; encoding: [0xf0,0x4a,0x00,0x7e]
-0xf0,0x4a,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], ttmp[10:11] ; encoding: [0x7a,0x4a,0x0a,0x7e]
+0x7a,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], -4.0 ; encoding: [0xf7,0x4a,0x00,0x7e]
-0xf7,0x4a,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], exec ; encoding: [0x7e,0x4a,0x0a,0x7e]
+0x7e,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x4a,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x4a,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_rcp_f64_e32 v[5:6], 0 ; encoding: [0x80,0x4a,0x0a,0x7e]
+0x80,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x4a,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x4a,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_rcp_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x4a,0x0a,0x7e]
+0xc1,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], v[0:1] ; encoding: [0x00,0x4b,0x00,0x7e]
-0x00,0x4b,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], 0.5 ; encoding: [0xf0,0x4a,0x0a,0x7e]
+0xf0,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e32 v[0:1], v[254:255] ; encoding: [0xfe,0x4b,0x00,0x7e]
-0xfe,0x4b,0x00,0x7e
+# CHECK: v_rcp_f64_e32 v[5:6], -4.0 ; encoding: [0xf7,0x4a,0x0a,0x7e]
+0xf7,0x4a,0x0a,0x7e
-# CHECK: v_rcp_f64_e64 v[0:1], s[0:1] ; encoding: [0x00,0x00,0x65,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x4a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x4a,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_rcp_f64_e64 v[254:255], s[0:1] ; encoding: [0xfe,0x00,0x65,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x65,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x4a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x4a,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_rcp_f64_e64 v[0:1], s[2:3] ; encoding: [0x00,0x00,0x65,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x4b,0x0a,0x7e]
+0x01,0x4b,0x0a,0x7e
-# CHECK: v_rcp_f64_e64 v[0:1], s[100:101] ; encoding: [0x00,0x00,0x65,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x4b,0x0a,0x7e]
+0xfe,0x4b,0x0a,0x7e
-# CHECK: v_rcp_f64_e64 v[0:1], flat_scratch ; encoding: [0x00,0x00,0x65,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], vcc ; encoding: [0x00,0x00,0x65,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[254:255], s[2:3] ; encoding: [0xfe,0x00,0x65,0xd1,0x02,0x00,0x00,0x00]
+0xfe,0x00,0x65,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], tba ; encoding: [0x00,0x00,0x65,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], s[4:5] ; encoding: [0x05,0x00,0x65,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], tma ; encoding: [0x00,0x00,0x65,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], s[100:101] ; encoding: [0x05,0x00,0x65,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], ttmp[10:11] ; encoding: [0x00,0x00,0x65,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], flat_scratch ; encoding: [0x05,0x00,0x65,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], exec ; encoding: [0x00,0x00,0x65,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], vcc ; encoding: [0x05,0x00,0x65,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x65,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], tba ; encoding: [0x05,0x00,0x65,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x65,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], tma ; encoding: [0x05,0x00,0x65,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x65,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], ttmp[10:11] ; encoding: [0x05,0x00,0x65,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x65,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], exec ; encoding: [0x05,0x00,0x65,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x65,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x65,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x65,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x65,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x65,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x65,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], -s[0:1] ; encoding: [0x00,0x00,0x65,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x65,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_rcp_f64_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x65,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], |s[0:1]| ; encoding: [0x00,0x01,0x65,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x65,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x65,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x65,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x65,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x65,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rcp_f64_e64 v[5:6], v[1:2] ; encoding: [0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x65,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x65,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x65,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_rcp_f64_e64 v[5:6], v[254:255] ; encoding: [0x05,0x00,0x65,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x65,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_rcp_f64_e64 v[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x65,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x65,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_rcp_f64_e64 v[5:6], -s[2:3] ; encoding: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_rcp_f64_e64 v[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x65,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x65,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_rcp_f64_e64 v[5:6], |s[2:3]| ; encoding: [0x05,0x01,0x65,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x01,0x65,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e32 v[0:1], s[0:1] ; encoding: [0x00,0x4c,0x00,0x7e]
-0x00,0x4c,0x00,0x7e
+# CHECK: v_rcp_f64_e64 v[5:6], s[2:3] clamp ; encoding: [0x05,0x80,0x65,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x65,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e32 v[254:255], s[0:1] ; encoding: [0x00,0x4c,0xfc,0x7f]
-0x00,0x4c,0xfc,0x7f
+# CHECK: v_rcp_f64_e64 v[5:6], s[2:3] mul:2 ; encoding: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x08]
+0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x08
-# CHECK: v_rsq_f64_e32 v[0:1], s[2:3] ; encoding: [0x02,0x4c,0x00,0x7e]
-0x02,0x4c,0x00,0x7e
+# CHECK: v_rcp_f64_e64 v[5:6], s[2:3] mul:4 ; encoding: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x10]
+0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x10
-# CHECK: v_rsq_f64_e32 v[0:1], s[100:101] ; encoding: [0x64,0x4c,0x00,0x7e]
-0x64,0x4c,0x00,0x7e
+# CHECK: v_rcp_f64_e64 v[5:6], s[2:3] div:2 ; encoding: [0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x18]
+0x05,0x00,0x65,0xd1,0x02,0x00,0x00,0x18
-# CHECK: v_rsq_f64_e32 v[0:1], flat_scratch ; encoding: [0x66,0x4c,0x00,0x7e]
-0x66,0x4c,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], s[2:3] ; encoding: [0x02,0x4c,0x0a,0x7e]
+0x02,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], vcc ; encoding: [0x6a,0x4c,0x00,0x7e]
-0x6a,0x4c,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[254:255], s[2:3] ; encoding: [0x02,0x4c,0xfc,0x7f]
+0x02,0x4c,0xfc,0x7f
-# CHECK: v_rsq_f64_e32 v[0:1], tba ; encoding: [0x6c,0x4c,0x00,0x7e]
-0x6c,0x4c,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x4c,0x0a,0x7e]
+0x04,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], tma ; encoding: [0x6e,0x4c,0x00,0x7e]
-0x6e,0x4c,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], s[100:101] ; encoding: [0x64,0x4c,0x0a,0x7e]
+0x64,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], ttmp[10:11] ; encoding: [0x7a,0x4c,0x00,0x7e]
-0x7a,0x4c,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], flat_scratch ; encoding: [0x66,0x4c,0x0a,0x7e]
+0x66,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], exec ; encoding: [0x7e,0x4c,0x00,0x7e]
-0x7e,0x4c,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], vcc ; encoding: [0x6a,0x4c,0x0a,0x7e]
+0x6a,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], 0 ; encoding: [0x80,0x4c,0x00,0x7e]
-0x80,0x4c,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], tba ; encoding: [0x6c,0x4c,0x0a,0x7e]
+0x6c,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], -1 ; encoding: [0xc1,0x4c,0x00,0x7e]
-0xc1,0x4c,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], tma ; encoding: [0x6e,0x4c,0x0a,0x7e]
+0x6e,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], 0.5 ; encoding: [0xf0,0x4c,0x00,0x7e]
-0xf0,0x4c,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], ttmp[10:11] ; encoding: [0x7a,0x4c,0x0a,0x7e]
+0x7a,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], -4.0 ; encoding: [0xf7,0x4c,0x00,0x7e]
-0xf7,0x4c,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], exec ; encoding: [0x7e,0x4c,0x0a,0x7e]
+0x7e,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x4c,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x4c,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_rsq_f64_e32 v[5:6], 0 ; encoding: [0x80,0x4c,0x0a,0x7e]
+0x80,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x4c,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x4c,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_rsq_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x4c,0x0a,0x7e]
+0xc1,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], v[0:1] ; encoding: [0x00,0x4d,0x00,0x7e]
-0x00,0x4d,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], 0.5 ; encoding: [0xf0,0x4c,0x0a,0x7e]
+0xf0,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e32 v[0:1], v[254:255] ; encoding: [0xfe,0x4d,0x00,0x7e]
-0xfe,0x4d,0x00,0x7e
+# CHECK: v_rsq_f64_e32 v[5:6], -4.0 ; encoding: [0xf7,0x4c,0x0a,0x7e]
+0xf7,0x4c,0x0a,0x7e
-# CHECK: v_rsq_f64_e64 v[0:1], s[0:1] ; encoding: [0x00,0x00,0x66,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x4c,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x4c,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_rsq_f64_e64 v[254:255], s[0:1] ; encoding: [0xfe,0x00,0x66,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x66,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x4c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x4c,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_rsq_f64_e64 v[0:1], s[2:3] ; encoding: [0x00,0x00,0x66,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x4d,0x0a,0x7e]
+0x01,0x4d,0x0a,0x7e
-# CHECK: v_rsq_f64_e64 v[0:1], s[100:101] ; encoding: [0x00,0x00,0x66,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x4d,0x0a,0x7e]
+0xfe,0x4d,0x0a,0x7e
-# CHECK: v_rsq_f64_e64 v[0:1], flat_scratch ; encoding: [0x00,0x00,0x66,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], vcc ; encoding: [0x00,0x00,0x66,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[254:255], s[2:3] ; encoding: [0xfe,0x00,0x66,0xd1,0x02,0x00,0x00,0x00]
+0xfe,0x00,0x66,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], tba ; encoding: [0x00,0x00,0x66,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], s[4:5] ; encoding: [0x05,0x00,0x66,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], tma ; encoding: [0x00,0x00,0x66,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], s[100:101] ; encoding: [0x05,0x00,0x66,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], ttmp[10:11] ; encoding: [0x00,0x00,0x66,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], flat_scratch ; encoding: [0x05,0x00,0x66,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], exec ; encoding: [0x00,0x00,0x66,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], vcc ; encoding: [0x05,0x00,0x66,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x66,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], tba ; encoding: [0x05,0x00,0x66,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x66,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], tma ; encoding: [0x05,0x00,0x66,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x66,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], ttmp[10:11] ; encoding: [0x05,0x00,0x66,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x66,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], exec ; encoding: [0x05,0x00,0x66,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x66,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x66,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x66,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x66,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x66,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x66,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], -s[0:1] ; encoding: [0x00,0x00,0x66,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x66,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_rsq_f64_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x66,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], |s[0:1]| ; encoding: [0x00,0x01,0x66,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x66,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x66,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x66,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x66,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x66,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_rsq_f64_e64 v[5:6], v[1:2] ; encoding: [0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x66,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x66,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x66,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_rsq_f64_e64 v[5:6], v[254:255] ; encoding: [0x05,0x00,0x66,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x66,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_rsq_f64_e64 v[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x66,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x66,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_rsq_f64_e64 v[5:6], -s[2:3] ; encoding: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_rsq_f64_e64 v[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x66,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x66,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_rsq_f64_e64 v[5:6], |s[2:3]| ; encoding: [0x05,0x01,0x66,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x01,0x66,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e32 v0, s0 ; encoding: [0x00,0x4e,0x00,0x7e]
-0x00,0x4e,0x00,0x7e
+# CHECK: v_rsq_f64_e64 v[5:6], s[2:3] clamp ; encoding: [0x05,0x80,0x66,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x66,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e32 v255, s0 ; encoding: [0x00,0x4e,0xfe,0x7f]
-0x00,0x4e,0xfe,0x7f
+# CHECK: v_rsq_f64_e64 v[5:6], s[2:3] mul:2 ; encoding: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x08]
+0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x08
-# CHECK: v_sqrt_f32_e32 v0, s101 ; encoding: [0x65,0x4e,0x00,0x7e]
-0x65,0x4e,0x00,0x7e
+# CHECK: v_rsq_f64_e64 v[5:6], s[2:3] mul:4 ; encoding: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x10]
+0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x10
-# CHECK: v_sqrt_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x4e,0x00,0x7e]
-0x66,0x4e,0x00,0x7e
+# CHECK: v_rsq_f64_e64 v[5:6], s[2:3] div:2 ; encoding: [0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x18]
+0x05,0x00,0x66,0xd1,0x02,0x00,0x00,0x18
-# CHECK: v_sqrt_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x4e,0x00,0x7e]
-0x67,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, s1 ; encoding: [0x01,0x4e,0x0a,0x7e]
+0x01,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x4e,0x00,0x7e]
-0x6a,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v255, s1 ; encoding: [0x01,0x4e,0xfe,0x7f]
+0x01,0x4e,0xfe,0x7f
-# CHECK: v_sqrt_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x4e,0x00,0x7e]
-0x6b,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, s101 ; encoding: [0x65,0x4e,0x0a,0x7e]
+0x65,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, tba_lo ; encoding: [0x6c,0x4e,0x00,0x7e]
-0x6c,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x4e,0x0a,0x7e]
+0x66,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, tba_hi ; encoding: [0x6d,0x4e,0x00,0x7e]
-0x6d,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x4e,0x0a,0x7e]
+0x67,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, tma_lo ; encoding: [0x6e,0x4e,0x00,0x7e]
-0x6e,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x4e,0x0a,0x7e]
+0x6a,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, tma_hi ; encoding: [0x6f,0x4e,0x00,0x7e]
-0x6f,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x4e,0x0a,0x7e]
+0x6b,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x4e,0x00,0x7e]
-0x7b,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, tba_lo ; encoding: [0x6c,0x4e,0x0a,0x7e]
+0x6c,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, m0 ; encoding: [0x7c,0x4e,0x00,0x7e]
-0x7c,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, tba_hi ; encoding: [0x6d,0x4e,0x0a,0x7e]
+0x6d,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, exec_lo ; encoding: [0x7e,0x4e,0x00,0x7e]
-0x7e,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, tma_lo ; encoding: [0x6e,0x4e,0x0a,0x7e]
+0x6e,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, exec_hi ; encoding: [0x7f,0x4e,0x00,0x7e]
-0x7f,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, tma_hi ; encoding: [0x6f,0x4e,0x0a,0x7e]
+0x6f,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, 0 ; encoding: [0x80,0x4e,0x00,0x7e]
-0x80,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x4e,0x0a,0x7e]
+0x7b,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, -1 ; encoding: [0xc1,0x4e,0x00,0x7e]
-0xc1,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, m0 ; encoding: [0x7c,0x4e,0x0a,0x7e]
+0x7c,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, 0.5 ; encoding: [0xf0,0x4e,0x00,0x7e]
-0xf0,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, exec_lo ; encoding: [0x7e,0x4e,0x0a,0x7e]
+0x7e,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, -4.0 ; encoding: [0xf7,0x4e,0x00,0x7e]
-0xf7,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, exec_hi ; encoding: [0x7f,0x4e,0x0a,0x7e]
+0x7f,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, scc ; encoding: [0xfd,0x4e,0x00,0x7e]
-0xfd,0x4e,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, 0 ; encoding: [0x80,0x4e,0x0a,0x7e]
+0x80,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x4e,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x4e,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_sqrt_f32_e32 v5, -1 ; encoding: [0xc1,0x4e,0x0a,0x7e]
+0xc1,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x4e,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x4e,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_sqrt_f32_e32 v5, 0.5 ; encoding: [0xf0,0x4e,0x0a,0x7e]
+0xf0,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, v0 ; encoding: [0x00,0x4f,0x00,0x7e]
-0x00,0x4f,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, -4.0 ; encoding: [0xf7,0x4e,0x0a,0x7e]
+0xf7,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e32 v0, v255 ; encoding: [0xff,0x4f,0x00,0x7e]
-0xff,0x4f,0x00,0x7e
+# CHECK: v_sqrt_f32_e32 v5, scc ; encoding: [0xfd,0x4e,0x0a,0x7e]
+0xfd,0x4e,0x0a,0x7e
-# CHECK: v_sqrt_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x67,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x4e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x4e,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_sqrt_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x67,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x67,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x4e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x4e,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_sqrt_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x67,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e32 v5, v1 ; encoding: [0x01,0x4f,0x0a,0x7e]
+0x01,0x4f,0x0a,0x7e
-# CHECK: v_sqrt_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x67,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e32 v5, v255 ; encoding: [0xff,0x4f,0x0a,0x7e]
+0xff,0x4f,0x0a,0x7e
-# CHECK: v_sqrt_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x67,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x67,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x67,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x67,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x67,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x67,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x67,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x67,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x67,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x67,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x67,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x67,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x67,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x67,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x67,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x67,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x67,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x67,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x67,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x67,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x67,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x67,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x67,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x67,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x67,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x67,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x67,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x67,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x67,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x67,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, scc ; encoding: [0x00,0x00,0x67,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x67,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x67,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x67,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x67,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x67,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x67,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x67,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x67,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x67,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_sqrt_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x67,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x67,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x67,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, scc ; encoding: [0x05,0x00,0x67,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x67,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x67,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x67,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sqrt_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x67,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x67,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x67,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_sqrt_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x67,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x67,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_sqrt_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x67,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x67,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_sqrt_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_sqrt_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x67,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x67,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_sqrt_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x67,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x67,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e32 v[0:1], s[0:1] ; encoding: [0x00,0x50,0x00,0x7e]
-0x00,0x50,0x00,0x7e
+# CHECK: v_sqrt_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x67,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x67,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e32 v[254:255], s[0:1] ; encoding: [0x00,0x50,0xfc,0x7f]
-0x00,0x50,0xfc,0x7f
+# CHECK: v_sqrt_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_sqrt_f64_e32 v[0:1], s[2:3] ; encoding: [0x02,0x50,0x00,0x7e]
-0x02,0x50,0x00,0x7e
+# CHECK: v_sqrt_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_sqrt_f64_e32 v[0:1], s[100:101] ; encoding: [0x64,0x50,0x00,0x7e]
-0x64,0x50,0x00,0x7e
+# CHECK: v_sqrt_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x67,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_sqrt_f64_e32 v[0:1], flat_scratch ; encoding: [0x66,0x50,0x00,0x7e]
-0x66,0x50,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], s[2:3] ; encoding: [0x02,0x50,0x0a,0x7e]
+0x02,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], vcc ; encoding: [0x6a,0x50,0x00,0x7e]
-0x6a,0x50,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[254:255], s[2:3] ; encoding: [0x02,0x50,0xfc,0x7f]
+0x02,0x50,0xfc,0x7f
-# CHECK: v_sqrt_f64_e32 v[0:1], tba ; encoding: [0x6c,0x50,0x00,0x7e]
-0x6c,0x50,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x50,0x0a,0x7e]
+0x04,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], tma ; encoding: [0x6e,0x50,0x00,0x7e]
-0x6e,0x50,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], s[100:101] ; encoding: [0x64,0x50,0x0a,0x7e]
+0x64,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], ttmp[10:11] ; encoding: [0x7a,0x50,0x00,0x7e]
-0x7a,0x50,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], flat_scratch ; encoding: [0x66,0x50,0x0a,0x7e]
+0x66,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], exec ; encoding: [0x7e,0x50,0x00,0x7e]
-0x7e,0x50,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], vcc ; encoding: [0x6a,0x50,0x0a,0x7e]
+0x6a,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], 0 ; encoding: [0x80,0x50,0x00,0x7e]
-0x80,0x50,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], tba ; encoding: [0x6c,0x50,0x0a,0x7e]
+0x6c,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], -1 ; encoding: [0xc1,0x50,0x00,0x7e]
-0xc1,0x50,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], tma ; encoding: [0x6e,0x50,0x0a,0x7e]
+0x6e,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], 0.5 ; encoding: [0xf0,0x50,0x00,0x7e]
-0xf0,0x50,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], ttmp[10:11] ; encoding: [0x7a,0x50,0x0a,0x7e]
+0x7a,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], -4.0 ; encoding: [0xf7,0x50,0x00,0x7e]
-0xf7,0x50,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], exec ; encoding: [0x7e,0x50,0x0a,0x7e]
+0x7e,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x50,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x50,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_sqrt_f64_e32 v[5:6], 0 ; encoding: [0x80,0x50,0x0a,0x7e]
+0x80,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x50,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x50,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_sqrt_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x50,0x0a,0x7e]
+0xc1,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], v[0:1] ; encoding: [0x00,0x51,0x00,0x7e]
-0x00,0x51,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], 0.5 ; encoding: [0xf0,0x50,0x0a,0x7e]
+0xf0,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e32 v[0:1], v[254:255] ; encoding: [0xfe,0x51,0x00,0x7e]
-0xfe,0x51,0x00,0x7e
+# CHECK: v_sqrt_f64_e32 v[5:6], -4.0 ; encoding: [0xf7,0x50,0x0a,0x7e]
+0xf7,0x50,0x0a,0x7e
-# CHECK: v_sqrt_f64_e64 v[0:1], s[0:1] ; encoding: [0x00,0x00,0x68,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x50,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x50,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_sqrt_f64_e64 v[254:255], s[0:1] ; encoding: [0xfe,0x00,0x68,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x68,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x50,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x50,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_sqrt_f64_e64 v[0:1], s[2:3] ; encoding: [0x00,0x00,0x68,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x51,0x0a,0x7e]
+0x01,0x51,0x0a,0x7e
-# CHECK: v_sqrt_f64_e64 v[0:1], s[100:101] ; encoding: [0x00,0x00,0x68,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x51,0x0a,0x7e]
+0xfe,0x51,0x0a,0x7e
-# CHECK: v_sqrt_f64_e64 v[0:1], flat_scratch ; encoding: [0x00,0x00,0x68,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], vcc ; encoding: [0x00,0x00,0x68,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[254:255], s[2:3] ; encoding: [0xfe,0x00,0x68,0xd1,0x02,0x00,0x00,0x00]
+0xfe,0x00,0x68,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], tba ; encoding: [0x00,0x00,0x68,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], s[4:5] ; encoding: [0x05,0x00,0x68,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], tma ; encoding: [0x00,0x00,0x68,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], s[100:101] ; encoding: [0x05,0x00,0x68,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], ttmp[10:11] ; encoding: [0x00,0x00,0x68,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], flat_scratch ; encoding: [0x05,0x00,0x68,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], exec ; encoding: [0x00,0x00,0x68,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], vcc ; encoding: [0x05,0x00,0x68,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x68,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], tba ; encoding: [0x05,0x00,0x68,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x68,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], tma ; encoding: [0x05,0x00,0x68,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x68,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], ttmp[10:11] ; encoding: [0x05,0x00,0x68,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x68,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], exec ; encoding: [0x05,0x00,0x68,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x68,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x68,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x68,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x68,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x68,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x68,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], -s[0:1] ; encoding: [0x00,0x00,0x68,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x68,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_sqrt_f64_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x68,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], |s[0:1]| ; encoding: [0x00,0x01,0x68,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x68,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x68,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x68,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x68,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x68,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sqrt_f64_e64 v[5:6], v[1:2] ; encoding: [0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x68,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x68,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x68,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_sqrt_f64_e64 v[5:6], v[254:255] ; encoding: [0x05,0x00,0x68,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x68,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_sqrt_f64_e64 v[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x68,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x68,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_sqrt_f64_e64 v[5:6], -s[2:3] ; encoding: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_sqrt_f64_e64 v[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x68,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x68,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_sqrt_f64_e64 v[5:6], |s[2:3]| ; encoding: [0x05,0x01,0x68,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x01,0x68,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_sin_f32_e32 v0, s0 ; encoding: [0x00,0x52,0x00,0x7e]
-0x00,0x52,0x00,0x7e
+# CHECK: v_sqrt_f64_e64 v[5:6], s[2:3] clamp ; encoding: [0x05,0x80,0x68,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x68,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_sin_f32_e32 v255, s0 ; encoding: [0x00,0x52,0xfe,0x7f]
-0x00,0x52,0xfe,0x7f
+# CHECK: v_sqrt_f64_e64 v[5:6], s[2:3] mul:2 ; encoding: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x08]
+0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x08
-# CHECK: v_sin_f32_e32 v0, s101 ; encoding: [0x65,0x52,0x00,0x7e]
-0x65,0x52,0x00,0x7e
+# CHECK: v_sqrt_f64_e64 v[5:6], s[2:3] mul:4 ; encoding: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x10]
+0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x10
-# CHECK: v_sin_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x52,0x00,0x7e]
-0x66,0x52,0x00,0x7e
+# CHECK: v_sqrt_f64_e64 v[5:6], s[2:3] div:2 ; encoding: [0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x18]
+0x05,0x00,0x68,0xd1,0x02,0x00,0x00,0x18
-# CHECK: v_sin_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x52,0x00,0x7e]
-0x67,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, s1 ; encoding: [0x01,0x52,0x0a,0x7e]
+0x01,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x52,0x00,0x7e]
-0x6a,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v255, s1 ; encoding: [0x01,0x52,0xfe,0x7f]
+0x01,0x52,0xfe,0x7f
-# CHECK: v_sin_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x52,0x00,0x7e]
-0x6b,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, s101 ; encoding: [0x65,0x52,0x0a,0x7e]
+0x65,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, tba_lo ; encoding: [0x6c,0x52,0x00,0x7e]
-0x6c,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x52,0x0a,0x7e]
+0x66,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, tba_hi ; encoding: [0x6d,0x52,0x00,0x7e]
-0x6d,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x52,0x0a,0x7e]
+0x67,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, tma_lo ; encoding: [0x6e,0x52,0x00,0x7e]
-0x6e,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x52,0x0a,0x7e]
+0x6a,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, tma_hi ; encoding: [0x6f,0x52,0x00,0x7e]
-0x6f,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x52,0x0a,0x7e]
+0x6b,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x52,0x00,0x7e]
-0x7b,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, tba_lo ; encoding: [0x6c,0x52,0x0a,0x7e]
+0x6c,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, m0 ; encoding: [0x7c,0x52,0x00,0x7e]
-0x7c,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, tba_hi ; encoding: [0x6d,0x52,0x0a,0x7e]
+0x6d,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, exec_lo ; encoding: [0x7e,0x52,0x00,0x7e]
-0x7e,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, tma_lo ; encoding: [0x6e,0x52,0x0a,0x7e]
+0x6e,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, exec_hi ; encoding: [0x7f,0x52,0x00,0x7e]
-0x7f,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, tma_hi ; encoding: [0x6f,0x52,0x0a,0x7e]
+0x6f,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, 0 ; encoding: [0x80,0x52,0x00,0x7e]
-0x80,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x52,0x0a,0x7e]
+0x7b,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, -1 ; encoding: [0xc1,0x52,0x00,0x7e]
-0xc1,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, m0 ; encoding: [0x7c,0x52,0x0a,0x7e]
+0x7c,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, 0.5 ; encoding: [0xf0,0x52,0x00,0x7e]
-0xf0,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, exec_lo ; encoding: [0x7e,0x52,0x0a,0x7e]
+0x7e,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, -4.0 ; encoding: [0xf7,0x52,0x00,0x7e]
-0xf7,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, exec_hi ; encoding: [0x7f,0x52,0x0a,0x7e]
+0x7f,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, scc ; encoding: [0xfd,0x52,0x00,0x7e]
-0xfd,0x52,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, 0 ; encoding: [0x80,0x52,0x0a,0x7e]
+0x80,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x52,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x52,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_sin_f32_e32 v5, -1 ; encoding: [0xc1,0x52,0x0a,0x7e]
+0xc1,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x52,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x52,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_sin_f32_e32 v5, 0.5 ; encoding: [0xf0,0x52,0x0a,0x7e]
+0xf0,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, v0 ; encoding: [0x00,0x53,0x00,0x7e]
-0x00,0x53,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, -4.0 ; encoding: [0xf7,0x52,0x0a,0x7e]
+0xf7,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e32 v0, v255 ; encoding: [0xff,0x53,0x00,0x7e]
-0xff,0x53,0x00,0x7e
+# CHECK: v_sin_f32_e32 v5, scc ; encoding: [0xfd,0x52,0x0a,0x7e]
+0xfd,0x52,0x0a,0x7e
-# CHECK: v_sin_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x69,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sin_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x52,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x52,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_sin_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x69,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x69,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sin_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x52,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x52,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_sin_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x69,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_sin_f32_e32 v5, v1 ; encoding: [0x01,0x53,0x0a,0x7e]
+0x01,0x53,0x0a,0x7e
-# CHECK: v_sin_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x69,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_sin_f32_e32 v5, v255 ; encoding: [0xff,0x53,0x0a,0x7e]
+0xff,0x53,0x0a,0x7e
-# CHECK: v_sin_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x69,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x69,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x69,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x69,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x69,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x69,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x69,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x69,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x69,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x69,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x69,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x69,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x69,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x69,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x69,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x69,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x69,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x69,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x69,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x69,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x69,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x69,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x69,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x69,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x69,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x69,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x69,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x69,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x69,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x69,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, scc ; encoding: [0x00,0x00,0x69,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x69,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x69,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x69,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x69,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x69,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x69,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x69,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x69,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x69,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_sin_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x69,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x69,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x69,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, scc ; encoding: [0x05,0x00,0x69,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x69,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x69,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x69,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sin_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x69,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x69,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x69,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_sin_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x69,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x69,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_sin_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x69,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x69,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_sin_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_sin_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x69,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x69,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_sin_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x69,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x69,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cos_f32_e32 v0, s0 ; encoding: [0x00,0x54,0x00,0x7e]
-0x00,0x54,0x00,0x7e
+# CHECK: v_sin_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x69,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x69,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cos_f32_e32 v255, s0 ; encoding: [0x00,0x54,0xfe,0x7f]
-0x00,0x54,0xfe,0x7f
+# CHECK: v_sin_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_cos_f32_e32 v0, s101 ; encoding: [0x65,0x54,0x00,0x7e]
-0x65,0x54,0x00,0x7e
+# CHECK: v_sin_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_cos_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x54,0x00,0x7e]
-0x66,0x54,0x00,0x7e
+# CHECK: v_sin_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x69,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_cos_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x54,0x00,0x7e]
-0x67,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, s1 ; encoding: [0x01,0x54,0x0a,0x7e]
+0x01,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x54,0x00,0x7e]
-0x6a,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v255, s1 ; encoding: [0x01,0x54,0xfe,0x7f]
+0x01,0x54,0xfe,0x7f
-# CHECK: v_cos_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x54,0x00,0x7e]
-0x6b,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, s101 ; encoding: [0x65,0x54,0x0a,0x7e]
+0x65,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, tba_lo ; encoding: [0x6c,0x54,0x00,0x7e]
-0x6c,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x54,0x0a,0x7e]
+0x66,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, tba_hi ; encoding: [0x6d,0x54,0x00,0x7e]
-0x6d,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x54,0x0a,0x7e]
+0x67,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, tma_lo ; encoding: [0x6e,0x54,0x00,0x7e]
-0x6e,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x54,0x0a,0x7e]
+0x6a,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, tma_hi ; encoding: [0x6f,0x54,0x00,0x7e]
-0x6f,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x54,0x0a,0x7e]
+0x6b,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x54,0x00,0x7e]
-0x7b,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, tba_lo ; encoding: [0x6c,0x54,0x0a,0x7e]
+0x6c,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, m0 ; encoding: [0x7c,0x54,0x00,0x7e]
-0x7c,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, tba_hi ; encoding: [0x6d,0x54,0x0a,0x7e]
+0x6d,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, exec_lo ; encoding: [0x7e,0x54,0x00,0x7e]
-0x7e,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, tma_lo ; encoding: [0x6e,0x54,0x0a,0x7e]
+0x6e,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, exec_hi ; encoding: [0x7f,0x54,0x00,0x7e]
-0x7f,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, tma_hi ; encoding: [0x6f,0x54,0x0a,0x7e]
+0x6f,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, 0 ; encoding: [0x80,0x54,0x00,0x7e]
-0x80,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x54,0x0a,0x7e]
+0x7b,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, -1 ; encoding: [0xc1,0x54,0x00,0x7e]
-0xc1,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, m0 ; encoding: [0x7c,0x54,0x0a,0x7e]
+0x7c,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, 0.5 ; encoding: [0xf0,0x54,0x00,0x7e]
-0xf0,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, exec_lo ; encoding: [0x7e,0x54,0x0a,0x7e]
+0x7e,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, -4.0 ; encoding: [0xf7,0x54,0x00,0x7e]
-0xf7,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, exec_hi ; encoding: [0x7f,0x54,0x0a,0x7e]
+0x7f,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, scc ; encoding: [0xfd,0x54,0x00,0x7e]
-0xfd,0x54,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, 0 ; encoding: [0x80,0x54,0x0a,0x7e]
+0x80,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x54,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x54,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cos_f32_e32 v5, -1 ; encoding: [0xc1,0x54,0x0a,0x7e]
+0xc1,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x54,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x54,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cos_f32_e32 v5, 0.5 ; encoding: [0xf0,0x54,0x0a,0x7e]
+0xf0,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, v0 ; encoding: [0x00,0x55,0x00,0x7e]
-0x00,0x55,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, -4.0 ; encoding: [0xf7,0x54,0x0a,0x7e]
+0xf7,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e32 v0, v255 ; encoding: [0xff,0x55,0x00,0x7e]
-0xff,0x55,0x00,0x7e
+# CHECK: v_cos_f32_e32 v5, scc ; encoding: [0xfd,0x54,0x0a,0x7e]
+0xfd,0x54,0x0a,0x7e
-# CHECK: v_cos_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x6a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cos_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x54,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x54,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_cos_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x6a,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x6a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cos_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x54,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x54,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_cos_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x6a,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cos_f32_e32 v5, v1 ; encoding: [0x01,0x55,0x0a,0x7e]
+0x01,0x55,0x0a,0x7e
-# CHECK: v_cos_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x6a,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cos_f32_e32 v5, v255 ; encoding: [0xff,0x55,0x0a,0x7e]
+0xff,0x55,0x0a,0x7e
-# CHECK: v_cos_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x6a,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x6a,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x6a,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x6a,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x6a,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x6a,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x6a,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x6a,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x6a,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x6a,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x6a,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x6a,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x6a,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x6a,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x6a,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x6a,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x6a,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x6a,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x6a,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x6a,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x6a,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x6a,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x6a,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x6a,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x6a,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x6a,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x6a,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x6a,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x6a,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x6a,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, scc ; encoding: [0x00,0x00,0x6a,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x6a,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x6a,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x6a,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x6a,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x6a,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x6a,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x6a,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x6a,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cos_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x6a,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x6a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x6a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, scc ; encoding: [0x05,0x00,0x6a,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x6a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x6a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cos_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x6a,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x6a,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cos_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x6a,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x6a,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_cos_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x6a,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x6a,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cos_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_cos_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x6a,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x6a,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cos_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x6a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x6a,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_not_b32_e32 v0, s0 ; encoding: [0x00,0x56,0x00,0x7e]
-0x00,0x56,0x00,0x7e
+# CHECK: v_cos_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x6a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x6a,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_not_b32_e32 v255, s0 ; encoding: [0x00,0x56,0xfe,0x7f]
-0x00,0x56,0xfe,0x7f
+# CHECK: v_cos_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x08
-# CHECK: v_not_b32_e32 v0, s101 ; encoding: [0x65,0x56,0x00,0x7e]
-0x65,0x56,0x00,0x7e
+# CHECK: v_cos_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x10
-# CHECK: v_not_b32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x56,0x00,0x7e]
-0x66,0x56,0x00,0x7e
+# CHECK: v_cos_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x6a,0xd1,0x01,0x00,0x00,0x18
-# CHECK: v_not_b32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x56,0x00,0x7e]
-0x67,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, s1 ; encoding: [0x01,0x56,0x0a,0x7e]
+0x01,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, vcc_lo ; encoding: [0x6a,0x56,0x00,0x7e]
-0x6a,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v255, s1 ; encoding: [0x01,0x56,0xfe,0x7f]
+0x01,0x56,0xfe,0x7f
-# CHECK: v_not_b32_e32 v0, vcc_hi ; encoding: [0x6b,0x56,0x00,0x7e]
-0x6b,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, s101 ; encoding: [0x65,0x56,0x0a,0x7e]
+0x65,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, tba_lo ; encoding: [0x6c,0x56,0x00,0x7e]
-0x6c,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x56,0x0a,0x7e]
+0x66,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, tba_hi ; encoding: [0x6d,0x56,0x00,0x7e]
-0x6d,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x56,0x0a,0x7e]
+0x67,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, tma_lo ; encoding: [0x6e,0x56,0x00,0x7e]
-0x6e,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, vcc_lo ; encoding: [0x6a,0x56,0x0a,0x7e]
+0x6a,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, tma_hi ; encoding: [0x6f,0x56,0x00,0x7e]
-0x6f,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, vcc_hi ; encoding: [0x6b,0x56,0x0a,0x7e]
+0x6b,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, ttmp11 ; encoding: [0x7b,0x56,0x00,0x7e]
-0x7b,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, tba_lo ; encoding: [0x6c,0x56,0x0a,0x7e]
+0x6c,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, m0 ; encoding: [0x7c,0x56,0x00,0x7e]
-0x7c,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, tba_hi ; encoding: [0x6d,0x56,0x0a,0x7e]
+0x6d,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, exec_lo ; encoding: [0x7e,0x56,0x00,0x7e]
-0x7e,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, tma_lo ; encoding: [0x6e,0x56,0x0a,0x7e]
+0x6e,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, exec_hi ; encoding: [0x7f,0x56,0x00,0x7e]
-0x7f,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, tma_hi ; encoding: [0x6f,0x56,0x0a,0x7e]
+0x6f,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, 0 ; encoding: [0x80,0x56,0x00,0x7e]
-0x80,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, ttmp11 ; encoding: [0x7b,0x56,0x0a,0x7e]
+0x7b,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, -1 ; encoding: [0xc1,0x56,0x00,0x7e]
-0xc1,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, m0 ; encoding: [0x7c,0x56,0x0a,0x7e]
+0x7c,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, 0.5 ; encoding: [0xf0,0x56,0x00,0x7e]
-0xf0,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, exec_lo ; encoding: [0x7e,0x56,0x0a,0x7e]
+0x7e,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, -4.0 ; encoding: [0xf7,0x56,0x00,0x7e]
-0xf7,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, exec_hi ; encoding: [0x7f,0x56,0x0a,0x7e]
+0x7f,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, scc ; encoding: [0xfd,0x56,0x00,0x7e]
-0xfd,0x56,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, 0 ; encoding: [0x80,0x56,0x0a,0x7e]
+0x80,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, 0xaf123456 ; encoding: [0xff,0x56,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x56,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_not_b32_e32 v5, -1 ; encoding: [0xc1,0x56,0x0a,0x7e]
+0xc1,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, 0x3f717273 ; encoding: [0xff,0x56,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x56,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_not_b32_e32 v5, 0.5 ; encoding: [0xf0,0x56,0x0a,0x7e]
+0xf0,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, v0 ; encoding: [0x00,0x57,0x00,0x7e]
-0x00,0x57,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, -4.0 ; encoding: [0xf7,0x56,0x0a,0x7e]
+0xf7,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e32 v0, v255 ; encoding: [0xff,0x57,0x00,0x7e]
-0xff,0x57,0x00,0x7e
+# CHECK: v_not_b32_e32 v5, scc ; encoding: [0xfd,0x56,0x0a,0x7e]
+0xfd,0x56,0x0a,0x7e
-# CHECK: v_not_b32_e64 v0, s0 ; encoding: [0x00,0x00,0x6b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_not_b32_e32 v5, 0xaf123456 ; encoding: [0xff,0x56,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x56,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_not_b32_e64 v255, s0 ; encoding: [0xff,0x00,0x6b,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x6b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_not_b32_e32 v5, 0x3f717273 ; encoding: [0xff,0x56,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x56,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_not_b32_e64 v0, s101 ; encoding: [0x00,0x00,0x6b,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_not_b32_e32 v5, v1 ; encoding: [0x01,0x57,0x0a,0x7e]
+0x01,0x57,0x0a,0x7e
-# CHECK: v_not_b32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x6b,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_not_b32_e32 v5, v255 ; encoding: [0xff,0x57,0x0a,0x7e]
+0xff,0x57,0x0a,0x7e
-# CHECK: v_not_b32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x6b,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, s1 ; encoding: [0x05,0x00,0x6b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x6b,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v255, s1 ; encoding: [0xff,0x00,0x6b,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x6b,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x6b,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, s101 ; encoding: [0x05,0x00,0x6b,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x6b,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x6b,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x6b,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x6b,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x6b,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x6b,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x6b,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x6b,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x6b,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x6b,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, m0 ; encoding: [0x00,0x00,0x6b,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x6b,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x6b,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x6b,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x6b,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x6b,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, 0 ; encoding: [0x00,0x00,0x6b,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x6b,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, -1 ; encoding: [0x00,0x00,0x6b,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, m0 ; encoding: [0x05,0x00,0x6b,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x6b,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x6b,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x6b,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x6b,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, scc ; encoding: [0x00,0x00,0x6b,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_not_b32_e64 v5, 0 ; encoding: [0x05,0x00,0x6b,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, v0 ; encoding: [0x00,0x00,0x6b,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_not_b32_e64 v5, -1 ; encoding: [0x05,0x00,0x6b,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_not_b32_e64 v0, v255 ; encoding: [0x00,0x00,0x6b,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x6b,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_not_b32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x6b,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e32 v0, s0 ; encoding: [0x00,0x58,0x00,0x7e]
-0x00,0x58,0x00,0x7e
+# CHECK: v_not_b32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x6b,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e32 v255, s0 ; encoding: [0x00,0x58,0xfe,0x7f]
-0x00,0x58,0xfe,0x7f
+# CHECK: v_not_b32_e64 v5, scc ; encoding: [0x05,0x00,0x6b,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e32 v0, s101 ; encoding: [0x65,0x58,0x00,0x7e]
-0x65,0x58,0x00,0x7e
+# CHECK: v_not_b32_e64 v5, v1 ; encoding: [0x05,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_bfrev_b32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x58,0x00,0x7e]
-0x66,0x58,0x00,0x7e
+# CHECK: v_not_b32_e64 v5, v255 ; encoding: [0x05,0x00,0x6b,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x6b,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_bfrev_b32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x58,0x00,0x7e]
-0x67,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, s1 ; encoding: [0x01,0x58,0x0a,0x7e]
+0x01,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, vcc_lo ; encoding: [0x6a,0x58,0x00,0x7e]
-0x6a,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v255, s1 ; encoding: [0x01,0x58,0xfe,0x7f]
+0x01,0x58,0xfe,0x7f
-# CHECK: v_bfrev_b32_e32 v0, vcc_hi ; encoding: [0x6b,0x58,0x00,0x7e]
-0x6b,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, s101 ; encoding: [0x65,0x58,0x0a,0x7e]
+0x65,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, tba_lo ; encoding: [0x6c,0x58,0x00,0x7e]
-0x6c,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x58,0x0a,0x7e]
+0x66,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, tba_hi ; encoding: [0x6d,0x58,0x00,0x7e]
-0x6d,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x58,0x0a,0x7e]
+0x67,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, tma_lo ; encoding: [0x6e,0x58,0x00,0x7e]
-0x6e,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, vcc_lo ; encoding: [0x6a,0x58,0x0a,0x7e]
+0x6a,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, tma_hi ; encoding: [0x6f,0x58,0x00,0x7e]
-0x6f,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, vcc_hi ; encoding: [0x6b,0x58,0x0a,0x7e]
+0x6b,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, ttmp11 ; encoding: [0x7b,0x58,0x00,0x7e]
-0x7b,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, tba_lo ; encoding: [0x6c,0x58,0x0a,0x7e]
+0x6c,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, m0 ; encoding: [0x7c,0x58,0x00,0x7e]
-0x7c,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, tba_hi ; encoding: [0x6d,0x58,0x0a,0x7e]
+0x6d,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, exec_lo ; encoding: [0x7e,0x58,0x00,0x7e]
-0x7e,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, tma_lo ; encoding: [0x6e,0x58,0x0a,0x7e]
+0x6e,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, exec_hi ; encoding: [0x7f,0x58,0x00,0x7e]
-0x7f,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, tma_hi ; encoding: [0x6f,0x58,0x0a,0x7e]
+0x6f,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, 0 ; encoding: [0x80,0x58,0x00,0x7e]
-0x80,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, ttmp11 ; encoding: [0x7b,0x58,0x0a,0x7e]
+0x7b,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, -1 ; encoding: [0xc1,0x58,0x00,0x7e]
-0xc1,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, m0 ; encoding: [0x7c,0x58,0x0a,0x7e]
+0x7c,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, 0.5 ; encoding: [0xf0,0x58,0x00,0x7e]
-0xf0,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, exec_lo ; encoding: [0x7e,0x58,0x0a,0x7e]
+0x7e,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, -4.0 ; encoding: [0xf7,0x58,0x00,0x7e]
-0xf7,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, exec_hi ; encoding: [0x7f,0x58,0x0a,0x7e]
+0x7f,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, scc ; encoding: [0xfd,0x58,0x00,0x7e]
-0xfd,0x58,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, 0 ; encoding: [0x80,0x58,0x0a,0x7e]
+0x80,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, 0xaf123456 ; encoding: [0xff,0x58,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x58,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_bfrev_b32_e32 v5, -1 ; encoding: [0xc1,0x58,0x0a,0x7e]
+0xc1,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, 0x3f717273 ; encoding: [0xff,0x58,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x58,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_bfrev_b32_e32 v5, 0.5 ; encoding: [0xf0,0x58,0x0a,0x7e]
+0xf0,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, v0 ; encoding: [0x00,0x59,0x00,0x7e]
-0x00,0x59,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, -4.0 ; encoding: [0xf7,0x58,0x0a,0x7e]
+0xf7,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e32 v0, v255 ; encoding: [0xff,0x59,0x00,0x7e]
-0xff,0x59,0x00,0x7e
+# CHECK: v_bfrev_b32_e32 v5, scc ; encoding: [0xfd,0x58,0x0a,0x7e]
+0xfd,0x58,0x0a,0x7e
-# CHECK: v_bfrev_b32_e64 v0, s0 ; encoding: [0x00,0x00,0x6c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e32 v5, 0xaf123456 ; encoding: [0xff,0x58,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x58,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_bfrev_b32_e64 v255, s0 ; encoding: [0xff,0x00,0x6c,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x6c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e32 v5, 0x3f717273 ; encoding: [0xff,0x58,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x58,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_bfrev_b32_e64 v0, s101 ; encoding: [0x00,0x00,0x6c,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e32 v5, v1 ; encoding: [0x01,0x59,0x0a,0x7e]
+0x01,0x59,0x0a,0x7e
-# CHECK: v_bfrev_b32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x6c,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e32 v5, v255 ; encoding: [0xff,0x59,0x0a,0x7e]
+0xff,0x59,0x0a,0x7e
-# CHECK: v_bfrev_b32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x6c,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, s1 ; encoding: [0x05,0x00,0x6c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x6c,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v255, s1 ; encoding: [0xff,0x00,0x6c,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x6c,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x6c,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, s101 ; encoding: [0x05,0x00,0x6c,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x6c,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x6c,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x6c,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x6c,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x6c,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x6c,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x6c,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x6c,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x6c,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x6c,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, m0 ; encoding: [0x00,0x00,0x6c,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x6c,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x6c,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x6c,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x6c,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x6c,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, 0 ; encoding: [0x00,0x00,0x6c,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x6c,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, -1 ; encoding: [0x00,0x00,0x6c,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, m0 ; encoding: [0x05,0x00,0x6c,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x6c,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x6c,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x6c,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x6c,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, scc ; encoding: [0x00,0x00,0x6c,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, 0 ; encoding: [0x05,0x00,0x6c,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, v0 ; encoding: [0x00,0x00,0x6c,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, -1 ; encoding: [0x05,0x00,0x6c,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_bfrev_b32_e64 v0, v255 ; encoding: [0x00,0x00,0x6c,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x6c,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_bfrev_b32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x6c,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e32 v0, s0 ; encoding: [0x00,0x5a,0x00,0x7e]
-0x00,0x5a,0x00,0x7e
+# CHECK: v_bfrev_b32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x6c,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e32 v255, s0 ; encoding: [0x00,0x5a,0xfe,0x7f]
-0x00,0x5a,0xfe,0x7f
+# CHECK: v_bfrev_b32_e64 v5, scc ; encoding: [0x05,0x00,0x6c,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e32 v0, s101 ; encoding: [0x65,0x5a,0x00,0x7e]
-0x65,0x5a,0x00,0x7e
+# CHECK: v_bfrev_b32_e64 v5, v1 ; encoding: [0x05,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_ffbh_u32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x5a,0x00,0x7e]
-0x66,0x5a,0x00,0x7e
+# CHECK: v_bfrev_b32_e64 v5, v255 ; encoding: [0x05,0x00,0x6c,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x6c,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_ffbh_u32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x5a,0x00,0x7e]
-0x67,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, s1 ; encoding: [0x01,0x5a,0x0a,0x7e]
+0x01,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, vcc_lo ; encoding: [0x6a,0x5a,0x00,0x7e]
-0x6a,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v255, s1 ; encoding: [0x01,0x5a,0xfe,0x7f]
+0x01,0x5a,0xfe,0x7f
-# CHECK: v_ffbh_u32_e32 v0, vcc_hi ; encoding: [0x6b,0x5a,0x00,0x7e]
-0x6b,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, s101 ; encoding: [0x65,0x5a,0x0a,0x7e]
+0x65,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, tba_lo ; encoding: [0x6c,0x5a,0x00,0x7e]
-0x6c,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x5a,0x0a,0x7e]
+0x66,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, tba_hi ; encoding: [0x6d,0x5a,0x00,0x7e]
-0x6d,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x5a,0x0a,0x7e]
+0x67,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, tma_lo ; encoding: [0x6e,0x5a,0x00,0x7e]
-0x6e,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, vcc_lo ; encoding: [0x6a,0x5a,0x0a,0x7e]
+0x6a,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, tma_hi ; encoding: [0x6f,0x5a,0x00,0x7e]
-0x6f,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, vcc_hi ; encoding: [0x6b,0x5a,0x0a,0x7e]
+0x6b,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, ttmp11 ; encoding: [0x7b,0x5a,0x00,0x7e]
-0x7b,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, tba_lo ; encoding: [0x6c,0x5a,0x0a,0x7e]
+0x6c,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, m0 ; encoding: [0x7c,0x5a,0x00,0x7e]
-0x7c,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, tba_hi ; encoding: [0x6d,0x5a,0x0a,0x7e]
+0x6d,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, exec_lo ; encoding: [0x7e,0x5a,0x00,0x7e]
-0x7e,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, tma_lo ; encoding: [0x6e,0x5a,0x0a,0x7e]
+0x6e,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, exec_hi ; encoding: [0x7f,0x5a,0x00,0x7e]
-0x7f,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, tma_hi ; encoding: [0x6f,0x5a,0x0a,0x7e]
+0x6f,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, 0 ; encoding: [0x80,0x5a,0x00,0x7e]
-0x80,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, ttmp11 ; encoding: [0x7b,0x5a,0x0a,0x7e]
+0x7b,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, -1 ; encoding: [0xc1,0x5a,0x00,0x7e]
-0xc1,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, m0 ; encoding: [0x7c,0x5a,0x0a,0x7e]
+0x7c,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, 0.5 ; encoding: [0xf0,0x5a,0x00,0x7e]
-0xf0,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, exec_lo ; encoding: [0x7e,0x5a,0x0a,0x7e]
+0x7e,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, -4.0 ; encoding: [0xf7,0x5a,0x00,0x7e]
-0xf7,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, exec_hi ; encoding: [0x7f,0x5a,0x0a,0x7e]
+0x7f,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, scc ; encoding: [0xfd,0x5a,0x00,0x7e]
-0xfd,0x5a,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, 0 ; encoding: [0x80,0x5a,0x0a,0x7e]
+0x80,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, 0xaf123456 ; encoding: [0xff,0x5a,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x5a,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_ffbh_u32_e32 v5, -1 ; encoding: [0xc1,0x5a,0x0a,0x7e]
+0xc1,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, 0x3f717273 ; encoding: [0xff,0x5a,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x5a,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_ffbh_u32_e32 v5, 0.5 ; encoding: [0xf0,0x5a,0x0a,0x7e]
+0xf0,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, v0 ; encoding: [0x00,0x5b,0x00,0x7e]
-0x00,0x5b,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, -4.0 ; encoding: [0xf7,0x5a,0x0a,0x7e]
+0xf7,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e32 v0, v255 ; encoding: [0xff,0x5b,0x00,0x7e]
-0xff,0x5b,0x00,0x7e
+# CHECK: v_ffbh_u32_e32 v5, scc ; encoding: [0xfd,0x5a,0x0a,0x7e]
+0xfd,0x5a,0x0a,0x7e
-# CHECK: v_ffbh_u32_e64 v0, s0 ; encoding: [0x00,0x00,0x6d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e32 v5, 0xaf123456 ; encoding: [0xff,0x5a,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x5a,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_ffbh_u32_e64 v255, s0 ; encoding: [0xff,0x00,0x6d,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x6d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e32 v5, 0x3f717273 ; encoding: [0xff,0x5a,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x5a,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_ffbh_u32_e64 v0, s101 ; encoding: [0x00,0x00,0x6d,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e32 v5, v1 ; encoding: [0x01,0x5b,0x0a,0x7e]
+0x01,0x5b,0x0a,0x7e
-# CHECK: v_ffbh_u32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x6d,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e32 v5, v255 ; encoding: [0xff,0x5b,0x0a,0x7e]
+0xff,0x5b,0x0a,0x7e
-# CHECK: v_ffbh_u32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x6d,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, s1 ; encoding: [0x05,0x00,0x6d,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x6d,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v255, s1 ; encoding: [0xff,0x00,0x6d,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x6d,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x6d,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, s101 ; encoding: [0x05,0x00,0x6d,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x6d,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x6d,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x6d,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x6d,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x6d,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x6d,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x6d,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x6d,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x6d,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x6d,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, m0 ; encoding: [0x00,0x00,0x6d,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x6d,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x6d,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x6d,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x6d,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x6d,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, 0 ; encoding: [0x00,0x00,0x6d,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x6d,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, -1 ; encoding: [0x00,0x00,0x6d,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, m0 ; encoding: [0x05,0x00,0x6d,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x6d,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x6d,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x6d,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x6d,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, scc ; encoding: [0x00,0x00,0x6d,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, 0 ; encoding: [0x05,0x00,0x6d,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, v0 ; encoding: [0x00,0x00,0x6d,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, -1 ; encoding: [0x05,0x00,0x6d,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_ffbh_u32_e64 v0, v255 ; encoding: [0x00,0x00,0x6d,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x6d,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_ffbh_u32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x6d,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e32 v0, s0 ; encoding: [0x00,0x5c,0x00,0x7e]
-0x00,0x5c,0x00,0x7e
+# CHECK: v_ffbh_u32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x6d,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e32 v255, s0 ; encoding: [0x00,0x5c,0xfe,0x7f]
-0x00,0x5c,0xfe,0x7f
+# CHECK: v_ffbh_u32_e64 v5, scc ; encoding: [0x05,0x00,0x6d,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e32 v0, s101 ; encoding: [0x65,0x5c,0x00,0x7e]
-0x65,0x5c,0x00,0x7e
+# CHECK: v_ffbh_u32_e64 v5, v1 ; encoding: [0x05,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_ffbl_b32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x5c,0x00,0x7e]
-0x66,0x5c,0x00,0x7e
+# CHECK: v_ffbh_u32_e64 v5, v255 ; encoding: [0x05,0x00,0x6d,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x6d,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_ffbl_b32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x5c,0x00,0x7e]
-0x67,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, s1 ; encoding: [0x01,0x5c,0x0a,0x7e]
+0x01,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, vcc_lo ; encoding: [0x6a,0x5c,0x00,0x7e]
-0x6a,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v255, s1 ; encoding: [0x01,0x5c,0xfe,0x7f]
+0x01,0x5c,0xfe,0x7f
-# CHECK: v_ffbl_b32_e32 v0, vcc_hi ; encoding: [0x6b,0x5c,0x00,0x7e]
-0x6b,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, s101 ; encoding: [0x65,0x5c,0x0a,0x7e]
+0x65,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, tba_lo ; encoding: [0x6c,0x5c,0x00,0x7e]
-0x6c,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x5c,0x0a,0x7e]
+0x66,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, tba_hi ; encoding: [0x6d,0x5c,0x00,0x7e]
-0x6d,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x5c,0x0a,0x7e]
+0x67,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, tma_lo ; encoding: [0x6e,0x5c,0x00,0x7e]
-0x6e,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, vcc_lo ; encoding: [0x6a,0x5c,0x0a,0x7e]
+0x6a,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, tma_hi ; encoding: [0x6f,0x5c,0x00,0x7e]
-0x6f,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, vcc_hi ; encoding: [0x6b,0x5c,0x0a,0x7e]
+0x6b,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, ttmp11 ; encoding: [0x7b,0x5c,0x00,0x7e]
-0x7b,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, tba_lo ; encoding: [0x6c,0x5c,0x0a,0x7e]
+0x6c,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, m0 ; encoding: [0x7c,0x5c,0x00,0x7e]
-0x7c,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, tba_hi ; encoding: [0x6d,0x5c,0x0a,0x7e]
+0x6d,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, exec_lo ; encoding: [0x7e,0x5c,0x00,0x7e]
-0x7e,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, tma_lo ; encoding: [0x6e,0x5c,0x0a,0x7e]
+0x6e,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, exec_hi ; encoding: [0x7f,0x5c,0x00,0x7e]
-0x7f,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, tma_hi ; encoding: [0x6f,0x5c,0x0a,0x7e]
+0x6f,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, 0 ; encoding: [0x80,0x5c,0x00,0x7e]
-0x80,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, ttmp11 ; encoding: [0x7b,0x5c,0x0a,0x7e]
+0x7b,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, -1 ; encoding: [0xc1,0x5c,0x00,0x7e]
-0xc1,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, m0 ; encoding: [0x7c,0x5c,0x0a,0x7e]
+0x7c,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, 0.5 ; encoding: [0xf0,0x5c,0x00,0x7e]
-0xf0,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, exec_lo ; encoding: [0x7e,0x5c,0x0a,0x7e]
+0x7e,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, -4.0 ; encoding: [0xf7,0x5c,0x00,0x7e]
-0xf7,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, exec_hi ; encoding: [0x7f,0x5c,0x0a,0x7e]
+0x7f,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, scc ; encoding: [0xfd,0x5c,0x00,0x7e]
-0xfd,0x5c,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, 0 ; encoding: [0x80,0x5c,0x0a,0x7e]
+0x80,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, 0xaf123456 ; encoding: [0xff,0x5c,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x5c,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_ffbl_b32_e32 v5, -1 ; encoding: [0xc1,0x5c,0x0a,0x7e]
+0xc1,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, 0x3f717273 ; encoding: [0xff,0x5c,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x5c,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_ffbl_b32_e32 v5, 0.5 ; encoding: [0xf0,0x5c,0x0a,0x7e]
+0xf0,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, v0 ; encoding: [0x00,0x5d,0x00,0x7e]
-0x00,0x5d,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, -4.0 ; encoding: [0xf7,0x5c,0x0a,0x7e]
+0xf7,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e32 v0, v255 ; encoding: [0xff,0x5d,0x00,0x7e]
-0xff,0x5d,0x00,0x7e
+# CHECK: v_ffbl_b32_e32 v5, scc ; encoding: [0xfd,0x5c,0x0a,0x7e]
+0xfd,0x5c,0x0a,0x7e
-# CHECK: v_ffbl_b32_e64 v0, s0 ; encoding: [0x00,0x00,0x6e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e32 v5, 0xaf123456 ; encoding: [0xff,0x5c,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x5c,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_ffbl_b32_e64 v255, s0 ; encoding: [0xff,0x00,0x6e,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x6e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e32 v5, 0x3f717273 ; encoding: [0xff,0x5c,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x5c,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_ffbl_b32_e64 v0, s101 ; encoding: [0x00,0x00,0x6e,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e32 v5, v1 ; encoding: [0x01,0x5d,0x0a,0x7e]
+0x01,0x5d,0x0a,0x7e
-# CHECK: v_ffbl_b32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x6e,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e32 v5, v255 ; encoding: [0xff,0x5d,0x0a,0x7e]
+0xff,0x5d,0x0a,0x7e
-# CHECK: v_ffbl_b32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x6e,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, s1 ; encoding: [0x05,0x00,0x6e,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x6e,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v255, s1 ; encoding: [0xff,0x00,0x6e,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x6e,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x6e,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, s101 ; encoding: [0x05,0x00,0x6e,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x6e,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x6e,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x6e,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x6e,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x6e,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x6e,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x6e,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x6e,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x6e,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x6e,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, m0 ; encoding: [0x00,0x00,0x6e,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x6e,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x6e,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x6e,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x6e,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x6e,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, 0 ; encoding: [0x00,0x00,0x6e,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x6e,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, -1 ; encoding: [0x00,0x00,0x6e,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, m0 ; encoding: [0x05,0x00,0x6e,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x6e,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x6e,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x6e,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x6e,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, scc ; encoding: [0x00,0x00,0x6e,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, 0 ; encoding: [0x05,0x00,0x6e,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, v0 ; encoding: [0x00,0x00,0x6e,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, -1 ; encoding: [0x05,0x00,0x6e,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_ffbl_b32_e64 v0, v255 ; encoding: [0x00,0x00,0x6e,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x6e,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_ffbl_b32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x6e,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e32 v0, s0 ; encoding: [0x00,0x5e,0x00,0x7e]
-0x00,0x5e,0x00,0x7e
+# CHECK: v_ffbl_b32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x6e,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e32 v255, s0 ; encoding: [0x00,0x5e,0xfe,0x7f]
-0x00,0x5e,0xfe,0x7f
+# CHECK: v_ffbl_b32_e64 v5, scc ; encoding: [0x05,0x00,0x6e,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e32 v0, s101 ; encoding: [0x65,0x5e,0x00,0x7e]
-0x65,0x5e,0x00,0x7e
+# CHECK: v_ffbl_b32_e64 v5, v1 ; encoding: [0x05,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_ffbh_i32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x5e,0x00,0x7e]
-0x66,0x5e,0x00,0x7e
+# CHECK: v_ffbl_b32_e64 v5, v255 ; encoding: [0x05,0x00,0x6e,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x6e,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_ffbh_i32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x5e,0x00,0x7e]
-0x67,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, s1 ; encoding: [0x01,0x5e,0x0a,0x7e]
+0x01,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, vcc_lo ; encoding: [0x6a,0x5e,0x00,0x7e]
-0x6a,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v255, s1 ; encoding: [0x01,0x5e,0xfe,0x7f]
+0x01,0x5e,0xfe,0x7f
-# CHECK: v_ffbh_i32_e32 v0, vcc_hi ; encoding: [0x6b,0x5e,0x00,0x7e]
-0x6b,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, s101 ; encoding: [0x65,0x5e,0x0a,0x7e]
+0x65,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, tba_lo ; encoding: [0x6c,0x5e,0x00,0x7e]
-0x6c,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x5e,0x0a,0x7e]
+0x66,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, tba_hi ; encoding: [0x6d,0x5e,0x00,0x7e]
-0x6d,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x5e,0x0a,0x7e]
+0x67,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, tma_lo ; encoding: [0x6e,0x5e,0x00,0x7e]
-0x6e,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, vcc_lo ; encoding: [0x6a,0x5e,0x0a,0x7e]
+0x6a,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, tma_hi ; encoding: [0x6f,0x5e,0x00,0x7e]
-0x6f,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, vcc_hi ; encoding: [0x6b,0x5e,0x0a,0x7e]
+0x6b,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, ttmp11 ; encoding: [0x7b,0x5e,0x00,0x7e]
-0x7b,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, tba_lo ; encoding: [0x6c,0x5e,0x0a,0x7e]
+0x6c,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, m0 ; encoding: [0x7c,0x5e,0x00,0x7e]
-0x7c,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, tba_hi ; encoding: [0x6d,0x5e,0x0a,0x7e]
+0x6d,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, exec_lo ; encoding: [0x7e,0x5e,0x00,0x7e]
-0x7e,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, tma_lo ; encoding: [0x6e,0x5e,0x0a,0x7e]
+0x6e,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, exec_hi ; encoding: [0x7f,0x5e,0x00,0x7e]
-0x7f,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, tma_hi ; encoding: [0x6f,0x5e,0x0a,0x7e]
+0x6f,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, 0 ; encoding: [0x80,0x5e,0x00,0x7e]
-0x80,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, ttmp11 ; encoding: [0x7b,0x5e,0x0a,0x7e]
+0x7b,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, -1 ; encoding: [0xc1,0x5e,0x00,0x7e]
-0xc1,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, m0 ; encoding: [0x7c,0x5e,0x0a,0x7e]
+0x7c,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, 0.5 ; encoding: [0xf0,0x5e,0x00,0x7e]
-0xf0,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, exec_lo ; encoding: [0x7e,0x5e,0x0a,0x7e]
+0x7e,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, -4.0 ; encoding: [0xf7,0x5e,0x00,0x7e]
-0xf7,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, exec_hi ; encoding: [0x7f,0x5e,0x0a,0x7e]
+0x7f,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, scc ; encoding: [0xfd,0x5e,0x00,0x7e]
-0xfd,0x5e,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, 0 ; encoding: [0x80,0x5e,0x0a,0x7e]
+0x80,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, 0xaf123456 ; encoding: [0xff,0x5e,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x5e,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_ffbh_i32_e32 v5, -1 ; encoding: [0xc1,0x5e,0x0a,0x7e]
+0xc1,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, 0x3f717273 ; encoding: [0xff,0x5e,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x5e,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_ffbh_i32_e32 v5, 0.5 ; encoding: [0xf0,0x5e,0x0a,0x7e]
+0xf0,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, v0 ; encoding: [0x00,0x5f,0x00,0x7e]
-0x00,0x5f,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, -4.0 ; encoding: [0xf7,0x5e,0x0a,0x7e]
+0xf7,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e32 v0, v255 ; encoding: [0xff,0x5f,0x00,0x7e]
-0xff,0x5f,0x00,0x7e
+# CHECK: v_ffbh_i32_e32 v5, scc ; encoding: [0xfd,0x5e,0x0a,0x7e]
+0xfd,0x5e,0x0a,0x7e
-# CHECK: v_ffbh_i32_e64 v0, s0 ; encoding: [0x00,0x00,0x6f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e32 v5, 0xaf123456 ; encoding: [0xff,0x5e,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x5e,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_ffbh_i32_e64 v255, s0 ; encoding: [0xff,0x00,0x6f,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x6f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e32 v5, 0x3f717273 ; encoding: [0xff,0x5e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x5e,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_ffbh_i32_e64 v0, s101 ; encoding: [0x00,0x00,0x6f,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e32 v5, v1 ; encoding: [0x01,0x5f,0x0a,0x7e]
+0x01,0x5f,0x0a,0x7e
-# CHECK: v_ffbh_i32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x6f,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e32 v5, v255 ; encoding: [0xff,0x5f,0x0a,0x7e]
+0xff,0x5f,0x0a,0x7e
-# CHECK: v_ffbh_i32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x6f,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, s1 ; encoding: [0x05,0x00,0x6f,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x6f,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v255, s1 ; encoding: [0xff,0x00,0x6f,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x6f,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x6f,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, s101 ; encoding: [0x05,0x00,0x6f,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x6f,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x6f,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x6f,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x6f,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x6f,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x6f,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x6f,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x6f,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x6f,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x6f,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, m0 ; encoding: [0x00,0x00,0x6f,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x6f,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x6f,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x6f,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x6f,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x6f,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, 0 ; encoding: [0x00,0x00,0x6f,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x6f,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, -1 ; encoding: [0x00,0x00,0x6f,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, m0 ; encoding: [0x05,0x00,0x6f,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x6f,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x6f,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x6f,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x6f,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, scc ; encoding: [0x00,0x00,0x6f,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, 0 ; encoding: [0x05,0x00,0x6f,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, v0 ; encoding: [0x00,0x00,0x6f,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, -1 ; encoding: [0x05,0x00,0x6f,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_ffbh_i32_e64 v0, v255 ; encoding: [0x00,0x00,0x6f,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x6f,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_ffbh_i32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x6f,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e32 v0, s[0:1] ; encoding: [0x00,0x60,0x00,0x7e]
-0x00,0x60,0x00,0x7e
+# CHECK: v_ffbh_i32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x6f,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e32 v255, s[0:1] ; encoding: [0x00,0x60,0xfe,0x7f]
-0x00,0x60,0xfe,0x7f
+# CHECK: v_ffbh_i32_e64 v5, scc ; encoding: [0x05,0x00,0x6f,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e32 v0, s[2:3] ; encoding: [0x02,0x60,0x00,0x7e]
-0x02,0x60,0x00,0x7e
+# CHECK: v_ffbh_i32_e64 v5, v1 ; encoding: [0x05,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e32 v0, s[100:101] ; encoding: [0x64,0x60,0x00,0x7e]
-0x64,0x60,0x00,0x7e
+# CHECK: v_ffbh_i32_e64 v5, v255 ; encoding: [0x05,0x00,0x6f,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x6f,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e32 v0, flat_scratch ; encoding: [0x66,0x60,0x00,0x7e]
-0x66,0x60,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, s[2:3] ; encoding: [0x02,0x60,0x0a,0x7e]
+0x02,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, vcc ; encoding: [0x6a,0x60,0x00,0x7e]
-0x6a,0x60,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v255, s[2:3] ; encoding: [0x02,0x60,0xfe,0x7f]
+0x02,0x60,0xfe,0x7f
-# CHECK: v_frexp_exp_i32_f64_e32 v0, tba ; encoding: [0x6c,0x60,0x00,0x7e]
-0x6c,0x60,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, s[4:5] ; encoding: [0x04,0x60,0x0a,0x7e]
+0x04,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, tma ; encoding: [0x6e,0x60,0x00,0x7e]
-0x6e,0x60,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, s[100:101] ; encoding: [0x64,0x60,0x0a,0x7e]
+0x64,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, ttmp[10:11] ; encoding: [0x7a,0x60,0x00,0x7e]
-0x7a,0x60,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, flat_scratch ; encoding: [0x66,0x60,0x0a,0x7e]
+0x66,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, exec ; encoding: [0x7e,0x60,0x00,0x7e]
-0x7e,0x60,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, vcc ; encoding: [0x6a,0x60,0x0a,0x7e]
+0x6a,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, 0 ; encoding: [0x80,0x60,0x00,0x7e]
-0x80,0x60,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, tba ; encoding: [0x6c,0x60,0x0a,0x7e]
+0x6c,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, -1 ; encoding: [0xc1,0x60,0x00,0x7e]
-0xc1,0x60,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, tma ; encoding: [0x6e,0x60,0x0a,0x7e]
+0x6e,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, 0.5 ; encoding: [0xf0,0x60,0x00,0x7e]
-0xf0,0x60,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, ttmp[10:11] ; encoding: [0x7a,0x60,0x0a,0x7e]
+0x7a,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, -4.0 ; encoding: [0xf7,0x60,0x00,0x7e]
-0xf7,0x60,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, exec ; encoding: [0x7e,0x60,0x0a,0x7e]
+0x7e,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, 0xaf123456 ; encoding: [0xff,0x60,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x60,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_frexp_exp_i32_f64_e32 v5, 0 ; encoding: [0x80,0x60,0x0a,0x7e]
+0x80,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, 0x3f717273 ; encoding: [0xff,0x60,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x60,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_frexp_exp_i32_f64_e32 v5, -1 ; encoding: [0xc1,0x60,0x0a,0x7e]
+0xc1,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, v[0:1] ; encoding: [0x00,0x61,0x00,0x7e]
-0x00,0x61,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, 0.5 ; encoding: [0xf0,0x60,0x0a,0x7e]
+0xf0,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e32 v0, v[254:255] ; encoding: [0xfe,0x61,0x00,0x7e]
-0xfe,0x61,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e32 v5, -4.0 ; encoding: [0xf7,0x60,0x0a,0x7e]
+0xf7,0x60,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e64 v0, s[0:1] ; encoding: [0x00,0x00,0x70,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e32 v5, 0xaf123456 ; encoding: [0xff,0x60,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x60,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_frexp_exp_i32_f64_e64 v255, s[0:1] ; encoding: [0xff,0x00,0x70,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x70,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e32 v5, 0x3f717273 ; encoding: [0xff,0x60,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x60,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_frexp_exp_i32_f64_e64 v0, s[2:3] ; encoding: [0x00,0x00,0x70,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e32 v5, v[1:2] ; encoding: [0x01,0x61,0x0a,0x7e]
+0x01,0x61,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e64 v0, s[100:101] ; encoding: [0x00,0x00,0x70,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e32 v5, v[254:255] ; encoding: [0xfe,0x61,0x0a,0x7e]
+0xfe,0x61,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f64_e64 v0, flat_scratch ; encoding: [0x00,0x00,0x70,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, s[2:3] ; encoding: [0x05,0x00,0x70,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, vcc ; encoding: [0x00,0x00,0x70,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v255, s[2:3] ; encoding: [0xff,0x00,0x70,0xd1,0x02,0x00,0x00,0x00]
+0xff,0x00,0x70,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, tba ; encoding: [0x00,0x00,0x70,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, s[4:5] ; encoding: [0x05,0x00,0x70,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, tma ; encoding: [0x00,0x00,0x70,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, s[100:101] ; encoding: [0x05,0x00,0x70,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, ttmp[10:11] ; encoding: [0x00,0x00,0x70,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, flat_scratch ; encoding: [0x05,0x00,0x70,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, exec ; encoding: [0x00,0x00,0x70,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, vcc ; encoding: [0x05,0x00,0x70,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, 0 ; encoding: [0x00,0x00,0x70,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, tba ; encoding: [0x05,0x00,0x70,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, -1 ; encoding: [0x00,0x00,0x70,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, tma ; encoding: [0x05,0x00,0x70,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, 0.5 ; encoding: [0x00,0x00,0x70,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, ttmp[10:11] ; encoding: [0x05,0x00,0x70,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, -4.0 ; encoding: [0x00,0x00,0x70,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, exec ; encoding: [0x05,0x00,0x70,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, v[0:1] ; encoding: [0x00,0x00,0x70,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x70,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, 0 ; encoding: [0x05,0x00,0x70,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, v[254:255] ; encoding: [0x00,0x00,0x70,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x70,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, -1 ; encoding: [0x05,0x00,0x70,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, -s[0:1] ; encoding: [0x00,0x00,0x70,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x70,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_frexp_exp_i32_f64_e64 v5, 0.5 ; encoding: [0x05,0x00,0x70,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, |s[0:1]| ; encoding: [0x00,0x01,0x70,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x70,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, -4.0 ; encoding: [0x05,0x00,0x70,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x70,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f64_e64 v0, s[0:1] clamp ; encoding: [0x00,0x80,0x70,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x70,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f64_e64 v5, v[1:2] ; encoding: [0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x70,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_frexp_mant_f64_e32 v[0:1], s[0:1] ; encoding: [0x00,0x62,0x00,0x7e]
-0x00,0x62,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e64 v5, v[254:255] ; encoding: [0x05,0x00,0x70,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x70,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_frexp_mant_f64_e32 v[254:255], s[0:1] ; encoding: [0x00,0x62,0xfc,0x7f]
-0x00,0x62,0xfc,0x7f
+# CHECK: v_frexp_exp_i32_f64_e64 v5, -s[2:3] ; encoding: [0x05,0x00,0x70,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x70,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_frexp_mant_f64_e32 v[0:1], s[2:3] ; encoding: [0x02,0x62,0x00,0x7e]
-0x02,0x62,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e64 v5, |s[2:3]| ; encoding: [0x05,0x01,0x70,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x01,0x70,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e32 v[0:1], s[100:101] ; encoding: [0x64,0x62,0x00,0x7e]
-0x64,0x62,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f64_e64 v5, s[2:3] clamp ; encoding: [0x05,0x80,0x70,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x70,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e32 v[0:1], flat_scratch ; encoding: [0x66,0x62,0x00,0x7e]
-0x66,0x62,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], s[2:3] ; encoding: [0x02,0x62,0x0a,0x7e]
+0x02,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], vcc ; encoding: [0x6a,0x62,0x00,0x7e]
-0x6a,0x62,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[254:255], s[2:3] ; encoding: [0x02,0x62,0xfc,0x7f]
+0x02,0x62,0xfc,0x7f
-# CHECK: v_frexp_mant_f64_e32 v[0:1], tba ; encoding: [0x6c,0x62,0x00,0x7e]
-0x6c,0x62,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x62,0x0a,0x7e]
+0x04,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], tma ; encoding: [0x6e,0x62,0x00,0x7e]
-0x6e,0x62,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], s[100:101] ; encoding: [0x64,0x62,0x0a,0x7e]
+0x64,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], ttmp[10:11] ; encoding: [0x7a,0x62,0x00,0x7e]
-0x7a,0x62,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], flat_scratch ; encoding: [0x66,0x62,0x0a,0x7e]
+0x66,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], exec ; encoding: [0x7e,0x62,0x00,0x7e]
-0x7e,0x62,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], vcc ; encoding: [0x6a,0x62,0x0a,0x7e]
+0x6a,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], 0 ; encoding: [0x80,0x62,0x00,0x7e]
-0x80,0x62,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], tba ; encoding: [0x6c,0x62,0x0a,0x7e]
+0x6c,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], -1 ; encoding: [0xc1,0x62,0x00,0x7e]
-0xc1,0x62,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], tma ; encoding: [0x6e,0x62,0x0a,0x7e]
+0x6e,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], 0.5 ; encoding: [0xf0,0x62,0x00,0x7e]
-0xf0,0x62,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], ttmp[10:11] ; encoding: [0x7a,0x62,0x0a,0x7e]
+0x7a,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], -4.0 ; encoding: [0xf7,0x62,0x00,0x7e]
-0xf7,0x62,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], exec ; encoding: [0x7e,0x62,0x0a,0x7e]
+0x7e,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x62,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x62,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_frexp_mant_f64_e32 v[5:6], 0 ; encoding: [0x80,0x62,0x0a,0x7e]
+0x80,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x62,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x62,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_frexp_mant_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x62,0x0a,0x7e]
+0xc1,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], v[0:1] ; encoding: [0x00,0x63,0x00,0x7e]
-0x00,0x63,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], 0.5 ; encoding: [0xf0,0x62,0x0a,0x7e]
+0xf0,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e32 v[0:1], v[254:255] ; encoding: [0xfe,0x63,0x00,0x7e]
-0xfe,0x63,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e32 v[5:6], -4.0 ; encoding: [0xf7,0x62,0x0a,0x7e]
+0xf7,0x62,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e64 v[0:1], s[0:1] ; encoding: [0x00,0x00,0x71,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x62,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x62,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_frexp_mant_f64_e64 v[254:255], s[0:1] ; encoding: [0xfe,0x00,0x71,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x71,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x62,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x62,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_frexp_mant_f64_e64 v[0:1], s[2:3] ; encoding: [0x00,0x00,0x71,0xd1,0x02,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x02,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x63,0x0a,0x7e]
+0x01,0x63,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e64 v[0:1], s[100:101] ; encoding: [0x00,0x00,0x71,0xd1,0x64,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x64,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x63,0x0a,0x7e]
+0xfe,0x63,0x0a,0x7e
-# CHECK: v_frexp_mant_f64_e64 v[0:1], flat_scratch ; encoding: [0x00,0x00,0x71,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], s[2:3] ; encoding: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], vcc ; encoding: [0x00,0x00,0x71,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[254:255], s[2:3] ; encoding: [0xfe,0x00,0x71,0xd1,0x02,0x00,0x00,0x00]
+0xfe,0x00,0x71,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], tba ; encoding: [0x00,0x00,0x71,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], s[4:5] ; encoding: [0x05,0x00,0x71,0xd1,0x04,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x04,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], tma ; encoding: [0x00,0x00,0x71,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], s[100:101] ; encoding: [0x05,0x00,0x71,0xd1,0x64,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x64,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], ttmp[10:11] ; encoding: [0x00,0x00,0x71,0xd1,0x7a,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x7a,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], flat_scratch ; encoding: [0x05,0x00,0x71,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], exec ; encoding: [0x00,0x00,0x71,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], vcc ; encoding: [0x05,0x00,0x71,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], 0 ; encoding: [0x00,0x00,0x71,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], tba ; encoding: [0x05,0x00,0x71,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], -1 ; encoding: [0x00,0x00,0x71,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], tma ; encoding: [0x05,0x00,0x71,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], 0.5 ; encoding: [0x00,0x00,0x71,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], ttmp[10:11] ; encoding: [0x05,0x00,0x71,0xd1,0x7a,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x7a,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], -4.0 ; encoding: [0x00,0x00,0x71,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], exec ; encoding: [0x05,0x00,0x71,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], v[0:1] ; encoding: [0x00,0x00,0x71,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x71,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], 0 ; encoding: [0x05,0x00,0x71,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], v[254:255] ; encoding: [0x00,0x00,0x71,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x71,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], -1 ; encoding: [0x05,0x00,0x71,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], -s[0:1] ; encoding: [0x00,0x00,0x71,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x71,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_frexp_mant_f64_e64 v[5:6], 0.5 ; encoding: [0x05,0x00,0x71,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], |s[0:1]| ; encoding: [0x00,0x01,0x71,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x71,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], -4.0 ; encoding: [0x05,0x00,0x71,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x71,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x71,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x71,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f64_e64 v[5:6], v[1:2] ; encoding: [0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x71,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x71,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x71,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_frexp_mant_f64_e64 v[5:6], v[254:255] ; encoding: [0x05,0x00,0x71,0xd1,0xfe,0x01,0x00,0x00]
+0x05,0x00,0x71,0xd1,0xfe,0x01,0x00,0x00
-# CHECK: v_frexp_mant_f64_e64 v[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x71,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x71,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_frexp_mant_f64_e64 v[5:6], -s[2:3] ; encoding: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x20]
+0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x20
-# CHECK: v_frexp_mant_f64_e64 v[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x71,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x71,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_frexp_mant_f64_e64 v[5:6], |s[2:3]| ; encoding: [0x05,0x01,0x71,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x01,0x71,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_fract_f64_e32 v[0:1], s[0:1] ; encoding: [0x00,0x64,0x00,0x7e]
-0x00,0x64,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e64 v[5:6], s[2:3] clamp ; encoding: [0x05,0x80,0x71,0xd1,0x02,0x00,0x00,0x00]
+0x05,0x80,0x71,0xd1,0x02,0x00,0x00,0x00
-# CHECK: v_fract_f64_e32 v[254:255], s[0:1] ; encoding: [0x00,0x64,0xfc,0x7f]
-0x00,0x64,0xfc,0x7f
+# CHECK: v_frexp_mant_f64_e64 v[5:6], s[2:3] mul:2 ; encoding: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x08]
+0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x08
-# CHECK: v_fract_f64_e32 v[0:1], s[2:3] ; encoding: [0x02,0x64,0x00,0x7e]
-0x02,0x64,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e64 v[5:6], s[2:3] mul:4 ; encoding: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x10]
+0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x10
-# CHECK: v_fract_f64_e32 v[0:1], s[100:101] ; encoding: [0x64,0x64,0x00,0x7e]
-0x64,0x64,0x00,0x7e
+# CHECK: v_frexp_mant_f64_e64 v[5:6], s[2:3] div:2 ; encoding: [0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x18]
+0x05,0x00,0x71,0xd1,0x02,0x00,0x00,0x18
-# CHECK: v_fract_f64_e32 v[0:1], flat_scratch ; encoding: [0x66,0x64,0x00,0x7e]
-0x66,0x64,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], s[2:3] ; encoding: [0x02,0x64,0x0a,0x7e]
+0x02,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], vcc ; encoding: [0x6a,0x64,0x00,0x7e]
-0x6a,0x64,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[254:255], s[2:3] ; encoding: [0x02,0x64,0xfc,0x7f]
+0x02,0x64,0xfc,0x7f
-# CHECK: v_fract_f64_e32 v[0:1], tba ; encoding: [0x6c,0x64,0x00,0x7e]
-0x6c,0x64,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], s[4:5] ; encoding: [0x04,0x64,0x0a,0x7e]
+0x04,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], tma ; encoding: [0x6e,0x64,0x00,0x7e]
-0x6e,0x64,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], s[100:101] ; encoding: [0x64,0x64,0x0a,0x7e]
+0x64,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], ttmp[10:11] ; encoding: [0x7a,0x64,0x00,0x7e]
-0x7a,0x64,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], flat_scratch ; encoding: [0x66,0x64,0x0a,0x7e]
+0x66,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], exec ; encoding: [0x7e,0x64,0x00,0x7e]
-0x7e,0x64,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], vcc ; encoding: [0x6a,0x64,0x0a,0x7e]
+0x6a,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], 0 ; encoding: [0x80,0x64,0x00,0x7e]
-0x80,0x64,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], tba ; encoding: [0x6c,0x64,0x0a,0x7e]
+0x6c,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], -1 ; encoding: [0xc1,0x64,0x00,0x7e]
-0xc1,0x64,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], tma ; encoding: [0x6e,0x64,0x0a,0x7e]
+0x6e,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], 0.5 ; encoding: [0xf0,0x64,0x00,0x7e]
-0xf0,0x64,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], ttmp[10:11] ; encoding: [0x7a,0x64,0x0a,0x7e]
+0x7a,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], -4.0 ; encoding: [0xf7,0x64,0x00,0x7e]
-0xf7,0x64,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], exec ; encoding: [0x7e,0x64,0x0a,0x7e]
+0x7e,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], 0xaf123456 ; encoding: [0xff,0x64,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x64,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_fract_f64_e32 v[5:6], 0 ; encoding: [0x80,0x64,0x0a,0x7e]
+0x80,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], 0x3f717273 ; encoding: [0xff,0x64,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x64,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_fract_f64_e32 v[5:6], -1 ; encoding: [0xc1,0x64,0x0a,0x7e]
+0xc1,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], v[0:1] ; encoding: [0x00,0x65,0x00,0x7e]
-0x00,0x65,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], 0.5 ; encoding: [0xf0,0x64,0x0a,0x7e]
+0xf0,0x64,0x0a,0x7e
-# CHECK: v_fract_f64_e32 v[0:1], v[254:255] ; encoding: [0xfe,0x65,0x00,0x7e]
-0xfe,0x65,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], -4.0 ; encoding: [0xf7,0x64,0x0a,0x7e]
+0xf7,0x64,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, s0 ; encoding: [0x00,0x66,0x00,0x7e]
-0x00,0x66,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], 0xaf123456 ; encoding: [0xff,0x64,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x64,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_frexp_exp_i32_f32_e32 v255, s0 ; encoding: [0x00,0x66,0xfe,0x7f]
-0x00,0x66,0xfe,0x7f
+# CHECK: v_fract_f64_e32 v[5:6], 0x3f717273 ; encoding: [0xff,0x64,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x64,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_frexp_exp_i32_f32_e32 v0, s101 ; encoding: [0x65,0x66,0x00,0x7e]
-0x65,0x66,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], v[1:2] ; encoding: [0x01,0x65,0x0a,0x7e]
+0x01,0x65,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x66,0x00,0x7e]
-0x66,0x66,0x00,0x7e
+# CHECK: v_fract_f64_e32 v[5:6], v[254:255] ; encoding: [0xfe,0x65,0x0a,0x7e]
+0xfe,0x65,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x66,0x00,0x7e]
-0x67,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, s1 ; encoding: [0x01,0x66,0x0a,0x7e]
+0x01,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x66,0x00,0x7e]
-0x6a,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v255, s1 ; encoding: [0x01,0x66,0xfe,0x7f]
+0x01,0x66,0xfe,0x7f
-# CHECK: v_frexp_exp_i32_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x66,0x00,0x7e]
-0x6b,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, s101 ; encoding: [0x65,0x66,0x0a,0x7e]
+0x65,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, tba_lo ; encoding: [0x6c,0x66,0x00,0x7e]
-0x6c,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x66,0x0a,0x7e]
+0x66,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, tba_hi ; encoding: [0x6d,0x66,0x00,0x7e]
-0x6d,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x66,0x0a,0x7e]
+0x67,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, tma_lo ; encoding: [0x6e,0x66,0x00,0x7e]
-0x6e,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x66,0x0a,0x7e]
+0x6a,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, tma_hi ; encoding: [0x6f,0x66,0x00,0x7e]
-0x6f,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x66,0x0a,0x7e]
+0x6b,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x66,0x00,0x7e]
-0x7b,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, tba_lo ; encoding: [0x6c,0x66,0x0a,0x7e]
+0x6c,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, m0 ; encoding: [0x7c,0x66,0x00,0x7e]
-0x7c,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, tba_hi ; encoding: [0x6d,0x66,0x0a,0x7e]
+0x6d,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, exec_lo ; encoding: [0x7e,0x66,0x00,0x7e]
-0x7e,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, tma_lo ; encoding: [0x6e,0x66,0x0a,0x7e]
+0x6e,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, exec_hi ; encoding: [0x7f,0x66,0x00,0x7e]
-0x7f,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, tma_hi ; encoding: [0x6f,0x66,0x0a,0x7e]
+0x6f,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, 0 ; encoding: [0x80,0x66,0x00,0x7e]
-0x80,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x66,0x0a,0x7e]
+0x7b,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, -1 ; encoding: [0xc1,0x66,0x00,0x7e]
-0xc1,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, m0 ; encoding: [0x7c,0x66,0x0a,0x7e]
+0x7c,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, 0.5 ; encoding: [0xf0,0x66,0x00,0x7e]
-0xf0,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, exec_lo ; encoding: [0x7e,0x66,0x0a,0x7e]
+0x7e,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, -4.0 ; encoding: [0xf7,0x66,0x00,0x7e]
-0xf7,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, exec_hi ; encoding: [0x7f,0x66,0x0a,0x7e]
+0x7f,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, scc ; encoding: [0xfd,0x66,0x00,0x7e]
-0xfd,0x66,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, 0 ; encoding: [0x80,0x66,0x0a,0x7e]
+0x80,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x66,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x66,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_frexp_exp_i32_f32_e32 v5, -1 ; encoding: [0xc1,0x66,0x0a,0x7e]
+0xc1,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x66,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x66,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_frexp_exp_i32_f32_e32 v5, 0.5 ; encoding: [0xf0,0x66,0x0a,0x7e]
+0xf0,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, v0 ; encoding: [0x00,0x67,0x00,0x7e]
-0x00,0x67,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, -4.0 ; encoding: [0xf7,0x66,0x0a,0x7e]
+0xf7,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e32 v0, v255 ; encoding: [0xff,0x67,0x00,0x7e]
-0xff,0x67,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e32 v5, scc ; encoding: [0xfd,0x66,0x0a,0x7e]
+0xfd,0x66,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x73,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x66,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x66,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_frexp_exp_i32_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x73,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x73,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x66,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x66,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_frexp_exp_i32_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x73,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e32 v5, v1 ; encoding: [0x01,0x67,0x0a,0x7e]
+0x01,0x67,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x73,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e32 v5, v255 ; encoding: [0xff,0x67,0x0a,0x7e]
+0xff,0x67,0x0a,0x7e
-# CHECK: v_frexp_exp_i32_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x73,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x73,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x73,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x73,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x73,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x73,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x73,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x73,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x73,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x73,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x73,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x73,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x73,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x73,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x73,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x73,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x73,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x73,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x73,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x73,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x73,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x73,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x73,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x73,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x73,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x73,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x73,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x73,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x73,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x73,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x73,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, scc ; encoding: [0x00,0x00,0x73,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x73,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x73,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x73,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x73,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x73,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x73,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x73,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x73,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x73,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_frexp_exp_i32_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x73,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x73,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x73,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, scc ; encoding: [0x05,0x00,0x73,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x73,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x73,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x73,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x73,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_frexp_mant_f32_e32 v0, s0 ; encoding: [0x00,0x68,0x00,0x7e]
-0x00,0x68,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x73,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x73,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_frexp_mant_f32_e32 v255, s0 ; encoding: [0x00,0x68,0xfe,0x7f]
-0x00,0x68,0xfe,0x7f
+# CHECK: v_frexp_exp_i32_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x73,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x73,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_frexp_mant_f32_e32 v0, s101 ; encoding: [0x65,0x68,0x00,0x7e]
-0x65,0x68,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x73,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x73,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x68,0x00,0x7e]
-0x66,0x68,0x00,0x7e
+# CHECK: v_frexp_exp_i32_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x73,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x73,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x68,0x00,0x7e]
-0x67,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, s1 ; encoding: [0x01,0x68,0x0a,0x7e]
+0x01,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x68,0x00,0x7e]
-0x6a,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v255, s1 ; encoding: [0x01,0x68,0xfe,0x7f]
+0x01,0x68,0xfe,0x7f
-# CHECK: v_frexp_mant_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x68,0x00,0x7e]
-0x6b,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, s101 ; encoding: [0x65,0x68,0x0a,0x7e]
+0x65,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, tba_lo ; encoding: [0x6c,0x68,0x00,0x7e]
-0x6c,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x68,0x0a,0x7e]
+0x66,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, tba_hi ; encoding: [0x6d,0x68,0x00,0x7e]
-0x6d,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x68,0x0a,0x7e]
+0x67,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, tma_lo ; encoding: [0x6e,0x68,0x00,0x7e]
-0x6e,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x68,0x0a,0x7e]
+0x6a,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, tma_hi ; encoding: [0x6f,0x68,0x00,0x7e]
-0x6f,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x68,0x0a,0x7e]
+0x6b,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x68,0x00,0x7e]
-0x7b,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, tba_lo ; encoding: [0x6c,0x68,0x0a,0x7e]
+0x6c,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, m0 ; encoding: [0x7c,0x68,0x00,0x7e]
-0x7c,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, tba_hi ; encoding: [0x6d,0x68,0x0a,0x7e]
+0x6d,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, exec_lo ; encoding: [0x7e,0x68,0x00,0x7e]
-0x7e,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, tma_lo ; encoding: [0x6e,0x68,0x0a,0x7e]
+0x6e,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, exec_hi ; encoding: [0x7f,0x68,0x00,0x7e]
-0x7f,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, tma_hi ; encoding: [0x6f,0x68,0x0a,0x7e]
+0x6f,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, 0 ; encoding: [0x80,0x68,0x00,0x7e]
-0x80,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x68,0x0a,0x7e]
+0x7b,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, -1 ; encoding: [0xc1,0x68,0x00,0x7e]
-0xc1,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, m0 ; encoding: [0x7c,0x68,0x0a,0x7e]
+0x7c,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, 0.5 ; encoding: [0xf0,0x68,0x00,0x7e]
-0xf0,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, exec_lo ; encoding: [0x7e,0x68,0x0a,0x7e]
+0x7e,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, -4.0 ; encoding: [0xf7,0x68,0x00,0x7e]
-0xf7,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, exec_hi ; encoding: [0x7f,0x68,0x0a,0x7e]
+0x7f,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, scc ; encoding: [0xfd,0x68,0x00,0x7e]
-0xfd,0x68,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, 0 ; encoding: [0x80,0x68,0x0a,0x7e]
+0x80,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x68,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x68,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_frexp_mant_f32_e32 v5, -1 ; encoding: [0xc1,0x68,0x0a,0x7e]
+0xc1,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x68,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x68,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_frexp_mant_f32_e32 v5, 0.5 ; encoding: [0xf0,0x68,0x0a,0x7e]
+0xf0,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, v0 ; encoding: [0x00,0x69,0x00,0x7e]
-0x00,0x69,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, -4.0 ; encoding: [0xf7,0x68,0x0a,0x7e]
+0xf7,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e32 v0, v255 ; encoding: [0xff,0x69,0x00,0x7e]
-0xff,0x69,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e32 v5, scc ; encoding: [0xfd,0x68,0x0a,0x7e]
+0xfd,0x68,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x74,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x68,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x68,0x0a,0x7e,0x56,0x34,0x12,0xaf
-# CHECK: v_frexp_mant_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x74,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x74,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x68,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x68,0x0a,0x7e,0x73,0x72,0x71,0x3f
-# CHECK: v_frexp_mant_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x74,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e32 v5, v1 ; encoding: [0x01,0x69,0x0a,0x7e]
+0x01,0x69,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x74,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e32 v5, v255 ; encoding: [0xff,0x69,0x0a,0x7e]
+0xff,0x69,0x0a,0x7e
-# CHECK: v_frexp_mant_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x74,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x74,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x74,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x74,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x74,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x74,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x65,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x74,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x74,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x66,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x74,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x74,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x67,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x74,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x74,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x6a,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x74,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x74,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x6b,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x74,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x74,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x6c,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x74,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x74,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x6d,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x74,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x74,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x6e,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x74,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x74,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x6f,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x74,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x74,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x7b,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x74,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x74,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x74,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x74,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x7e,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x74,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x74,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x7f,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, scc ; encoding: [0x00,0x00,0x74,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x74,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x80,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x74,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x74,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x74,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0xc1,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x74,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x74,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x74,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0xf0,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x74,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x74,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_frexp_mant_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x74,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0xf7,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x74,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x74,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, scc ; encoding: [0x05,0x00,0x74,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x74,0xd1,0xfd,0x00,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x74,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x74,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_frexp_mant_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x74,0xd1,0x01,0x01,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x74,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x74,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_frexp_mant_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x74,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x74,0xd1,0xff,0x01,0x00,0x00
-# CHECK: v_frexp_mant_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x74,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x74,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_frexp_mant_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x20
-# CHECK: v_frexp_mant_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x74,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x74,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_frexp_mant_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x74,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x74,0xd1,0x01,0x00,0x00,0x00
-# CHECK: v_movreld_b32_e32 v0, m0 ; encoding: [0x7c,0x6c,0x00,0x7e]
-0x7c,0x6c,0x00,0x7e
+# CHECK: v_frexp_mant_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x74,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x74,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x08
+
+# CHECK: v_frexp_mant_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x10
+
+# CHECK: v_frexp_mant_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x74,0xd1,0x01,0x00,0x00,0x18
+
+# CHECK: v_movreld_b32_e32 v5, m0 ; encoding: [0x7c,0x6c,0x0a,0x7e]
+0x7c,0x6c,0x0a,0x7e
# CHECK: v_movreld_b32_e32 v255, m0 ; encoding: [0x7c,0x6c,0xfe,0x7f]
0x7c,0x6c,0xfe,0x7f
-# CHECK: v_movreld_b32_e32 v0, 0 ; encoding: [0x80,0x6c,0x00,0x7e]
-0x80,0x6c,0x00,0x7e
-
-# CHECK: v_movreld_b32_e32 v0, -1 ; encoding: [0xc1,0x6c,0x00,0x7e]
-0xc1,0x6c,0x00,0x7e
+# CHECK: v_movreld_b32_e32 v5, 0 ; encoding: [0x80,0x6c,0x0a,0x7e]
+0x80,0x6c,0x0a,0x7e
-# CHECK: v_movreld_b32_e32 v0, 0.5 ; encoding: [0xf0,0x6c,0x00,0x7e]
-0xf0,0x6c,0x00,0x7e
+# CHECK: v_movreld_b32_e32 v5, -1 ; encoding: [0xc1,0x6c,0x0a,0x7e]
+0xc1,0x6c,0x0a,0x7e
-# CHECK: v_movreld_b32_e32 v0, -4.0 ; encoding: [0xf7,0x6c,0x00,0x7e]
-0xf7,0x6c,0x00,0x7e
+# CHECK: v_movreld_b32_e32 v5, 0.5 ; encoding: [0xf0,0x6c,0x0a,0x7e]
+0xf0,0x6c,0x0a,0x7e
-# CHECK: v_movreld_b32_e32 v0, scc ; encoding: [0xfd,0x6c,0x00,0x7e]
-0xfd,0x6c,0x00,0x7e
+# CHECK: v_movreld_b32_e32 v5, -4.0 ; encoding: [0xf7,0x6c,0x0a,0x7e]
+0xf7,0x6c,0x0a,0x7e
-# CHECK: v_movreld_b32_e32 v0, v0 ; encoding: [0x00,0x6d,0x00,0x7e]
-0x00,0x6d,0x00,0x7e
+# CHECK: v_movreld_b32_e32 v5, v1 ; encoding: [0x01,0x6d,0x0a,0x7e]
+0x01,0x6d,0x0a,0x7e
-# CHECK: v_movreld_b32_e32 v0, v255 ; encoding: [0xff,0x6d,0x00,0x7e]
-0xff,0x6d,0x00,0x7e
+# CHECK: v_movreld_b32_e32 v5, v255 ; encoding: [0xff,0x6d,0x0a,0x7e]
+0xff,0x6d,0x0a,0x7e
-# CHECK: v_movreld_b32_e64 v0, m0 ; encoding: [0x00,0x00,0x76,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_movreld_b32_e64 v5, m0 ; encoding: [0x05,0x00,0x76,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x76,0xd1,0x7c,0x00,0x00,0x00
# CHECK: v_movreld_b32_e64 v255, m0 ; encoding: [0xff,0x00,0x76,0xd1,0x7c,0x00,0x00,0x00]
0xff,0x00,0x76,0xd1,0x7c,0x00,0x00,0x00
-# CHECK: v_movreld_b32_e64 v0, 0 ; encoding: [0x00,0x00,0x76,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_movreld_b32_e64 v5, 0 ; encoding: [0x05,0x00,0x76,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x76,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_movreld_b32_e64 v5, -1 ; encoding: [0x05,0x00,0x76,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x76,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_movreld_b32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x76,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x76,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_movreld_b32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x76,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x76,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_movreld_b32_e64 v5, v1 ; encoding: [0x05,0x00,0x76,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x76,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_movreld_b32_e64 v5, v255 ; encoding: [0x05,0x00,0x76,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x76,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_movrels_b32_e32 v5, v1 ; encoding: [0x01,0x6f,0x0a,0x7e]
+0x01,0x6f,0x0a,0x7e
+
+# CHECK: v_movrels_b32_e32 v255, v1 ; encoding: [0x01,0x6f,0xfe,0x7f]
+0x01,0x6f,0xfe,0x7f
+
+# CHECK: v_movrels_b32_e32 v5, v255 ; encoding: [0xff,0x6f,0x0a,0x7e]
+0xff,0x6f,0x0a,0x7e
+
+# CHECK: v_movrels_b32_e64 v5, v1 ; encoding: [0x05,0x00,0x77,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x77,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_movrels_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x77,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x77,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_movrels_b32_e64 v5, v255 ; encoding: [0x05,0x00,0x77,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x77,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_movrelsd_b32_e32 v5, v1 ; encoding: [0x01,0x71,0x0a,0x7e]
+0x01,0x71,0x0a,0x7e
+
+# CHECK: v_movrelsd_b32_e32 v255, v1 ; encoding: [0x01,0x71,0xfe,0x7f]
+0x01,0x71,0xfe,0x7f
+
+# CHECK: v_movrelsd_b32_e32 v5, v255 ; encoding: [0xff,0x71,0x0a,0x7e]
+0xff,0x71,0x0a,0x7e
+
+# CHECK: v_movrelsd_b32_e64 v5, v1 ; encoding: [0x05,0x00,0x78,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x78,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_movrelsd_b32_e64 v255, v1 ; encoding: [0xff,0x00,0x78,0xd1,0x01,0x01,0x00,0x00]
+0xff,0x00,0x78,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_movrelsd_b32_e64 v5, v255 ; encoding: [0x05,0x00,0x78,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x78,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e32 v5, s1 ; encoding: [0x01,0x72,0x0a,0x7e]
+0x01,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v255, s1 ; encoding: [0x01,0x72,0xfe,0x7f]
+0x01,0x72,0xfe,0x7f
+
+# CHECK: v_cvt_f16_u16_e32 v5, s101 ; encoding: [0x65,0x72,0x0a,0x7e]
+0x65,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x72,0x0a,0x7e]
+0x66,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x72,0x0a,0x7e]
+0x67,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, vcc_lo ; encoding: [0x6a,0x72,0x0a,0x7e]
+0x6a,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, vcc_hi ; encoding: [0x6b,0x72,0x0a,0x7e]
+0x6b,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, tba_lo ; encoding: [0x6c,0x72,0x0a,0x7e]
+0x6c,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, tba_hi ; encoding: [0x6d,0x72,0x0a,0x7e]
+0x6d,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, tma_lo ; encoding: [0x6e,0x72,0x0a,0x7e]
+0x6e,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, tma_hi ; encoding: [0x6f,0x72,0x0a,0x7e]
+0x6f,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, ttmp11 ; encoding: [0x7b,0x72,0x0a,0x7e]
+0x7b,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, m0 ; encoding: [0x7c,0x72,0x0a,0x7e]
+0x7c,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, exec_lo ; encoding: [0x7e,0x72,0x0a,0x7e]
+0x7e,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, exec_hi ; encoding: [0x7f,0x72,0x0a,0x7e]
+0x7f,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, 0 ; encoding: [0x80,0x72,0x0a,0x7e]
+0x80,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, -1 ; encoding: [0xc1,0x72,0x0a,0x7e]
+0xc1,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, 0.5 ; encoding: [0xf0,0x72,0x0a,0x7e]
+0xf0,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, -4.0 ; encoding: [0xf7,0x72,0x0a,0x7e]
+0xf7,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, scc ; encoding: [0xfd,0x72,0x0a,0x7e]
+0xfd,0x72,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, 0xfe0b ; encoding: [0xff,0x72,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x72,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e32 v5, 0x3456 ; encoding: [0xff,0x72,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x72,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e32 v5, v1 ; encoding: [0x01,0x73,0x0a,0x7e]
+0x01,0x73,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e32 v5, v255 ; encoding: [0xff,0x73,0x0a,0x7e]
+0xff,0x73,0x0a,0x7e
+
+# CHECK: v_cvt_f16_u16_e64 v5, s1 ; encoding: [0x05,0x00,0x79,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v255, s1 ; encoding: [0xff,0x00,0x79,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x79,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, s101 ; encoding: [0x05,0x00,0x79,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x79,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x79,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x79,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x79,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x79,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x79,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x79,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x79,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x79,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, m0 ; encoding: [0x05,0x00,0x79,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x79,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x79,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, 0 ; encoding: [0x05,0x00,0x79,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, -1 ; encoding: [0x05,0x00,0x79,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x79,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x79,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, scc ; encoding: [0x05,0x00,0x79,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x79,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, v1 ; encoding: [0x05,0x00,0x79,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x79,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f16_u16_e64 v5, v255 ; encoding: [0x05,0x00,0x79,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x79,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e32 v5, s1 ; encoding: [0x01,0x74,0x0a,0x7e]
+0x01,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v255, s1 ; encoding: [0x01,0x74,0xfe,0x7f]
+0x01,0x74,0xfe,0x7f
+
+# CHECK: v_cvt_f16_i16_e32 v5, s101 ; encoding: [0x65,0x74,0x0a,0x7e]
+0x65,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x74,0x0a,0x7e]
+0x66,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x74,0x0a,0x7e]
+0x67,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, vcc_lo ; encoding: [0x6a,0x74,0x0a,0x7e]
+0x6a,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, vcc_hi ; encoding: [0x6b,0x74,0x0a,0x7e]
+0x6b,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, tba_lo ; encoding: [0x6c,0x74,0x0a,0x7e]
+0x6c,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, tba_hi ; encoding: [0x6d,0x74,0x0a,0x7e]
+0x6d,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, tma_lo ; encoding: [0x6e,0x74,0x0a,0x7e]
+0x6e,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, tma_hi ; encoding: [0x6f,0x74,0x0a,0x7e]
+0x6f,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, ttmp11 ; encoding: [0x7b,0x74,0x0a,0x7e]
+0x7b,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, m0 ; encoding: [0x7c,0x74,0x0a,0x7e]
+0x7c,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, exec_lo ; encoding: [0x7e,0x74,0x0a,0x7e]
+0x7e,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, exec_hi ; encoding: [0x7f,0x74,0x0a,0x7e]
+0x7f,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, 0 ; encoding: [0x80,0x74,0x0a,0x7e]
+0x80,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, -1 ; encoding: [0xc1,0x74,0x0a,0x7e]
+0xc1,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, 0.5 ; encoding: [0xf0,0x74,0x0a,0x7e]
+0xf0,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, -4.0 ; encoding: [0xf7,0x74,0x0a,0x7e]
+0xf7,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, scc ; encoding: [0xfd,0x74,0x0a,0x7e]
+0xfd,0x74,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, 0xfe0b ; encoding: [0xff,0x74,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x74,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e32 v5, 0x3456 ; encoding: [0xff,0x74,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x74,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e32 v5, v1 ; encoding: [0x01,0x75,0x0a,0x7e]
+0x01,0x75,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e32 v5, v255 ; encoding: [0xff,0x75,0x0a,0x7e]
+0xff,0x75,0x0a,0x7e
+
+# CHECK: v_cvt_f16_i16_e64 v5, s1 ; encoding: [0x05,0x00,0x7a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v255, s1 ; encoding: [0xff,0x00,0x7a,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x7a,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, s101 ; encoding: [0x05,0x00,0x7a,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x7a,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x7a,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x7a,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x7a,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x7a,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x7a,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x7a,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x7a,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x7a,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, m0 ; encoding: [0x05,0x00,0x7a,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x7a,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x7a,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, 0 ; encoding: [0x05,0x00,0x7a,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, -1 ; encoding: [0x05,0x00,0x7a,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x7a,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x7a,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, scc ; encoding: [0x05,0x00,0x7a,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, v1 ; encoding: [0x05,0x00,0x7a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_f16_i16_e64 v5, v255 ; encoding: [0x05,0x00,0x7a,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x7a,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e32 v5, s1 ; encoding: [0x01,0x76,0x0a,0x7e]
+0x01,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v255, s1 ; encoding: [0x01,0x76,0xfe,0x7f]
+0x01,0x76,0xfe,0x7f
+
+# CHECK: v_cvt_u16_f16_e32 v5, s101 ; encoding: [0x65,0x76,0x0a,0x7e]
+0x65,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x76,0x0a,0x7e]
+0x66,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x76,0x0a,0x7e]
+0x67,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x76,0x0a,0x7e]
+0x6a,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x76,0x0a,0x7e]
+0x6b,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, tba_lo ; encoding: [0x6c,0x76,0x0a,0x7e]
+0x6c,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, tba_hi ; encoding: [0x6d,0x76,0x0a,0x7e]
+0x6d,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, tma_lo ; encoding: [0x6e,0x76,0x0a,0x7e]
+0x6e,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, tma_hi ; encoding: [0x6f,0x76,0x0a,0x7e]
+0x6f,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x76,0x0a,0x7e]
+0x7b,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, m0 ; encoding: [0x7c,0x76,0x0a,0x7e]
+0x7c,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, exec_lo ; encoding: [0x7e,0x76,0x0a,0x7e]
+0x7e,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, exec_hi ; encoding: [0x7f,0x76,0x0a,0x7e]
+0x7f,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, 0 ; encoding: [0x80,0x76,0x0a,0x7e]
+0x80,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, -1 ; encoding: [0xc1,0x76,0x0a,0x7e]
+0xc1,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, 0.5 ; encoding: [0xf0,0x76,0x0a,0x7e]
+0xf0,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, -4.0 ; encoding: [0xf7,0x76,0x0a,0x7e]
+0xf7,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, scc ; encoding: [0xfd,0x76,0x0a,0x7e]
+0xfd,0x76,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x76,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x76,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e32 v5, 0x3456 ; encoding: [0xff,0x76,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x76,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e32 v5, v1 ; encoding: [0x01,0x77,0x0a,0x7e]
+0x01,0x77,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e32 v5, v255 ; encoding: [0xff,0x77,0x0a,0x7e]
+0xff,0x77,0x0a,0x7e
+
+# CHECK: v_cvt_u16_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x7b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x7b,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x7b,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x7b,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x7b,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x7b,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x7b,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x7b,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x7b,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x7b,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x7b,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x7b,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x7b,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x7b,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x7b,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x7b,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x7b,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x7b,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x7b,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x7b,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, scc ; encoding: [0x05,0x00,0x7b,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x7b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x7b,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x7b,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x7b,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x7b,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_cvt_u16_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x7b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x7b,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_u16_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x7b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x7b,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e32 v5, s1 ; encoding: [0x01,0x78,0x0a,0x7e]
+0x01,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v255, s1 ; encoding: [0x01,0x78,0xfe,0x7f]
+0x01,0x78,0xfe,0x7f
+
+# CHECK: v_cvt_i16_f16_e32 v5, s101 ; encoding: [0x65,0x78,0x0a,0x7e]
+0x65,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x78,0x0a,0x7e]
+0x66,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x78,0x0a,0x7e]
+0x67,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x78,0x0a,0x7e]
+0x6a,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x78,0x0a,0x7e]
+0x6b,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, tba_lo ; encoding: [0x6c,0x78,0x0a,0x7e]
+0x6c,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, tba_hi ; encoding: [0x6d,0x78,0x0a,0x7e]
+0x6d,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, tma_lo ; encoding: [0x6e,0x78,0x0a,0x7e]
+0x6e,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, tma_hi ; encoding: [0x6f,0x78,0x0a,0x7e]
+0x6f,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x78,0x0a,0x7e]
+0x7b,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, m0 ; encoding: [0x7c,0x78,0x0a,0x7e]
+0x7c,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, exec_lo ; encoding: [0x7e,0x78,0x0a,0x7e]
+0x7e,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, exec_hi ; encoding: [0x7f,0x78,0x0a,0x7e]
+0x7f,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, 0 ; encoding: [0x80,0x78,0x0a,0x7e]
+0x80,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, -1 ; encoding: [0xc1,0x78,0x0a,0x7e]
+0xc1,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, 0.5 ; encoding: [0xf0,0x78,0x0a,0x7e]
+0xf0,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, -4.0 ; encoding: [0xf7,0x78,0x0a,0x7e]
+0xf7,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, scc ; encoding: [0xfd,0x78,0x0a,0x7e]
+0xfd,0x78,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x78,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x78,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e32 v5, 0x3456 ; encoding: [0xff,0x78,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x78,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e32 v5, v1 ; encoding: [0x01,0x79,0x0a,0x7e]
+0x01,0x79,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e32 v5, v255 ; encoding: [0xff,0x79,0x0a,0x7e]
+0xff,0x79,0x0a,0x7e
+
+# CHECK: v_cvt_i16_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x7c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x7c,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x7c,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x7c,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x7c,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x7c,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x7c,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x7c,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x7c,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x7c,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x7c,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x7c,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x7c,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x7c,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x7c,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x7c,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x7c,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x7c,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x7c,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x7c,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, scc ; encoding: [0x05,0x00,0x7c,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x7c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x7c,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x7c,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x7c,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x7c,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_cvt_i16_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x7c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x7c,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cvt_i16_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x7c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x7c,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e32 v5, s1 ; encoding: [0x01,0x7a,0x0a,0x7e]
+0x01,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v255, s1 ; encoding: [0x01,0x7a,0xfe,0x7f]
+0x01,0x7a,0xfe,0x7f
+
+# CHECK: v_rcp_f16_e32 v5, s101 ; encoding: [0x65,0x7a,0x0a,0x7e]
+0x65,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x7a,0x0a,0x7e]
+0x66,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x7a,0x0a,0x7e]
+0x67,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x7a,0x0a,0x7e]
+0x6a,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x7a,0x0a,0x7e]
+0x6b,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, tba_lo ; encoding: [0x6c,0x7a,0x0a,0x7e]
+0x6c,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, tba_hi ; encoding: [0x6d,0x7a,0x0a,0x7e]
+0x6d,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, tma_lo ; encoding: [0x6e,0x7a,0x0a,0x7e]
+0x6e,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, tma_hi ; encoding: [0x6f,0x7a,0x0a,0x7e]
+0x6f,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x7a,0x0a,0x7e]
+0x7b,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, m0 ; encoding: [0x7c,0x7a,0x0a,0x7e]
+0x7c,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, exec_lo ; encoding: [0x7e,0x7a,0x0a,0x7e]
+0x7e,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, exec_hi ; encoding: [0x7f,0x7a,0x0a,0x7e]
+0x7f,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, 0 ; encoding: [0x80,0x7a,0x0a,0x7e]
+0x80,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, -1 ; encoding: [0xc1,0x7a,0x0a,0x7e]
+0xc1,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, 0.5 ; encoding: [0xf0,0x7a,0x0a,0x7e]
+0xf0,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, -4.0 ; encoding: [0xf7,0x7a,0x0a,0x7e]
+0xf7,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, scc ; encoding: [0xfd,0x7a,0x0a,0x7e]
+0xfd,0x7a,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x7a,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x7a,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_rcp_f16_e32 v5, 0x3456 ; encoding: [0xff,0x7a,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x7a,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_rcp_f16_e32 v5, v1 ; encoding: [0x01,0x7b,0x0a,0x7e]
+0x01,0x7b,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e32 v5, v255 ; encoding: [0xff,0x7b,0x0a,0x7e]
+0xff,0x7b,0x0a,0x7e
+
+# CHECK: v_rcp_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x7d,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x7d,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x7d,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x7d,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x7d,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x7d,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x7d,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x7d,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x7d,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x7d,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x7d,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x7d,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x7d,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x7d,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x7d,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x7d,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x7d,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x7d,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x7d,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x7d,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, scc ; encoding: [0x05,0x00,0x7d,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x7d,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x7d,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x7d,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x7d,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_rcp_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x7d,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x7d,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rcp_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x7d,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x7d,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e32 v5, s1 ; encoding: [0x01,0x7c,0x0a,0x7e]
+0x01,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v255, s1 ; encoding: [0x01,0x7c,0xfe,0x7f]
+0x01,0x7c,0xfe,0x7f
+
+# CHECK: v_sqrt_f16_e32 v5, s101 ; encoding: [0x65,0x7c,0x0a,0x7e]
+0x65,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x7c,0x0a,0x7e]
+0x66,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x7c,0x0a,0x7e]
+0x67,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x7c,0x0a,0x7e]
+0x6a,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x7c,0x0a,0x7e]
+0x6b,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, tba_lo ; encoding: [0x6c,0x7c,0x0a,0x7e]
+0x6c,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, tba_hi ; encoding: [0x6d,0x7c,0x0a,0x7e]
+0x6d,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, tma_lo ; encoding: [0x6e,0x7c,0x0a,0x7e]
+0x6e,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, tma_hi ; encoding: [0x6f,0x7c,0x0a,0x7e]
+0x6f,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x7c,0x0a,0x7e]
+0x7b,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, m0 ; encoding: [0x7c,0x7c,0x0a,0x7e]
+0x7c,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, exec_lo ; encoding: [0x7e,0x7c,0x0a,0x7e]
+0x7e,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, exec_hi ; encoding: [0x7f,0x7c,0x0a,0x7e]
+0x7f,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, 0 ; encoding: [0x80,0x7c,0x0a,0x7e]
+0x80,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, -1 ; encoding: [0xc1,0x7c,0x0a,0x7e]
+0xc1,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, 0.5 ; encoding: [0xf0,0x7c,0x0a,0x7e]
+0xf0,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, -4.0 ; encoding: [0xf7,0x7c,0x0a,0x7e]
+0xf7,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, scc ; encoding: [0xfd,0x7c,0x0a,0x7e]
+0xfd,0x7c,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x7c,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x7c,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_sqrt_f16_e32 v5, 0x3456 ; encoding: [0xff,0x7c,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x7c,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_sqrt_f16_e32 v5, v1 ; encoding: [0x01,0x7d,0x0a,0x7e]
+0x01,0x7d,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e32 v5, v255 ; encoding: [0xff,0x7d,0x0a,0x7e]
+0xff,0x7d,0x0a,0x7e
+
+# CHECK: v_sqrt_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x7e,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x7e,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x7e,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x7e,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x7e,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x7e,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x7e,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x7e,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x7e,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x7e,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x7e,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x7e,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x7e,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x7e,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x7e,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x7e,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x7e,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x7e,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x7e,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x7e,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, scc ; encoding: [0x05,0x00,0x7e,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x7e,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x7e,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x7e,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x7e,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_sqrt_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x7e,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x7e,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_sqrt_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x7e,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x7e,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e32 v5, s1 ; encoding: [0x01,0x7e,0x0a,0x7e]
+0x01,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v255, s1 ; encoding: [0x01,0x7e,0xfe,0x7f]
+0x01,0x7e,0xfe,0x7f
+
+# CHECK: v_rsq_f16_e32 v5, s101 ; encoding: [0x65,0x7e,0x0a,0x7e]
+0x65,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x7e,0x0a,0x7e]
+0x66,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x7e,0x0a,0x7e]
+0x67,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x7e,0x0a,0x7e]
+0x6a,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x7e,0x0a,0x7e]
+0x6b,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, tba_lo ; encoding: [0x6c,0x7e,0x0a,0x7e]
+0x6c,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, tba_hi ; encoding: [0x6d,0x7e,0x0a,0x7e]
+0x6d,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, tma_lo ; encoding: [0x6e,0x7e,0x0a,0x7e]
+0x6e,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, tma_hi ; encoding: [0x6f,0x7e,0x0a,0x7e]
+0x6f,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x7e,0x0a,0x7e]
+0x7b,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, m0 ; encoding: [0x7c,0x7e,0x0a,0x7e]
+0x7c,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, exec_lo ; encoding: [0x7e,0x7e,0x0a,0x7e]
+0x7e,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, exec_hi ; encoding: [0x7f,0x7e,0x0a,0x7e]
+0x7f,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, 0 ; encoding: [0x80,0x7e,0x0a,0x7e]
+0x80,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, -1 ; encoding: [0xc1,0x7e,0x0a,0x7e]
+0xc1,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, 0.5 ; encoding: [0xf0,0x7e,0x0a,0x7e]
+0xf0,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, -4.0 ; encoding: [0xf7,0x7e,0x0a,0x7e]
+0xf7,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, scc ; encoding: [0xfd,0x7e,0x0a,0x7e]
+0xfd,0x7e,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x7e,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x7e,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_rsq_f16_e32 v5, 0x3456 ; encoding: [0xff,0x7e,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x7e,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_rsq_f16_e32 v5, v1 ; encoding: [0x01,0x7f,0x0a,0x7e]
+0x01,0x7f,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e32 v5, v255 ; encoding: [0xff,0x7f,0x0a,0x7e]
+0xff,0x7f,0x0a,0x7e
+
+# CHECK: v_rsq_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x7f,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x7f,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x7f,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x7f,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x7f,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x7f,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x7f,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x7f,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x7f,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x7f,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x7f,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x7f,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x7f,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x7f,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x7f,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x7f,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x7f,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x7f,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x7f,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x7f,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, scc ; encoding: [0x05,0x00,0x7f,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x7f,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x7f,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x7f,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x7f,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_rsq_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x7f,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x7f,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rsq_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x7f,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x7f,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e32 v5, s1 ; encoding: [0x01,0x80,0x0a,0x7e]
+0x01,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v255, s1 ; encoding: [0x01,0x80,0xfe,0x7f]
+0x01,0x80,0xfe,0x7f
+
+# CHECK: v_log_f16_e32 v5, s101 ; encoding: [0x65,0x80,0x0a,0x7e]
+0x65,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x80,0x0a,0x7e]
+0x66,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x80,0x0a,0x7e]
+0x67,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x80,0x0a,0x7e]
+0x6a,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x80,0x0a,0x7e]
+0x6b,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, tba_lo ; encoding: [0x6c,0x80,0x0a,0x7e]
+0x6c,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, tba_hi ; encoding: [0x6d,0x80,0x0a,0x7e]
+0x6d,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, tma_lo ; encoding: [0x6e,0x80,0x0a,0x7e]
+0x6e,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, tma_hi ; encoding: [0x6f,0x80,0x0a,0x7e]
+0x6f,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x80,0x0a,0x7e]
+0x7b,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, m0 ; encoding: [0x7c,0x80,0x0a,0x7e]
+0x7c,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, exec_lo ; encoding: [0x7e,0x80,0x0a,0x7e]
+0x7e,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, exec_hi ; encoding: [0x7f,0x80,0x0a,0x7e]
+0x7f,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, 0 ; encoding: [0x80,0x80,0x0a,0x7e]
+0x80,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, -1 ; encoding: [0xc1,0x80,0x0a,0x7e]
+0xc1,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, 0.5 ; encoding: [0xf0,0x80,0x0a,0x7e]
+0xf0,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, -4.0 ; encoding: [0xf7,0x80,0x0a,0x7e]
+0xf7,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, scc ; encoding: [0xfd,0x80,0x0a,0x7e]
+0xfd,0x80,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x80,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x80,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_log_f16_e32 v5, 0x3456 ; encoding: [0xff,0x80,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x80,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_log_f16_e32 v5, v1 ; encoding: [0x01,0x81,0x0a,0x7e]
+0x01,0x81,0x0a,0x7e
+
+# CHECK: v_log_f16_e32 v5, v255 ; encoding: [0xff,0x81,0x0a,0x7e]
+0xff,0x81,0x0a,0x7e
+
+# CHECK: v_log_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x80,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x80,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x80,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x80,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x80,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x80,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x80,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x80,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x80,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x80,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x80,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x80,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x80,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x80,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x80,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x80,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x80,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x80,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x80,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x80,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, scc ; encoding: [0x05,0x00,0x80,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x80,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x80,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x80,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x80,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x80,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x80,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_log_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x80,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x80,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_log_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x80,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x80,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e32 v5, s1 ; encoding: [0x01,0x82,0x0a,0x7e]
+0x01,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v255, s1 ; encoding: [0x01,0x82,0xfe,0x7f]
+0x01,0x82,0xfe,0x7f
+
+# CHECK: v_exp_f16_e32 v5, s101 ; encoding: [0x65,0x82,0x0a,0x7e]
+0x65,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x82,0x0a,0x7e]
+0x66,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x82,0x0a,0x7e]
+0x67,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x82,0x0a,0x7e]
+0x6a,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x82,0x0a,0x7e]
+0x6b,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, tba_lo ; encoding: [0x6c,0x82,0x0a,0x7e]
+0x6c,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, tba_hi ; encoding: [0x6d,0x82,0x0a,0x7e]
+0x6d,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, tma_lo ; encoding: [0x6e,0x82,0x0a,0x7e]
+0x6e,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, tma_hi ; encoding: [0x6f,0x82,0x0a,0x7e]
+0x6f,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x82,0x0a,0x7e]
+0x7b,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, m0 ; encoding: [0x7c,0x82,0x0a,0x7e]
+0x7c,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, exec_lo ; encoding: [0x7e,0x82,0x0a,0x7e]
+0x7e,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, exec_hi ; encoding: [0x7f,0x82,0x0a,0x7e]
+0x7f,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, 0 ; encoding: [0x80,0x82,0x0a,0x7e]
+0x80,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, -1 ; encoding: [0xc1,0x82,0x0a,0x7e]
+0xc1,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, 0.5 ; encoding: [0xf0,0x82,0x0a,0x7e]
+0xf0,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, -4.0 ; encoding: [0xf7,0x82,0x0a,0x7e]
+0xf7,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, scc ; encoding: [0xfd,0x82,0x0a,0x7e]
+0xfd,0x82,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x82,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x82,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_exp_f16_e32 v5, 0x3456 ; encoding: [0xff,0x82,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x82,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_exp_f16_e32 v5, v1 ; encoding: [0x01,0x83,0x0a,0x7e]
+0x01,0x83,0x0a,0x7e
+
+# CHECK: v_exp_f16_e32 v5, v255 ; encoding: [0xff,0x83,0x0a,0x7e]
+0xff,0x83,0x0a,0x7e
+
+# CHECK: v_exp_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x81,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x81,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x81,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x81,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x81,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x81,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x81,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x81,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x81,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x81,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x81,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x81,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x81,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x81,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x81,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x81,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x81,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x81,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x81,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x81,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, scc ; encoding: [0x05,0x00,0x81,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x81,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x81,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x81,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x81,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x81,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x81,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_exp_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x81,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x81,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_exp_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x81,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x81,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e32 v5, s1 ; encoding: [0x01,0x84,0x0a,0x7e]
+0x01,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v255, s1 ; encoding: [0x01,0x84,0xfe,0x7f]
+0x01,0x84,0xfe,0x7f
+
+# CHECK: v_frexp_mant_f16_e32 v5, s101 ; encoding: [0x65,0x84,0x0a,0x7e]
+0x65,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x84,0x0a,0x7e]
+0x66,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x84,0x0a,0x7e]
+0x67,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x84,0x0a,0x7e]
+0x6a,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x84,0x0a,0x7e]
+0x6b,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, tba_lo ; encoding: [0x6c,0x84,0x0a,0x7e]
+0x6c,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, tba_hi ; encoding: [0x6d,0x84,0x0a,0x7e]
+0x6d,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, tma_lo ; encoding: [0x6e,0x84,0x0a,0x7e]
+0x6e,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, tma_hi ; encoding: [0x6f,0x84,0x0a,0x7e]
+0x6f,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x84,0x0a,0x7e]
+0x7b,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, m0 ; encoding: [0x7c,0x84,0x0a,0x7e]
+0x7c,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, exec_lo ; encoding: [0x7e,0x84,0x0a,0x7e]
+0x7e,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, exec_hi ; encoding: [0x7f,0x84,0x0a,0x7e]
+0x7f,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, 0 ; encoding: [0x80,0x84,0x0a,0x7e]
+0x80,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, -1 ; encoding: [0xc1,0x84,0x0a,0x7e]
+0xc1,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, 0.5 ; encoding: [0xf0,0x84,0x0a,0x7e]
+0xf0,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, -4.0 ; encoding: [0xf7,0x84,0x0a,0x7e]
+0xf7,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, scc ; encoding: [0xfd,0x84,0x0a,0x7e]
+0xfd,0x84,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x84,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x84,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e32 v5, 0x3456 ; encoding: [0xff,0x84,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x84,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e32 v5, v1 ; encoding: [0x01,0x85,0x0a,0x7e]
+0x01,0x85,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e32 v5, v255 ; encoding: [0xff,0x85,0x0a,0x7e]
+0xff,0x85,0x0a,0x7e
+
+# CHECK: v_frexp_mant_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x82,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x82,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x82,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x82,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x82,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x82,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x82,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x82,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x82,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x82,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x82,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x82,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x82,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x82,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x82,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x82,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x82,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x82,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x82,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x82,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, scc ; encoding: [0x05,0x00,0x82,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x82,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x82,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x82,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x82,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x82,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x82,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x82,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_frexp_mant_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x82,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x82,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_frexp_mant_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x82,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x82,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, s1 ; encoding: [0x01,0x86,0x0a,0x7e]
+0x01,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v255, s1 ; encoding: [0x01,0x86,0xfe,0x7f]
+0x01,0x86,0xfe,0x7f
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, s101 ; encoding: [0x65,0x86,0x0a,0x7e]
+0x65,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x86,0x0a,0x7e]
+0x66,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x86,0x0a,0x7e]
+0x67,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x86,0x0a,0x7e]
+0x6a,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x86,0x0a,0x7e]
+0x6b,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, tba_lo ; encoding: [0x6c,0x86,0x0a,0x7e]
+0x6c,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, tba_hi ; encoding: [0x6d,0x86,0x0a,0x7e]
+0x6d,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, tma_lo ; encoding: [0x6e,0x86,0x0a,0x7e]
+0x6e,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, tma_hi ; encoding: [0x6f,0x86,0x0a,0x7e]
+0x6f,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x86,0x0a,0x7e]
+0x7b,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, m0 ; encoding: [0x7c,0x86,0x0a,0x7e]
+0x7c,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, exec_lo ; encoding: [0x7e,0x86,0x0a,0x7e]
+0x7e,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, exec_hi ; encoding: [0x7f,0x86,0x0a,0x7e]
+0x7f,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, 0 ; encoding: [0x80,0x86,0x0a,0x7e]
+0x80,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, -1 ; encoding: [0xc1,0x86,0x0a,0x7e]
+0xc1,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, 0.5 ; encoding: [0xf0,0x86,0x0a,0x7e]
+0xf0,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, -4.0 ; encoding: [0xf7,0x86,0x0a,0x7e]
+0xf7,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, scc ; encoding: [0xfd,0x86,0x0a,0x7e]
+0xfd,0x86,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x86,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x86,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, 0x3456 ; encoding: [0xff,0x86,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x86,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, v1 ; encoding: [0x01,0x87,0x0a,0x7e]
+0x01,0x87,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e32 v5, v255 ; encoding: [0xff,0x87,0x0a,0x7e]
+0xff,0x87,0x0a,0x7e
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x83,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x83,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x83,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x83,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x83,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x83,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x83,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x83,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x83,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x83,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x83,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x83,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x83,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x83,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x83,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x83,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x83,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x83,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x83,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x83,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, scc ; encoding: [0x05,0x00,0x83,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x83,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x83,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x83,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x83,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x83,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x83,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x83,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x83,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x83,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_frexp_exp_i16_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x83,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x83,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e32 v5, s1 ; encoding: [0x01,0x88,0x0a,0x7e]
+0x01,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v255, s1 ; encoding: [0x01,0x88,0xfe,0x7f]
+0x01,0x88,0xfe,0x7f
+
+# CHECK: v_floor_f16_e32 v5, s101 ; encoding: [0x65,0x88,0x0a,0x7e]
+0x65,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x88,0x0a,0x7e]
+0x66,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x88,0x0a,0x7e]
+0x67,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x88,0x0a,0x7e]
+0x6a,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x88,0x0a,0x7e]
+0x6b,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, tba_lo ; encoding: [0x6c,0x88,0x0a,0x7e]
+0x6c,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, tba_hi ; encoding: [0x6d,0x88,0x0a,0x7e]
+0x6d,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, tma_lo ; encoding: [0x6e,0x88,0x0a,0x7e]
+0x6e,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, tma_hi ; encoding: [0x6f,0x88,0x0a,0x7e]
+0x6f,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x88,0x0a,0x7e]
+0x7b,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, m0 ; encoding: [0x7c,0x88,0x0a,0x7e]
+0x7c,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, exec_lo ; encoding: [0x7e,0x88,0x0a,0x7e]
+0x7e,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, exec_hi ; encoding: [0x7f,0x88,0x0a,0x7e]
+0x7f,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, 0 ; encoding: [0x80,0x88,0x0a,0x7e]
+0x80,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, -1 ; encoding: [0xc1,0x88,0x0a,0x7e]
+0xc1,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, 0.5 ; encoding: [0xf0,0x88,0x0a,0x7e]
+0xf0,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, -4.0 ; encoding: [0xf7,0x88,0x0a,0x7e]
+0xf7,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, scc ; encoding: [0xfd,0x88,0x0a,0x7e]
+0xfd,0x88,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x88,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x88,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_floor_f16_e32 v5, 0x3456 ; encoding: [0xff,0x88,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x88,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_floor_f16_e32 v5, v1 ; encoding: [0x01,0x89,0x0a,0x7e]
+0x01,0x89,0x0a,0x7e
+
+# CHECK: v_floor_f16_e32 v5, v255 ; encoding: [0xff,0x89,0x0a,0x7e]
+0xff,0x89,0x0a,0x7e
+
+# CHECK: v_floor_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x84,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x84,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x84,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x84,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x84,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x84,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x84,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x84,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x84,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x84,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x84,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x84,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x84,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x84,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x84,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x84,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x84,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x84,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x84,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x84,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, scc ; encoding: [0x05,0x00,0x84,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x84,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x84,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x84,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x84,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x84,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x84,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_floor_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x84,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x84,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_floor_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x84,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x84,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e32 v5, s1 ; encoding: [0x01,0x8a,0x0a,0x7e]
+0x01,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v255, s1 ; encoding: [0x01,0x8a,0xfe,0x7f]
+0x01,0x8a,0xfe,0x7f
+
+# CHECK: v_ceil_f16_e32 v5, s101 ; encoding: [0x65,0x8a,0x0a,0x7e]
+0x65,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x8a,0x0a,0x7e]
+0x66,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x8a,0x0a,0x7e]
+0x67,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x8a,0x0a,0x7e]
+0x6a,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x8a,0x0a,0x7e]
+0x6b,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, tba_lo ; encoding: [0x6c,0x8a,0x0a,0x7e]
+0x6c,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, tba_hi ; encoding: [0x6d,0x8a,0x0a,0x7e]
+0x6d,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, tma_lo ; encoding: [0x6e,0x8a,0x0a,0x7e]
+0x6e,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, tma_hi ; encoding: [0x6f,0x8a,0x0a,0x7e]
+0x6f,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x8a,0x0a,0x7e]
+0x7b,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, m0 ; encoding: [0x7c,0x8a,0x0a,0x7e]
+0x7c,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, exec_lo ; encoding: [0x7e,0x8a,0x0a,0x7e]
+0x7e,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, exec_hi ; encoding: [0x7f,0x8a,0x0a,0x7e]
+0x7f,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, 0 ; encoding: [0x80,0x8a,0x0a,0x7e]
+0x80,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, -1 ; encoding: [0xc1,0x8a,0x0a,0x7e]
+0xc1,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, 0.5 ; encoding: [0xf0,0x8a,0x0a,0x7e]
+0xf0,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, -4.0 ; encoding: [0xf7,0x8a,0x0a,0x7e]
+0xf7,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, scc ; encoding: [0xfd,0x8a,0x0a,0x7e]
+0xfd,0x8a,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x8a,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x8a,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_ceil_f16_e32 v5, 0x3456 ; encoding: [0xff,0x8a,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x8a,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_ceil_f16_e32 v5, v1 ; encoding: [0x01,0x8b,0x0a,0x7e]
+0x01,0x8b,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e32 v5, v255 ; encoding: [0xff,0x8b,0x0a,0x7e]
+0xff,0x8b,0x0a,0x7e
+
+# CHECK: v_ceil_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x85,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x85,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x85,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x85,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x85,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x85,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x85,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x85,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x85,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x85,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x85,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x85,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x85,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x85,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x85,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x85,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x85,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x85,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x85,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x85,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, scc ; encoding: [0x05,0x00,0x85,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x85,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x85,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x85,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x85,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x85,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x85,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_ceil_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x85,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x85,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_ceil_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x85,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x85,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e32 v5, s1 ; encoding: [0x01,0x8c,0x0a,0x7e]
+0x01,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v255, s1 ; encoding: [0x01,0x8c,0xfe,0x7f]
+0x01,0x8c,0xfe,0x7f
+
+# CHECK: v_trunc_f16_e32 v5, s101 ; encoding: [0x65,0x8c,0x0a,0x7e]
+0x65,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x8c,0x0a,0x7e]
+0x66,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x8c,0x0a,0x7e]
+0x67,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x8c,0x0a,0x7e]
+0x6a,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x8c,0x0a,0x7e]
+0x6b,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, tba_lo ; encoding: [0x6c,0x8c,0x0a,0x7e]
+0x6c,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, tba_hi ; encoding: [0x6d,0x8c,0x0a,0x7e]
+0x6d,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, tma_lo ; encoding: [0x6e,0x8c,0x0a,0x7e]
+0x6e,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, tma_hi ; encoding: [0x6f,0x8c,0x0a,0x7e]
+0x6f,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x8c,0x0a,0x7e]
+0x7b,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, m0 ; encoding: [0x7c,0x8c,0x0a,0x7e]
+0x7c,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, exec_lo ; encoding: [0x7e,0x8c,0x0a,0x7e]
+0x7e,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, exec_hi ; encoding: [0x7f,0x8c,0x0a,0x7e]
+0x7f,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, 0 ; encoding: [0x80,0x8c,0x0a,0x7e]
+0x80,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, -1 ; encoding: [0xc1,0x8c,0x0a,0x7e]
+0xc1,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, 0.5 ; encoding: [0xf0,0x8c,0x0a,0x7e]
+0xf0,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, -4.0 ; encoding: [0xf7,0x8c,0x0a,0x7e]
+0xf7,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, scc ; encoding: [0xfd,0x8c,0x0a,0x7e]
+0xfd,0x8c,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x8c,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x8c,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_trunc_f16_e32 v5, 0x3456 ; encoding: [0xff,0x8c,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x8c,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_trunc_f16_e32 v5, v1 ; encoding: [0x01,0x8d,0x0a,0x7e]
+0x01,0x8d,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e32 v5, v255 ; encoding: [0xff,0x8d,0x0a,0x7e]
+0xff,0x8d,0x0a,0x7e
+
+# CHECK: v_trunc_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x86,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x86,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x86,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x86,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x86,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x86,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x86,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x86,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x86,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x86,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x86,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x86,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x86,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x86,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x86,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x86,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x86,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x86,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x86,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x86,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, scc ; encoding: [0x05,0x00,0x86,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x86,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x86,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x86,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x86,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x86,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x86,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_trunc_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x86,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x86,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_trunc_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x86,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x86,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e32 v5, s1 ; encoding: [0x01,0x8e,0x0a,0x7e]
+0x01,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v255, s1 ; encoding: [0x01,0x8e,0xfe,0x7f]
+0x01,0x8e,0xfe,0x7f
+
+# CHECK: v_rndne_f16_e32 v5, s101 ; encoding: [0x65,0x8e,0x0a,0x7e]
+0x65,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x8e,0x0a,0x7e]
+0x66,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x8e,0x0a,0x7e]
+0x67,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x8e,0x0a,0x7e]
+0x6a,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x8e,0x0a,0x7e]
+0x6b,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, tba_lo ; encoding: [0x6c,0x8e,0x0a,0x7e]
+0x6c,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, tba_hi ; encoding: [0x6d,0x8e,0x0a,0x7e]
+0x6d,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, tma_lo ; encoding: [0x6e,0x8e,0x0a,0x7e]
+0x6e,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, tma_hi ; encoding: [0x6f,0x8e,0x0a,0x7e]
+0x6f,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x8e,0x0a,0x7e]
+0x7b,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, m0 ; encoding: [0x7c,0x8e,0x0a,0x7e]
+0x7c,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, exec_lo ; encoding: [0x7e,0x8e,0x0a,0x7e]
+0x7e,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, exec_hi ; encoding: [0x7f,0x8e,0x0a,0x7e]
+0x7f,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, 0 ; encoding: [0x80,0x8e,0x0a,0x7e]
+0x80,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, -1 ; encoding: [0xc1,0x8e,0x0a,0x7e]
+0xc1,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, 0.5 ; encoding: [0xf0,0x8e,0x0a,0x7e]
+0xf0,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, -4.0 ; encoding: [0xf7,0x8e,0x0a,0x7e]
+0xf7,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, scc ; encoding: [0xfd,0x8e,0x0a,0x7e]
+0xfd,0x8e,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x8e,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x8e,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_rndne_f16_e32 v5, 0x3456 ; encoding: [0xff,0x8e,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x8e,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_rndne_f16_e32 v5, v1 ; encoding: [0x01,0x8f,0x0a,0x7e]
+0x01,0x8f,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e32 v5, v255 ; encoding: [0xff,0x8f,0x0a,0x7e]
+0xff,0x8f,0x0a,0x7e
+
+# CHECK: v_rndne_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x87,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x87,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x87,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x87,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x87,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x87,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x87,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x87,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x87,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x87,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x87,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x87,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x87,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x87,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x87,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x87,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x87,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x87,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x87,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x87,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, scc ; encoding: [0x05,0x00,0x87,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x87,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x87,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x87,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x87,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x87,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x87,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_rndne_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x87,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x87,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_rndne_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x87,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x87,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e32 v5, s1 ; encoding: [0x01,0x90,0x0a,0x7e]
+0x01,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v255, s1 ; encoding: [0x01,0x90,0xfe,0x7f]
+0x01,0x90,0xfe,0x7f
+
+# CHECK: v_fract_f16_e32 v5, s101 ; encoding: [0x65,0x90,0x0a,0x7e]
+0x65,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x90,0x0a,0x7e]
+0x66,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x90,0x0a,0x7e]
+0x67,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x90,0x0a,0x7e]
+0x6a,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x90,0x0a,0x7e]
+0x6b,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, tba_lo ; encoding: [0x6c,0x90,0x0a,0x7e]
+0x6c,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, tba_hi ; encoding: [0x6d,0x90,0x0a,0x7e]
+0x6d,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, tma_lo ; encoding: [0x6e,0x90,0x0a,0x7e]
+0x6e,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, tma_hi ; encoding: [0x6f,0x90,0x0a,0x7e]
+0x6f,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x90,0x0a,0x7e]
+0x7b,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, m0 ; encoding: [0x7c,0x90,0x0a,0x7e]
+0x7c,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, exec_lo ; encoding: [0x7e,0x90,0x0a,0x7e]
+0x7e,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, exec_hi ; encoding: [0x7f,0x90,0x0a,0x7e]
+0x7f,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, 0 ; encoding: [0x80,0x90,0x0a,0x7e]
+0x80,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, -1 ; encoding: [0xc1,0x90,0x0a,0x7e]
+0xc1,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, 0.5 ; encoding: [0xf0,0x90,0x0a,0x7e]
+0xf0,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, -4.0 ; encoding: [0xf7,0x90,0x0a,0x7e]
+0xf7,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, scc ; encoding: [0xfd,0x90,0x0a,0x7e]
+0xfd,0x90,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x90,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x90,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_fract_f16_e32 v5, 0x3456 ; encoding: [0xff,0x90,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x90,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_fract_f16_e32 v5, v1 ; encoding: [0x01,0x91,0x0a,0x7e]
+0x01,0x91,0x0a,0x7e
+
+# CHECK: v_fract_f16_e32 v5, v255 ; encoding: [0xff,0x91,0x0a,0x7e]
+0xff,0x91,0x0a,0x7e
+
+# CHECK: v_fract_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x88,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x88,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x88,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x88,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x88,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x88,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x88,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x88,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x88,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x88,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x88,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x88,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x88,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x88,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x88,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x88,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x88,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x88,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x88,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x88,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, scc ; encoding: [0x05,0x00,0x88,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x88,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x88,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x88,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x88,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x88,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x88,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_fract_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x88,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x88,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_fract_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x88,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x88,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e32 v5, s1 ; encoding: [0x01,0x92,0x0a,0x7e]
+0x01,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v255, s1 ; encoding: [0x01,0x92,0xfe,0x7f]
+0x01,0x92,0xfe,0x7f
+
+# CHECK: v_sin_f16_e32 v5, s101 ; encoding: [0x65,0x92,0x0a,0x7e]
+0x65,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x92,0x0a,0x7e]
+0x66,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x92,0x0a,0x7e]
+0x67,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x92,0x0a,0x7e]
+0x6a,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x92,0x0a,0x7e]
+0x6b,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, tba_lo ; encoding: [0x6c,0x92,0x0a,0x7e]
+0x6c,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, tba_hi ; encoding: [0x6d,0x92,0x0a,0x7e]
+0x6d,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, tma_lo ; encoding: [0x6e,0x92,0x0a,0x7e]
+0x6e,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, tma_hi ; encoding: [0x6f,0x92,0x0a,0x7e]
+0x6f,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x92,0x0a,0x7e]
+0x7b,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, m0 ; encoding: [0x7c,0x92,0x0a,0x7e]
+0x7c,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, exec_lo ; encoding: [0x7e,0x92,0x0a,0x7e]
+0x7e,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, exec_hi ; encoding: [0x7f,0x92,0x0a,0x7e]
+0x7f,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, 0 ; encoding: [0x80,0x92,0x0a,0x7e]
+0x80,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, -1 ; encoding: [0xc1,0x92,0x0a,0x7e]
+0xc1,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, 0.5 ; encoding: [0xf0,0x92,0x0a,0x7e]
+0xf0,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, -4.0 ; encoding: [0xf7,0x92,0x0a,0x7e]
+0xf7,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, scc ; encoding: [0xfd,0x92,0x0a,0x7e]
+0xfd,0x92,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x92,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x92,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_sin_f16_e32 v5, 0x3456 ; encoding: [0xff,0x92,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x92,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_sin_f16_e32 v5, v1 ; encoding: [0x01,0x93,0x0a,0x7e]
+0x01,0x93,0x0a,0x7e
+
+# CHECK: v_sin_f16_e32 v5, v255 ; encoding: [0xff,0x93,0x0a,0x7e]
+0xff,0x93,0x0a,0x7e
+
+# CHECK: v_sin_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x89,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x89,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x89,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x89,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x89,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x89,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x89,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x89,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x89,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x89,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x89,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x89,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x89,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x89,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x89,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x89,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x89,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x89,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x89,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x89,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, scc ; encoding: [0x05,0x00,0x89,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x89,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x89,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x89,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x89,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x89,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x89,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_sin_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x89,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x89,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_sin_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x89,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x89,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e32 v5, s1 ; encoding: [0x01,0x94,0x0a,0x7e]
+0x01,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v255, s1 ; encoding: [0x01,0x94,0xfe,0x7f]
+0x01,0x94,0xfe,0x7f
+
+# CHECK: v_cos_f16_e32 v5, s101 ; encoding: [0x65,0x94,0x0a,0x7e]
+0x65,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, flat_scratch_lo ; encoding: [0x66,0x94,0x0a,0x7e]
+0x66,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, flat_scratch_hi ; encoding: [0x67,0x94,0x0a,0x7e]
+0x67,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, vcc_lo ; encoding: [0x6a,0x94,0x0a,0x7e]
+0x6a,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, vcc_hi ; encoding: [0x6b,0x94,0x0a,0x7e]
+0x6b,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, tba_lo ; encoding: [0x6c,0x94,0x0a,0x7e]
+0x6c,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, tba_hi ; encoding: [0x6d,0x94,0x0a,0x7e]
+0x6d,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, tma_lo ; encoding: [0x6e,0x94,0x0a,0x7e]
+0x6e,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, tma_hi ; encoding: [0x6f,0x94,0x0a,0x7e]
+0x6f,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, ttmp11 ; encoding: [0x7b,0x94,0x0a,0x7e]
+0x7b,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, m0 ; encoding: [0x7c,0x94,0x0a,0x7e]
+0x7c,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, exec_lo ; encoding: [0x7e,0x94,0x0a,0x7e]
+0x7e,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, exec_hi ; encoding: [0x7f,0x94,0x0a,0x7e]
+0x7f,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, 0 ; encoding: [0x80,0x94,0x0a,0x7e]
+0x80,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, -1 ; encoding: [0xc1,0x94,0x0a,0x7e]
+0xc1,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, 0.5 ; encoding: [0xf0,0x94,0x0a,0x7e]
+0xf0,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, -4.0 ; encoding: [0xf7,0x94,0x0a,0x7e]
+0xf7,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, scc ; encoding: [0xfd,0x94,0x0a,0x7e]
+0xfd,0x94,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x94,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
+0xff,0x94,0x0a,0x7e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_cos_f16_e32 v5, 0x3456 ; encoding: [0xff,0x94,0x0a,0x7e,0x56,0x34,0x00,0x00]
+0xff,0x94,0x0a,0x7e,0x56,0x34,0x00,0x00
+
+# CHECK: v_cos_f16_e32 v5, v1 ; encoding: [0x01,0x95,0x0a,0x7e]
+0x01,0x95,0x0a,0x7e
+
+# CHECK: v_cos_f16_e32 v5, v255 ; encoding: [0xff,0x95,0x0a,0x7e]
+0xff,0x95,0x0a,0x7e
+
+# CHECK: v_cos_f16_e64 v5, s1 ; encoding: [0x05,0x00,0x8a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v255, s1 ; encoding: [0xff,0x00,0x8a,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x8a,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, s101 ; encoding: [0x05,0x00,0x8a,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x8a,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x8a,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x8a,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x8a,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, tba_lo ; encoding: [0x05,0x00,0x8a,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, tba_hi ; encoding: [0x05,0x00,0x8a,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, tma_lo ; encoding: [0x05,0x00,0x8a,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, tma_hi ; encoding: [0x05,0x00,0x8a,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x8a,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, m0 ; encoding: [0x05,0x00,0x8a,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, exec_lo ; encoding: [0x05,0x00,0x8a,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, exec_hi ; encoding: [0x05,0x00,0x8a,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, 0 ; encoding: [0x05,0x00,0x8a,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, -1 ; encoding: [0x05,0x00,0x8a,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, 0.5 ; encoding: [0x05,0x00,0x8a,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, -4.0 ; encoding: [0x05,0x00,0x8a,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, scc ; encoding: [0x05,0x00,0x8a,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, v1 ; encoding: [0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, v255 ; encoding: [0x05,0x00,0x8a,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x8a,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, -s1 ; encoding: [0x05,0x00,0x8a,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x8a,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_cos_f16_e64 v5, |s1| ; encoding: [0x05,0x01,0x8a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x8a,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_cos_f16_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x8a,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x8a,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e32 v5, s1 ; encoding: [0x01,0x96,0x0a,0x7e]
+0x01,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v255, s1 ; encoding: [0x01,0x96,0xfe,0x7f]
+0x01,0x96,0xfe,0x7f
+
+# CHECK: v_exp_legacy_f32_e32 v5, s101 ; encoding: [0x65,0x96,0x0a,0x7e]
+0x65,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x96,0x0a,0x7e]
+0x66,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x96,0x0a,0x7e]
+0x67,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x96,0x0a,0x7e]
+0x6a,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x96,0x0a,0x7e]
+0x6b,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, tba_lo ; encoding: [0x6c,0x96,0x0a,0x7e]
+0x6c,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, tba_hi ; encoding: [0x6d,0x96,0x0a,0x7e]
+0x6d,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, tma_lo ; encoding: [0x6e,0x96,0x0a,0x7e]
+0x6e,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, tma_hi ; encoding: [0x6f,0x96,0x0a,0x7e]
+0x6f,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x96,0x0a,0x7e]
+0x7b,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, m0 ; encoding: [0x7c,0x96,0x0a,0x7e]
+0x7c,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, exec_lo ; encoding: [0x7e,0x96,0x0a,0x7e]
+0x7e,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, exec_hi ; encoding: [0x7f,0x96,0x0a,0x7e]
+0x7f,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, 0 ; encoding: [0x80,0x96,0x0a,0x7e]
+0x80,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, -1 ; encoding: [0xc1,0x96,0x0a,0x7e]
+0xc1,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, 0.5 ; encoding: [0xf0,0x96,0x0a,0x7e]
+0xf0,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, -4.0 ; encoding: [0xf7,0x96,0x0a,0x7e]
+0xf7,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, scc ; encoding: [0xfd,0x96,0x0a,0x7e]
+0xfd,0x96,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x96,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x96,0x0a,0x7e,0x56,0x34,0x12,0xaf
+
+# CHECK: v_exp_legacy_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x96,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x96,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# CHECK: v_exp_legacy_f32_e32 v5, v1 ; encoding: [0x01,0x97,0x0a,0x7e]
+0x01,0x97,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e32 v5, v255 ; encoding: [0xff,0x97,0x0a,0x7e]
+0xff,0x97,0x0a,0x7e
+
+# CHECK: v_exp_legacy_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x8b,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x8b,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x8b,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x8b,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x8b,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x8b,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x8b,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x8b,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x8b,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x8b,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x8b,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x8b,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x8b,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x8b,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x8b,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x8b,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x8b,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x8b,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x8b,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, scc ; encoding: [0x05,0x00,0x8b,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x8b,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x8b,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_exp_legacy_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x8b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x8b,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x8b,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x8b,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_exp_legacy_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x08
+
+# CHECK: v_exp_legacy_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x10
+
+# CHECK: v_exp_legacy_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x8b,0xd1,0x01,0x00,0x00,0x18
+
+# CHECK: v_log_legacy_f32_e32 v5, s1 ; encoding: [0x01,0x98,0x0a,0x7e]
+0x01,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v255, s1 ; encoding: [0x01,0x98,0xfe,0x7f]
+0x01,0x98,0xfe,0x7f
+
+# CHECK: v_log_legacy_f32_e32 v5, s101 ; encoding: [0x65,0x98,0x0a,0x7e]
+0x65,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, flat_scratch_lo ; encoding: [0x66,0x98,0x0a,0x7e]
+0x66,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, flat_scratch_hi ; encoding: [0x67,0x98,0x0a,0x7e]
+0x67,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, vcc_lo ; encoding: [0x6a,0x98,0x0a,0x7e]
+0x6a,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, vcc_hi ; encoding: [0x6b,0x98,0x0a,0x7e]
+0x6b,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, tba_lo ; encoding: [0x6c,0x98,0x0a,0x7e]
+0x6c,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, tba_hi ; encoding: [0x6d,0x98,0x0a,0x7e]
+0x6d,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, tma_lo ; encoding: [0x6e,0x98,0x0a,0x7e]
+0x6e,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, tma_hi ; encoding: [0x6f,0x98,0x0a,0x7e]
+0x6f,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, ttmp11 ; encoding: [0x7b,0x98,0x0a,0x7e]
+0x7b,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, m0 ; encoding: [0x7c,0x98,0x0a,0x7e]
+0x7c,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, exec_lo ; encoding: [0x7e,0x98,0x0a,0x7e]
+0x7e,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, exec_hi ; encoding: [0x7f,0x98,0x0a,0x7e]
+0x7f,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, 0 ; encoding: [0x80,0x98,0x0a,0x7e]
+0x80,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, -1 ; encoding: [0xc1,0x98,0x0a,0x7e]
+0xc1,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, 0.5 ; encoding: [0xf0,0x98,0x0a,0x7e]
+0xf0,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, -4.0 ; encoding: [0xf7,0x98,0x0a,0x7e]
+0xf7,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, scc ; encoding: [0xfd,0x98,0x0a,0x7e]
+0xfd,0x98,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, 0xaf123456 ; encoding: [0xff,0x98,0x0a,0x7e,0x56,0x34,0x12,0xaf]
+0xff,0x98,0x0a,0x7e,0x56,0x34,0x12,0xaf
+
+# CHECK: v_log_legacy_f32_e32 v5, 0x3f717273 ; encoding: [0xff,0x98,0x0a,0x7e,0x73,0x72,0x71,0x3f]
+0xff,0x98,0x0a,0x7e,0x73,0x72,0x71,0x3f
+
+# CHECK: v_log_legacy_f32_e32 v5, v1 ; encoding: [0x01,0x99,0x0a,0x7e]
+0x01,0x99,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e32 v5, v255 ; encoding: [0xff,0x99,0x0a,0x7e]
+0xff,0x99,0x0a,0x7e
+
+# CHECK: v_log_legacy_f32_e64 v5, s1 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v255, s1 ; encoding: [0xff,0x00,0x8c,0xd1,0x01,0x00,0x00,0x00]
+0xff,0x00,0x8c,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, s101 ; encoding: [0x05,0x00,0x8c,0xd1,0x65,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x65,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, flat_scratch_lo ; encoding: [0x05,0x00,0x8c,0xd1,0x66,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x66,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, flat_scratch_hi ; encoding: [0x05,0x00,0x8c,0xd1,0x67,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x67,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, vcc_lo ; encoding: [0x05,0x00,0x8c,0xd1,0x6a,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x6a,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, vcc_hi ; encoding: [0x05,0x00,0x8c,0xd1,0x6b,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x6b,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, tba_lo ; encoding: [0x05,0x00,0x8c,0xd1,0x6c,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x6c,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, tba_hi ; encoding: [0x05,0x00,0x8c,0xd1,0x6d,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x6d,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, tma_lo ; encoding: [0x05,0x00,0x8c,0xd1,0x6e,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x6e,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, tma_hi ; encoding: [0x05,0x00,0x8c,0xd1,0x6f,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x6f,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, ttmp11 ; encoding: [0x05,0x00,0x8c,0xd1,0x7b,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x7b,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, m0 ; encoding: [0x05,0x00,0x8c,0xd1,0x7c,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x7c,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, exec_lo ; encoding: [0x05,0x00,0x8c,0xd1,0x7e,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x7e,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, exec_hi ; encoding: [0x05,0x00,0x8c,0xd1,0x7f,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x7f,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, 0 ; encoding: [0x05,0x00,0x8c,0xd1,0x80,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x80,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, -1 ; encoding: [0x05,0x00,0x8c,0xd1,0xc1,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0xc1,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, 0.5 ; encoding: [0x05,0x00,0x8c,0xd1,0xf0,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0xf0,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, -4.0 ; encoding: [0x05,0x00,0x8c,0xd1,0xf7,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0xf7,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, scc ; encoding: [0x05,0x00,0x8c,0xd1,0xfd,0x00,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0xfd,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, v1 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0x01,0x01,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, v255 ; encoding: [0x05,0x00,0x8c,0xd1,0xff,0x01,0x00,0x00]
+0x05,0x00,0x8c,0xd1,0xff,0x01,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, -s1 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x20]
+0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x20
+
+# CHECK: v_log_legacy_f32_e64 v5, |s1| ; encoding: [0x05,0x01,0x8c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x01,0x8c,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, s1 clamp ; encoding: [0x05,0x80,0x8c,0xd1,0x01,0x00,0x00,0x00]
+0x05,0x80,0x8c,0xd1,0x01,0x00,0x00,0x00
+
+# CHECK: v_log_legacy_f32_e64 v5, s1 mul:2 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x08]
+0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x08
+
+# CHECK: v_log_legacy_f32_e64 v5, s1 mul:4 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x10]
+0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x10
+
+# CHECK: v_log_legacy_f32_e64 v5, s1 div:2 ; encoding: [0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x18]
+0x05,0x00,0x8c,0xd1,0x01,0x00,0x00,0x18
+
+# CHECK: v_cndmask_b32_e32 v5, 0, v2, vcc ; encoding: [0x80,0x04,0x0a,0x00]
+0x80,0x04,0x0a,0x00
+
+# CHECK: v_cndmask_b32_e32 v255, 0, v2, vcc ; encoding: [0x80,0x04,0xfe,0x01]
+0x80,0x04,0xfe,0x01
+
+# CHECK: v_cndmask_b32_e32 v5, -1, v2, vcc ; encoding: [0xc1,0x04,0x0a,0x00]
+0xc1,0x04,0x0a,0x00
+
+# CHECK: v_cndmask_b32_e32 v5, 0.5, v2, vcc ; encoding: [0xf0,0x04,0x0a,0x00]
+0xf0,0x04,0x0a,0x00
+
+# CHECK: v_cndmask_b32_e32 v5, -4.0, v2, vcc ; encoding: [0xf7,0x04,0x0a,0x00]
+0xf7,0x04,0x0a,0x00
+
+# CHECK: v_cndmask_b32_e32 v5, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x00]
+0x01,0x05,0x0a,0x00
+
+# CHECK: v_cndmask_b32_e32 v5, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x00]
+0xff,0x05,0x0a,0x00
+
+# CHECK: v_cndmask_b32_e32 v5, 0, v255, vcc ; encoding: [0x80,0xfe,0x0b,0x00]
+0x80,0xfe,0x0b,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, 0, 0, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v255, 0, 0, s[6:7] ; encoding: [0xff,0x00,0x00,0xd1,0x80,0x00,0x19,0x00]
+0xff,0x00,0x00,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, -1, 0, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xc1,0x00,0x19,0x00]
+0x05,0x00,0x00,0xd1,0xc1,0x00,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, 0.5, 0, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xf0,0x00,0x19,0x00]
+0x05,0x00,0x00,0xd1,0xf0,0x00,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, -4.0, 0, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xf7,0x00,0x19,0x00]
+0x05,0x00,0x00,0xd1,0xf7,0x00,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, v1, 0, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x01,0x01,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x01,0x01,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, v255, 0, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0xff,0x01,0x19,0x00]
+0x05,0x00,0x00,0xd1,0xff,0x01,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, 0, -1, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x80,0x82,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x80,0x82,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, 0, 0.5, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x80,0xe0,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x80,0xe0,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, 0, -4.0, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x80,0xee,0x19,0x00]
+0x05,0x00,0x00,0xd1,0x80,0xee,0x19,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, 0, v2, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x80,0x04,0x1a,0x00]
+0x05,0x00,0x00,0xd1,0x80,0x04,0x1a,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, 0, v255, s[6:7] ; encoding: [0x05,0x00,0x00,0xd1,0x80,0xfe,0x1b,0x00]
+0x05,0x00,0x00,0xd1,0x80,0xfe,0x1b,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, 0, 0, s[8:9] ; encoding: [0x05,0x00,0x00,0xd1,0x80,0x00,0x21,0x00]
+0x05,0x00,0x00,0xd1,0x80,0x00,0x21,0x00
+
+# CHECK: v_cndmask_b32_e64 v5, 0, 0, s[100:101] ; encoding: [0x05,0x00,0x00,0xd1,0x80,0x00,0x91,0x01]
+0x05,0x00,0x00,0xd1,0x80,0x00,0x91,0x01
+
+# CHECK: v_cndmask_b32_e64 v5, 0, 0, flat_scratch ; encoding: [0x05,0x00,0x00,0xd1,0x80,0x00,0x99,0x01]
+0x05,0x00,0x00,0xd1,0x80,0x00,0x99,0x01
+
+# CHECK: v_cndmask_b32_e64 v5, 0, 0, vcc ; encoding: [0x05,0x00,0x00,0xd1,0x80,0x00,0xa9,0x01]
+0x05,0x00,0x00,0xd1,0x80,0x00,0xa9,0x01
+
+# CHECK: v_cndmask_b32_e64 v5, 0, 0, tba ; encoding: [0x05,0x00,0x00,0xd1,0x80,0x00,0xb1,0x01]
+0x05,0x00,0x00,0xd1,0x80,0x00,0xb1,0x01
+
+# CHECK: v_cndmask_b32_e64 v5, 0, 0, tma ; encoding: [0x05,0x00,0x00,0xd1,0x80,0x00,0xb9,0x01]
+0x05,0x00,0x00,0xd1,0x80,0x00,0xb9,0x01
+
+# CHECK: v_cndmask_b32_e64 v5, 0, 0, ttmp[10:11] ; encoding: [0x05,0x00,0x00,0xd1,0x80,0x00,0xe9,0x01]
+0x05,0x00,0x00,0xd1,0x80,0x00,0xe9,0x01
+
+# CHECK: v_add_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x02]
+0x01,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x03]
+0x01,0x04,0xfe,0x03
+
+# CHECK: v_add_f32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x02]
+0x65,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x02]
+0x66,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x02]
+0x67,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x02]
+0x6a,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x02]
+0x6b,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x02]
+0x6c,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x02]
+0x6d,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x02]
+0x6e,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x02]
+0x6f,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x02]
+0x7b,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x02]
+0x7c,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x02]
+0x7e,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x02]
+0x7f,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x02]
+0x80,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x02]
+0xc1,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x02]
+0xf0,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x02]
+0xf7,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x02]
+0xfd,0x04,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x02,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x02,0x56,0x34,0x12,0xaf
+
+# CHECK: v_add_f32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x02,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x02,0x73,0x72,0x71,0x3f
+
+# CHECK: v_add_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x02]
+0x01,0x05,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x02]
+0xff,0x05,0x0a,0x02
+
+# CHECK: v_add_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x02]
+0x01,0xfe,0x0b,0x02
+
+# CHECK: v_add_f32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x01,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x01,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x01,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x01,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x01,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x01,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x01,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x01,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x01,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x01,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x01,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x01,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x01,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_add_f32_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x20
+
+# CHECK: v_add_f32_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x40
+
+# CHECK: v_add_f32_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x60
+
+# CHECK: v_add_f32_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x01,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x01,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x01,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x01,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x01,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x01,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x01,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x01,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f32_e64 v5, 0, s2 mul:2 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x08]
+0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x08
+
+# CHECK: v_add_f32_e64 v5, 0, s2 mul:4 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x10]
+0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x10
+
+# CHECK: v_add_f32_e64 v5, 0, s2 div:2 ; encoding: [0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x18]
+0x05,0x00,0x01,0xd1,0x80,0x04,0x00,0x18
+
+# CHECK: v_sub_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x04]
+0x01,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x05]
+0x01,0x04,0xfe,0x05
+
+# CHECK: v_sub_f32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x04]
+0x65,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x04]
+0x66,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x04]
+0x67,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x04]
+0x6a,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x04]
+0x6b,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x04]
+0x6c,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x04]
+0x6d,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x04]
+0x6e,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x04]
+0x6f,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x04]
+0x7b,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x04]
+0x7c,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x04]
+0x7e,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x04]
+0x7f,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x04]
+0x80,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x04]
+0xc1,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x04]
+0xf0,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x04]
+0xf7,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x04]
+0xfd,0x04,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x04,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x04,0x56,0x34,0x12,0xaf
+
+# CHECK: v_sub_f32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x04,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x04,0x73,0x72,0x71,0x3f
+
+# CHECK: v_sub_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x04]
+0x01,0x05,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x04]
+0xff,0x05,0x0a,0x04
+
+# CHECK: v_sub_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x04]
+0x01,0xfe,0x0b,0x04
+
+# CHECK: v_sub_f32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x02,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x02,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x02,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x02,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x02,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x02,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x02,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x02,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x02,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x02,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x02,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x02,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x02,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_sub_f32_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x20
+
+# CHECK: v_sub_f32_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x40
+
+# CHECK: v_sub_f32_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x60
+
+# CHECK: v_sub_f32_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x02,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x02,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x02,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x02,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x02,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x02,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x02,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x02,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f32_e64 v5, 0, s2 mul:2 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x08]
+0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x08
+
+# CHECK: v_sub_f32_e64 v5, 0, s2 mul:4 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x10]
+0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x10
+
+# CHECK: v_sub_f32_e64 v5, 0, s2 div:2 ; encoding: [0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x18]
+0x05,0x00,0x02,0xd1,0x80,0x04,0x00,0x18
+
+# CHECK: v_subrev_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x06]
+0x01,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x07]
+0x01,0x04,0xfe,0x07
+
+# CHECK: v_subrev_f32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x06]
+0x65,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x06]
+0x66,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x06]
+0x67,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x06]
+0x6a,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x06]
+0x6b,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x06]
+0x6c,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x06]
+0x6d,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x06]
+0x6e,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x06]
+0x6f,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x06]
+0x7b,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x06]
+0x7c,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x06]
+0x7e,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x06]
+0x7f,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x06]
+0x80,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x06]
+0xc1,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x06]
+0xf0,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x06]
+0xf7,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x06]
+0xfd,0x04,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x06,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x06,0x56,0x34,0x12,0xaf
+
+# CHECK: v_subrev_f32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x06,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x06,0x73,0x72,0x71,0x3f
+
+# CHECK: v_subrev_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x06]
+0x01,0x05,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x06]
+0xff,0x05,0x0a,0x06
+
+# CHECK: v_subrev_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x06]
+0x01,0xfe,0x0b,0x06
+
+# CHECK: v_subrev_f32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x03,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x03,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x03,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x03,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x03,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x03,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x03,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x03,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x03,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x03,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x03,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x03,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x03,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_subrev_f32_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x20
+
+# CHECK: v_subrev_f32_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x40
+
+# CHECK: v_subrev_f32_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x60
+
+# CHECK: v_subrev_f32_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x03,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x03,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x03,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x03,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x03,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x03,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x03,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x03,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f32_e64 v5, 0, s2 mul:2 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x08]
+0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x08
+
+# CHECK: v_subrev_f32_e64 v5, 0, s2 mul:4 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x10]
+0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x10
+
+# CHECK: v_subrev_f32_e64 v5, 0, s2 div:2 ; encoding: [0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x18]
+0x05,0x00,0x03,0xd1,0x80,0x04,0x00,0x18
+
+# CHECK: v_mul_legacy_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x08]
+0x01,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x09]
+0x01,0x04,0xfe,0x09
+
+# CHECK: v_mul_legacy_f32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x08]
+0x65,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x08]
+0x66,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x08]
+0x67,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x08]
+0x6a,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x08]
+0x6b,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x08]
+0x6c,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x08]
+0x6d,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x08]
+0x6e,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x08]
+0x6f,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x08]
+0x7b,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x08]
+0x7c,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x08]
+0x7e,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x08]
+0x7f,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x08]
+0x80,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x08]
+0xc1,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x08]
+0xf0,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x08]
+0xf7,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x08]
+0xfd,0x04,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x08,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x08,0x56,0x34,0x12,0xaf
+
+# CHECK: v_mul_legacy_f32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x08,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x08,0x73,0x72,0x71,0x3f
+
+# CHECK: v_mul_legacy_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x08]
+0x01,0x05,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x08]
+0xff,0x05,0x0a,0x08
+
+# CHECK: v_mul_legacy_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x08]
+0x01,0xfe,0x0b,0x08
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x04,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x04,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x04,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x04,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x04,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x04,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x04,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x04,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x04,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x04,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x04,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x04,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x04,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x20
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x40
+
+# CHECK: v_mul_legacy_f32_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x60
+
+# CHECK: v_mul_legacy_f32_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x04,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x04,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x04,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x04,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x04,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x04,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x04,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x04,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, s2 mul:2 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x08]
+0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x08
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, s2 mul:4 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x10]
+0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x10
+
+# CHECK: v_mul_legacy_f32_e64 v5, 0, s2 div:2 ; encoding: [0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x18]
+0x05,0x00,0x04,0xd1,0x80,0x04,0x00,0x18
+
+# CHECK: v_mul_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x0a]
+0x01,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x0b]
+0x01,0x04,0xfe,0x0b
+
+# CHECK: v_mul_f32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x0a]
+0x65,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x0a]
+0x66,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x0a]
+0x67,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x0a]
+0x6a,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x0a]
+0x6b,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x0a]
+0x6c,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x0a]
+0x6d,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x0a]
+0x6e,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x0a]
+0x6f,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x0a]
+0x7b,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x0a]
+0x7c,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x0a]
+0x7e,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x0a]
+0x7f,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x0a]
+0x80,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x0a]
+0xc1,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x0a]
+0xf0,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x0a]
+0xf7,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x0a]
+0xfd,0x04,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x0a,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x0a,0x56,0x34,0x12,0xaf
+
+# CHECK: v_mul_f32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x0a,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x0a,0x73,0x72,0x71,0x3f
+
+# CHECK: v_mul_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x0a]
+0x01,0x05,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x0a]
+0xff,0x05,0x0a,0x0a
+
+# CHECK: v_mul_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x0a]
+0x01,0xfe,0x0b,0x0a
+
+# CHECK: v_mul_f32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x05,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x05,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x05,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x05,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x05,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x05,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x05,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x05,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x05,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x05,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x05,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x05,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x05,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_mul_f32_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x20
+
+# CHECK: v_mul_f32_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x40
+
+# CHECK: v_mul_f32_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x60
+
+# CHECK: v_mul_f32_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x05,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x05,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x05,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x05,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x05,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x05,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x05,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x05,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_f32_e64 v5, 0, s2 mul:2 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x08]
+0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x08
+
+# CHECK: v_mul_f32_e64 v5, 0, s2 mul:4 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x10]
+0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x10
+
+# CHECK: v_mul_f32_e64 v5, 0, s2 div:2 ; encoding: [0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x18]
+0x05,0x00,0x05,0xd1,0x80,0x04,0x00,0x18
+
+# CHECK: v_mul_i32_i24_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x0c]
+0x01,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x0d]
+0x01,0x04,0xfe,0x0d
+
+# CHECK: v_mul_i32_i24_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x0c]
+0x65,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x0c]
+0x66,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x0c]
+0x67,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x0c]
+0x6a,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x0c]
+0x6b,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x0c]
+0x6c,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x0c]
+0x6d,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x0c]
+0x6e,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x0c]
+0x6f,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x0c]
+0x7b,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x0c]
+0x7c,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x0c]
+0x7e,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x0c]
+0x7f,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x0c]
+0x80,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x0c]
+0xc1,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x0c]
+0xf0,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x0c]
+0xf7,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x0c]
+0xfd,0x04,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x0c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x0c,0x56,0x34,0x12,0xaf
+
+# CHECK: v_mul_i32_i24_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x0c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x0c,0x73,0x72,0x71,0x3f
+
+# CHECK: v_mul_i32_i24_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x0c]
+0x01,0x05,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x0c]
+0xff,0x05,0x0a,0x0c
+
+# CHECK: v_mul_i32_i24_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x0c]
+0x01,0xfe,0x0b,0x0c
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x06,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x06,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x06,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x06,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x06,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x06,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x06,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x06,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x06,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x06,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x06,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x06,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x06,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, scc ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x06,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x06,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_mul_i32_i24_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x06,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x06,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x0e]
+0x01,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x0f]
+0x01,0x04,0xfe,0x0f
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x0e]
+0x65,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x0e]
+0x66,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x0e]
+0x67,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x0e]
+0x6a,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x0e]
+0x6b,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x0e]
+0x6c,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x0e]
+0x6d,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x0e]
+0x6e,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x0e]
+0x6f,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x0e]
+0x7b,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x0e]
+0x7c,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x0e]
+0x7e,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x0e]
+0x7f,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x0e]
+0x80,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x0e]
+0xc1,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x0e]
+0xf0,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x0e]
+0xf7,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x0e]
+0xfd,0x04,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x0e,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x0e,0x56,0x34,0x12,0xaf
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x0e,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x0e,0x73,0x72,0x71,0x3f
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x0e]
+0x01,0x05,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x0e]
+0xff,0x05,0x0a,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x0e]
+0x01,0xfe,0x0b,0x0e
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x07,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x07,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x07,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x07,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x07,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x07,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x07,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x07,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x07,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x07,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x07,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x07,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x07,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x07,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, scc ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x07,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x07,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_i32_i24_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x07,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x07,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_mul_u32_u24_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x10]
+0x01,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x11]
+0x01,0x04,0xfe,0x11
+
+# CHECK: v_mul_u32_u24_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x10]
+0x65,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x10]
+0x66,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x10]
+0x67,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x10]
+0x6a,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x10]
+0x6b,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x10]
+0x6c,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x10]
+0x6d,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x10]
+0x6e,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x10]
+0x6f,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x10]
+0x7b,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x10]
+0x7c,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x10]
+0x7e,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x10]
+0x7f,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x10]
+0x80,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x10]
+0xc1,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x10]
+0xf0,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x10]
+0xf7,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x10]
+0xfd,0x04,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x10,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x10,0x56,0x34,0x12,0xaf
+
+# CHECK: v_mul_u32_u24_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x10,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x10,0x73,0x72,0x71,0x3f
+
+# CHECK: v_mul_u32_u24_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x10]
+0x01,0x05,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x10]
+0xff,0x05,0x0a,0x10
+
+# CHECK: v_mul_u32_u24_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x10]
+0x01,0xfe,0x0b,0x10
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x08,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x08,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x08,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x08,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x08,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x08,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x08,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x08,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x08,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x08,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x08,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x08,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x08,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, scc ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x08,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x08,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_mul_u32_u24_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x08,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x08,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x12]
+0x01,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x13]
+0x01,0x04,0xfe,0x13
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x12]
+0x65,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x12]
+0x66,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x12]
+0x67,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x12]
+0x6a,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x12]
+0x6b,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x12]
+0x6c,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x12]
+0x6d,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x12]
+0x6e,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x12]
+0x6f,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x12]
+0x7b,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x12]
+0x7c,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x12]
+0x7e,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x12]
+0x7f,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x12]
+0x80,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x12]
+0xc1,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x12]
+0xf0,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x12]
+0xf7,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x12]
+0xfd,0x04,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x12,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x12,0x56,0x34,0x12,0xaf
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x12,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x12,0x73,0x72,0x71,0x3f
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x12]
+0x01,0x05,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x12]
+0xff,0x05,0x0a,0x12
+
+# CHECK: v_mul_hi_u32_u24_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x12]
+0x01,0xfe,0x0b,0x12
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x09,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x09,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x09,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x09,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x09,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x09,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x09,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x09,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x09,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x09,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x09,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x09,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x09,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x09,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, scc ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x09,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x09,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_mul_hi_u32_u24_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x09,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x09,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_min_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x14]
+0x01,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x15]
+0x01,0x04,0xfe,0x15
+
+# CHECK: v_min_f32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x14]
+0x65,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x14]
+0x66,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x14]
+0x67,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x14]
+0x6a,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x14]
+0x6b,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x14]
+0x6c,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x14]
+0x6d,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x14]
+0x6e,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x14]
+0x6f,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x14]
+0x7b,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x14]
+0x7c,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x14]
+0x7e,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x14]
+0x7f,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x14]
+0x80,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x14]
+0xc1,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x14]
+0xf0,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x14]
+0xf7,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x14]
+0xfd,0x04,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x14,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x14,0x56,0x34,0x12,0xaf
+
+# CHECK: v_min_f32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x14,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x14,0x73,0x72,0x71,0x3f
+
+# CHECK: v_min_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x14]
+0x01,0x05,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x14]
+0xff,0x05,0x0a,0x14
+
+# CHECK: v_min_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x14]
+0x01,0xfe,0x0b,0x14
+
+# CHECK: v_min_f32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_min_f32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x0a,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x0a,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x0a,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x0a,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x0a,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x0a,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x0a,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_min_f32_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x20
+
+# CHECK: v_min_f32_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x40
+
+# CHECK: v_min_f32_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x60
+
+# CHECK: v_min_f32_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x0a,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x0a,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x0a,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x0a,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x0a,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x0a,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x0a,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x0a,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_min_f32_e64 v5, 0, s2 mul:2 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x08]
+0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x08
+
+# CHECK: v_min_f32_e64 v5, 0, s2 mul:4 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x10]
+0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x10
+
+# CHECK: v_min_f32_e64 v5, 0, s2 div:2 ; encoding: [0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x18]
+0x05,0x00,0x0a,0xd1,0x80,0x04,0x00,0x18
+
+# CHECK: v_max_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x16]
+0x01,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x17]
+0x01,0x04,0xfe,0x17
+
+# CHECK: v_max_f32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x16]
+0x65,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x16]
+0x66,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x16]
+0x67,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x16]
+0x6a,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x16]
+0x6b,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x16]
+0x6c,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x16]
+0x6d,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x16]
+0x6e,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x16]
+0x6f,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x16]
+0x7b,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x16]
+0x7c,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x16]
+0x7e,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x16]
+0x7f,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x16]
+0x80,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x16]
+0xc1,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x16]
+0xf0,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x16]
+0xf7,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x16]
+0xfd,0x04,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x16,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x16,0x56,0x34,0x12,0xaf
+
+# CHECK: v_max_f32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x16,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x16,0x73,0x72,0x71,0x3f
+
+# CHECK: v_max_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x16]
+0x01,0x05,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x16]
+0xff,0x05,0x0a,0x16
+
+# CHECK: v_max_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x16]
+0x01,0xfe,0x0b,0x16
+
+# CHECK: v_max_f32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_max_f32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x0b,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x0b,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x0b,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x0b,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x0b,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x0b,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x0b,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x0b,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_max_f32_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x20
+
+# CHECK: v_max_f32_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x40
+
+# CHECK: v_max_f32_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x60
+
+# CHECK: v_max_f32_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x0b,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x0b,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x0b,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x0b,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x0b,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x0b,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x0b,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x0b,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_max_f32_e64 v5, 0, s2 mul:2 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x08]
+0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x08
+
+# CHECK: v_max_f32_e64 v5, 0, s2 mul:4 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x10]
+0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x10
+
+# CHECK: v_max_f32_e64 v5, 0, s2 div:2 ; encoding: [0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x18]
+0x05,0x00,0x0b,0xd1,0x80,0x04,0x00,0x18
+
+# CHECK: v_min_i32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x18]
+0x01,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x19]
+0x01,0x04,0xfe,0x19
+
+# CHECK: v_min_i32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x18]
+0x65,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x18]
+0x66,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x18]
+0x67,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x18]
+0x6a,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x18]
+0x6b,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x18]
+0x6c,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x18]
+0x6d,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x18]
+0x6e,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x18]
+0x6f,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x18]
+0x7b,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x18]
+0x7c,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x18]
+0x7e,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x18]
+0x7f,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x18]
+0x80,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x18]
+0xc1,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x18]
+0xf0,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x18]
+0xf7,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x18]
+0xfd,0x04,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x18,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x18,0x56,0x34,0x12,0xaf
+
+# CHECK: v_min_i32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x18,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x18,0x73,0x72,0x71,0x3f
+
+# CHECK: v_min_i32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x18]
+0x01,0x05,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x18]
+0xff,0x05,0x0a,0x18
+
+# CHECK: v_min_i32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x18]
+0x01,0xfe,0x0b,0x18
+
+# CHECK: v_min_i32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_min_i32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x0c,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x0c,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x0c,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x0c,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x0c,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x0c,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_min_i32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x0c,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x0c,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_max_i32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x1a]
+0x01,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x1b]
+0x01,0x04,0xfe,0x1b
+
+# CHECK: v_max_i32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x1a]
+0x65,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x1a]
+0x66,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x1a]
+0x67,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x1a]
+0x6a,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x1a]
+0x6b,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x1a]
+0x6c,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x1a]
+0x6d,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x1a]
+0x6e,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x1a]
+0x6f,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x1a]
+0x7b,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x1a]
+0x7c,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x1a]
+0x7e,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x1a]
+0x7f,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x1a]
+0x80,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x1a]
+0xc1,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x1a]
+0xf0,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x1a]
+0xf7,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x1a]
+0xfd,0x04,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x1a,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x1a,0x56,0x34,0x12,0xaf
+
+# CHECK: v_max_i32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x1a,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x1a,0x73,0x72,0x71,0x3f
+
+# CHECK: v_max_i32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x1a]
+0x01,0x05,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1a]
+0xff,0x05,0x0a,0x1a
+
+# CHECK: v_max_i32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x1a]
+0x01,0xfe,0x0b,0x1a
+
+# CHECK: v_max_i32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_max_i32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x0d,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x0d,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x0d,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x0d,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x0d,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x0d,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x0d,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_max_i32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x0d,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x0d,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_min_u32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x1c]
+0x01,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x1d]
+0x01,0x04,0xfe,0x1d
+
+# CHECK: v_min_u32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x1c]
+0x65,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x1c]
+0x66,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x1c]
+0x67,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x1c]
+0x6a,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x1c]
+0x6b,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x1c]
+0x6c,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x1c]
+0x6d,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x1c]
+0x6e,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x1c]
+0x6f,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x1c]
+0x7b,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x1c]
+0x7c,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x1c]
+0x7e,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x1c]
+0x7f,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x1c]
+0x80,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x1c]
+0xc1,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x1c]
+0xf0,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x1c]
+0xf7,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x1c]
+0xfd,0x04,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x1c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x1c,0x56,0x34,0x12,0xaf
+
+# CHECK: v_min_u32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x1c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x1c,0x73,0x72,0x71,0x3f
+
+# CHECK: v_min_u32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x1c]
+0x01,0x05,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1c]
+0xff,0x05,0x0a,0x1c
+
+# CHECK: v_min_u32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x1c]
+0x01,0xfe,0x0b,0x1c
+
+# CHECK: v_min_u32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_min_u32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x0e,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x0e,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x0e,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x0e,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x0e,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x0e,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_min_u32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x0e,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x0e,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_max_u32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x1e]
+0x01,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x1f]
+0x01,0x04,0xfe,0x1f
+
+# CHECK: v_max_u32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x1e]
+0x65,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x1e]
+0x66,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x1e]
+0x67,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x1e]
+0x6a,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x1e]
+0x6b,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x1e]
+0x6c,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x1e]
+0x6d,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x1e]
+0x6e,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x1e]
+0x6f,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x1e]
+0x7b,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x1e]
+0x7c,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x1e]
+0x7e,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x1e]
+0x7f,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x1e]
+0x80,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x1e]
+0xc1,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x1e]
+0xf0,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x1e]
+0xf7,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x1e]
+0xfd,0x04,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x1e,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x1e,0x56,0x34,0x12,0xaf
+
+# CHECK: v_max_u32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x1e,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x1e,0x73,0x72,0x71,0x3f
+
+# CHECK: v_max_u32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x1e]
+0x01,0x05,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x1e]
+0xff,0x05,0x0a,0x1e
+
+# CHECK: v_max_u32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x1e]
+0x01,0xfe,0x0b,0x1e
+
+# CHECK: v_max_u32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_max_u32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x0f,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x0f,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x0f,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x0f,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x0f,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x0f,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x0f,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_max_u32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x0f,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x0f,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_lshrrev_b32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x20]
+0x01,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x21]
+0x01,0x04,0xfe,0x21
+
+# CHECK: v_lshrrev_b32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x20]
+0x65,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x20]
+0x66,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x20]
+0x67,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x20]
+0x6a,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x20]
+0x6b,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x20]
+0x6c,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x20]
+0x6d,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x20]
+0x6e,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x20]
+0x6f,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x20]
+0x7b,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x20]
+0x7c,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x20]
+0x7e,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x20]
+0x7f,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x20]
+0x80,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x20]
+0xc1,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x20]
+0xf0,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x20]
+0xf7,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x20]
+0xfd,0x04,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x20,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x20,0x56,0x34,0x12,0xaf
+
+# CHECK: v_lshrrev_b32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x20,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x20,0x73,0x72,0x71,0x3f
+
+# CHECK: v_lshrrev_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x20]
+0x01,0x05,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x20]
+0xff,0x05,0x0a,0x20
+
+# CHECK: v_lshrrev_b32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x20]
+0x01,0xfe,0x0b,0x20
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x10,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x10,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x10,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x10,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x10,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x10,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x10,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x10,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x10,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x10,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x10,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x10,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x10,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x10,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x10,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x10,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_lshrrev_b32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x10,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x10,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_ashrrev_i32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x22]
+0x01,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x23]
+0x01,0x04,0xfe,0x23
+
+# CHECK: v_ashrrev_i32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x22]
+0x65,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x22]
+0x66,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x22]
+0x67,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x22]
+0x6a,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x22]
+0x6b,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x22]
+0x6c,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x22]
+0x6d,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x22]
+0x6e,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x22]
+0x6f,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x22]
+0x7b,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x22]
+0x7c,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x22]
+0x7e,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x22]
+0x7f,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x22]
+0x80,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x22]
+0xc1,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x22]
+0xf0,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x22]
+0xf7,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x22]
+0xfd,0x04,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x22,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x22,0x56,0x34,0x12,0xaf
+
+# CHECK: v_ashrrev_i32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x22,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x22,0x73,0x72,0x71,0x3f
+
+# CHECK: v_ashrrev_i32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x22]
+0x01,0x05,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x22]
+0xff,0x05,0x0a,0x22
+
+# CHECK: v_ashrrev_i32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x22]
+0x01,0xfe,0x0b,0x22
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x11,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x11,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x11,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x11,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x11,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x11,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x11,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x11,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x11,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x11,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x11,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x11,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x11,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x11,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x11,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x11,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_ashrrev_i32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x11,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x11,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_lshlrev_b32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x24]
+0x01,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x25]
+0x01,0x04,0xfe,0x25
+
+# CHECK: v_lshlrev_b32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x24]
+0x65,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x24]
+0x66,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x24]
+0x67,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x24]
+0x6a,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x24]
+0x6b,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x24]
+0x6c,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x24]
+0x6d,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x24]
+0x6e,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x24]
+0x6f,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x24]
+0x7b,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x24]
+0x7c,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x24]
+0x7e,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x24]
+0x7f,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x24]
+0x80,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x24]
+0xc1,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x24]
+0xf0,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x24]
+0xf7,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x24]
+0xfd,0x04,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x24,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x24,0x56,0x34,0x12,0xaf
+
+# CHECK: v_lshlrev_b32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x24,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x24,0x73,0x72,0x71,0x3f
+
+# CHECK: v_lshlrev_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x24]
+0x01,0x05,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x24]
+0xff,0x05,0x0a,0x24
+
+# CHECK: v_lshlrev_b32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x24]
+0x01,0xfe,0x0b,0x24
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x12,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x12,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x12,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x12,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x12,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x12,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x12,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x12,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x12,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x12,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x12,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x12,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x12,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x12,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x12,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x12,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_lshlrev_b32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x12,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x12,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_and_b32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x26]
+0x01,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x27]
+0x01,0x04,0xfe,0x27
+
+# CHECK: v_and_b32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x26]
+0x65,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x26]
+0x66,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x26]
+0x67,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x26]
+0x6a,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x26]
+0x6b,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x26]
+0x6c,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x26]
+0x6d,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x26]
+0x6e,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x26]
+0x6f,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x26]
+0x7b,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x26]
+0x7c,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x26]
+0x7e,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x26]
+0x7f,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x26]
+0x80,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x26]
+0xc1,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x26]
+0xf0,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x26]
+0xf7,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x26]
+0xfd,0x04,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x26,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x26,0x56,0x34,0x12,0xaf
+
+# CHECK: v_and_b32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x26,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x26,0x73,0x72,0x71,0x3f
+
+# CHECK: v_and_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x26]
+0x01,0x05,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x26]
+0xff,0x05,0x0a,0x26
+
+# CHECK: v_and_b32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x26]
+0x01,0xfe,0x0b,0x26
+
+# CHECK: v_and_b32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x13,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_and_b32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x13,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x13,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x13,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x13,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x13,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x13,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x13,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x13,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x13,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x13,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x13,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x13,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x13,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x13,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x13,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_and_b32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x13,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x13,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_or_b32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x28]
+0x01,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x29]
+0x01,0x04,0xfe,0x29
+
+# CHECK: v_or_b32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x28]
+0x65,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x28]
+0x66,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x28]
+0x67,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x28]
+0x6a,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x28]
+0x6b,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x28]
+0x6c,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x28]
+0x6d,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x28]
+0x6e,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x28]
+0x6f,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x28]
+0x7b,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x28]
+0x7c,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x28]
+0x7e,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x28]
+0x7f,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x28]
+0x80,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x28]
+0xc1,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x28]
+0xf0,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x28]
+0xf7,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x28]
+0xfd,0x04,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x28,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x28,0x56,0x34,0x12,0xaf
+
+# CHECK: v_or_b32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x28,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x28,0x73,0x72,0x71,0x3f
+
+# CHECK: v_or_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x28]
+0x01,0x05,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x28]
+0xff,0x05,0x0a,0x28
+
+# CHECK: v_or_b32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x28]
+0x01,0xfe,0x0b,0x28
+
+# CHECK: v_or_b32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x14,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_or_b32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x14,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x14,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x14,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x14,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x14,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x14,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x14,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x14,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x14,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x14,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x14,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x14,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x14,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x14,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x14,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_or_b32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x14,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x14,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_xor_b32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x2a]
+0x01,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x2b]
+0x01,0x04,0xfe,0x2b
+
+# CHECK: v_xor_b32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x2a]
+0x65,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x2a]
+0x66,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x2a]
+0x67,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x2a]
+0x6a,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x2a]
+0x6b,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x2a]
+0x6c,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x2a]
+0x6d,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x2a]
+0x6e,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x2a]
+0x6f,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x2a]
+0x7b,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x2a]
+0x7c,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x2a]
+0x7e,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x2a]
+0x7f,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x2a]
+0x80,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x2a]
+0xc1,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x2a]
+0xf0,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x2a]
+0xf7,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x2a]
+0xfd,0x04,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x2a,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x2a,0x56,0x34,0x12,0xaf
+
+# CHECK: v_xor_b32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x2a,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x2a,0x73,0x72,0x71,0x3f
+
+# CHECK: v_xor_b32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x2a]
+0x01,0x05,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x2a]
+0xff,0x05,0x0a,0x2a
+
+# CHECK: v_xor_b32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x2a]
+0x01,0xfe,0x0b,0x2a
+
+# CHECK: v_xor_b32_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x15,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x15,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x15,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x15,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x15,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x15,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x15,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x15,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x15,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x15,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x15,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x15,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x15,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x15,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, scc ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x15,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x15,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_xor_b32_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x15,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x15,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_mac_f32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x2c]
+0x01,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x2d]
+0x01,0x04,0xfe,0x2d
+
+# CHECK: v_mac_f32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x2c]
+0x65,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x2c]
+0x66,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x2c]
+0x67,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x2c]
+0x6a,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x2c]
+0x6b,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x2c]
+0x6c,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x2c]
+0x6d,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x2c]
+0x6e,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x2c]
+0x6f,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x2c]
+0x7b,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x2c]
+0x7c,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x2c]
+0x7e,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x2c]
+0x7f,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x2c]
+0x80,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x2c]
+0xc1,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x2c]
+0xf0,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x2c]
+0xf7,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x2c]
+0xfd,0x04,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x2c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x0a,0x2c,0x56,0x34,0x12,0xaf
+
+# CHECK: v_mac_f32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x2c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x0a,0x2c,0x73,0x72,0x71,0x3f
+
+# CHECK: v_mac_f32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x2c]
+0x01,0x05,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x2c]
+0xff,0x05,0x0a,0x2c
+
+# CHECK: v_mac_f32_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x2c]
+0x01,0xfe,0x0b,0x2c
+
+# CHECK: v_mac_f32_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v255, -1, s2 ; encoding: [0xff,0x00,0x16,0xd1,0xc1,0x04,0x00,0x00]
+0xff,0x00,0x16,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x16,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x16,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, s101 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xca,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xca,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, flat_scratch_lo ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xcc,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xcc,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, flat_scratch_hi ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xce,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xce,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, vcc_lo ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xd4,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xd4,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, vcc_hi ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xd6,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xd6,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, tba_lo ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xd8,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xd8,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, tba_hi ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xda,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xda,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, tma_lo ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xdc,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xdc,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, tma_hi ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xde,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xde,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, ttmp11 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xf6,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xf6,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, m0 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xf8,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xf8,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, exec_lo ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xfc,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xfc,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, exec_hi ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xfe,0x00,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xfe,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, -1 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0x82,0x01,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0x82,0x01,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, 0.5 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xe0,0x01,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xe0,0x01,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, -4.0 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xee,0x01,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xee,0x01,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, scc ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0xfa,0x01,0x00]
+0x05,0x00,0x16,0xd1,0xc1,0xfa,0x01,0x00
+
+# CHECK: v_mac_f32_e64 v5, neg(-1), s2 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x20]
+0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x20
+
+# CHECK: v_mac_f32_e64 v5, -1, -s2 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x40]
+0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x40
+
+# CHECK: v_mac_f32_e64 v5, neg(-1), -s2 ; encoding: [0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x60]
+0x05,0x00,0x16,0xd1,0xc1,0x04,0x00,0x60
+
+# CHECK: v_mac_f32_e64 v5, |-1|, s2 ; encoding: [0x05,0x01,0x16,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x01,0x16,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, -1, |s2| ; encoding: [0x05,0x02,0x16,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x02,0x16,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mac_f32_e64 v5, |-1|, |s2| ; encoding: [0x05,0x03,0x16,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x03,0x16,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_addc_u32_e32 v5, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0x0a,0x38]
+0x80,0x04,0x0a,0x38
+
+# CHECK: v_addc_u32_e32 v255, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0xfe,0x39]
+0x80,0x04,0xfe,0x39
+
+# CHECK: v_addc_u32_e32 v5, vcc, -1, v2, vcc ; encoding: [0xc1,0x04,0x0a,0x38]
+0xc1,0x04,0x0a,0x38
+
+# CHECK: v_addc_u32_e32 v5, vcc, 0.5, v2, vcc ; encoding: [0xf0,0x04,0x0a,0x38]
+0xf0,0x04,0x0a,0x38
+
+# CHECK: v_addc_u32_e32 v5, vcc, -4.0, v2, vcc ; encoding: [0xf7,0x04,0x0a,0x38]
+0xf7,0x04,0x0a,0x38
+
+# CHECK: v_addc_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x38]
+0x01,0x05,0x0a,0x38
+
+# CHECK: v_addc_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x38]
+0xff,0x05,0x0a,0x38
+
+# CHECK: v_addc_u32_e32 v5, vcc, 0, v255, vcc ; encoding: [0x80,0xfe,0x0b,0x38]
+0x80,0xfe,0x0b,0x38
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, 0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v255, s[12:13], 0, 0, s[6:7] ; encoding: [0xff,0x0c,0x1c,0xd1,0x80,0x00,0x19,0x00]
+0xff,0x0c,0x1c,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[14:15], 0, 0, s[6:7] ; encoding: [0x05,0x0e,0x1c,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x0e,0x1c,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[100:101], 0, 0, s[6:7] ; encoding: [0x05,0x64,0x1c,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x64,0x1c,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, flat_scratch, 0, 0, s[6:7] ; encoding: [0x05,0x66,0x1c,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x66,0x1c,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, vcc, 0, 0, s[6:7] ; encoding: [0x05,0x6a,0x1c,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x6a,0x1c,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, tba, 0, 0, s[6:7] ; encoding: [0x05,0x6c,0x1c,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x6c,0x1c,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, tma, 0, 0, s[6:7] ; encoding: [0x05,0x6e,0x1c,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x6e,0x1c,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, ttmp[10:11], 0, 0, s[6:7] ; encoding: [0x05,0x7a,0x1c,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x7a,0x1c,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], -1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xc1,0x00,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0xc1,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0.5, 0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xf0,0x00,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0xf0,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], -4.0, 0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xf7,0x00,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0xf7,0x00,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], v1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x01,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0x01,0x01,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], v255, 0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xff,0x01,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0xff,0x01,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, -1, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x82,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0x80,0x82,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0xe0,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0x80,0xe0,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0xee,0x19,0x00]
+0x05,0x0c,0x1c,0xd1,0x80,0xee,0x19,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x04,0x1a,0x00]
+0x05,0x0c,0x1c,0xd1,0x80,0x04,0x1a,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, v255, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0xfe,0x1b,0x00]
+0x05,0x0c,0x1c,0xd1,0x80,0xfe,0x1b,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, 0, s[8:9] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0x21,0x00]
+0x05,0x0c,0x1c,0xd1,0x80,0x00,0x21,0x00
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, 0, s[100:101] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0x91,0x01]
+0x05,0x0c,0x1c,0xd1,0x80,0x00,0x91,0x01
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, 0, flat_scratch ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0x99,0x01]
+0x05,0x0c,0x1c,0xd1,0x80,0x00,0x99,0x01
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, 0, vcc ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0xa9,0x01]
+0x05,0x0c,0x1c,0xd1,0x80,0x00,0xa9,0x01
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, 0, tba ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0xb1,0x01]
+0x05,0x0c,0x1c,0xd1,0x80,0x00,0xb1,0x01
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, 0, tma ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0xb9,0x01]
+0x05,0x0c,0x1c,0xd1,0x80,0x00,0xb9,0x01
+
+# CHECK: v_addc_u32_e64 v5, s[12:13], 0, 0, ttmp[10:11] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x00,0xe9,0x01]
+0x05,0x0c,0x1c,0xd1,0x80,0x00,0xe9,0x01
+
+# CHECK: v_subb_u32_e32 v5, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0x0a,0x3a]
+0x80,0x04,0x0a,0x3a
+
+# CHECK: v_subb_u32_e32 v255, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0xfe,0x3b]
+0x80,0x04,0xfe,0x3b
+
+# CHECK: v_subb_u32_e32 v5, vcc, -1, v2, vcc ; encoding: [0xc1,0x04,0x0a,0x3a]
+0xc1,0x04,0x0a,0x3a
+
+# CHECK: v_subb_u32_e32 v5, vcc, 0.5, v2, vcc ; encoding: [0xf0,0x04,0x0a,0x3a]
+0xf0,0x04,0x0a,0x3a
+
+# CHECK: v_subb_u32_e32 v5, vcc, -4.0, v2, vcc ; encoding: [0xf7,0x04,0x0a,0x3a]
+0xf7,0x04,0x0a,0x3a
+
+# CHECK: v_subb_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x3a]
+0x01,0x05,0x0a,0x3a
+
+# CHECK: v_subb_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x3a]
+0xff,0x05,0x0a,0x3a
+
+# CHECK: v_subb_u32_e32 v5, vcc, 0, v255, vcc ; encoding: [0x80,0xfe,0x0b,0x3a]
+0x80,0xfe,0x0b,0x3a
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, 0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v255, s[12:13], 0, 0, s[6:7] ; encoding: [0xff,0x0c,0x1d,0xd1,0x80,0x00,0x19,0x00]
+0xff,0x0c,0x1d,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[14:15], 0, 0, s[6:7] ; encoding: [0x05,0x0e,0x1d,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x0e,0x1d,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[100:101], 0, 0, s[6:7] ; encoding: [0x05,0x64,0x1d,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x64,0x1d,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, flat_scratch, 0, 0, s[6:7] ; encoding: [0x05,0x66,0x1d,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x66,0x1d,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, vcc, 0, 0, s[6:7] ; encoding: [0x05,0x6a,0x1d,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x6a,0x1d,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, tba, 0, 0, s[6:7] ; encoding: [0x05,0x6c,0x1d,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x6c,0x1d,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, tma, 0, 0, s[6:7] ; encoding: [0x05,0x6e,0x1d,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x6e,0x1d,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, ttmp[10:11], 0, 0, s[6:7] ; encoding: [0x05,0x7a,0x1d,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x7a,0x1d,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], -1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xc1,0x00,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0xc1,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0.5, 0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xf0,0x00,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0xf0,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], -4.0, 0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xf7,0x00,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0xf7,0x00,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], v1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x01,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0x01,0x01,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], v255, 0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xff,0x01,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0xff,0x01,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, -1, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x82,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0x80,0x82,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0xe0,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0x80,0xe0,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0xee,0x19,0x00]
+0x05,0x0c,0x1d,0xd1,0x80,0xee,0x19,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x04,0x1a,0x00]
+0x05,0x0c,0x1d,0xd1,0x80,0x04,0x1a,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, v255, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0xfe,0x1b,0x00]
+0x05,0x0c,0x1d,0xd1,0x80,0xfe,0x1b,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, 0, s[8:9] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0x21,0x00]
+0x05,0x0c,0x1d,0xd1,0x80,0x00,0x21,0x00
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, 0, s[100:101] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0x91,0x01]
+0x05,0x0c,0x1d,0xd1,0x80,0x00,0x91,0x01
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, 0, flat_scratch ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0x99,0x01]
+0x05,0x0c,0x1d,0xd1,0x80,0x00,0x99,0x01
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, 0, vcc ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0xa9,0x01]
+0x05,0x0c,0x1d,0xd1,0x80,0x00,0xa9,0x01
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, 0, tba ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0xb1,0x01]
+0x05,0x0c,0x1d,0xd1,0x80,0x00,0xb1,0x01
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, 0, tma ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0xb9,0x01]
+0x05,0x0c,0x1d,0xd1,0x80,0x00,0xb9,0x01
+
+# CHECK: v_subb_u32_e64 v5, s[12:13], 0, 0, ttmp[10:11] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x00,0xe9,0x01]
+0x05,0x0c,0x1d,0xd1,0x80,0x00,0xe9,0x01
+
+# CHECK: v_subbrev_u32_e32 v5, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0x0a,0x3c]
+0x80,0x04,0x0a,0x3c
+
+# CHECK: v_subbrev_u32_e32 v255, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0xfe,0x3d]
+0x80,0x04,0xfe,0x3d
+
+# CHECK: v_subbrev_u32_e32 v5, vcc, -1, v2, vcc ; encoding: [0xc1,0x04,0x0a,0x3c]
+0xc1,0x04,0x0a,0x3c
+
+# CHECK: v_subbrev_u32_e32 v5, vcc, 0.5, v2, vcc ; encoding: [0xf0,0x04,0x0a,0x3c]
+0xf0,0x04,0x0a,0x3c
+
+# CHECK: v_subbrev_u32_e32 v5, vcc, -4.0, v2, vcc ; encoding: [0xf7,0x04,0x0a,0x3c]
+0xf7,0x04,0x0a,0x3c
+
+# CHECK: v_subbrev_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x3c]
+0x01,0x05,0x0a,0x3c
+
+# CHECK: v_subbrev_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x3c]
+0xff,0x05,0x0a,0x3c
+
+# CHECK: v_subbrev_u32_e32 v5, vcc, 0, v255, vcc ; encoding: [0x80,0xfe,0x0b,0x3c]
+0x80,0xfe,0x0b,0x3c
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, 0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v255, s[12:13], 0, 0, s[6:7] ; encoding: [0xff,0x0c,0x1e,0xd1,0x80,0x00,0x19,0x00]
+0xff,0x0c,0x1e,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[14:15], 0, 0, s[6:7] ; encoding: [0x05,0x0e,0x1e,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x0e,0x1e,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[100:101], 0, 0, s[6:7] ; encoding: [0x05,0x64,0x1e,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x64,0x1e,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, flat_scratch, 0, 0, s[6:7] ; encoding: [0x05,0x66,0x1e,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x66,0x1e,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, vcc, 0, 0, s[6:7] ; encoding: [0x05,0x6a,0x1e,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x6a,0x1e,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, tba, 0, 0, s[6:7] ; encoding: [0x05,0x6c,0x1e,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x6c,0x1e,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, tma, 0, 0, s[6:7] ; encoding: [0x05,0x6e,0x1e,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x6e,0x1e,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, ttmp[10:11], 0, 0, s[6:7] ; encoding: [0x05,0x7a,0x1e,0xd1,0x80,0x00,0x19,0x00]
+0x05,0x7a,0x1e,0xd1,0x80,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], -1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xc1,0x00,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0xc1,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0.5, 0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xf0,0x00,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0xf0,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], -4.0, 0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xf7,0x00,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0xf7,0x00,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x01,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0x01,0x01,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], v255, 0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xff,0x01,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0xff,0x01,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, -1, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x82,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0x80,0x82,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0xe0,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0x80,0xe0,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0xee,0x19,0x00]
+0x05,0x0c,0x1e,0xd1,0x80,0xee,0x19,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x04,0x1a,0x00]
+0x05,0x0c,0x1e,0xd1,0x80,0x04,0x1a,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, v255, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0xfe,0x1b,0x00]
+0x05,0x0c,0x1e,0xd1,0x80,0xfe,0x1b,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, 0, s[8:9] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0x21,0x00]
+0x05,0x0c,0x1e,0xd1,0x80,0x00,0x21,0x00
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, 0, s[100:101] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0x91,0x01]
+0x05,0x0c,0x1e,0xd1,0x80,0x00,0x91,0x01
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, 0, flat_scratch ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0x99,0x01]
+0x05,0x0c,0x1e,0xd1,0x80,0x00,0x99,0x01
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, 0, vcc ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0xa9,0x01]
+0x05,0x0c,0x1e,0xd1,0x80,0x00,0xa9,0x01
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, 0, tba ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0xb1,0x01]
+0x05,0x0c,0x1e,0xd1,0x80,0x00,0xb1,0x01
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, 0, tma ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0xb9,0x01]
+0x05,0x0c,0x1e,0xd1,0x80,0x00,0xb9,0x01
+
+# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, 0, ttmp[10:11] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x00,0xe9,0x01]
+0x05,0x0c,0x1e,0xd1,0x80,0x00,0xe9,0x01
+
+# CHECK: v_add_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x3e]
+0x01,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x3f]
+0x01,0x04,0xfe,0x3f
+
+# CHECK: v_add_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x3e]
+0x65,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x3e]
+0x66,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x3e]
+0x67,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x3e]
+0x6a,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x3e]
+0x6b,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x3e]
+0x6c,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x3e]
+0x6d,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x3e]
+0x6e,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x3e]
+0x6f,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x3e]
+0x7b,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x3e]
+0x7c,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x3e]
+0x7e,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x3e]
+0x7f,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x3e]
+0x80,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x3e]
+0xc1,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x3e]
+0xf0,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x3e]
+0xf7,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x3e]
+0xfd,0x04,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x3e,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x3e,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_add_f16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x3e,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x3e,0x56,0x34,0x00,0x00
+
+# CHECK: v_add_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x3e]
+0x01,0x05,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x3e]
+0xff,0x05,0x0a,0x3e
+
+# CHECK: v_add_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x3e]
+0x01,0xfe,0x0b,0x3e
+
+# CHECK: v_add_f16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x1f,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x1f,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x1f,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x1f,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x1f,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x1f,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x1f,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x1f,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_add_f16_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x20
+
+# CHECK: v_add_f16_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x40
+
+# CHECK: v_add_f16_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x1f,0xd1,0x80,0x04,0x00,0x60
+
+# CHECK: v_add_f16_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x1f,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x1f,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x1f,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x1f,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x1f,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x1f,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_add_f16_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x1f,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x1f,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x40]
+0x01,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x41]
+0x01,0x04,0xfe,0x41
+
+# CHECK: v_sub_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x40]
+0x65,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x40]
+0x66,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x40]
+0x67,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x40]
+0x6a,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x40]
+0x6b,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x40]
+0x6c,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x40]
+0x6d,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x40]
+0x6e,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x40]
+0x6f,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x40]
+0x7b,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x40]
+0x7c,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x40]
+0x7e,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x40]
+0x7f,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x40]
+0x80,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x40]
+0xc1,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x40]
+0xf0,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x40]
+0xf7,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x40]
+0xfd,0x04,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x40,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x40,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_sub_f16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x40,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x40,0x56,0x34,0x00,0x00
+
+# CHECK: v_sub_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x40]
+0x01,0x05,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x40]
+0xff,0x05,0x0a,0x40
+
+# CHECK: v_sub_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x40]
+0x01,0xfe,0x0b,0x40
+
+# CHECK: v_sub_f16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x20,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x20,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x20,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x20,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x20,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x20,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x20,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x20,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x20,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x20,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x20,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x20,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x20,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_sub_f16_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x20
+
+# CHECK: v_sub_f16_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x40
+
+# CHECK: v_sub_f16_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x20,0xd1,0x80,0x04,0x00,0x60
+
+# CHECK: v_sub_f16_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x20,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x20,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x20,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x20,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x20,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x20,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_sub_f16_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x20,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x20,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x42]
+0x01,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x43]
+0x01,0x04,0xfe,0x43
+
+# CHECK: v_subrev_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x42]
+0x65,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x42]
+0x66,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x42]
+0x67,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x42]
+0x6a,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x42]
+0x6b,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x42]
+0x6c,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x42]
+0x6d,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x42]
+0x6e,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x42]
+0x6f,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x42]
+0x7b,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x42]
+0x7c,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x42]
+0x7e,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x42]
+0x7f,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x42]
+0x80,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x42]
+0xc1,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x42]
+0xf0,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x42]
+0xf7,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x42]
+0xfd,0x04,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x42,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x42,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_subrev_f16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x42,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x42,0x56,0x34,0x00,0x00
+
+# CHECK: v_subrev_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x42]
+0x01,0x05,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x42]
+0xff,0x05,0x0a,0x42
+
+# CHECK: v_subrev_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x42]
+0x01,0xfe,0x0b,0x42
+
+# CHECK: v_subrev_f16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x21,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x21,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x21,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x21,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x21,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x21,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x21,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x21,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x21,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x21,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x21,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x21,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x21,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_subrev_f16_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x20
+
+# CHECK: v_subrev_f16_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x40
+
+# CHECK: v_subrev_f16_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x21,0xd1,0x80,0x04,0x00,0x60
+
+# CHECK: v_subrev_f16_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x21,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x21,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x21,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x21,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x21,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x21,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_subrev_f16_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x21,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x21,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x44]
+0x01,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x45]
+0x01,0x04,0xfe,0x45
+
+# CHECK: v_mul_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x44]
+0x65,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x44]
+0x66,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x44]
+0x67,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x44]
+0x6a,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x44]
+0x6b,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x44]
+0x6c,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x44]
+0x6d,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x44]
+0x6e,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x44]
+0x6f,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x44]
+0x7b,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x44]
+0x7c,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x44]
+0x7e,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x44]
+0x7f,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x44]
+0x80,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x44]
+0xc1,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x44]
+0xf0,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x44]
+0xf7,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x44]
+0xfd,0x04,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x44,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x44,0x0b,0xfe,0x00,0x00
+
+# CHECK: v_mul_f16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x44,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x44,0x56,0x34,0x00,0x00
+
+# CHECK: v_mul_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x44]
+0x01,0x05,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x44]
+0xff,0x05,0x0a,0x44
+
+# CHECK: v_mul_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x44]
+0x01,0xfe,0x0b,0x44
+
+# CHECK: v_mul_f16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x22,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x22,0xd1,0x80,0x04,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x22,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x22,0xd1,0xc1,0x04,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x22,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x22,0xd1,0xf0,0x04,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x22,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x22,0xd1,0xf7,0x04,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x22,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x01,0x05,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x22,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x22,0xd1,0xff,0x05,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xca,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xcc,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xce,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xd4,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xd6,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xd8,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xda,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xdc,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xde,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xf6,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xf8,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xfc,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xfe,0x00,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x80,0x00,0x01,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x80,0x82,0x01,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xe0,0x01,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xee,0x01,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xfa,0x01,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x22,0xd1,0x80,0x04,0x02,0x00
+
+# CHECK: v_mul_f16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x22,0xd1,0x80,0xfe,0x03,0x00
+
+# CHECK: v_mul_f16_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x20
-# CHECK: v_movreld_b32_e64 v0, -1 ; encoding: [0x00,0x00,0x76,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mul_f16_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x40
-# CHECK: v_movreld_b32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x76,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mul_f16_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x22,0xd1,0x80,0x04,0x00,0x60
-# CHECK: v_movreld_b32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x76,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mul_f16_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x22,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x22,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_movreld_b32_e64 v0, scc ; encoding: [0x00,0x00,0x76,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mul_f16_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x22,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x22,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_movreld_b32_e64 v0, v0 ; encoding: [0x00,0x00,0x76,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x76,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mul_f16_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x22,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x22,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_movreld_b32_e64 v0, v255 ; encoding: [0x00,0x00,0x76,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x76,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mul_f16_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x22,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x22,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_movrels_b32_e32 v0, v0 ; encoding: [0x00,0x6f,0x00,0x7e]
-0x00,0x6f,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x46]
+0x01,0x04,0x0a,0x46
-# CHECK: v_movrels_b32_e32 v255, v0 ; encoding: [0x00,0x6f,0xfe,0x7f]
-0x00,0x6f,0xfe,0x7f
+# CHECK: v_mac_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x47]
+0x01,0x04,0xfe,0x47
-# CHECK: v_movrels_b32_e32 v0, v255 ; encoding: [0xff,0x6f,0x00,0x7e]
-0xff,0x6f,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x46]
+0x65,0x04,0x0a,0x46
-# CHECK: v_movrels_b32_e64 v0, v0 ; encoding: [0x00,0x00,0x77,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x77,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mac_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x46]
+0x66,0x04,0x0a,0x46
-# CHECK: v_movrels_b32_e64 v255, v0 ; encoding: [0xff,0x00,0x77,0xd1,0x00,0x01,0x00,0x00]
-0xff,0x00,0x77,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mac_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x46]
+0x67,0x04,0x0a,0x46
-# CHECK: v_movrels_b32_e64 v0, v255 ; encoding: [0x00,0x00,0x77,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x77,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mac_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x46]
+0x6a,0x04,0x0a,0x46
-# CHECK: v_movrelsd_b32_e32 v0, v0 ; encoding: [0x00,0x71,0x00,0x7e]
-0x00,0x71,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x46]
+0x6b,0x04,0x0a,0x46
-# CHECK: v_movrelsd_b32_e32 v255, v0 ; encoding: [0x00,0x71,0xfe,0x7f]
-0x00,0x71,0xfe,0x7f
+# CHECK: v_mac_f16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x46]
+0x6c,0x04,0x0a,0x46
-# CHECK: v_movrelsd_b32_e32 v0, v255 ; encoding: [0xff,0x71,0x00,0x7e]
-0xff,0x71,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x46]
+0x6d,0x04,0x0a,0x46
-# CHECK: v_movrelsd_b32_e64 v0, v0 ; encoding: [0x00,0x00,0x78,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x78,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mac_f16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x46]
+0x6e,0x04,0x0a,0x46
-# CHECK: v_movrelsd_b32_e64 v255, v0 ; encoding: [0xff,0x00,0x78,0xd1,0x00,0x01,0x00,0x00]
-0xff,0x00,0x78,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mac_f16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x46]
+0x6f,0x04,0x0a,0x46
-# CHECK: v_movrelsd_b32_e64 v0, v255 ; encoding: [0x00,0x00,0x78,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x78,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mac_f16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x46]
+0x7b,0x04,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, s0 ; encoding: [0x00,0x72,0x00,0x7e]
-0x00,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x46]
+0x7c,0x04,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v255, s0 ; encoding: [0x00,0x72,0xfe,0x7f]
-0x00,0x72,0xfe,0x7f
+# CHECK: v_mac_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x46]
+0x7e,0x04,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, s101 ; encoding: [0x65,0x72,0x00,0x7e]
-0x65,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x46]
+0x7f,0x04,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x72,0x00,0x7e]
-0x66,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x46]
+0x80,0x04,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x72,0x00,0x7e]
-0x67,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x46]
+0xc1,0x04,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, vcc_lo ; encoding: [0x6a,0x72,0x00,0x7e]
-0x6a,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x46]
+0xf0,0x04,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, vcc_hi ; encoding: [0x6b,0x72,0x00,0x7e]
-0x6b,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x46]
+0xf7,0x04,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, tba_lo ; encoding: [0x6c,0x72,0x00,0x7e]
-0x6c,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x46]
+0xfd,0x04,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, tba_hi ; encoding: [0x6d,0x72,0x00,0x7e]
-0x6d,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x46,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x46,0x0b,0xfe,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, tma_lo ; encoding: [0x6e,0x72,0x00,0x7e]
-0x6e,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x46,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x46,0x56,0x34,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, tma_hi ; encoding: [0x6f,0x72,0x00,0x7e]
-0x6f,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x46]
+0x01,0x05,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, ttmp11 ; encoding: [0x7b,0x72,0x00,0x7e]
-0x7b,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x46]
+0xff,0x05,0x0a,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, m0 ; encoding: [0x7c,0x72,0x00,0x7e]
-0x7c,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x46]
+0x01,0xfe,0x0b,0x46
-# CHECK: v_cvt_f16_u16_e32 v0, exec_lo ; encoding: [0x7e,0x72,0x00,0x7e]
-0x7e,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, exec_hi ; encoding: [0x7f,0x72,0x00,0x7e]
-0x7f,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x23,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x23,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, 0 ; encoding: [0x80,0x72,0x00,0x7e]
-0x80,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x23,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x23,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, -1 ; encoding: [0xc1,0x72,0x00,0x7e]
-0xc1,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x23,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x23,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, 0.5 ; encoding: [0xf0,0x72,0x00,0x7e]
-0xf0,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x23,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x23,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, -4.0 ; encoding: [0xf7,0x72,0x00,0x7e]
-0xf7,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, scc ; encoding: [0xfd,0x72,0x00,0x7e]
-0xfd,0x72,0x00,0x7e
+# CHECK: v_mac_f16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, 0xfe0b ; encoding: [0xff,0x72,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x72,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, 0x3456 ; encoding: [0xff,0x72,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x72,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, v0 ; encoding: [0x00,0x73,0x00,0x7e]
-0x00,0x73,0x00,0x7e
+# CHECK: v_mac_f16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_cvt_f16_u16_e32 v0, v255 ; encoding: [0xff,0x73,0x00,0x7e]
-0xff,0x73,0x00,0x7e
+# CHECK: v_mac_f16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, s0 ; encoding: [0x00,0x00,0x79,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v255, s0 ; encoding: [0xff,0x00,0x79,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x79,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, s101 ; encoding: [0x00,0x00,0x79,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x79,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x79,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x79,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x79,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x79,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x79,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x79,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x79,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x79,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, m0 ; encoding: [0x00,0x00,0x79,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x23,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x79,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x23,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x79,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x20
-# CHECK: v_cvt_f16_u16_e64 v0, 0 ; encoding: [0x00,0x00,0x79,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x40
-# CHECK: v_cvt_f16_u16_e64 v0, -1 ; encoding: [0x00,0x00,0x79,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x23,0xd1,0x80,0x04,0x00,0x60
-# CHECK: v_cvt_f16_u16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x79,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x23,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x23,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x79,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x23,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x23,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, scc ; encoding: [0x00,0x00,0x79,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mac_f16_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x23,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x23,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_f16_u16_e64 v0, v0 ; encoding: [0x00,0x00,0x79,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x79,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_add_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x4c]
+0x01,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_u16_e64 v0, v255 ; encoding: [0x00,0x00,0x79,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x79,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_add_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x4d]
+0x01,0x04,0xfe,0x4d
-# CHECK: v_cvt_f16_i16_e32 v0, s0 ; encoding: [0x00,0x74,0x00,0x7e]
-0x00,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x4c]
+0x65,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v255, s0 ; encoding: [0x00,0x74,0xfe,0x7f]
-0x00,0x74,0xfe,0x7f
+# CHECK: v_add_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x4c]
+0x66,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, s101 ; encoding: [0x65,0x74,0x00,0x7e]
-0x65,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x4c]
+0x67,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x74,0x00,0x7e]
-0x66,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x4c]
+0x6a,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x74,0x00,0x7e]
-0x67,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x4c]
+0x6b,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, vcc_lo ; encoding: [0x6a,0x74,0x00,0x7e]
-0x6a,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x4c]
+0x6c,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, vcc_hi ; encoding: [0x6b,0x74,0x00,0x7e]
-0x6b,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x4c]
+0x6d,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, tba_lo ; encoding: [0x6c,0x74,0x00,0x7e]
-0x6c,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x4c]
+0x6e,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, tba_hi ; encoding: [0x6d,0x74,0x00,0x7e]
-0x6d,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x4c]
+0x6f,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, tma_lo ; encoding: [0x6e,0x74,0x00,0x7e]
-0x6e,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x4c]
+0x7b,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, tma_hi ; encoding: [0x6f,0x74,0x00,0x7e]
-0x6f,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x4c]
+0x7c,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, ttmp11 ; encoding: [0x7b,0x74,0x00,0x7e]
-0x7b,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x4c]
+0x7e,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, m0 ; encoding: [0x7c,0x74,0x00,0x7e]
-0x7c,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x4c]
+0x7f,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, exec_lo ; encoding: [0x7e,0x74,0x00,0x7e]
-0x7e,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x4c]
+0x80,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, exec_hi ; encoding: [0x7f,0x74,0x00,0x7e]
-0x7f,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x4c]
+0xc1,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, 0 ; encoding: [0x80,0x74,0x00,0x7e]
-0x80,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x4c]
+0xf0,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, -1 ; encoding: [0xc1,0x74,0x00,0x7e]
-0xc1,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x4c]
+0xf7,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, 0.5 ; encoding: [0xf0,0x74,0x00,0x7e]
-0xf0,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x4c]
+0xfd,0x04,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, -4.0 ; encoding: [0xf7,0x74,0x00,0x7e]
-0xf7,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x4c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x4c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cvt_f16_i16_e32 v0, scc ; encoding: [0xfd,0x74,0x00,0x7e]
-0xfd,0x74,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x4c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x4c,0x56,0x34,0x00,0x00
-# CHECK: v_cvt_f16_i16_e32 v0, 0xfe0b ; encoding: [0xff,0x74,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x74,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_add_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x4c]
+0x01,0x05,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, 0x3456 ; encoding: [0xff,0x74,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x74,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_add_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x4c]
+0xff,0x05,0x0a,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, v0 ; encoding: [0x00,0x75,0x00,0x7e]
-0x00,0x75,0x00,0x7e
+# CHECK: v_add_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x4c]
+0x01,0xfe,0x0b,0x4c
-# CHECK: v_cvt_f16_i16_e32 v0, v255 ; encoding: [0xff,0x75,0x00,0x7e]
-0xff,0x75,0x00,0x7e
+# CHECK: v_add_u16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, s0 ; encoding: [0x00,0x00,0x7a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x26,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x26,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v255, s0 ; encoding: [0xff,0x00,0x7a,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x7a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x26,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x26,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, s101 ; encoding: [0x00,0x00,0x7a,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x26,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x26,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x7a,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x26,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x26,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x7a,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x26,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x7a,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x26,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x26,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x7a,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x7a,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x7a,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x7a,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x7a,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x7a,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, m0 ; encoding: [0x00,0x00,0x7a,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x7a,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x7a,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, 0 ; encoding: [0x00,0x00,0x7a,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, -1 ; encoding: [0x00,0x00,0x7a,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x7a,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x7a,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, scc ; encoding: [0x00,0x00,0x7a,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x26,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, v0 ; encoding: [0x00,0x00,0x7a,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x26,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_cvt_f16_i16_e64 v0, v255 ; encoding: [0x00,0x00,0x7a,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x7a,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_add_u16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_cvt_u16_f16_e32 v0, s0 ; encoding: [0x00,0x76,0x00,0x7e]
-0x00,0x76,0x00,0x7e
+# CHECK: v_add_u16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_cvt_u16_f16_e32 v255, s0 ; encoding: [0x00,0x76,0xfe,0x7f]
-0x00,0x76,0xfe,0x7f
+# CHECK: v_add_u16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_cvt_u16_f16_e32 v0, s101 ; encoding: [0x65,0x76,0x00,0x7e]
-0x65,0x76,0x00,0x7e
+# CHECK: v_add_u16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x26,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x26,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_cvt_u16_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x76,0x00,0x7e]
-0x66,0x76,0x00,0x7e
+# CHECK: v_add_u16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x26,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x26,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_cvt_u16_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x76,0x00,0x7e]
-0x67,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x4e]
+0x01,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x76,0x00,0x7e]
-0x6a,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x4f]
+0x01,0x04,0xfe,0x4f
-# CHECK: v_cvt_u16_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x76,0x00,0x7e]
-0x6b,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x4e]
+0x65,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, tba_lo ; encoding: [0x6c,0x76,0x00,0x7e]
-0x6c,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x4e]
+0x66,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, tba_hi ; encoding: [0x6d,0x76,0x00,0x7e]
-0x6d,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x4e]
+0x67,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, tma_lo ; encoding: [0x6e,0x76,0x00,0x7e]
-0x6e,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x4e]
+0x6a,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, tma_hi ; encoding: [0x6f,0x76,0x00,0x7e]
-0x6f,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x4e]
+0x6b,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x76,0x00,0x7e]
-0x7b,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x4e]
+0x6c,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, m0 ; encoding: [0x7c,0x76,0x00,0x7e]
-0x7c,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x4e]
+0x6d,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, exec_lo ; encoding: [0x7e,0x76,0x00,0x7e]
-0x7e,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x4e]
+0x6e,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, exec_hi ; encoding: [0x7f,0x76,0x00,0x7e]
-0x7f,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x4e]
+0x6f,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, 0 ; encoding: [0x80,0x76,0x00,0x7e]
-0x80,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x4e]
+0x7b,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, -1 ; encoding: [0xc1,0x76,0x00,0x7e]
-0xc1,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x4e]
+0x7c,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, 0.5 ; encoding: [0xf0,0x76,0x00,0x7e]
-0xf0,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x4e]
+0x7e,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, -4.0 ; encoding: [0xf7,0x76,0x00,0x7e]
-0xf7,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x4e]
+0x7f,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, scc ; encoding: [0xfd,0x76,0x00,0x7e]
-0xfd,0x76,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x4e]
+0x80,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x76,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x76,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_sub_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x4e]
+0xc1,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, 0x3456 ; encoding: [0xff,0x76,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x76,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_sub_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x4e]
+0xf0,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, v0 ; encoding: [0x00,0x77,0x00,0x7e]
-0x00,0x77,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x4e]
+0xf7,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e32 v0, v255 ; encoding: [0xff,0x77,0x00,0x7e]
-0xff,0x77,0x00,0x7e
+# CHECK: v_sub_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x4e]
+0xfd,0x04,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x7b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sub_u16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x4e,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x4e,0x0b,0xfe,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x7b,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x7b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sub_u16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x4e,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x4e,0x56,0x34,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x7b,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_sub_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x4e]
+0x01,0x05,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x7b,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_sub_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x4e]
+0xff,0x05,0x0a,0x4e
-# CHECK: v_cvt_u16_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x7b,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_sub_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x4e]
+0x01,0xfe,0x0b,0x4e
-# CHECK: v_cvt_u16_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x7b,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x27,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x7b,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x27,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x27,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x7b,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x27,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x27,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x7b,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x27,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x27,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x7b,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x27,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x27,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x7b,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x27,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x7b,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x27,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x27,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x7b,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x7b,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x7b,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x7b,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x7b,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x7b,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x7b,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, scc ; encoding: [0x00,0x00,0x7b,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x7b,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x7b,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x7b,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x7b,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7b,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_sub_u16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x7b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x7b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_cvt_u16_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x7b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sub_u16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_cvt_i16_f16_e32 v0, s0 ; encoding: [0x00,0x78,0x00,0x7e]
-0x00,0x78,0x00,0x7e
+# CHECK: v_sub_u16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x27,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_cvt_i16_f16_e32 v255, s0 ; encoding: [0x00,0x78,0xfe,0x7f]
-0x00,0x78,0xfe,0x7f
+# CHECK: v_sub_u16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x27,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_cvt_i16_f16_e32 v0, s101 ; encoding: [0x65,0x78,0x00,0x7e]
-0x65,0x78,0x00,0x7e
+# CHECK: v_sub_u16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_cvt_i16_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x78,0x00,0x7e]
-0x66,0x78,0x00,0x7e
+# CHECK: v_sub_u16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_cvt_i16_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x78,0x00,0x7e]
-0x67,0x78,0x00,0x7e
+# CHECK: v_sub_u16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_cvt_i16_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x78,0x00,0x7e]
-0x6a,0x78,0x00,0x7e
+# CHECK: v_sub_u16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x27,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x27,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_cvt_i16_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x78,0x00,0x7e]
-0x6b,0x78,0x00,0x7e
+# CHECK: v_sub_u16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x27,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x27,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_cvt_i16_f16_e32 v0, tba_lo ; encoding: [0x6c,0x78,0x00,0x7e]
-0x6c,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x50]
+0x01,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, tba_hi ; encoding: [0x6d,0x78,0x00,0x7e]
-0x6d,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x51]
+0x01,0x04,0xfe,0x51
-# CHECK: v_cvt_i16_f16_e32 v0, tma_lo ; encoding: [0x6e,0x78,0x00,0x7e]
-0x6e,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x50]
+0x65,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, tma_hi ; encoding: [0x6f,0x78,0x00,0x7e]
-0x6f,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x50]
+0x66,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x78,0x00,0x7e]
-0x7b,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x50]
+0x67,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, m0 ; encoding: [0x7c,0x78,0x00,0x7e]
-0x7c,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x50]
+0x6a,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, exec_lo ; encoding: [0x7e,0x78,0x00,0x7e]
-0x7e,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x50]
+0x6b,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, exec_hi ; encoding: [0x7f,0x78,0x00,0x7e]
-0x7f,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x50]
+0x6c,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, 0 ; encoding: [0x80,0x78,0x00,0x7e]
-0x80,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x50]
+0x6d,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, -1 ; encoding: [0xc1,0x78,0x00,0x7e]
-0xc1,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x50]
+0x6e,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, 0.5 ; encoding: [0xf0,0x78,0x00,0x7e]
-0xf0,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x50]
+0x6f,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, -4.0 ; encoding: [0xf7,0x78,0x00,0x7e]
-0xf7,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x50]
+0x7b,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, scc ; encoding: [0xfd,0x78,0x00,0x7e]
-0xfd,0x78,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x50]
+0x7c,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x78,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x78,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_subrev_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x50]
+0x7e,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, 0x3456 ; encoding: [0xff,0x78,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x78,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_subrev_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x50]
+0x7f,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, v0 ; encoding: [0x00,0x79,0x00,0x7e]
-0x00,0x79,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x50]
+0x80,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e32 v0, v255 ; encoding: [0xff,0x79,0x00,0x7e]
-0xff,0x79,0x00,0x7e
+# CHECK: v_subrev_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x50]
+0xc1,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x7c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x50]
+0xf0,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x7c,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x7c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x50]
+0xf7,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x7c,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x50]
+0xfd,0x04,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x7c,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x50,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x50,0x0b,0xfe,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x7c,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x50,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x50,0x56,0x34,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x7c,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x50]
+0x01,0x05,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x7c,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x50]
+0xff,0x05,0x0a,0x50
-# CHECK: v_cvt_i16_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x7c,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x50]
+0x01,0xfe,0x0b,0x50
-# CHECK: v_cvt_i16_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x7c,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x7c,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x28,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x28,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x7c,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x28,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x28,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x7c,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x28,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x28,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x7c,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x28,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x28,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x7c,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x28,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x7c,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x28,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x28,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x7c,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x7c,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x7c,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x7c,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, scc ; encoding: [0x00,0x00,0x7c,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x7c,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x7c,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x7c,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x7c,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7c,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_subrev_u16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x7c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x7c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_cvt_i16_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x7c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_subrev_u16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_rcp_f16_e32 v0, s0 ; encoding: [0x00,0x7a,0x00,0x7e]
-0x00,0x7a,0x00,0x7e
+# CHECK: v_subrev_u16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_rcp_f16_e32 v255, s0 ; encoding: [0x00,0x7a,0xfe,0x7f]
-0x00,0x7a,0xfe,0x7f
+# CHECK: v_subrev_u16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_rcp_f16_e32 v0, s101 ; encoding: [0x65,0x7a,0x00,0x7e]
-0x65,0x7a,0x00,0x7e
+# CHECK: v_subrev_u16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_rcp_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x7a,0x00,0x7e]
-0x66,0x7a,0x00,0x7e
+# CHECK: v_subrev_u16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x28,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_rcp_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x7a,0x00,0x7e]
-0x67,0x7a,0x00,0x7e
+# CHECK: v_subrev_u16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x28,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_rcp_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x7a,0x00,0x7e]
-0x6a,0x7a,0x00,0x7e
+# CHECK: v_subrev_u16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_rcp_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x7a,0x00,0x7e]
-0x6b,0x7a,0x00,0x7e
+# CHECK: v_subrev_u16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_rcp_f16_e32 v0, tba_lo ; encoding: [0x6c,0x7a,0x00,0x7e]
-0x6c,0x7a,0x00,0x7e
+# CHECK: v_subrev_u16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_rcp_f16_e32 v0, tba_hi ; encoding: [0x6d,0x7a,0x00,0x7e]
-0x6d,0x7a,0x00,0x7e
+# CHECK: v_subrev_u16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x28,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x28,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_rcp_f16_e32 v0, tma_lo ; encoding: [0x6e,0x7a,0x00,0x7e]
-0x6e,0x7a,0x00,0x7e
+# CHECK: v_subrev_u16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x28,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x28,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_rcp_f16_e32 v0, tma_hi ; encoding: [0x6f,0x7a,0x00,0x7e]
-0x6f,0x7a,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x52]
+0x01,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x7a,0x00,0x7e]
-0x7b,0x7a,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x53]
+0x01,0x04,0xfe,0x53
-# CHECK: v_rcp_f16_e32 v0, m0 ; encoding: [0x7c,0x7a,0x00,0x7e]
-0x7c,0x7a,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x52]
+0x65,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, exec_lo ; encoding: [0x7e,0x7a,0x00,0x7e]
-0x7e,0x7a,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x52]
+0x66,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, exec_hi ; encoding: [0x7f,0x7a,0x00,0x7e]
-0x7f,0x7a,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x52]
+0x67,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, 0 ; encoding: [0x80,0x7a,0x00,0x7e]
-0x80,0x7a,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x52]
+0x6a,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, -1 ; encoding: [0xc1,0x7a,0x00,0x7e]
-0xc1,0x7a,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x52]
+0x6b,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, 0.5 ; encoding: [0xf0,0x7a,0x00,0x7e]
-0xf0,0x7a,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x52]
+0x6c,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, -4.0 ; encoding: [0xf7,0x7a,0x00,0x7e]
-0xf7,0x7a,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x52]
+0x6d,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, scc ; encoding: [0xfd,0x7a,0x00,0x7e]
-0xfd,0x7a,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x52]
+0x6e,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x7a,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x7a,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x52]
+0x6f,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, 0x3456 ; encoding: [0xff,0x7a,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x7a,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x52]
+0x7b,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, v0 ; encoding: [0x00,0x7b,0x00,0x7e]
-0x00,0x7b,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x52]
+0x7c,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e32 v0, v255 ; encoding: [0xff,0x7b,0x00,0x7e]
-0xff,0x7b,0x00,0x7e
+# CHECK: v_mul_lo_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x52]
+0x7e,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x7d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x52]
+0x7f,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x7d,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x7d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x52]
+0x80,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x7d,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x52]
+0xc1,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x7d,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x52]
+0xf0,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x7d,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x52]
+0xf7,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x7d,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x52]
+0xfd,0x04,0x0a,0x52
-# CHECK: v_rcp_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x7d,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x52,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x52,0x0b,0xfe,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x7d,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x52,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x52,0x56,0x34,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x7d,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x52]
+0x01,0x05,0x0a,0x52
-# CHECK: v_rcp_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x7d,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x52]
+0xff,0x05,0x0a,0x52
-# CHECK: v_rcp_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x7d,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x52]
+0x01,0xfe,0x0b,0x52
-# CHECK: v_rcp_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x7d,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x29,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x7d,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x29,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x29,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x7d,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x29,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x29,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x7d,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x29,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x29,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x7d,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x29,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x29,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x7d,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x29,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x7d,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x29,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x29,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x7d,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, scc ; encoding: [0x00,0x00,0x7d,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x7d,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x7d,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x7d,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x7d,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7d,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_mul_lo_u16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x7d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x7d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_rcp_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x7d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_lo_u16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_sqrt_f16_e32 v0, s0 ; encoding: [0x00,0x7c,0x00,0x7e]
-0x00,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_sqrt_f16_e32 v255, s0 ; encoding: [0x00,0x7c,0xfe,0x7f]
-0x00,0x7c,0xfe,0x7f
+# CHECK: v_mul_lo_u16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_sqrt_f16_e32 v0, s101 ; encoding: [0x65,0x7c,0x00,0x7e]
-0x65,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_sqrt_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x7c,0x00,0x7e]
-0x66,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_sqrt_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x7c,0x00,0x7e]
-0x67,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_sqrt_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x7c,0x00,0x7e]
-0x6a,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_sqrt_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x7c,0x00,0x7e]
-0x6b,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x29,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_sqrt_f16_e32 v0, tba_lo ; encoding: [0x6c,0x7c,0x00,0x7e]
-0x6c,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x29,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_sqrt_f16_e32 v0, tba_hi ; encoding: [0x6d,0x7c,0x00,0x7e]
-0x6d,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_sqrt_f16_e32 v0, tma_lo ; encoding: [0x6e,0x7c,0x00,0x7e]
-0x6e,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_sqrt_f16_e32 v0, tma_hi ; encoding: [0x6f,0x7c,0x00,0x7e]
-0x6f,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_sqrt_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x7c,0x00,0x7e]
-0x7b,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x29,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x29,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_sqrt_f16_e32 v0, m0 ; encoding: [0x7c,0x7c,0x00,0x7e]
-0x7c,0x7c,0x00,0x7e
+# CHECK: v_mul_lo_u16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x29,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x29,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_sqrt_f16_e32 v0, exec_lo ; encoding: [0x7e,0x7c,0x00,0x7e]
-0x7e,0x7c,0x00,0x7e
+# CHECK: v_lshlrev_b16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x54]
+0x01,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e32 v0, exec_hi ; encoding: [0x7f,0x7c,0x00,0x7e]
-0x7f,0x7c,0x00,0x7e
+# CHECK: v_lshlrev_b16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x55]
+0x01,0x04,0xfe,0x55
-# CHECK: v_sqrt_f16_e32 v0, 0 ; encoding: [0x80,0x7c,0x00,0x7e]
-0x80,0x7c,0x00,0x7e
+# CHECK: v_lshlrev_b16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x54]
+0x65,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e32 v0, -1 ; encoding: [0xc1,0x7c,0x00,0x7e]
-0xc1,0x7c,0x00,0x7e
+# CHECK: v_lshlrev_b16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x54]
+0x66,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e32 v0, 0.5 ; encoding: [0xf0,0x7c,0x00,0x7e]
-0xf0,0x7c,0x00,0x7e
+# CHECK: v_lshlrev_b16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x54]
+0x67,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e32 v0, -4.0 ; encoding: [0xf7,0x7c,0x00,0x7e]
-0xf7,0x7c,0x00,0x7e
+# CHECK: v_lshlrev_b16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x54]
+0x6a,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e32 v0, scc ; encoding: [0xfd,0x7c,0x00,0x7e]
-0xfd,0x7c,0x00,0x7e
+# CHECK: v_lshlrev_b16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x54]
+0x6b,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x7c,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x7c,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x54]
+0x6c,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e32 v0, 0x3456 ; encoding: [0xff,0x7c,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x7c,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x54]
+0x6d,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e32 v0, v0 ; encoding: [0x00,0x7d,0x00,0x7e]
-0x00,0x7d,0x00,0x7e
+# CHECK: v_lshlrev_b16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x54]
+0x6e,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e32 v0, v255 ; encoding: [0xff,0x7d,0x00,0x7e]
-0xff,0x7d,0x00,0x7e
+# CHECK: v_lshlrev_b16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x54]
+0x6f,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x7e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x54]
+0x7b,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x7e,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x7e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x54]
+0x7c,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x7e,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x54]
+0x7e,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x7e,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x54]
+0x7f,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x7e,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x54]
+0x80,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x7e,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x54]
+0xc1,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x7e,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x54]
+0xf0,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x7e,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x54]
+0xf7,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x7e,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x54]
+0xfd,0x04,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x7e,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x54,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x54,0x0b,0xfe,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x7e,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x54,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x54,0x56,0x34,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x7e,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x54]
+0x01,0x05,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x7e,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x54]
+0xff,0x05,0x0a,0x54
-# CHECK: v_sqrt_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x7e,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x54]
+0x01,0xfe,0x0b,0x54
-# CHECK: v_sqrt_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x7e,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x7e,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x2a,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x7e,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x2a,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x7e,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x2a,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x7e,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x2a,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, scc ; encoding: [0x00,0x00,0x7e,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x2a,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x7e,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_lshlrev_b16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x2a,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x7e,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x7e,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_lshlrev_b16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x7e,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7e,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_lshlrev_b16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x7e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x7e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_sqrt_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x7e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_lshlrev_b16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_rsq_f16_e32 v0, s0 ; encoding: [0x00,0x7e,0x00,0x7e]
-0x00,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_rsq_f16_e32 v255, s0 ; encoding: [0x00,0x7e,0xfe,0x7f]
-0x00,0x7e,0xfe,0x7f
+# CHECK: v_lshlrev_b16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_rsq_f16_e32 v0, s101 ; encoding: [0x65,0x7e,0x00,0x7e]
-0x65,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_rsq_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x7e,0x00,0x7e]
-0x66,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_rsq_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x7e,0x00,0x7e]
-0x67,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_rsq_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x7e,0x00,0x7e]
-0x6a,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_rsq_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x7e,0x00,0x7e]
-0x6b,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_rsq_f16_e32 v0, tba_lo ; encoding: [0x6c,0x7e,0x00,0x7e]
-0x6c,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_rsq_f16_e32 v0, tba_hi ; encoding: [0x6d,0x7e,0x00,0x7e]
-0x6d,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_rsq_f16_e32 v0, tma_lo ; encoding: [0x6e,0x7e,0x00,0x7e]
-0x6e,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_rsq_f16_e32 v0, tma_hi ; encoding: [0x6f,0x7e,0x00,0x7e]
-0x6f,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_rsq_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x7e,0x00,0x7e]
-0x7b,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_rsq_f16_e32 v0, m0 ; encoding: [0x7c,0x7e,0x00,0x7e]
-0x7c,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_rsq_f16_e32 v0, exec_lo ; encoding: [0x7e,0x7e,0x00,0x7e]
-0x7e,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_rsq_f16_e32 v0, exec_hi ; encoding: [0x7f,0x7e,0x00,0x7e]
-0x7f,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_rsq_f16_e32 v0, 0 ; encoding: [0x80,0x7e,0x00,0x7e]
-0x80,0x7e,0x00,0x7e
+# CHECK: v_lshlrev_b16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x2a,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x2a,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_rsq_f16_e32 v0, -1 ; encoding: [0xc1,0x7e,0x00,0x7e]
-0xc1,0x7e,0x00,0x7e
+# CHECK: v_lshrrev_b16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x56]
+0x01,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e32 v0, 0.5 ; encoding: [0xf0,0x7e,0x00,0x7e]
-0xf0,0x7e,0x00,0x7e
+# CHECK: v_lshrrev_b16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x57]
+0x01,0x04,0xfe,0x57
-# CHECK: v_rsq_f16_e32 v0, -4.0 ; encoding: [0xf7,0x7e,0x00,0x7e]
-0xf7,0x7e,0x00,0x7e
+# CHECK: v_lshrrev_b16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x56]
+0x65,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e32 v0, scc ; encoding: [0xfd,0x7e,0x00,0x7e]
-0xfd,0x7e,0x00,0x7e
+# CHECK: v_lshrrev_b16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x56]
+0x66,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x7e,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x7e,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x56]
+0x67,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e32 v0, 0x3456 ; encoding: [0xff,0x7e,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x7e,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x56]
+0x6a,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e32 v0, v0 ; encoding: [0x00,0x7f,0x00,0x7e]
-0x00,0x7f,0x00,0x7e
+# CHECK: v_lshrrev_b16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x56]
+0x6b,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e32 v0, v255 ; encoding: [0xff,0x7f,0x00,0x7e]
-0xff,0x7f,0x00,0x7e
+# CHECK: v_lshrrev_b16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x56]
+0x6c,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x7f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x56]
+0x6d,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x7f,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x7f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x56]
+0x6e,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x7f,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x56]
+0x6f,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x7f,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x56]
+0x7b,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x7f,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x56]
+0x7c,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x7f,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x56]
+0x7e,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x7f,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x56]
+0x7f,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x7f,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x56]
+0x80,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x7f,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x56]
+0xc1,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x7f,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x56]
+0xf0,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x7f,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x56]
+0xf7,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x7f,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x56]
+0xfd,0x04,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x7f,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x56,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x56,0x0b,0xfe,0x00,0x00
-# CHECK: v_rsq_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x7f,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x56,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x56,0x56,0x34,0x00,0x00
-# CHECK: v_rsq_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x7f,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x56]
+0x01,0x05,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x7f,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x56]
+0xff,0x05,0x0a,0x56
-# CHECK: v_rsq_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x7f,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x56]
+0x01,0xfe,0x0b,0x56
-# CHECK: v_rsq_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x7f,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_rsq_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x7f,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x2b,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x2b,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_rsq_f16_e64 v0, scc ; encoding: [0x00,0x00,0x7f,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x2b,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_rsq_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x7f,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_lshrrev_b16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x2b,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_rsq_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x7f,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x7f,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_lshrrev_b16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x2b,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_rsq_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x7f,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7f,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_lshrrev_b16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x2b,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_rsq_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x7f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x7f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x2b,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_rsq_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x7f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_lshrrev_b16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_log_f16_e32 v0, s0 ; encoding: [0x00,0x80,0x00,0x7e]
-0x00,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_log_f16_e32 v255, s0 ; encoding: [0x00,0x80,0xfe,0x7f]
-0x00,0x80,0xfe,0x7f
+# CHECK: v_lshrrev_b16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_log_f16_e32 v0, s101 ; encoding: [0x65,0x80,0x00,0x7e]
-0x65,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_log_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x80,0x00,0x7e]
-0x66,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_log_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x80,0x00,0x7e]
-0x67,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_log_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x80,0x00,0x7e]
-0x6a,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_log_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x80,0x00,0x7e]
-0x6b,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_log_f16_e32 v0, tba_lo ; encoding: [0x6c,0x80,0x00,0x7e]
-0x6c,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_log_f16_e32 v0, tba_hi ; encoding: [0x6d,0x80,0x00,0x7e]
-0x6d,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_log_f16_e32 v0, tma_lo ; encoding: [0x6e,0x80,0x00,0x7e]
-0x6e,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_log_f16_e32 v0, tma_hi ; encoding: [0x6f,0x80,0x00,0x7e]
-0x6f,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_log_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x80,0x00,0x7e]
-0x7b,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_log_f16_e32 v0, m0 ; encoding: [0x7c,0x80,0x00,0x7e]
-0x7c,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_log_f16_e32 v0, exec_lo ; encoding: [0x7e,0x80,0x00,0x7e]
-0x7e,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_log_f16_e32 v0, exec_hi ; encoding: [0x7f,0x80,0x00,0x7e]
-0x7f,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_log_f16_e32 v0, 0 ; encoding: [0x80,0x80,0x00,0x7e]
-0x80,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_log_f16_e32 v0, -1 ; encoding: [0xc1,0x80,0x00,0x7e]
-0xc1,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_log_f16_e32 v0, 0.5 ; encoding: [0xf0,0x80,0x00,0x7e]
-0xf0,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_log_f16_e32 v0, -4.0 ; encoding: [0xf7,0x80,0x00,0x7e]
-0xf7,0x80,0x00,0x7e
+# CHECK: v_lshrrev_b16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x2b,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x2b,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_log_f16_e32 v0, scc ; encoding: [0xfd,0x80,0x00,0x7e]
-0xfd,0x80,0x00,0x7e
+# CHECK: v_ashrrev_i16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x58]
+0x01,0x04,0x0a,0x58
-# CHECK: v_log_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x80,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x80,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x59]
+0x01,0x04,0xfe,0x59
-# CHECK: v_log_f16_e32 v0, 0x3456 ; encoding: [0xff,0x80,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x80,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x58]
+0x65,0x04,0x0a,0x58
-# CHECK: v_log_f16_e32 v0, v0 ; encoding: [0x00,0x81,0x00,0x7e]
-0x00,0x81,0x00,0x7e
+# CHECK: v_ashrrev_i16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x58]
+0x66,0x04,0x0a,0x58
-# CHECK: v_log_f16_e32 v0, v255 ; encoding: [0xff,0x81,0x00,0x7e]
-0xff,0x81,0x00,0x7e
+# CHECK: v_ashrrev_i16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x58]
+0x67,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x80,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x58]
+0x6a,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x80,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x80,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x58]
+0x6b,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x80,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x58]
+0x6c,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x80,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x58]
+0x6d,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x80,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x58]
+0x6e,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x80,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x58]
+0x6f,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x80,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x58]
+0x7b,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x80,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x58]
+0x7c,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x80,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x58]
+0x7e,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x80,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x58]
+0x7f,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x80,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x58]
+0x80,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x80,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x58]
+0xc1,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x80,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x58]
+0xf0,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x80,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x58]
+0xf7,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x80,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x58]
+0xfd,0x04,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x80,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x58,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x58,0x0b,0xfe,0x00,0x00
-# CHECK: v_log_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x80,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x58,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x58,0x56,0x34,0x00,0x00
-# CHECK: v_log_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x80,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x58]
+0x01,0x05,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x80,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x58]
+0xff,0x05,0x0a,0x58
-# CHECK: v_log_f16_e64 v0, scc ; encoding: [0x00,0x00,0x80,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x58]
+0x01,0xfe,0x0b,0x58
-# CHECK: v_log_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x80,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x80,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_ashrrev_i16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_log_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x80,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x80,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_ashrrev_i16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x2c,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_log_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x80,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x80,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_ashrrev_i16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x2c,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_log_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x80,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x80,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x2c,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_log_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x80,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x80,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ashrrev_i16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x2c,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, s0 ; encoding: [0x00,0x82,0x00,0x7e]
-0x00,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x2c,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_exp_f16_e32 v255, s0 ; encoding: [0x00,0x82,0xfe,0x7f]
-0x00,0x82,0xfe,0x7f
+# CHECK: v_ashrrev_i16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x2c,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, s101 ; encoding: [0x65,0x82,0x00,0x7e]
-0x65,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x82,0x00,0x7e]
-0x66,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x82,0x00,0x7e]
-0x67,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x82,0x00,0x7e]
-0x6a,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x82,0x00,0x7e]
-0x6b,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, tba_lo ; encoding: [0x6c,0x82,0x00,0x7e]
-0x6c,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, tba_hi ; encoding: [0x6d,0x82,0x00,0x7e]
-0x6d,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, tma_lo ; encoding: [0x6e,0x82,0x00,0x7e]
-0x6e,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, tma_hi ; encoding: [0x6f,0x82,0x00,0x7e]
-0x6f,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x82,0x00,0x7e]
-0x7b,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, m0 ; encoding: [0x7c,0x82,0x00,0x7e]
-0x7c,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, exec_lo ; encoding: [0x7e,0x82,0x00,0x7e]
-0x7e,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, exec_hi ; encoding: [0x7f,0x82,0x00,0x7e]
-0x7f,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_exp_f16_e32 v0, 0 ; encoding: [0x80,0x82,0x00,0x7e]
-0x80,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_exp_f16_e32 v0, -1 ; encoding: [0xc1,0x82,0x00,0x7e]
-0xc1,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_exp_f16_e32 v0, 0.5 ; encoding: [0xf0,0x82,0x00,0x7e]
-0xf0,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_exp_f16_e32 v0, -4.0 ; encoding: [0xf7,0x82,0x00,0x7e]
-0xf7,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_exp_f16_e32 v0, scc ; encoding: [0xfd,0x82,0x00,0x7e]
-0xfd,0x82,0x00,0x7e
+# CHECK: v_ashrrev_i16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_exp_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x82,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x82,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_ashrrev_i16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_exp_f16_e32 v0, 0x3456 ; encoding: [0xff,0x82,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x82,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_ashrrev_i16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x2c,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x2c,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_exp_f16_e32 v0, v0 ; encoding: [0x00,0x83,0x00,0x7e]
-0x00,0x83,0x00,0x7e
+# CHECK: v_max_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x5a]
+0x01,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e32 v0, v255 ; encoding: [0xff,0x83,0x00,0x7e]
-0xff,0x83,0x00,0x7e
+# CHECK: v_max_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x5b]
+0x01,0x04,0xfe,0x5b
-# CHECK: v_exp_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x81,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x5a]
+0x65,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x81,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x81,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x5a]
+0x66,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x81,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x5a]
+0x67,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x81,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x5a]
+0x6a,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x81,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x5a]
+0x6b,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x81,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x5a]
+0x6c,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x81,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x5a]
+0x6d,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x81,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x5a]
+0x6e,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x81,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x5a]
+0x6f,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x81,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x5a]
+0x7b,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x81,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x5a]
+0x7c,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x81,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x5a]
+0x7e,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x81,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x5a]
+0x7f,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x81,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x5a]
+0x80,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x81,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x5a]
+0xc1,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x81,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x5a]
+0xf0,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x81,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x5a]
+0xf7,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x81,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x5a]
+0xfd,0x04,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x81,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x5a,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x5a,0x0b,0xfe,0x00,0x00
-# CHECK: v_exp_f16_e64 v0, scc ; encoding: [0x00,0x00,0x81,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_max_f16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x5a,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x5a,0x56,0x34,0x00,0x00
-# CHECK: v_exp_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x81,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x81,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_max_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5a]
+0x01,0x05,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x81,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x81,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_max_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5a]
+0xff,0x05,0x0a,0x5a
-# CHECK: v_exp_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x81,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x81,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_max_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x5a]
+0x01,0xfe,0x0b,0x5a
-# CHECK: v_exp_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x81,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x81,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_f16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_exp_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x81,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x81,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_f16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x2d,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x2d,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, s0 ; encoding: [0x00,0x84,0x00,0x7e]
-0x00,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x2d,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v255, s0 ; encoding: [0x00,0x84,0xfe,0x7f]
-0x00,0x84,0xfe,0x7f
+# CHECK: v_max_f16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x2d,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, s101 ; encoding: [0x65,0x84,0x00,0x7e]
-0x65,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x2d,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x84,0x00,0x7e]
-0x66,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x2d,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x84,0x00,0x7e]
-0x67,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x2d,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x84,0x00,0x7e]
-0x6a,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x84,0x00,0x7e]
-0x6b,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, tba_lo ; encoding: [0x6c,0x84,0x00,0x7e]
-0x6c,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, tba_hi ; encoding: [0x6d,0x84,0x00,0x7e]
-0x6d,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, tma_lo ; encoding: [0x6e,0x84,0x00,0x7e]
-0x6e,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, tma_hi ; encoding: [0x6f,0x84,0x00,0x7e]
-0x6f,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x84,0x00,0x7e]
-0x7b,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, m0 ; encoding: [0x7c,0x84,0x00,0x7e]
-0x7c,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, exec_lo ; encoding: [0x7e,0x84,0x00,0x7e]
-0x7e,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, exec_hi ; encoding: [0x7f,0x84,0x00,0x7e]
-0x7f,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, 0 ; encoding: [0x80,0x84,0x00,0x7e]
-0x80,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, -1 ; encoding: [0xc1,0x84,0x00,0x7e]
-0xc1,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, 0.5 ; encoding: [0xf0,0x84,0x00,0x7e]
-0xf0,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, -4.0 ; encoding: [0xf7,0x84,0x00,0x7e]
-0xf7,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, scc ; encoding: [0xfd,0x84,0x00,0x7e]
-0xfd,0x84,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x84,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x84,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_max_f16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, 0x3456 ; encoding: [0xff,0x84,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x84,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_max_f16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, v0 ; encoding: [0x00,0x85,0x00,0x7e]
-0x00,0x85,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_frexp_mant_f16_e32 v0, v255 ; encoding: [0xff,0x85,0x00,0x7e]
-0xff,0x85,0x00,0x7e
+# CHECK: v_max_f16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_frexp_mant_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x82,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_f16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x2d,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_frexp_mant_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x82,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x82,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_f16_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x20
-# CHECK: v_frexp_mant_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x82,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_max_f16_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x40
-# CHECK: v_frexp_mant_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x82,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_max_f16_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x2d,0xd1,0x80,0x04,0x00,0x60
-# CHECK: v_frexp_mant_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x82,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_max_f16_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x2d,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x2d,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_mant_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x82,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_max_f16_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x2d,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x2d,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_mant_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x82,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_max_f16_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x2d,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x2d,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_mant_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x82,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_max_f16_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x2d,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x2d,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_mant_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x82,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x5c]
+0x01,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x82,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x5d]
+0x01,0x04,0xfe,0x5d
-# CHECK: v_frexp_mant_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x82,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x5c]
+0x65,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x82,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x5c]
+0x66,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x82,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x5c]
+0x67,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x82,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x5c]
+0x6a,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x82,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x5c]
+0x6b,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x82,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x5c]
+0x6c,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x82,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x5c]
+0x6d,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x82,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x5c]
+0x6e,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x82,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x5c]
+0x6f,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, scc ; encoding: [0x00,0x00,0x82,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x5c]
+0x7b,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x82,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x82,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_min_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x5c]
+0x7c,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x82,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x82,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_min_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x5c]
+0x7e,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x82,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x82,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_min_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x5c]
+0x7f,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x82,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x82,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x5c]
+0x80,0x04,0x0a,0x5c
-# CHECK: v_frexp_mant_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x82,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x82,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x5c]
+0xc1,0x04,0x0a,0x5c
-# CHECK: v_frexp_exp_i16_f16_e32 v0, s0 ; encoding: [0x00,0x86,0x00,0x7e]
-0x00,0x86,0x00,0x7e
+# CHECK: v_min_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x5c]
+0xf0,0x04,0x0a,0x5c
-# CHECK: v_frexp_exp_i16_f16_e32 v255, s0 ; encoding: [0x00,0x86,0xfe,0x7f]
-0x00,0x86,0xfe,0x7f
+# CHECK: v_min_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x5c]
+0xf7,0x04,0x0a,0x5c
-# CHECK: v_frexp_exp_i16_f16_e32 v0, s101 ; encoding: [0x65,0x86,0x00,0x7e]
-0x65,0x86,0x00,0x7e
+# CHECK: v_min_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x5c]
+0xfd,0x04,0x0a,0x5c
-# CHECK: v_frexp_exp_i16_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x86,0x00,0x7e]
-0x66,0x86,0x00,0x7e
+# CHECK: v_min_f16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x5c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x5c,0x0b,0xfe,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x86,0x00,0x7e]
-0x67,0x86,0x00,0x7e
+# CHECK: v_min_f16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x5c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x5c,0x56,0x34,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x86,0x00,0x7e]
-0x6a,0x86,0x00,0x7e
+# CHECK: v_min_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5c]
+0x01,0x05,0x0a,0x5c
-# CHECK: v_frexp_exp_i16_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x86,0x00,0x7e]
-0x6b,0x86,0x00,0x7e
+# CHECK: v_min_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5c]
+0xff,0x05,0x0a,0x5c
-# CHECK: v_frexp_exp_i16_f16_e32 v0, tba_lo ; encoding: [0x6c,0x86,0x00,0x7e]
-0x6c,0x86,0x00,0x7e
+# CHECK: v_min_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x5c]
+0x01,0xfe,0x0b,0x5c
-# CHECK: v_frexp_exp_i16_f16_e32 v0, tba_hi ; encoding: [0x6d,0x86,0x00,0x7e]
-0x6d,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, tma_lo ; encoding: [0x6e,0x86,0x00,0x7e]
-0x6e,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x2e,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, tma_hi ; encoding: [0x6f,0x86,0x00,0x7e]
-0x6f,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x2e,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x86,0x00,0x7e]
-0x7b,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x2e,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, m0 ; encoding: [0x7c,0x86,0x00,0x7e]
-0x7c,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x2e,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, exec_lo ; encoding: [0x7e,0x86,0x00,0x7e]
-0x7e,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x2e,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, exec_hi ; encoding: [0x7f,0x86,0x00,0x7e]
-0x7f,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x2e,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, 0 ; encoding: [0x80,0x86,0x00,0x7e]
-0x80,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, -1 ; encoding: [0xc1,0x86,0x00,0x7e]
-0xc1,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, 0.5 ; encoding: [0xf0,0x86,0x00,0x7e]
-0xf0,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, -4.0 ; encoding: [0xf7,0x86,0x00,0x7e]
-0xf7,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, scc ; encoding: [0xfd,0x86,0x00,0x7e]
-0xfd,0x86,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x86,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x86,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, 0x3456 ; encoding: [0xff,0x86,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x86,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, v0 ; encoding: [0x00,0x87,0x00,0x7e]
-0x00,0x87,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e32 v0, v255 ; encoding: [0xff,0x87,0x00,0x7e]
-0xff,0x87,0x00,0x7e
+# CHECK: v_min_f16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x83,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x83,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x83,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x83,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x83,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x83,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x83,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x83,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x83,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x83,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x83,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x83,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x2e,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x83,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x20
-# CHECK: v_frexp_exp_i16_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x83,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, -s2 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x40]
+0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x40
-# CHECK: v_frexp_exp_i16_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x83,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, neg(0), -s2 ; encoding: [0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x60]
+0x05,0x00,0x2e,0xd1,0x80,0x04,0x00,0x60
-# CHECK: v_frexp_exp_i16_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x83,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x2e,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x2e,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x83,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, |s2| ; encoding: [0x05,0x02,0x2e,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x02,0x2e,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x83,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, |0|, |s2| ; encoding: [0x05,0x03,0x2e,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x03,0x2e,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x83,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_min_f16_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x2e,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x2e,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x83,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_max_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x5e]
+0x01,0x04,0x0a,0x5e
-# CHECK: v_frexp_exp_i16_f16_e64 v0, scc ; encoding: [0x00,0x00,0x83,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_max_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x5f]
+0x01,0x04,0xfe,0x5f
-# CHECK: v_frexp_exp_i16_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x83,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x83,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_max_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x5e]
+0x65,0x04,0x0a,0x5e
-# CHECK: v_frexp_exp_i16_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x83,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x83,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_max_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x5e]
+0x66,0x04,0x0a,0x5e
-# CHECK: v_frexp_exp_i16_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x83,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x83,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_max_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x5e]
+0x67,0x04,0x0a,0x5e
-# CHECK: v_frexp_exp_i16_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x83,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x83,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x5e]
+0x6a,0x04,0x0a,0x5e
-# CHECK: v_frexp_exp_i16_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x83,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x83,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x5e]
+0x6b,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, s0 ; encoding: [0x00,0x88,0x00,0x7e]
-0x00,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x5e]
+0x6c,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v255, s0 ; encoding: [0x00,0x88,0xfe,0x7f]
-0x00,0x88,0xfe,0x7f
+# CHECK: v_max_u16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x5e]
+0x6d,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, s101 ; encoding: [0x65,0x88,0x00,0x7e]
-0x65,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x5e]
+0x6e,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x88,0x00,0x7e]
-0x66,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x5e]
+0x6f,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x88,0x00,0x7e]
-0x67,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x5e]
+0x7b,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x88,0x00,0x7e]
-0x6a,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x5e]
+0x7c,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x88,0x00,0x7e]
-0x6b,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x5e]
+0x7e,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, tba_lo ; encoding: [0x6c,0x88,0x00,0x7e]
-0x6c,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x5e]
+0x7f,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, tba_hi ; encoding: [0x6d,0x88,0x00,0x7e]
-0x6d,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x5e]
+0x80,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, tma_lo ; encoding: [0x6e,0x88,0x00,0x7e]
-0x6e,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x5e]
+0xc1,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, tma_hi ; encoding: [0x6f,0x88,0x00,0x7e]
-0x6f,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x5e]
+0xf0,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x88,0x00,0x7e]
-0x7b,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x5e]
+0xf7,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, m0 ; encoding: [0x7c,0x88,0x00,0x7e]
-0x7c,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x5e]
+0xfd,0x04,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, exec_lo ; encoding: [0x7e,0x88,0x00,0x7e]
-0x7e,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x5e,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x5e,0x0b,0xfe,0x00,0x00
-# CHECK: v_floor_f16_e32 v0, exec_hi ; encoding: [0x7f,0x88,0x00,0x7e]
-0x7f,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x5e,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x5e,0x56,0x34,0x00,0x00
-# CHECK: v_floor_f16_e32 v0, 0 ; encoding: [0x80,0x88,0x00,0x7e]
-0x80,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x5e]
+0x01,0x05,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, -1 ; encoding: [0xc1,0x88,0x00,0x7e]
-0xc1,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x5e]
+0xff,0x05,0x0a,0x5e
-# CHECK: v_floor_f16_e32 v0, 0.5 ; encoding: [0xf0,0x88,0x00,0x7e]
-0xf0,0x88,0x00,0x7e
+# CHECK: v_max_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x5e]
+0x01,0xfe,0x0b,0x5e
-# CHECK: v_floor_f16_e32 v0, -4.0 ; encoding: [0xf7,0x88,0x00,0x7e]
-0xf7,0x88,0x00,0x7e
+# CHECK: v_max_u16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_floor_f16_e32 v0, scc ; encoding: [0xfd,0x88,0x00,0x7e]
-0xfd,0x88,0x00,0x7e
+# CHECK: v_max_u16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x2f,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x2f,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_floor_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x88,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x88,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_max_u16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x2f,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_floor_f16_e32 v0, 0x3456 ; encoding: [0xff,0x88,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x88,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x2f,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_floor_f16_e32 v0, v0 ; encoding: [0x00,0x89,0x00,0x7e]
-0x00,0x89,0x00,0x7e
+# CHECK: v_max_u16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x2f,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_floor_f16_e32 v0, v255 ; encoding: [0xff,0x89,0x00,0x7e]
-0xff,0x89,0x00,0x7e
+# CHECK: v_max_u16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x2f,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x84,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x2f,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_floor_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x84,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x84,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x84,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x84,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x84,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x84,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x84,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x84,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x84,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x84,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x84,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x84,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x84,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x84,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_floor_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x84,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_floor_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x84,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_floor_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x84,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_floor_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x84,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_floor_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x84,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_floor_f16_e64 v0, scc ; encoding: [0x00,0x00,0x84,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_floor_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x84,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x84,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_max_u16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x2f,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x2f,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_floor_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x84,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x84,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_max_i16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x60]
+0x01,0x04,0x0a,0x60
-# CHECK: v_floor_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x84,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x84,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_max_i16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x61]
+0x01,0x04,0xfe,0x61
-# CHECK: v_floor_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x84,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x84,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_i16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x60]
+0x65,0x04,0x0a,0x60
-# CHECK: v_floor_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x84,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x84,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_i16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x60]
+0x66,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, s0 ; encoding: [0x00,0x8a,0x00,0x7e]
-0x00,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x60]
+0x67,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v255, s0 ; encoding: [0x00,0x8a,0xfe,0x7f]
-0x00,0x8a,0xfe,0x7f
+# CHECK: v_max_i16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x60]
+0x6a,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, s101 ; encoding: [0x65,0x8a,0x00,0x7e]
-0x65,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x60]
+0x6b,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x8a,0x00,0x7e]
-0x66,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x60]
+0x6c,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x8a,0x00,0x7e]
-0x67,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x60]
+0x6d,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x8a,0x00,0x7e]
-0x6a,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x60]
+0x6e,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x8a,0x00,0x7e]
-0x6b,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x60]
+0x6f,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, tba_lo ; encoding: [0x6c,0x8a,0x00,0x7e]
-0x6c,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x60]
+0x7b,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, tba_hi ; encoding: [0x6d,0x8a,0x00,0x7e]
-0x6d,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x60]
+0x7c,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, tma_lo ; encoding: [0x6e,0x8a,0x00,0x7e]
-0x6e,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x60]
+0x7e,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, tma_hi ; encoding: [0x6f,0x8a,0x00,0x7e]
-0x6f,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x60]
+0x7f,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x8a,0x00,0x7e]
-0x7b,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x60]
+0x80,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, m0 ; encoding: [0x7c,0x8a,0x00,0x7e]
-0x7c,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x60]
+0xc1,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, exec_lo ; encoding: [0x7e,0x8a,0x00,0x7e]
-0x7e,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x60]
+0xf0,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, exec_hi ; encoding: [0x7f,0x8a,0x00,0x7e]
-0x7f,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x60]
+0xf7,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, 0 ; encoding: [0x80,0x8a,0x00,0x7e]
-0x80,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x60]
+0xfd,0x04,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, -1 ; encoding: [0xc1,0x8a,0x00,0x7e]
-0xc1,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x60,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x60,0x0b,0xfe,0x00,0x00
-# CHECK: v_ceil_f16_e32 v0, 0.5 ; encoding: [0xf0,0x8a,0x00,0x7e]
-0xf0,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x60,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x60,0x56,0x34,0x00,0x00
-# CHECK: v_ceil_f16_e32 v0, -4.0 ; encoding: [0xf7,0x8a,0x00,0x7e]
-0xf7,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x60]
+0x01,0x05,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, scc ; encoding: [0xfd,0x8a,0x00,0x7e]
-0xfd,0x8a,0x00,0x7e
+# CHECK: v_max_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x60]
+0xff,0x05,0x0a,0x60
-# CHECK: v_ceil_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x8a,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x8a,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_max_i16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x60]
+0x01,0xfe,0x0b,0x60
-# CHECK: v_ceil_f16_e32 v0, 0x3456 ; encoding: [0xff,0x8a,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x8a,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x30,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_ceil_f16_e32 v0, v0 ; encoding: [0x00,0x8b,0x00,0x7e]
-0x00,0x8b,0x00,0x7e
+# CHECK: v_max_i16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x30,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x30,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_ceil_f16_e32 v0, v255 ; encoding: [0xff,0x8b,0x00,0x7e]
-0xff,0x8b,0x00,0x7e
+# CHECK: v_max_i16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x30,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x30,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x85,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x30,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x30,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_ceil_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x85,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x85,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x30,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x30,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x85,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x30,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x85,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x30,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x30,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x85,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x85,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x85,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x85,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x85,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x85,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x85,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x85,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x85,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x85,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x85,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x85,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x85,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_ceil_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x85,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x30,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_ceil_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x85,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x30,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_ceil_f16_e64 v0, scc ; encoding: [0x00,0x00,0x85,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_ceil_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x85,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x85,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_ceil_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x85,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x85,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_ceil_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x85,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x85,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_max_i16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x30,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x30,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_ceil_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x85,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x85,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_i16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x30,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x30,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_ceil_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x85,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x85,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_u16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x62]
+0x01,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, s0 ; encoding: [0x00,0x8c,0x00,0x7e]
-0x00,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x63]
+0x01,0x04,0xfe,0x63
-# CHECK: v_trunc_f16_e32 v255, s0 ; encoding: [0x00,0x8c,0xfe,0x7f]
-0x00,0x8c,0xfe,0x7f
+# CHECK: v_min_u16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x62]
+0x65,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, s101 ; encoding: [0x65,0x8c,0x00,0x7e]
-0x65,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x62]
+0x66,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x8c,0x00,0x7e]
-0x66,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x62]
+0x67,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x8c,0x00,0x7e]
-0x67,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x62]
+0x6a,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x8c,0x00,0x7e]
-0x6a,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x62]
+0x6b,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x8c,0x00,0x7e]
-0x6b,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x62]
+0x6c,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, tba_lo ; encoding: [0x6c,0x8c,0x00,0x7e]
-0x6c,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x62]
+0x6d,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, tba_hi ; encoding: [0x6d,0x8c,0x00,0x7e]
-0x6d,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x62]
+0x6e,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, tma_lo ; encoding: [0x6e,0x8c,0x00,0x7e]
-0x6e,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x62]
+0x6f,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, tma_hi ; encoding: [0x6f,0x8c,0x00,0x7e]
-0x6f,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x62]
+0x7b,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x8c,0x00,0x7e]
-0x7b,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x62]
+0x7c,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, m0 ; encoding: [0x7c,0x8c,0x00,0x7e]
-0x7c,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x62]
+0x7e,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, exec_lo ; encoding: [0x7e,0x8c,0x00,0x7e]
-0x7e,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x62]
+0x7f,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, exec_hi ; encoding: [0x7f,0x8c,0x00,0x7e]
-0x7f,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x62]
+0x80,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, 0 ; encoding: [0x80,0x8c,0x00,0x7e]
-0x80,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x62]
+0xc1,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, -1 ; encoding: [0xc1,0x8c,0x00,0x7e]
-0xc1,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x62]
+0xf0,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, 0.5 ; encoding: [0xf0,0x8c,0x00,0x7e]
-0xf0,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x62]
+0xf7,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, -4.0 ; encoding: [0xf7,0x8c,0x00,0x7e]
-0xf7,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x62]
+0xfd,0x04,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, scc ; encoding: [0xfd,0x8c,0x00,0x7e]
-0xfd,0x8c,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x62,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x62,0x0b,0xfe,0x00,0x00
-# CHECK: v_trunc_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x8c,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x8c,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_min_u16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x62,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x62,0x56,0x34,0x00,0x00
-# CHECK: v_trunc_f16_e32 v0, 0x3456 ; encoding: [0xff,0x8c,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x8c,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_min_u16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x62]
+0x01,0x05,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, v0 ; encoding: [0x00,0x8d,0x00,0x7e]
-0x00,0x8d,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x62]
+0xff,0x05,0x0a,0x62
-# CHECK: v_trunc_f16_e32 v0, v255 ; encoding: [0xff,0x8d,0x00,0x7e]
-0xff,0x8d,0x00,0x7e
+# CHECK: v_min_u16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x62]
+0x01,0xfe,0x0b,0x62
-# CHECK: v_trunc_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x86,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x31,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_trunc_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x86,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x86,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x31,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x31,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x86,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x31,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x31,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x86,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x31,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x31,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x86,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x31,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x31,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x86,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x31,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x86,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x31,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x31,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x86,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x86,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x86,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x86,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x86,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x86,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x86,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x86,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x86,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x86,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x86,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x86,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, scc ; encoding: [0x00,0x00,0x86,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_trunc_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x86,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x86,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x31,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_trunc_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x86,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x86,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x31,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_trunc_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x86,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x86,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_min_u16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_trunc_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x86,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x86,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_trunc_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x86,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x86,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_u16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_rndne_f16_e32 v0, s0 ; encoding: [0x00,0x8e,0x00,0x7e]
-0x00,0x8e,0x00,0x7e
+# CHECK: v_min_u16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x31,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x31,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_rndne_f16_e32 v255, s0 ; encoding: [0x00,0x8e,0xfe,0x7f]
-0x00,0x8e,0xfe,0x7f
+# CHECK: v_min_u16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x31,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x31,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_rndne_f16_e32 v0, s101 ; encoding: [0x65,0x8e,0x00,0x7e]
-0x65,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x64]
+0x01,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x8e,0x00,0x7e]
-0x66,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x65]
+0x01,0x04,0xfe,0x65
-# CHECK: v_rndne_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x8e,0x00,0x7e]
-0x67,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x64]
+0x65,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x8e,0x00,0x7e]
-0x6a,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x64]
+0x66,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x8e,0x00,0x7e]
-0x6b,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x64]
+0x67,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, tba_lo ; encoding: [0x6c,0x8e,0x00,0x7e]
-0x6c,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x64]
+0x6a,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, tba_hi ; encoding: [0x6d,0x8e,0x00,0x7e]
-0x6d,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x64]
+0x6b,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, tma_lo ; encoding: [0x6e,0x8e,0x00,0x7e]
-0x6e,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x64]
+0x6c,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, tma_hi ; encoding: [0x6f,0x8e,0x00,0x7e]
-0x6f,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x64]
+0x6d,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x8e,0x00,0x7e]
-0x7b,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x64]
+0x6e,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, m0 ; encoding: [0x7c,0x8e,0x00,0x7e]
-0x7c,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x64]
+0x6f,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, exec_lo ; encoding: [0x7e,0x8e,0x00,0x7e]
-0x7e,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x64]
+0x7b,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, exec_hi ; encoding: [0x7f,0x8e,0x00,0x7e]
-0x7f,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x64]
+0x7c,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, 0 ; encoding: [0x80,0x8e,0x00,0x7e]
-0x80,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x64]
+0x7e,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, -1 ; encoding: [0xc1,0x8e,0x00,0x7e]
-0xc1,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x64]
+0x7f,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, 0.5 ; encoding: [0xf0,0x8e,0x00,0x7e]
-0xf0,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x64]
+0x80,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, -4.0 ; encoding: [0xf7,0x8e,0x00,0x7e]
-0xf7,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x64]
+0xc1,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, scc ; encoding: [0xfd,0x8e,0x00,0x7e]
-0xfd,0x8e,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x64]
+0xf0,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x8e,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x8e,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_min_i16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x64]
+0xf7,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, 0x3456 ; encoding: [0xff,0x8e,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x8e,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_min_i16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x64]
+0xfd,0x04,0x0a,0x64
-# CHECK: v_rndne_f16_e32 v0, v0 ; encoding: [0x00,0x8f,0x00,0x7e]
-0x00,0x8f,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x64,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x64,0x0b,0xfe,0x00,0x00
-# CHECK: v_rndne_f16_e32 v0, v255 ; encoding: [0xff,0x8f,0x00,0x7e]
-0xff,0x8f,0x00,0x7e
+# CHECK: v_min_i16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x64,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x64,0x56,0x34,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x87,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x64]
+0x01,0x05,0x0a,0x64
-# CHECK: v_rndne_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x87,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x87,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_i16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x64]
+0xff,0x05,0x0a,0x64
-# CHECK: v_rndne_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x87,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_min_i16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x64]
+0x01,0xfe,0x0b,0x64
-# CHECK: v_rndne_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x87,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x32,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x87,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x32,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x32,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x87,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x32,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x32,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x87,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x32,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x32,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x87,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x32,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x32,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x87,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x32,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x87,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x32,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x32,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x87,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x87,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x87,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x87,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x87,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x87,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x87,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x87,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x87,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, scc ; encoding: [0x00,0x00,0x87,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x87,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x87,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x87,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x87,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x87,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x87,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_min_i16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_rndne_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x87,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x87,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x32,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_rndne_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x87,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x87,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min_i16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x32,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_fract_f16_e32 v0, s0 ; encoding: [0x00,0x90,0x00,0x7e]
-0x00,0x90,0x00,0x7e
+# CHECK: v_min_i16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_fract_f16_e32 v255, s0 ; encoding: [0x00,0x90,0xfe,0x7f]
-0x00,0x90,0xfe,0x7f
+# CHECK: v_min_i16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_fract_f16_e32 v0, s101 ; encoding: [0x65,0x90,0x00,0x7e]
-0x65,0x90,0x00,0x7e
+# CHECK: v_min_i16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_fract_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x90,0x00,0x7e]
-0x66,0x90,0x00,0x7e
+# CHECK: v_min_i16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x32,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x32,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_fract_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x90,0x00,0x7e]
-0x67,0x90,0x00,0x7e
+# CHECK: v_min_i16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x32,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x32,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_fract_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x90,0x00,0x7e]
-0x6a,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x66]
+0x01,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x90,0x00,0x7e]
-0x6b,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v255, s1, v2 ; encoding: [0x01,0x04,0xfe,0x67]
+0x01,0x04,0xfe,0x67
-# CHECK: v_fract_f16_e32 v0, tba_lo ; encoding: [0x6c,0x90,0x00,0x7e]
-0x6c,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x66]
+0x65,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, tba_hi ; encoding: [0x6d,0x90,0x00,0x7e]
-0x6d,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x66]
+0x66,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, tma_lo ; encoding: [0x6e,0x90,0x00,0x7e]
-0x6e,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x66]
+0x67,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, tma_hi ; encoding: [0x6f,0x90,0x00,0x7e]
-0x6f,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x66]
+0x6a,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x90,0x00,0x7e]
-0x7b,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x66]
+0x6b,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, m0 ; encoding: [0x7c,0x90,0x00,0x7e]
-0x7c,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, tba_lo, v2 ; encoding: [0x6c,0x04,0x0a,0x66]
+0x6c,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, exec_lo ; encoding: [0x7e,0x90,0x00,0x7e]
-0x7e,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, tba_hi, v2 ; encoding: [0x6d,0x04,0x0a,0x66]
+0x6d,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, exec_hi ; encoding: [0x7f,0x90,0x00,0x7e]
-0x7f,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, tma_lo, v2 ; encoding: [0x6e,0x04,0x0a,0x66]
+0x6e,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, 0 ; encoding: [0x80,0x90,0x00,0x7e]
-0x80,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, tma_hi, v2 ; encoding: [0x6f,0x04,0x0a,0x66]
+0x6f,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, -1 ; encoding: [0xc1,0x90,0x00,0x7e]
-0xc1,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, ttmp11, v2 ; encoding: [0x7b,0x04,0x0a,0x66]
+0x7b,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, 0.5 ; encoding: [0xf0,0x90,0x00,0x7e]
-0xf0,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x66]
+0x7c,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, -4.0 ; encoding: [0xf7,0x90,0x00,0x7e]
-0xf7,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x66]
+0x7e,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, scc ; encoding: [0xfd,0x90,0x00,0x7e]
-0xfd,0x90,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x66]
+0x7f,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x90,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x90,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_ldexp_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x66]
+0x80,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, 0x3456 ; encoding: [0xff,0x90,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x90,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_ldexp_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x66]
+0xc1,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, v0 ; encoding: [0x00,0x91,0x00,0x7e]
-0x00,0x91,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x66]
+0xf0,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e32 v0, v255 ; encoding: [0xff,0x91,0x00,0x7e]
-0xff,0x91,0x00,0x7e
+# CHECK: v_ldexp_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x66]
+0xf7,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x88,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e32 v5, scc, v2 ; encoding: [0xfd,0x04,0x0a,0x66]
+0xfd,0x04,0x0a,0x66
-# CHECK: v_fract_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x88,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x88,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e32 v5, 0xfe0b, v2 ; encoding: [0xff,0x04,0x0a,0x66,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x0a,0x66,0x0b,0xfe,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x88,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e32 v5, 0x3456, v2 ; encoding: [0xff,0x04,0x0a,0x66,0x56,0x34,0x00,0x00]
+0xff,0x04,0x0a,0x66,0x56,0x34,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x88,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x66]
+0x01,0x05,0x0a,0x66
-# CHECK: v_fract_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x88,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x66]
+0xff,0x05,0x0a,0x66
-# CHECK: v_fract_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x88,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e32 v5, s1, v255 ; encoding: [0x01,0xfe,0x0b,0x66]
+0x01,0xfe,0x0b,0x66
-# CHECK: v_fract_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x88,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, s2 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x88,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v255, 0, s2 ; encoding: [0xff,0x00,0x33,0xd1,0x80,0x04,0x00,0x00]
+0xff,0x00,0x33,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x88,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, -1, s2 ; encoding: [0x05,0x00,0x33,0xd1,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x33,0xd1,0xc1,0x04,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x88,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0.5, s2 ; encoding: [0x05,0x00,0x33,0xd1,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x33,0xd1,0xf0,0x04,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x88,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, -4.0, s2 ; encoding: [0x05,0x00,0x33,0xd1,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x33,0xd1,0xf7,0x04,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x88,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x33,0xd1,0x01,0x05,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x01,0x05,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x88,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, v255, s2 ; encoding: [0x05,0x00,0x33,0xd1,0xff,0x05,0x00,0x00]
+0x05,0x00,0x33,0xd1,0xff,0x05,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x88,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, s101 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xca,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xca,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x88,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xcc,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x88,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xce,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xce,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x88,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xd4,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x88,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xd6,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x88,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, tba_lo ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xd8,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, scc ; encoding: [0x00,0x00,0x88,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x88,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, tba_hi ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xda,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xda,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x88,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x88,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, tma_lo ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xdc,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x88,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x88,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, tma_hi ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xde,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xde,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x88,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x88,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_ldexp_f16_e64 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xf6,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x88,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x88,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, m0 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xf8,0x00,0x00
-# CHECK: v_fract_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x88,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x88,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ldexp_f16_e64 v5, 0, exec_lo ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xfc,0x00,0x00
-# CHECK: v_sin_f16_e32 v0, s0 ; encoding: [0x00,0x92,0x00,0x7e]
-0x00,0x92,0x00,0x7e
+# CHECK: v_ldexp_f16_e64 v5, 0, exec_hi ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xfe,0x00,0x00
-# CHECK: v_sin_f16_e32 v255, s0 ; encoding: [0x00,0x92,0xfe,0x7f]
-0x00,0x92,0xfe,0x7f
+# CHECK: v_ldexp_f16_e64 v5, 0, 0 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0x00,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x80,0x00,0x01,0x00
-# CHECK: v_sin_f16_e32 v0, s101 ; encoding: [0x65,0x92,0x00,0x7e]
-0x65,0x92,0x00,0x7e
+# CHECK: v_ldexp_f16_e64 v5, 0, -1 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0x82,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x80,0x82,0x01,0x00
-# CHECK: v_sin_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x92,0x00,0x7e]
-0x66,0x92,0x00,0x7e
+# CHECK: v_ldexp_f16_e64 v5, 0, 0.5 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xe0,0x01,0x00
-# CHECK: v_sin_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x92,0x00,0x7e]
-0x67,0x92,0x00,0x7e
+# CHECK: v_ldexp_f16_e64 v5, 0, -4.0 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xee,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xee,0x01,0x00
-# CHECK: v_sin_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x92,0x00,0x7e]
-0x6a,0x92,0x00,0x7e
+# CHECK: v_ldexp_f16_e64 v5, 0, scc ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xfa,0x01,0x00
-# CHECK: v_sin_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x92,0x00,0x7e]
-0x6b,0x92,0x00,0x7e
+# CHECK: v_ldexp_f16_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0x04,0x02,0x00]
+0x05,0x00,0x33,0xd1,0x80,0x04,0x02,0x00
-# CHECK: v_sin_f16_e32 v0, tba_lo ; encoding: [0x6c,0x92,0x00,0x7e]
-0x6c,0x92,0x00,0x7e
+# CHECK: v_ldexp_f16_e64 v5, 0, v255 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x33,0xd1,0x80,0xfe,0x03,0x00
-# CHECK: v_sin_f16_e32 v0, tba_hi ; encoding: [0x6d,0x92,0x00,0x7e]
-0x6d,0x92,0x00,0x7e
+# CHECK: v_ldexp_f16_e64 v5, neg(0), s2 ; encoding: [0x05,0x00,0x33,0xd1,0x80,0x04,0x00,0x20]
+0x05,0x00,0x33,0xd1,0x80,0x04,0x00,0x20
-# CHECK: v_sin_f16_e32 v0, tma_lo ; encoding: [0x6e,0x92,0x00,0x7e]
-0x6e,0x92,0x00,0x7e
+# CHECK: v_ldexp_f16_e64 v5, |0|, s2 ; encoding: [0x05,0x01,0x33,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x01,0x33,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_sin_f16_e32 v0, tma_hi ; encoding: [0x6f,0x92,0x00,0x7e]
-0x6f,0x92,0x00,0x7e
+# CHECK: v_ldexp_f16_e64 v5, 0, s2 clamp ; encoding: [0x05,0x80,0x33,0xd1,0x80,0x04,0x00,0x00]
+0x05,0x80,0x33,0xd1,0x80,0x04,0x00,0x00
-# CHECK: v_sin_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x92,0x00,0x7e]
-0x7b,0x92,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, m0 ; encoding: [0x7c,0x92,0x00,0x7e]
-0x7c,0x92,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xc0,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xc0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, exec_lo ; encoding: [0x7e,0x92,0x00,0x7e]
-0x7e,0x92,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, exec_hi ; encoding: [0x7f,0x92,0x00,0x7e]
-0x7f,0x92,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, 0 ; encoding: [0x80,0x92,0x00,0x7e]
-0x80,0x92,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, -1 ; encoding: [0xc1,0x92,0x00,0x7e]
-0xc1,0x92,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, 0.5 ; encoding: [0xf0,0x92,0x00,0x7e]
-0xf0,0x92,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, -4.0 ; encoding: [0xf7,0x92,0x00,0x7e]
-0xf7,0x92,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, scc ; encoding: [0xfd,0x92,0x00,0x7e]
-0xfd,0x92,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x92,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x92,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, 0x3456 ; encoding: [0xff,0x92,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x92,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, v0 ; encoding: [0x00,0x93,0x00,0x7e]
-0x00,0x93,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_sin_f16_e32 v0, v255 ; encoding: [0xff,0x93,0x00,0x7e]
-0xff,0x93,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x89,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_sin_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x89,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x89,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x89,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x89,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x89,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x89,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x89,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x89,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x89,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x89,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x89,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x89,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xc0,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x89,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xc0,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_sin_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x89,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xc0,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_sin_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x89,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_sin_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x89,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_sin_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x89,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_sin_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x89,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_sin_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x89,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_sin_f16_e64 v0, scc ; encoding: [0x00,0x00,0x89,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x89,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_sin_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x89,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x89,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_sin_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x89,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x89,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_sin_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x89,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x89,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_mad_legacy_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_sin_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x89,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x89,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xc0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xc0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sin_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x89,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x89,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_legacy_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xc0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xc0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, s0 ; encoding: [0x00,0x94,0x00,0x7e]
-0x00,0x94,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xc0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xc0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v255, s0 ; encoding: [0x00,0x94,0xfe,0x7f]
-0x00,0x94,0xfe,0x7f
+# CHECK: v_mad_legacy_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xc0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xc0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, s101 ; encoding: [0x65,0x94,0x00,0x7e]
-0x65,0x94,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xc0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xc0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, flat_scratch_lo ; encoding: [0x66,0x94,0x00,0x7e]
-0x66,0x94,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_cos_f16_e32 v0, flat_scratch_hi ; encoding: [0x67,0x94,0x00,0x7e]
-0x67,0x94,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_cos_f16_e32 v0, vcc_lo ; encoding: [0x6a,0x94,0x00,0x7e]
-0x6a,0x94,0x00,0x7e
+# CHECK: v_mad_legacy_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xc0,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_cos_f16_e32 v0, vcc_hi ; encoding: [0x6b,0x94,0x00,0x7e]
-0x6b,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, tba_lo ; encoding: [0x6c,0x94,0x00,0x7e]
-0x6c,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xc1,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xc1,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, tba_hi ; encoding: [0x6d,0x94,0x00,0x7e]
-0x6d,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, tma_lo ; encoding: [0x6e,0x94,0x00,0x7e]
-0x6e,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, tma_hi ; encoding: [0x6f,0x94,0x00,0x7e]
-0x6f,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, ttmp11 ; encoding: [0x7b,0x94,0x00,0x7e]
-0x7b,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, m0 ; encoding: [0x7c,0x94,0x00,0x7e]
-0x7c,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, exec_lo ; encoding: [0x7e,0x94,0x00,0x7e]
-0x7e,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, exec_hi ; encoding: [0x7f,0x94,0x00,0x7e]
-0x7f,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, 0 ; encoding: [0x80,0x94,0x00,0x7e]
-0x80,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, -1 ; encoding: [0xc1,0x94,0x00,0x7e]
-0xc1,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, 0.5 ; encoding: [0xf0,0x94,0x00,0x7e]
-0xf0,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, -4.0 ; encoding: [0xf7,0x94,0x00,0x7e]
-0xf7,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, scc ; encoding: [0xfd,0x94,0x00,0x7e]
-0xfd,0x94,0x00,0x7e
+# CHECK: v_mad_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, 0xfe0b ; encoding: [0xff,0x94,0x00,0x7e,0x0b,0xfe,0x00,0x00]
-0xff,0x94,0x00,0x7e,0x0b,0xfe,0x00,0x00
+# CHECK: v_mad_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, 0x3456 ; encoding: [0xff,0x94,0x00,0x7e,0x56,0x34,0x00,0x00]
-0xff,0x94,0x00,0x7e,0x56,0x34,0x00,0x00
+# CHECK: v_mad_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, v0 ; encoding: [0x00,0x95,0x00,0x7e]
-0x00,0x95,0x00,0x7e
+# CHECK: v_mad_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_cos_f16_e32 v0, v255 ; encoding: [0xff,0x95,0x00,0x7e]
-0xff,0x95,0x00,0x7e
+# CHECK: v_mad_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, s0 ; encoding: [0x00,0x00,0x8a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_cos_f16_e64 v255, s0 ; encoding: [0xff,0x00,0x8a,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x8a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, s101 ; encoding: [0x00,0x00,0x8a,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x8a,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x8a,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x8a,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x8a,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xc1,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, tba_lo ; encoding: [0x00,0x00,0x8a,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xc1,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_cos_f16_e64 v0, tba_hi ; encoding: [0x00,0x00,0x8a,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xc1,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_cos_f16_e64 v0, tma_lo ; encoding: [0x00,0x00,0x8a,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_cos_f16_e64 v0, tma_hi ; encoding: [0x00,0x00,0x8a,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_cos_f16_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x8a,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_cos_f16_e64 v0, m0 ; encoding: [0x00,0x00,0x8a,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_cos_f16_e64 v0, exec_lo ; encoding: [0x00,0x00,0x8a,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_cos_f16_e64 v0, exec_hi ; encoding: [0x00,0x00,0x8a,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_cos_f16_e64 v0, 0 ; encoding: [0x00,0x00,0x8a,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_cos_f16_e64 v0, -1 ; encoding: [0x00,0x00,0x8a,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_cos_f16_e64 v0, 0.5 ; encoding: [0x00,0x00,0x8a,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_cos_f16_e64 v0, -4.0 ; encoding: [0x00,0x00,0x8a,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xc1,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xc1,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, scc ; encoding: [0x00,0x00,0x8a,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xc1,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xc1,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, v0 ; encoding: [0x00,0x00,0x8a,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xc1,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xc1,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, v255 ; encoding: [0x00,0x00,0x8a,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x8a,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mad_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xc1,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xc1,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, -s0 ; encoding: [0x00,0x00,0x8a,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x8a,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_mad_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xc1,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xc1,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cos_f16_e64 v0, |s0| ; encoding: [0x00,0x01,0x8a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x8a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_cos_f16_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x8a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x8a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_exp_legacy_f32_e32 v0, s0 ; encoding: [0x00,0x96,0x00,0x7e]
-0x00,0x96,0x00,0x7e
+# CHECK: v_mad_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xc1,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_exp_legacy_f32_e32 v255, s0 ; encoding: [0x00,0x96,0xfe,0x7f]
-0x00,0x96,0xfe,0x7f
+# CHECK: v_mad_i32_i24 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, s101 ; encoding: [0x65,0x96,0x00,0x7e]
-0x65,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xc2,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xc2,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x96,0x00,0x7e]
-0x66,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x96,0x00,0x7e]
-0x67,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x96,0x00,0x7e]
-0x6a,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x96,0x00,0x7e]
-0x6b,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, tba_lo ; encoding: [0x6c,0x96,0x00,0x7e]
-0x6c,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, tba_hi ; encoding: [0x6d,0x96,0x00,0x7e]
-0x6d,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, tma_lo ; encoding: [0x6e,0x96,0x00,0x7e]
-0x6e,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, tma_hi ; encoding: [0x6f,0x96,0x00,0x7e]
-0x6f,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x96,0x00,0x7e]
-0x7b,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, m0 ; encoding: [0x7c,0x96,0x00,0x7e]
-0x7c,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, exec_lo ; encoding: [0x7e,0x96,0x00,0x7e]
-0x7e,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, exec_hi ; encoding: [0x7f,0x96,0x00,0x7e]
-0x7f,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, 0 ; encoding: [0x80,0x96,0x00,0x7e]
-0x80,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, -1 ; encoding: [0xc1,0x96,0x00,0x7e]
-0xc1,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, 0.5 ; encoding: [0xf0,0x96,0x00,0x7e]
-0xf0,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, -4.0 ; encoding: [0xf7,0x96,0x00,0x7e]
-0xf7,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, scc ; encoding: [0xfd,0x96,0x00,0x7e]
-0xfd,0x96,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x96,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x96,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_mad_i32_i24 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x96,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x96,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_mad_i32_i24 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, v0 ; encoding: [0x00,0x97,0x00,0x7e]
-0x00,0x97,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_exp_legacy_f32_e32 v0, v255 ; encoding: [0xff,0x97,0x00,0x7e]
-0xff,0x97,0x00,0x7e
+# CHECK: v_mad_i32_i24 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x8b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_i32_i24 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x8b,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x8b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_i32_i24 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xc2,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x8b,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_mad_i32_i24 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xc2,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x8b,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_mad_i32_i24 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xc2,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x8b,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_mad_i32_i24 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xc2,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_exp_legacy_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x8b,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_mad_i32_i24 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xc2,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_exp_legacy_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x8b,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_mad_i32_i24 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xc2,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_exp_legacy_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x8b,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_mad_i32_i24 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xc2,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_exp_legacy_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x8b,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_mad_i32_i24 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xc2,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xc2,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_exp_legacy_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x8b,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x8b,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xc3,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xc3,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x8b,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x8b,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x8b,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x8b,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x8b,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x8b,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x8b,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x8b,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, scc ; encoding: [0x00,0x00,0x8b,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x8b,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x8b,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x8b,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x8b,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x8b,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_mad_u32_u24 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x8b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x8b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x8b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x8b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_u32_u24 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x8b,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x8b,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_mad_u32_u24 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x8b,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x8b,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_mad_u32_u24 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_exp_legacy_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x8b,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x8b,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_mad_u32_u24 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, s0 ; encoding: [0x00,0x98,0x00,0x7e]
-0x00,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v255, s0 ; encoding: [0x00,0x98,0xfe,0x7f]
-0x00,0x98,0xfe,0x7f
+# CHECK: v_mad_u32_u24 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, s101 ; encoding: [0x65,0x98,0x00,0x7e]
-0x65,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, flat_scratch_lo ; encoding: [0x66,0x98,0x00,0x7e]
-0x66,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, flat_scratch_hi ; encoding: [0x67,0x98,0x00,0x7e]
-0x67,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, vcc_lo ; encoding: [0x6a,0x98,0x00,0x7e]
-0x6a,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xc3,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, vcc_hi ; encoding: [0x6b,0x98,0x00,0x7e]
-0x6b,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xc3,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_log_legacy_f32_e32 v0, tba_lo ; encoding: [0x6c,0x98,0x00,0x7e]
-0x6c,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xc3,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_log_legacy_f32_e32 v0, tba_hi ; encoding: [0x6d,0x98,0x00,0x7e]
-0x6d,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xc3,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_log_legacy_f32_e32 v0, tma_lo ; encoding: [0x6e,0x98,0x00,0x7e]
-0x6e,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xc3,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_log_legacy_f32_e32 v0, tma_hi ; encoding: [0x6f,0x98,0x00,0x7e]
-0x6f,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xc3,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_log_legacy_f32_e32 v0, ttmp11 ; encoding: [0x7b,0x98,0x00,0x7e]
-0x7b,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xc3,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_log_legacy_f32_e32 v0, m0 ; encoding: [0x7c,0x98,0x00,0x7e]
-0x7c,0x98,0x00,0x7e
+# CHECK: v_mad_u32_u24 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xc3,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xc3,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_log_legacy_f32_e32 v0, exec_lo ; encoding: [0x7e,0x98,0x00,0x7e]
-0x7e,0x98,0x00,0x7e
+# CHECK: v_cubeid_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, exec_hi ; encoding: [0x7f,0x98,0x00,0x7e]
-0x7f,0x98,0x00,0x7e
+# CHECK: v_cubeid_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xc4,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xc4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, 0 ; encoding: [0x80,0x98,0x00,0x7e]
-0x80,0x98,0x00,0x7e
+# CHECK: v_cubeid_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, -1 ; encoding: [0xc1,0x98,0x00,0x7e]
-0xc1,0x98,0x00,0x7e
+# CHECK: v_cubeid_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, 0.5 ; encoding: [0xf0,0x98,0x00,0x7e]
-0xf0,0x98,0x00,0x7e
+# CHECK: v_cubeid_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, -4.0 ; encoding: [0xf7,0x98,0x00,0x7e]
-0xf7,0x98,0x00,0x7e
+# CHECK: v_cubeid_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, scc ; encoding: [0xfd,0x98,0x00,0x7e]
-0xfd,0x98,0x00,0x7e
+# CHECK: v_cubeid_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, 0xaf123456 ; encoding: [0xff,0x98,0x00,0x7e,0x56,0x34,0x12,0xaf]
-0xff,0x98,0x00,0x7e,0x56,0x34,0x12,0xaf
+# CHECK: v_cubeid_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, 0x3f717273 ; encoding: [0xff,0x98,0x00,0x7e,0x73,0x72,0x71,0x3f]
-0xff,0x98,0x00,0x7e,0x73,0x72,0x71,0x3f
+# CHECK: v_cubeid_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, v0 ; encoding: [0x00,0x99,0x00,0x7e]
-0x00,0x99,0x00,0x7e
+# CHECK: v_cubeid_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e32 v0, v255 ; encoding: [0xff,0x99,0x00,0x7e]
-0xff,0x99,0x00,0x7e
+# CHECK: v_cubeid_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, s0 ; encoding: [0x00,0x00,0x8c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v255, s0 ; encoding: [0xff,0x00,0x8c,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x8c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, s101 ; encoding: [0x00,0x00,0x8c,0xd1,0x65,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x65,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, flat_scratch_lo ; encoding: [0x00,0x00,0x8c,0xd1,0x66,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x66,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, flat_scratch_hi ; encoding: [0x00,0x00,0x8c,0xd1,0x67,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x67,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, vcc_lo ; encoding: [0x00,0x00,0x8c,0xd1,0x6a,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x6a,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, vcc_hi ; encoding: [0x00,0x00,0x8c,0xd1,0x6b,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x6b,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, tba_lo ; encoding: [0x00,0x00,0x8c,0xd1,0x6c,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x6c,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, tba_hi ; encoding: [0x00,0x00,0x8c,0xd1,0x6d,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x6d,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, tma_lo ; encoding: [0x00,0x00,0x8c,0xd1,0x6e,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x6e,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, tma_hi ; encoding: [0x00,0x00,0x8c,0xd1,0x6f,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x6f,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, ttmp11 ; encoding: [0x00,0x00,0x8c,0xd1,0x7b,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x7b,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, m0 ; encoding: [0x00,0x00,0x8c,0xd1,0x7c,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x7c,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, exec_lo ; encoding: [0x00,0x00,0x8c,0xd1,0x7e,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x7e,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xc4,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, exec_hi ; encoding: [0x00,0x00,0x8c,0xd1,0x7f,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x7f,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xc4,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_log_legacy_f32_e64 v0, 0 ; encoding: [0x00,0x00,0x8c,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xc4,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_log_legacy_f32_e64 v0, -1 ; encoding: [0x00,0x00,0x8c,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_log_legacy_f32_e64 v0, 0.5 ; encoding: [0x00,0x00,0x8c,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_log_legacy_f32_e64 v0, -4.0 ; encoding: [0x00,0x00,0x8c,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_log_legacy_f32_e64 v0, scc ; encoding: [0x00,0x00,0x8c,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_log_legacy_f32_e64 v0, v0 ; encoding: [0x00,0x00,0x8c,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_log_legacy_f32_e64 v0, v255 ; encoding: [0x00,0x00,0x8c,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x8c,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cubeid_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_log_legacy_f32_e64 v0, -s0 ; encoding: [0x00,0x00,0x8c,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x8c,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cubeid_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_log_legacy_f32_e64 v0, |s0| ; encoding: [0x00,0x01,0x8c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x8c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_log_legacy_f32_e64 v0, s0 clamp ; encoding: [0x00,0x80,0x8c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x8c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_log_legacy_f32_e64 v0, s0 mul:2 ; encoding: [0x00,0x00,0x8c,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x8c,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cubeid_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xc4,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xc4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, s0 mul:4 ; encoding: [0x00,0x00,0x8c,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x8c,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cubeid_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xc4,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xc4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_log_legacy_f32_e64 v0, s0 div:2 ; encoding: [0x00,0x00,0x8c,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x8c,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cubeid_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xc4,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xc4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e32 v0, vcc_lo, v0, vcc ; encoding: [0x6a,0x00,0x00,0x00]
-0x6a,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xc4,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xc4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e32 v255, vcc_lo, v0, vcc ; encoding: [0x6a,0x00,0xfe,0x01]
-0x6a,0x00,0xfe,0x01
+# CHECK: v_cubeid_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xc4,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xc4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e32 v0, vcc_hi, v0, vcc ; encoding: [0x6b,0x00,0x00,0x00]
-0x6b,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_cndmask_b32_e32 v0, 0, v0, vcc ; encoding: [0x80,0x00,0x00,0x00]
-0x80,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_cndmask_b32_e32 v0, -1, v0, vcc ; encoding: [0xc1,0x00,0x00,0x00]
-0xc1,0x00,0x00,0x00
+# CHECK: v_cubeid_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xc4,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_cndmask_b32_e32 v0, 0.5, v0, vcc ; encoding: [0xf0,0x00,0x00,0x00]
-0xf0,0x00,0x00,0x00
+# CHECK: v_cubesc_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e32 v0, -4.0, v0, vcc ; encoding: [0xf7,0x00,0x00,0x00]
-0xf7,0x00,0x00,0x00
+# CHECK: v_cubesc_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xc5,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xc5,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e32 v0, scc, v0, vcc ; encoding: [0xfd,0x00,0x00,0x00]
-0xfd,0x00,0x00,0x00
+# CHECK: v_cubesc_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e32 v0, v0, v0, vcc ; encoding: [0x00,0x01,0x00,0x00]
-0x00,0x01,0x00,0x00
+# CHECK: v_cubesc_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e32 v0, v255, v0, vcc ; encoding: [0xff,0x01,0x00,0x00]
-0xff,0x01,0x00,0x00
+# CHECK: v_cubesc_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e32 v0, vcc_lo, v255, vcc ; encoding: [0x6a,0xfe,0x01,0x00]
-0x6a,0xfe,0x01,0x00
+# CHECK: v_cubesc_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, s0, s0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x00,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubesc_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v255, s0, s0, s[0:1] ; encoding: [0xff,0x00,0x00,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x00,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubesc_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, 0, s0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x00,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cubesc_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, -1, s0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x00,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cubesc_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, 0.5, s0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x00,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cubesc_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, -4.0, s0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x00,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cubesc_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, scc, s0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x00,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cubesc_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, v0, s0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x00,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cubesc_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, v255, s0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x00,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cubesc_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, s0, 0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x00,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cubesc_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, s0, -1, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x00,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cubesc_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, s0, 0.5, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x00,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cubesc_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, s0, -4.0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x00,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cubesc_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, s0, scc, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x00,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cubesc_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, s0, v0, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x00,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cubesc_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_cndmask_b32_e64 v0, s0, v255, s[0:1] ; encoding: [0x00,0x00,0x00,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x00,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cubesc_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_add_f32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x02]
-0x00,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_add_f32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x03]
-0x00,0x00,0xfe,0x03
+# CHECK: v_cubesc_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_add_f32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x02]
-0x65,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xc5,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_add_f32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x02]
-0x66,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xc5,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_add_f32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x02]
-0x67,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xc5,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_add_f32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x02]
-0x6a,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_add_f32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x02]
-0x6b,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_add_f32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x02]
-0x6c,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_add_f32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x02]
-0x6d,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_add_f32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x02]
-0x6e,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_add_f32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x02]
-0x6f,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_add_f32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x02]
-0x7b,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_add_f32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x02]
-0x7c,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_add_f32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x02]
-0x7e,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_add_f32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x02]
-0x7f,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xc5,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xc5,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_f32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x02]
-0x80,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xc5,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xc5,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_f32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x02]
-0xc1,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xc5,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xc5,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_f32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x02]
-0xf0,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xc5,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xc5,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_f32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x02]
-0xf7,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xc5,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xc5,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_f32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x02]
-0xfd,0x00,0x00,0x02
+# CHECK: v_cubesc_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_add_f32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x02,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x02,0x56,0x34,0x12,0xaf
+# CHECK: v_cubesc_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_add_f32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x02,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x02,0x73,0x72,0x71,0x3f
+# CHECK: v_cubesc_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xc5,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_add_f32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x02]
-0x00,0x01,0x00,0x02
+# CHECK: v_cubetc_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_f32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x02]
-0xff,0x01,0x00,0x02
+# CHECK: v_cubetc_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xc6,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xc6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_f32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x02]
-0x00,0xfe,0x01,0x02
+# CHECK: v_cubetc_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x01,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x01,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x01,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x01,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x01,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x01,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x01,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x01,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x01,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x01,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x01,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x01,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x01,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cubetc_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x01,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x01,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cubetc_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x01,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cubetc_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x01,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cubetc_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x01,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cubetc_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x01,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cubetc_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x01,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x01,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cubetc_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x01,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cubetc_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x01,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cubetc_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cubetc_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cubetc_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_add_f32_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_cubetc_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_add_f32_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x01,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x01,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x01,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x01,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_add_f32_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x01,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x01,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xc6,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_add_f32_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x01,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x01,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubetc_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xc6,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_add_f32_e64 v0, s0, s0 mul:2 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cubetc_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xc6,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_add_f32_e64 v0, s0, s0 mul:4 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cubetc_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_add_f32_e64 v0, s0, s0 div:2 ; encoding: [0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x01,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cubetc_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_sub_f32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x04]
-0x00,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_sub_f32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x05]
-0x00,0x00,0xfe,0x05
+# CHECK: v_cubetc_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_sub_f32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x04]
-0x65,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_sub_f32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x04]
-0x66,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_sub_f32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x04]
-0x67,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_sub_f32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x04]
-0x6a,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_sub_f32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x04]
-0x6b,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_sub_f32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x04]
-0x6c,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xc6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xc6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x04]
-0x6d,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xc6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xc6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x04]
-0x6e,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xc6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xc6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x04]
-0x6f,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xc6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xc6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x04]
-0x7b,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xc6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xc6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x04]
-0x7c,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_sub_f32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x04]
-0x7e,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_sub_f32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x04]
-0x7f,0x00,0x00,0x04
+# CHECK: v_cubetc_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xc6,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_sub_f32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x04]
-0x80,0x00,0x00,0x04
+# CHECK: v_cubema_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x04]
-0xc1,0x00,0x00,0x04
+# CHECK: v_cubema_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xc7,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xc7,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x04]
-0xf0,0x00,0x00,0x04
+# CHECK: v_cubema_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x04]
-0xf7,0x00,0x00,0x04
+# CHECK: v_cubema_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x04]
-0xfd,0x00,0x00,0x04
+# CHECK: v_cubema_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x04,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x04,0x56,0x34,0x12,0xaf
+# CHECK: v_cubema_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x04,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x04,0x73,0x72,0x71,0x3f
+# CHECK: v_cubema_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x04]
-0x00,0x01,0x00,0x04
+# CHECK: v_cubema_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x04]
-0xff,0x01,0x00,0x04
+# CHECK: v_cubema_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_sub_f32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x04]
-0x00,0xfe,0x01,0x04
+# CHECK: v_cubema_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x02,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x02,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x02,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x02,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x02,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x02,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x02,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x02,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x02,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x02,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x02,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x02,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x02,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cubema_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x02,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x02,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cubema_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x02,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cubema_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x02,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cubema_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x02,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cubema_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x02,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cubema_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x02,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x02,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cubema_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x02,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cubema_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xc7,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_sub_f32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x02,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cubema_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xc7,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_sub_f32_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cubema_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xc7,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_sub_f32_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cubema_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_sub_f32_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_cubema_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_sub_f32_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x02,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x02,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_sub_f32_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x02,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x02,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_sub_f32_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x02,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x02,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_sub_f32_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x02,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x02,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cubema_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_sub_f32_e64 v0, s0, s0 mul:2 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cubema_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_sub_f32_e64 v0, s0, s0 mul:4 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cubema_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_sub_f32_e64 v0, s0, s0 div:2 ; encoding: [0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x02,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cubema_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_subrev_f32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x06]
-0x00,0x00,0x00,0x06
+# CHECK: v_cubema_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xc7,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xc7,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x07]
-0x00,0x00,0xfe,0x07
+# CHECK: v_cubema_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xc7,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xc7,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x06]
-0x65,0x00,0x00,0x06
+# CHECK: v_cubema_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xc7,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xc7,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x06]
-0x66,0x00,0x00,0x06
+# CHECK: v_cubema_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xc7,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xc7,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x06]
-0x67,0x00,0x00,0x06
+# CHECK: v_cubema_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xc7,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xc7,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x06]
-0x6a,0x00,0x00,0x06
+# CHECK: v_cubema_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_subrev_f32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x06]
-0x6b,0x00,0x00,0x06
+# CHECK: v_cubema_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_subrev_f32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x06]
-0x6c,0x00,0x00,0x06
+# CHECK: v_cubema_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xc7,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_subrev_f32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x06]
-0x6d,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x06]
-0x6e,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xc8,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xc8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x06]
-0x6f,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x06]
-0x7b,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x06]
-0x7c,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x06]
-0x7e,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x06]
-0x7f,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x06]
-0x80,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x06]
-0xc1,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x06]
-0xf0,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x06]
-0xf7,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x06]
-0xfd,0x00,0x00,0x06
+# CHECK: v_bfe_u32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x06,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x06,0x56,0x34,0x12,0xaf
+# CHECK: v_bfe_u32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x06,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x06,0x73,0x72,0x71,0x3f
+# CHECK: v_bfe_u32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x06]
-0x00,0x01,0x00,0x06
+# CHECK: v_bfe_u32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x06]
-0xff,0x01,0x00,0x06
+# CHECK: v_bfe_u32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x06]
-0x00,0xfe,0x01,0x06
+# CHECK: v_bfe_u32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfe_u32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x03,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x03,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfe_u32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x03,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x03,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_bfe_u32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x03,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x03,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_bfe_u32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x03,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x03,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_bfe_u32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x03,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x03,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_bfe_u32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x03,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x03,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_bfe_u32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x03,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_bfe_u32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xc8,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x03,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x03,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_bfe_u32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xc8,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_subrev_f32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x03,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_bfe_u32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xc8,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_subrev_f32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x03,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_bfe_u32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xc8,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_subrev_f32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x03,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_bfe_u32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xc8,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_subrev_f32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x03,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_bfe_u32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xc8,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_subrev_f32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x03,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x03,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_bfe_u32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xc8,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_subrev_f32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x03,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_bfe_u32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xc8,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xc8,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_subrev_f32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x03,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_bfe_i32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_bfe_i32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xc9,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xc9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_bfe_i32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_bfe_i32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x03,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x03,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfe_i32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x03,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x03,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfe_i32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x03,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x03,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfe_i32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x03,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x03,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfe_i32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, s0, s0 mul:2 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, s0, s0 mul:4 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_bfe_i32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_subrev_f32_e64 v0, s0, s0 div:2 ; encoding: [0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_bfe_i32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x08]
-0x00,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x09]
-0x00,0x00,0xfe,0x09
+# CHECK: v_bfe_i32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x08]
-0x65,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x08]
-0x66,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x08]
-0x67,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x08]
-0x6a,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x08]
-0x6b,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x08]
-0x6c,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x08]
-0x6d,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x08]
-0x6e,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x08]
-0x6f,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x08]
-0x7b,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x08]
-0x7c,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x08]
-0x7e,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xc9,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x08]
-0x7f,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xc9,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x08]
-0x80,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xc9,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x08]
-0xc1,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xc9,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_mul_legacy_f32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x08]
-0xf0,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xc9,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_mul_legacy_f32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x08]
-0xf7,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xc9,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_mul_legacy_f32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x08]
-0xfd,0x00,0x00,0x08
+# CHECK: v_bfe_i32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xc9,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_mul_legacy_f32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x08,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x08,0x56,0x34,0x12,0xaf
+# CHECK: v_bfe_i32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xc9,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xc9,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_mul_legacy_f32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x08,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x08,0x73,0x72,0x71,0x3f
+# CHECK: v_bfi_b32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x08]
-0x00,0x01,0x00,0x08
+# CHECK: v_bfi_b32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xca,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xca,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x08]
-0xff,0x01,0x00,0x08
+# CHECK: v_bfi_b32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x08]
-0x00,0xfe,0x01,0x08
+# CHECK: v_bfi_b32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x04,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x04,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x04,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x04,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x04,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x04,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x04,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x04,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x04,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x04,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x04,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x04,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x04,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_bfi_b32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x04,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x04,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_bfi_b32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x04,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_bfi_b32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x04,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_bfi_b32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x04,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_bfi_b32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x04,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_bfi_b32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x04,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x04,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_bfi_b32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x04,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_bfi_b32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x04,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_bfi_b32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xca,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_bfi_b32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_bfi_b32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xca,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_bfi_b32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x04,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x04,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x04,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x04,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xca,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x04,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x04,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xca,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x04,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x04,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_bfi_b32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xca,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_mul_legacy_f32_e64 v0, s0, s0 mul:2 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_bfi_b32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xca,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_mul_legacy_f32_e64 v0, s0, s0 mul:4 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_bfi_b32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xca,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_mul_legacy_f32_e64 v0, s0, s0 div:2 ; encoding: [0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x04,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_bfi_b32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xca,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_mul_f32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x0a]
-0x00,0x00,0x00,0x0a
+# CHECK: v_bfi_b32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xca,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_mul_f32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x0b]
-0x00,0x00,0xfe,0x0b
+# CHECK: v_bfi_b32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xca,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xca,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_mul_f32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x0a]
-0x65,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x0a]
-0x66,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xcb,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xcb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x0a]
-0x67,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x0a]
-0x6a,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x0a]
-0x6b,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x0a]
-0x6c,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x0a]
-0x6d,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x0a]
-0x6e,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x0a]
-0x6f,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x0a]
-0x7b,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x0a]
-0x7c,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x0a]
-0x7e,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x0a]
-0x7f,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x0a]
-0x80,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x0a]
-0xc1,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x0a]
-0xf0,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x0a]
-0xf7,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x0a]
-0xfd,0x00,0x00,0x0a
+# CHECK: v_fma_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x0a,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x0a,0x56,0x34,0x12,0xaf
+# CHECK: v_fma_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x0a,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x0a,0x73,0x72,0x71,0x3f
+# CHECK: v_fma_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x0a]
-0x00,0x01,0x00,0x0a
+# CHECK: v_fma_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x0a]
-0xff,0x01,0x00,0x0a
+# CHECK: v_fma_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_mul_f32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x0a]
-0x00,0xfe,0x01,0x0a
+# CHECK: v_fma_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_mul_f32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x05,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x05,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xcb,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x05,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x05,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xcb,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_mul_f32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x05,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x05,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xcb,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_mul_f32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x05,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x05,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_mul_f32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x05,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x05,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_mul_f32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x05,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x05,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_mul_f32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x05,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_mul_f32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x05,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x05,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_mul_f32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x05,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_fma_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_mul_f32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x05,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_fma_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_mul_f32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x05,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_fma_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_mul_f32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x05,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_fma_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_mul_f32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x05,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x05,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_fma_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xcb,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xcb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x05,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_fma_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xcb,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xcb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x05,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_fma_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xcb,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xcb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_fma_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xcb,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xcb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_fma_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xcb,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xcb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_fma_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_mul_f32_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x05,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x05,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_mul_f32_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x05,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x05,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fma_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xcb,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_mul_f32_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x05,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x05,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x05,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x05,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fma_f64 v[254:255], s[2:3], 0, 0 ; encoding: [0xfe,0x00,0xcc,0xd1,0x02,0x00,0x01,0x02]
+0xfe,0x00,0xcc,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, s0, s0 mul:2 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_fma_f64 v[5:6], s[4:5], 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x04,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x04,0x00,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, s0, s0 mul:4 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_fma_f64 v[5:6], s[100:101], 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x64,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x64,0x00,0x01,0x02
-# CHECK: v_mul_f32_e64 v0, s0, s0 div:2 ; encoding: [0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x05,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_fma_f64 v[5:6], flat_scratch, 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x0c]
-0x00,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], vcc, 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x0d]
-0x00,0x00,0xfe,0x0d
+# CHECK: v_fma_f64 v[5:6], tba, 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x0c]
-0x65,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], tma, 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x0c]
-0x66,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], ttmp[10:11], 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x7a,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x7a,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x0c]
-0x67,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], exec, 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x0c]
-0x6a,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], 0, 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x0c]
-0x6b,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], -1, 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x0c]
-0x6c,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], 0.5, 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x0c]
-0x6d,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], -4.0, 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x0c]
-0x6e,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], v[1:2], 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x0c]
-0x6f,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], v[254:255], 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0xfe,0x01,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0xfe,0x01,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x0c]
-0x7b,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], -1, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x82,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x02,0x82,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x0c]
-0x7c,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0.5, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0xe0,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x02,0xe0,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x0c]
-0x7e,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], -4.0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0xee,0x01,0x02]
+0x05,0x00,0xcc,0xd1,0x02,0xee,0x01,0x02
-# CHECK: v_mul_i32_i24_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x0c]
-0x7f,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], v[2:3], 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x04,0x02,0x02]
+0x05,0x00,0xcc,0xd1,0x02,0x04,0x02,0x02
-# CHECK: v_mul_i32_i24_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x0c]
-0x80,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], v[254:255], 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0xfc,0x03,0x02]
+0x05,0x00,0xcc,0xd1,0x02,0xfc,0x03,0x02
-# CHECK: v_mul_i32_i24_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x0c]
-0xc1,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, -1 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x05,0x03]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0x05,0x03
-# CHECK: v_mul_i32_i24_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x0c]
-0xf0,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, 0.5 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xc1,0x03]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0xc1,0x03
-# CHECK: v_mul_i32_i24_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x0c]
-0xf7,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, -4.0 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xdd,0x03]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0xdd,0x03
-# CHECK: v_mul_i32_i24_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x0c]
-0xfd,0x00,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, v[3:4] ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x0d,0x04]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0x0d,0x04
-# CHECK: v_mul_i32_i24_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x0c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x0c,0x56,0x34,0x12,0xaf
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, v[254:255] ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0xf9,0x07]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0xf9,0x07
-# CHECK: v_mul_i32_i24_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x0c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x0c,0x73,0x72,0x71,0x3f
+# CHECK: v_fma_f64 v[5:6], -s[2:3], 0, 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x22]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x22
-# CHECK: v_mul_i32_i24_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x0c]
-0x00,0x01,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], neg(0), 0 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x42]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x42
-# CHECK: v_mul_i32_i24_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x0c]
-0xff,0x01,0x00,0x0c
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, neg(0) ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x82]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x82
-# CHECK: v_mul_i32_i24_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x0c]
-0x00,0xfe,0x01,0x0c
+# CHECK: v_fma_f64 v[5:6], -s[2:3], neg(0), neg(0) ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0xe2]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0xe2
-# CHECK: v_mul_i32_i24_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x06,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x06,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fma_f64 v[5:6], |s[2:3]|, 0, 0 ; encoding: [0x05,0x01,0xcc,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x01,0xcc,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x06,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x06,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fma_f64 v[5:6], s[2:3], |0|, 0 ; encoding: [0x05,0x02,0xcc,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x02,0xcc,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x06,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x06,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, |0| ; encoding: [0x05,0x04,0xcc,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x04,0xcc,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x06,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x06,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_fma_f64 v[5:6], |s[2:3]|, |0|, |0| ; encoding: [0x05,0x07,0xcc,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x07,0xcc,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x06,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x06,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, 0 clamp ; encoding: [0x05,0x80,0xcc,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x80,0xcc,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x06,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x06,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, 0 mul:2 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x0a]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x0a
-# CHECK: v_mul_i32_i24_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x06,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x06,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, 0 mul:4 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x12]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x12
-# CHECK: v_mul_i32_i24_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x06,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x06,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_fma_f64 v[5:6], s[2:3], 0, 0 div:2 ; encoding: [0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x1a]
+0x05,0x00,0xcc,0xd1,0x02,0x00,0x01,0x1a
-# CHECK: v_mul_i32_i24_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x06,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x06,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_lerp_u8 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x06,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x06,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_lerp_u8 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xcd,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xcd,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x06,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x06,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_lerp_u8 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x06,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x06,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_lerp_u8 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x06,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x06,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_lerp_u8 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, s0, scc ; encoding: [0x00,0x00,0x06,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x06,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_lerp_u8 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x06,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x06,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_lerp_u8 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_mul_i32_i24_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x06,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x06,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_lerp_u8 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x0e]
-0x00,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x0f]
-0x00,0x00,0xfe,0x0f
+# CHECK: v_lerp_u8 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x0e]
-0x65,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x0e]
-0x66,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x0e]
-0x67,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x0e]
-0x6a,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x0e]
-0x6b,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x0e]
-0x6c,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x0e]
-0x6d,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x0e]
-0x6e,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x0e]
-0x6f,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x0e]
-0x7b,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x0e]
-0x7c,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x0e]
-0x7e,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x0e]
-0x7f,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x0e]
-0x80,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x0e]
-0xc1,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xcd,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x0e]
-0xf0,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xcd,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x0e]
-0xf7,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xcd,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_mul_hi_i32_i24_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x0e]
-0xfd,0x00,0x00,0x0e
+# CHECK: v_lerp_u8 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xcd,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_mul_hi_i32_i24_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x0e,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x0e,0x56,0x34,0x12,0xaf
+# CHECK: v_lerp_u8 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xcd,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_mul_hi_i32_i24_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x0e,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x0e,0x73,0x72,0x71,0x3f
+# CHECK: v_lerp_u8 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xcd,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_mul_hi_i32_i24_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x0e]
-0x00,0x01,0x00,0x0e
+# CHECK: v_lerp_u8 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xcd,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_mul_hi_i32_i24_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x0e]
-0xff,0x01,0x00,0x0e
+# CHECK: v_lerp_u8 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xcd,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xcd,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_mul_hi_i32_i24_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x0e]
-0x00,0xfe,0x01,0x0e
+# CHECK: v_alignbit_b32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x07,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x07,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_alignbit_b32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xce,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xce,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x07,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x07,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_alignbit_b32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x07,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x07,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_alignbit_b32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x07,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x07,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_alignbit_b32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x07,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x07,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_alignbit_b32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x07,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x07,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_alignbit_b32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x07,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x07,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_alignbit_b32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x07,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x07,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_alignbit_b32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x07,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x07,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_alignbit_b32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x07,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x07,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_alignbit_b32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x07,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x07,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_alignbit_b32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x07,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x07,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_alignbit_b32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x07,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x07,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_alignbit_b32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, s0, scc ; encoding: [0x00,0x00,0x07,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x07,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_alignbit_b32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x07,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x07,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_alignbit_b32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_mul_hi_i32_i24_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x07,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x07,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_alignbit_b32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x10]
-0x00,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x11]
-0x00,0x00,0xfe,0x11
+# CHECK: v_alignbit_b32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x10]
-0x65,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xce,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x10]
-0x66,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x10]
-0x67,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xce,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x10]
-0x6a,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x10]
-0x6b,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x10]
-0x6c,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xce,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x10]
-0x6d,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xce,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_mul_u32_u24_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x10]
-0x6e,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xce,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_mul_u32_u24_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x10]
-0x6f,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xce,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_mul_u32_u24_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x10]
-0x7b,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xce,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_mul_u32_u24_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x10]
-0x7c,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xce,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_mul_u32_u24_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x10]
-0x7e,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xce,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_mul_u32_u24_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x10]
-0x7f,0x00,0x00,0x10
+# CHECK: v_alignbit_b32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xce,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xce,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_mul_u32_u24_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x10]
-0x80,0x00,0x00,0x10
+# CHECK: v_alignbyte_b32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x10]
-0xc1,0x00,0x00,0x10
+# CHECK: v_alignbyte_b32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xcf,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xcf,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x10]
-0xf0,0x00,0x00,0x10
+# CHECK: v_alignbyte_b32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x10]
-0xf7,0x00,0x00,0x10
+# CHECK: v_alignbyte_b32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x10]
-0xfd,0x00,0x00,0x10
+# CHECK: v_alignbyte_b32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x10,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x10,0x56,0x34,0x12,0xaf
+# CHECK: v_alignbyte_b32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x10,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x10,0x73,0x72,0x71,0x3f
+# CHECK: v_alignbyte_b32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x10]
-0x00,0x01,0x00,0x10
+# CHECK: v_alignbyte_b32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x10]
-0xff,0x01,0x00,0x10
+# CHECK: v_alignbyte_b32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x10]
-0x00,0xfe,0x01,0x10
+# CHECK: v_alignbyte_b32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x08,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x08,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_alignbyte_b32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x08,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x08,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_alignbyte_b32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x08,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x08,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_alignbyte_b32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x08,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x08,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_alignbyte_b32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x08,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x08,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_alignbyte_b32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x08,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x08,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_alignbyte_b32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x08,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x08,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_alignbyte_b32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x08,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x08,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_alignbyte_b32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x08,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x08,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_alignbyte_b32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x08,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x08,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_alignbyte_b32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x08,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x08,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_alignbyte_b32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x08,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x08,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_alignbyte_b32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x08,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x08,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_alignbyte_b32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, s0, scc ; encoding: [0x00,0x00,0x08,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x08,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_alignbyte_b32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x08,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x08,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_alignbyte_b32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xcf,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_mul_u32_u24_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x08,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x08,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_alignbyte_b32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xcf,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x12]
-0x00,0x00,0x00,0x12
+# CHECK: v_alignbyte_b32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xcf,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x13]
-0x00,0x00,0xfe,0x13
+# CHECK: v_alignbyte_b32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xcf,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_mul_hi_u32_u24_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x12]
-0x65,0x00,0x00,0x12
+# CHECK: v_alignbyte_b32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xcf,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_mul_hi_u32_u24_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x12]
-0x66,0x00,0x00,0x12
+# CHECK: v_alignbyte_b32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xcf,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_mul_hi_u32_u24_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x12]
-0x67,0x00,0x00,0x12
+# CHECK: v_alignbyte_b32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xcf,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_mul_hi_u32_u24_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x12]
-0x6a,0x00,0x00,0x12
+# CHECK: v_alignbyte_b32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xcf,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xcf,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_mul_hi_u32_u24_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x12]
-0x6b,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x12]
-0x6c,0x00,0x00,0x12
+# CHECK: v_min3_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xd0,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xd0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x12]
-0x6d,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x12]
-0x6e,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x12]
-0x6f,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x12]
-0x7b,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x12]
-0x7c,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x12]
-0x7e,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x12]
-0x7f,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x12]
-0x80,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x12]
-0xc1,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x12]
-0xf0,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x12]
-0xf7,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x12]
-0xfd,0x00,0x00,0x12
+# CHECK: v_min3_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x12,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x12,0x56,0x34,0x12,0xaf
+# CHECK: v_min3_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x12,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x12,0x73,0x72,0x71,0x3f
+# CHECK: v_min3_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x12]
-0x00,0x01,0x00,0x12
+# CHECK: v_min3_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x12]
-0xff,0x01,0x00,0x12
+# CHECK: v_min3_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x12]
-0x00,0xfe,0x01,0x12
+# CHECK: v_min3_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x09,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x09,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min3_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x09,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x09,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min3_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x09,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x09,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_min3_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x09,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x09,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_min3_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x09,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x09,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_min3_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x09,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x09,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_min3_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xd0,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_mul_hi_u32_u24_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x09,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x09,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_min3_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xd0,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_mul_hi_u32_u24_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x09,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x09,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_min3_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xd0,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_mul_hi_u32_u24_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x09,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x09,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_min3_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_mul_hi_u32_u24_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x09,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x09,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_min3_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_mul_hi_u32_u24_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x09,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x09,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_min3_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_mul_hi_u32_u24_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x09,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x09,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_min3_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_mul_hi_u32_u24_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x09,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x09,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_min3_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_mul_hi_u32_u24_e64 v0, s0, scc ; encoding: [0x00,0x00,0x09,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x09,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_min3_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_mul_hi_u32_u24_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x09,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x09,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_min3_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_mul_hi_u32_u24_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x09,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x09,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_min3_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_min_f32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x14]
-0x00,0x00,0x00,0x14
+# CHECK: v_min3_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_min_f32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x15]
-0x00,0x00,0xfe,0x15
+# CHECK: v_min3_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xd0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xd0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x14]
-0x65,0x00,0x00,0x14
+# CHECK: v_min3_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xd0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xd0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x14]
-0x66,0x00,0x00,0x14
+# CHECK: v_min3_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xd0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xd0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x14]
-0x67,0x00,0x00,0x14
+# CHECK: v_min3_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xd0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xd0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x14]
-0x6a,0x00,0x00,0x14
+# CHECK: v_min3_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xd0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xd0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x14]
-0x6b,0x00,0x00,0x14
+# CHECK: v_min3_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_min_f32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x14]
-0x6c,0x00,0x00,0x14
+# CHECK: v_min3_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_min_f32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x14]
-0x6d,0x00,0x00,0x14
+# CHECK: v_min3_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xd0,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_min_f32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x14]
-0x6e,0x00,0x00,0x14
+# CHECK: v_min3_i32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x14]
-0x6f,0x00,0x00,0x14
+# CHECK: v_min3_i32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xd1,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xd1,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x14]
-0x7b,0x00,0x00,0x14
+# CHECK: v_min3_i32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x14]
-0x7c,0x00,0x00,0x14
+# CHECK: v_min3_i32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x14]
-0x7e,0x00,0x00,0x14
+# CHECK: v_min3_i32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x14]
-0x7f,0x00,0x00,0x14
+# CHECK: v_min3_i32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x14]
-0x80,0x00,0x00,0x14
+# CHECK: v_min3_i32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x14]
-0xc1,0x00,0x00,0x14
+# CHECK: v_min3_i32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x14]
-0xf0,0x00,0x00,0x14
+# CHECK: v_min3_i32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x14]
-0xf7,0x00,0x00,0x14
+# CHECK: v_min3_i32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x14]
-0xfd,0x00,0x00,0x14
+# CHECK: v_min3_i32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x14,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x14,0x56,0x34,0x12,0xaf
+# CHECK: v_min3_i32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x14,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x14,0x73,0x72,0x71,0x3f
+# CHECK: v_min3_i32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x14]
-0x00,0x01,0x00,0x14
+# CHECK: v_min3_i32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x14]
-0xff,0x01,0x00,0x14
+# CHECK: v_min3_i32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_min_f32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x14]
-0x00,0xfe,0x01,0x14
+# CHECK: v_min3_i32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min3_i32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x0a,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x0a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min3_i32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x0a,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x0a,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_min3_i32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x0a,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x0a,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_min3_i32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x0a,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x0a,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_min3_i32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_min_f32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x0a,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x0a,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_min3_i32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_min_f32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x0a,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x0a,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_min3_i32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_min_f32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x0a,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_min3_i32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_min_f32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x0a,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x0a,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_min3_i32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xd1,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_min_f32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x0a,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_min3_i32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xd1,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_min_f32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x0a,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_min3_i32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xd1,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_min_f32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x0a,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_min3_i32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xd1,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_min_f32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x0a,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_min3_i32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xd1,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_min_f32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x0a,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_min3_i32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xd1,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_min_f32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x0a,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_min3_i32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xd1,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_min_f32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x0a,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_min3_i32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xd1,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xd1,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_min_f32_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_min3_u32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_min3_u32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xd2,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xd2,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_min3_u32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x0a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x0a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min3_u32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x0a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x0a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min3_u32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x0a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x0a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min3_u32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x0a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x0a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_min3_u32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, s0, s0 mul:2 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_min3_u32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, s0, s0 mul:4 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_min3_u32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_min_f32_e64 v0, s0, s0 div:2 ; encoding: [0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x0a,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_min3_u32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x16]
-0x00,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x17]
-0x00,0x00,0xfe,0x17
+# CHECK: v_min3_u32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x16]
-0x65,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x16]
-0x66,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x16]
-0x67,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x16]
-0x6a,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x16]
-0x6b,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x16]
-0x6c,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x16]
-0x6d,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x16]
-0x6e,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x16]
-0x6f,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_max_f32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x16]
-0x7b,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_max_f32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x16]
-0x7c,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_max_f32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x16]
-0x7e,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_max_f32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x16]
-0x7f,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xd2,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_max_f32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x16]
-0x80,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xd2,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_max_f32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x16]
-0xc1,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xd2,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_max_f32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x16]
-0xf0,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xd2,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_max_f32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x16]
-0xf7,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xd2,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_max_f32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x16]
-0xfd,0x00,0x00,0x16
+# CHECK: v_min3_u32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xd2,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_max_f32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x16,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x16,0x56,0x34,0x12,0xaf
+# CHECK: v_min3_u32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xd2,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_max_f32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x16,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x16,0x73,0x72,0x71,0x3f
+# CHECK: v_min3_u32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xd2,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xd2,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_max_f32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x16]
-0x00,0x01,0x00,0x16
+# CHECK: v_max3_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x16]
-0xff,0x01,0x00,0x16
+# CHECK: v_max3_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xd3,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xd3,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_max_f32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x16]
-0x00,0xfe,0x01,0x16
+# CHECK: v_max3_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x0b,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x0b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x0b,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x0b,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x0b,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x0b,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x0b,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x0b,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x0b,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x0b,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x0b,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x0b,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x0b,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_max3_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x0b,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x0b,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_max3_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x0b,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_max3_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x0b,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_max3_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x0b,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_max3_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x0b,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_max3_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x0b,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_max3_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x0b,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_max3_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x0b,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_max3_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_max3_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_max3_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_max_f32_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_max3_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_max_f32_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x0b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x0b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x0b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x0b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_max_f32_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x0b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x0b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xd3,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_max_f32_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x0b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x0b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max3_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xd3,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_max_f32_e64 v0, s0, s0 mul:2 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_max3_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xd3,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_max_f32_e64 v0, s0, s0 mul:4 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_max3_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_max_f32_e64 v0, s0, s0 div:2 ; encoding: [0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0x0b,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_min_i32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x18]
-0x00,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_min_i32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x19]
-0x00,0x00,0xfe,0x19
+# CHECK: v_max3_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_min_i32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x18]
-0x65,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_min_i32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x18]
-0x66,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_min_i32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x18]
-0x67,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_min_i32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x18]
-0x6a,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_min_i32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x18]
-0x6b,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_min_i32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x18]
-0x6c,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xd3,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xd3,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x18]
-0x6d,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xd3,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xd3,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x18]
-0x6e,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xd3,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xd3,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x18]
-0x6f,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xd3,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xd3,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x18]
-0x7b,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xd3,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xd3,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x18]
-0x7c,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_min_i32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x18]
-0x7e,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_min_i32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x18]
-0x7f,0x00,0x00,0x18
+# CHECK: v_max3_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xd3,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_min_i32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x18]
-0x80,0x00,0x00,0x18
+# CHECK: v_max3_i32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x18]
-0xc1,0x00,0x00,0x18
+# CHECK: v_max3_i32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xd4,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xd4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x18]
-0xf0,0x00,0x00,0x18
+# CHECK: v_max3_i32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x18]
-0xf7,0x00,0x00,0x18
+# CHECK: v_max3_i32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x18]
-0xfd,0x00,0x00,0x18
+# CHECK: v_max3_i32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x18,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x18,0x56,0x34,0x12,0xaf
+# CHECK: v_max3_i32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x18,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x18,0x73,0x72,0x71,0x3f
+# CHECK: v_max3_i32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x18]
-0x00,0x01,0x00,0x18
+# CHECK: v_max3_i32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x18]
-0xff,0x01,0x00,0x18
+# CHECK: v_max3_i32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_min_i32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x18]
-0x00,0xfe,0x01,0x18
+# CHECK: v_max3_i32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x0c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max3_i32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x0c,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x0c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max3_i32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x0c,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_max3_i32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x0c,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_max3_i32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x0c,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_max3_i32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x0c,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_max3_i32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x0c,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x0c,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_max3_i32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x0c,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x0c,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_max3_i32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x0c,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x0c,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_max3_i32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x0c,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x0c,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_max3_i32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_min_i32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x0c,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x0c,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_max3_i32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_min_i32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x0c,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x0c,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_max3_i32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_min_i32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x0c,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x0c,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_max3_i32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_min_i32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x0c,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x0c,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_max3_i32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_min_i32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x0c,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x0c,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_max3_i32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xd4,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_min_i32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x0c,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x0c,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_max3_i32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xd4,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_max_i32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x1a]
-0x00,0x00,0x00,0x1a
+# CHECK: v_max3_i32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xd4,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_max_i32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x1b]
-0x00,0x00,0xfe,0x1b
+# CHECK: v_max3_i32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xd4,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_max_i32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x1a]
-0x65,0x00,0x00,0x1a
+# CHECK: v_max3_i32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xd4,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_max_i32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x1a]
-0x66,0x00,0x00,0x1a
+# CHECK: v_max3_i32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xd4,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_max_i32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x1a]
-0x67,0x00,0x00,0x1a
+# CHECK: v_max3_i32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xd4,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_max_i32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x1a]
-0x6a,0x00,0x00,0x1a
+# CHECK: v_max3_i32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xd4,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xd4,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_max_i32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x1a]
-0x6b,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x1a]
-0x6c,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xd5,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xd5,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x1a]
-0x6d,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x1a]
-0x6e,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x1a]
-0x6f,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x1a]
-0x7b,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x1a]
-0x7c,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x1a]
-0x7e,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x1a]
-0x7f,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x1a]
-0x80,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x1a]
-0xc1,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x1a]
-0xf0,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x1a]
-0xf7,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x1a]
-0xfd,0x00,0x00,0x1a
+# CHECK: v_max3_u32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x1a,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x1a,0x56,0x34,0x12,0xaf
+# CHECK: v_max3_u32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x1a,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x1a,0x73,0x72,0x71,0x3f
+# CHECK: v_max3_u32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x1a]
-0x00,0x01,0x00,0x1a
+# CHECK: v_max3_u32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x1a]
-0xff,0x01,0x00,0x1a
+# CHECK: v_max3_u32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_max_i32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x1a]
-0x00,0xfe,0x01,0x1a
+# CHECK: v_max3_u32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_max_i32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x0d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max3_u32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_max_i32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x0d,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x0d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max3_u32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_max_i32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x0d,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x0d,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_max3_u32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_max_i32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x0d,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x0d,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_max3_u32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_max_i32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x0d,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x0d,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_max3_u32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_max_i32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x0d,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x0d,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_max3_u32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xd5,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_max_i32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x0d,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x0d,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_max3_u32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xd5,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_max_i32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x0d,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x0d,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_max3_u32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xd5,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_max_i32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x0d,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x0d,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_max3_u32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xd5,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_max_i32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x0d,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x0d,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_max3_u32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xd5,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_max_i32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x0d,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x0d,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_max3_u32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xd5,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_max_i32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x0d,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x0d,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_max3_u32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xd5,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_max_i32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x0d,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x0d,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_max3_u32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xd5,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xd5,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_max_i32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x0d,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x0d,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_med3_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_max_i32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x0d,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x0d,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_med3_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xd6,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xd6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_max_i32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x0d,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x0d,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_med3_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x1c]
-0x00,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x1d]
-0x00,0x00,0xfe,0x1d
+# CHECK: v_med3_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x1c]
-0x65,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x1c]
-0x66,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x1c]
-0x67,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x1c]
-0x6a,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x1c]
-0x6b,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x1c]
-0x6c,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x1c]
-0x6d,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x1c]
-0x6e,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x1c]
-0x6f,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x1c]
-0x7b,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x1c]
-0x7c,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x1c]
-0x7e,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x1c]
-0x7f,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x1c]
-0x80,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x1c]
-0xc1,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_min_u32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x1c]
-0xf0,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_min_u32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x1c]
-0xf7,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_min_u32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x1c]
-0xfd,0x00,0x00,0x1c
+# CHECK: v_med3_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_min_u32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x1c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x1c,0x56,0x34,0x12,0xaf
+# CHECK: v_med3_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_min_u32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x1c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x1c,0x73,0x72,0x71,0x3f
+# CHECK: v_med3_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xd6,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_min_u32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x1c]
-0x00,0x01,0x00,0x1c
+# CHECK: v_med3_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xd6,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_min_u32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x1c]
-0xff,0x01,0x00,0x1c
+# CHECK: v_med3_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xd6,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_min_u32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x1c]
-0x00,0xfe,0x01,0x1c
+# CHECK: v_med3_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_min_u32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x0e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_med3_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_min_u32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x0e,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x0e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_med3_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_min_u32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x0e,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x0e,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_med3_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_min_u32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x0e,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x0e,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_med3_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_min_u32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x0e,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x0e,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_med3_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_min_u32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x0e,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x0e,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_med3_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_min_u32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x0e,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x0e,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_med3_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_min_u32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x0e,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x0e,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_med3_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_min_u32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x0e,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x0e,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_med3_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xd6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xd6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_u32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x0e,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x0e,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_med3_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xd6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xd6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_u32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x0e,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x0e,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_med3_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xd6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xd6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_u32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x0e,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x0e,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_med3_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xd6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xd6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_u32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x0e,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x0e,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_med3_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xd6,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xd6,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_min_u32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x0e,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x0e,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_med3_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_min_u32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x0e,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x0e,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_med3_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_min_u32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x0e,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x0e,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_med3_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xd6,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_max_u32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x1e]
-0x00,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x1f]
-0x00,0x00,0xfe,0x1f
+# CHECK: v_med3_i32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xd7,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xd7,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x1e]
-0x65,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x1e]
-0x66,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x1e]
-0x67,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x1e]
-0x6a,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x1e]
-0x6b,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x1e]
-0x6c,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x1e]
-0x6d,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x1e]
-0x6e,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x1e]
-0x6f,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x1e]
-0x7b,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x1e]
-0x7c,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x1e]
-0x7e,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x1e]
-0x7f,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x1e]
-0x80,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x1e]
-0xc1,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x1e]
-0xf0,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x1e]
-0xf7,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x1e]
-0xfd,0x00,0x00,0x1e
+# CHECK: v_med3_i32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_max_u32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x1e,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x1e,0x56,0x34,0x12,0xaf
+# CHECK: v_med3_i32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_max_u32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x1e,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x1e,0x73,0x72,0x71,0x3f
+# CHECK: v_med3_i32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_max_u32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x1e]
-0x00,0x01,0x00,0x1e
+# CHECK: v_med3_i32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_max_u32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x1e]
-0xff,0x01,0x00,0x1e
+# CHECK: v_med3_i32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_max_u32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x1e]
-0x00,0xfe,0x01,0x1e
+# CHECK: v_med3_i32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xd7,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_max_u32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x0f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x0f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_med3_i32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xd7,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_max_u32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x0f,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x0f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_med3_i32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xd7,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_max_u32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x0f,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x0f,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_med3_i32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xd7,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_max_u32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x0f,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x0f,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_med3_i32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xd7,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_max_u32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x0f,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x0f,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_med3_i32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xd7,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_max_u32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x0f,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x0f,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_med3_i32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xd7,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_max_u32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x0f,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x0f,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_med3_i32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xd7,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xd7,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_max_u32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x0f,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x0f,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_med3_u32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_max_u32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x0f,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x0f,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_med3_u32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xd8,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xd8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_max_u32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x0f,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x0f,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_med3_u32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_max_u32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x0f,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x0f,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_med3_u32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_max_u32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x0f,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x0f,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_med3_u32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_max_u32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x0f,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x0f,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_med3_u32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_max_u32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x0f,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x0f,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_med3_u32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_max_u32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x0f,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x0f,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_med3_u32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_max_u32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x0f,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x0f,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_med3_u32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x20]
-0x00,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x21]
-0x00,0x00,0xfe,0x21
+# CHECK: v_med3_u32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x20]
-0x65,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x20]
-0x66,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x20]
-0x67,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x20]
-0x6a,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x20]
-0x6b,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x20]
-0x6c,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x20]
-0x6d,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x20]
-0x6e,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x20]
-0x6f,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x20]
-0x7b,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x20]
-0x7c,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x20]
-0x7e,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x20]
-0x7f,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x20]
-0x80,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xd8,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x20]
-0xc1,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xd8,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_lshrrev_b32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x20]
-0xf0,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xd8,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_lshrrev_b32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x20]
-0xf7,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xd8,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_lshrrev_b32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x20]
-0xfd,0x00,0x00,0x20
+# CHECK: v_med3_u32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xd8,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_lshrrev_b32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x20,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x20,0x56,0x34,0x12,0xaf
+# CHECK: v_med3_u32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xd8,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_lshrrev_b32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x20,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x20,0x73,0x72,0x71,0x3f
+# CHECK: v_med3_u32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xd8,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_lshrrev_b32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x20]
-0x00,0x01,0x00,0x20
+# CHECK: v_med3_u32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xd8,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xd8,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_lshrrev_b32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x20]
-0xff,0x01,0x00,0x20
+# CHECK: v_sad_u8 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x20]
-0x00,0xfe,0x01,0x20
+# CHECK: v_sad_u8 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xd9,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xd9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x10,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sad_u8 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x10,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x10,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sad_u8 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x10,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_sad_u8 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x10,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_sad_u8 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x10,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_sad_u8 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x10,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_sad_u8 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x10,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_sad_u8 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x10,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x10,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_sad_u8 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x10,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x10,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_sad_u8 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x10,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x10,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_sad_u8 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x10,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x10,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_sad_u8 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x10,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x10,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_sad_u8 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x10,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x10,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_sad_u8 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x10,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x10,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_sad_u8 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x10,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x10,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_sad_u8 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_lshrrev_b32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x10,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x10,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_sad_u8 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x22]
-0x00,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x23]
-0x00,0x00,0xfe,0x23
+# CHECK: v_sad_u8 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x22]
-0x65,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x22]
-0x66,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x22]
-0x67,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x22]
-0x6a,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x22]
-0x6b,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xd9,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x22]
-0x6c,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xd9,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_ashrrev_i32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x22]
-0x6d,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xd9,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_ashrrev_i32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x22]
-0x6e,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xd9,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_ashrrev_i32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x22]
-0x6f,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xd9,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_ashrrev_i32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x22]
-0x7b,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xd9,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_ashrrev_i32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x22]
-0x7c,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xd9,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_ashrrev_i32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x22]
-0x7e,0x00,0x00,0x22
+# CHECK: v_sad_u8 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xd9,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xd9,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_ashrrev_i32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x22]
-0x7f,0x00,0x00,0x22
+# CHECK: v_sad_hi_u8 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x22]
-0x80,0x00,0x00,0x22
+# CHECK: v_sad_hi_u8 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xda,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xda,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x22]
-0xc1,0x00,0x00,0x22
+# CHECK: v_sad_hi_u8 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x22]
-0xf0,0x00,0x00,0x22
+# CHECK: v_sad_hi_u8 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x22]
-0xf7,0x00,0x00,0x22
+# CHECK: v_sad_hi_u8 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x22]
-0xfd,0x00,0x00,0x22
+# CHECK: v_sad_hi_u8 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x22,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x22,0x56,0x34,0x12,0xaf
+# CHECK: v_sad_hi_u8 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x22,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x22,0x73,0x72,0x71,0x3f
+# CHECK: v_sad_hi_u8 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x22]
-0x00,0x01,0x00,0x22
+# CHECK: v_sad_hi_u8 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x22]
-0xff,0x01,0x00,0x22
+# CHECK: v_sad_hi_u8 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x22]
-0x00,0xfe,0x01,0x22
+# CHECK: v_sad_hi_u8 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x11,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sad_hi_u8 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x11,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x11,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sad_hi_u8 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x11,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_sad_hi_u8 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x11,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_sad_hi_u8 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x11,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_sad_hi_u8 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x11,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_sad_hi_u8 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x11,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_sad_hi_u8 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x11,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x11,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_sad_hi_u8 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x11,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x11,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_sad_hi_u8 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xda,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x11,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x11,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_sad_hi_u8 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x11,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x11,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_sad_hi_u8 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xda,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x11,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x11,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_sad_hi_u8 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x11,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x11,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_sad_hi_u8 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x11,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x11,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_sad_hi_u8 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xda,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_ashrrev_i32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x11,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x11,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_sad_hi_u8 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xda,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_ashrrev_i32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x11,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x11,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_sad_hi_u8 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xda,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_lshlrev_b32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x24]
-0x00,0x00,0x00,0x24
+# CHECK: v_sad_hi_u8 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xda,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_lshlrev_b32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x25]
-0x00,0x00,0xfe,0x25
+# CHECK: v_sad_hi_u8 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xda,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_lshlrev_b32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x24]
-0x65,0x00,0x00,0x24
+# CHECK: v_sad_hi_u8 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xda,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_lshlrev_b32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x24]
-0x66,0x00,0x00,0x24
+# CHECK: v_sad_hi_u8 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xda,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_lshlrev_b32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x24]
-0x67,0x00,0x00,0x24
+# CHECK: v_sad_hi_u8 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xda,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xda,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_lshlrev_b32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x24]
-0x6a,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x24]
-0x6b,0x00,0x00,0x24
+# CHECK: v_sad_u16 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xdb,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xdb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x24]
-0x6c,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x24]
-0x6d,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x24]
-0x6e,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x24]
-0x6f,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x24]
-0x7b,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x24]
-0x7c,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x24]
-0x7e,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x24]
-0x7f,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x24]
-0x80,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x24]
-0xc1,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x24]
-0xf0,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x24]
-0xf7,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x24]
-0xfd,0x00,0x00,0x24
+# CHECK: v_sad_u16 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x24,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x24,0x56,0x34,0x12,0xaf
+# CHECK: v_sad_u16 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x24,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x24,0x73,0x72,0x71,0x3f
+# CHECK: v_sad_u16 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x24]
-0x00,0x01,0x00,0x24
+# CHECK: v_sad_u16 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x24]
-0xff,0x01,0x00,0x24
+# CHECK: v_sad_u16 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x24]
-0x00,0xfe,0x01,0x24
+# CHECK: v_sad_u16 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x12,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sad_u16 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_lshlrev_b32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x12,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x12,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sad_u16 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_lshlrev_b32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x12,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_sad_u16 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_lshlrev_b32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x12,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_sad_u16 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_lshlrev_b32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x12,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_sad_u16 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xdb,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_lshlrev_b32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x12,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_sad_u16 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xdb,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_lshlrev_b32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x12,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_sad_u16 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xdb,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_lshlrev_b32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x12,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x12,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_sad_u16 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xdb,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_lshlrev_b32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x12,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x12,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_sad_u16 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xdb,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_lshlrev_b32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x12,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x12,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_sad_u16 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xdb,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_lshlrev_b32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x12,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x12,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_sad_u16 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xdb,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_lshlrev_b32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x12,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x12,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_sad_u16 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xdb,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xdb,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_lshlrev_b32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x12,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x12,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_sad_u32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x12,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x12,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_sad_u32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xdc,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xdc,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x12,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x12,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_sad_u32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_lshlrev_b32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x12,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x12,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_sad_u32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x26]
-0x00,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x27]
-0x00,0x00,0xfe,0x27
+# CHECK: v_sad_u32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x26]
-0x65,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x26]
-0x66,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x26]
-0x67,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x26]
-0x6a,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x26]
-0x6b,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x26]
-0x6c,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x26]
-0x6d,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x26]
-0x6e,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x26]
-0x6f,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x26]
-0x7b,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x26]
-0x7c,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x26]
-0x7e,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x26]
-0x7f,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x26]
-0x80,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_and_b32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x26]
-0xc1,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_and_b32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x26]
-0xf0,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_and_b32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x26]
-0xf7,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_and_b32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x26]
-0xfd,0x00,0x00,0x26
+# CHECK: v_sad_u32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_and_b32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x26,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x26,0x56,0x34,0x12,0xaf
+# CHECK: v_sad_u32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xdc,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_and_b32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x26,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x26,0x73,0x72,0x71,0x3f
+# CHECK: v_sad_u32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xdc,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_and_b32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x26]
-0x00,0x01,0x00,0x26
+# CHECK: v_sad_u32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xdc,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_and_b32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x26]
-0xff,0x01,0x00,0x26
+# CHECK: v_sad_u32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xdc,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_and_b32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x26]
-0x00,0xfe,0x01,0x26
+# CHECK: v_sad_u32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xdc,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_and_b32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x13,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sad_u32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xdc,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_and_b32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x13,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x13,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_sad_u32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xdc,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_and_b32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x13,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_sad_u32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xdc,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xdc,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_and_b32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x13,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x13,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_pk_u8_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xdd,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xdd,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x13,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x13,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x13,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x13,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x13,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x13,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x13,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x13,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x13,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x13,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x13,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x13,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x13,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x13,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x13,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x13,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x13,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x13,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_and_b32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x13,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x13,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cvt_pk_u8_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x28]
-0x00,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x29]
-0x00,0x00,0xfe,0x29
+# CHECK: v_cvt_pk_u8_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x28]
-0x65,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x28]
-0x66,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x28]
-0x67,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x28]
-0x6a,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x28]
-0x6b,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x28]
-0x6c,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_or_b32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x28]
-0x6d,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_or_b32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x28]
-0x6e,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_or_b32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x28]
-0x6f,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_or_b32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x28]
-0x7b,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xdd,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_or_b32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x28]
-0x7c,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xdd,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_or_b32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x28]
-0x7e,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xdd,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_or_b32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x28]
-0x7f,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xdd,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_or_b32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x28]
-0x80,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xdd,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_or_b32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x28]
-0xc1,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xdd,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_or_b32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x28]
-0xf0,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xdd,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_or_b32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x28]
-0xf7,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xdd,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_or_b32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x28]
-0xfd,0x00,0x00,0x28
+# CHECK: v_cvt_pk_u8_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xdd,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xdd,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_or_b32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x28,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x28,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_pk_u8_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xdd,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xdd,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x28,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x28,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_pk_u8_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xdd,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xdd,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x28]
-0x00,0x01,0x00,0x28
+# CHECK: v_div_fixup_f32 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x28]
-0xff,0x01,0x00,0x28
+# CHECK: v_div_fixup_f32 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xde,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xde,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_or_b32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x28]
-0x00,0xfe,0x01,0x28
+# CHECK: v_div_fixup_f32 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x14,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fixup_f32 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x14,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x14,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fixup_f32 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x14,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_div_fixup_f32 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x14,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_div_fixup_f32 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x14,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_div_fixup_f32 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x14,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_div_fixup_f32 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x14,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_div_fixup_f32 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x14,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x14,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_div_fixup_f32 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x14,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x14,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_div_fixup_f32 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x14,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x14,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_div_fixup_f32 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x14,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x14,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_div_fixup_f32 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x14,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x14,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_div_fixup_f32 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x14,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x14,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_div_fixup_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x14,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x14,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_div_fixup_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x14,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x14,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_div_fixup_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_or_b32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x14,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x14,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_div_fixup_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x2a]
-0x00,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xde,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_xor_b32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x2b]
-0x00,0x00,0xfe,0x2b
+# CHECK: v_div_fixup_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x2a]
-0x65,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xde,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x2a]
-0x66,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x2a]
-0x67,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x2a]
-0x6a,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xde,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x2a]
-0x6b,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xde,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_xor_b32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x2a]
-0x6c,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xde,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_xor_b32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x2a]
-0x6d,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xde,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_xor_b32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x2a]
-0x6e,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xde,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_xor_b32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x2a]
-0x6f,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xde,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_xor_b32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x2a]
-0x7b,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xde,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_xor_b32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x2a]
-0x7c,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xde,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_xor_b32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x2a]
-0x7e,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_xor_b32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x2a]
-0x7f,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_xor_b32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x2a]
-0x80,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_xor_b32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x2a]
-0xc1,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_xor_b32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x2a]
-0xf0,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xde,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xde,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x2a]
-0xf7,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xde,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xde,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x2a]
-0xfd,0x00,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xde,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xde,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x2a,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x2a,0x56,0x34,0x12,0xaf
+# CHECK: v_div_fixup_f32 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xde,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xde,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x2a,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x2a,0x73,0x72,0x71,0x3f
+# CHECK: v_div_fixup_f32 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xde,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xde,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_xor_b32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x2a]
-0x00,0x01,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0, 0 mul:2 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x0a]
+0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x0a
-# CHECK: v_xor_b32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x2a]
-0xff,0x01,0x00,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0, 0 mul:4 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x12]
+0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x12
-# CHECK: v_xor_b32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x2a]
-0x00,0xfe,0x01,0x2a
+# CHECK: v_div_fixup_f32 v5, s1, 0, 0 div:2 ; encoding: [0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x1a]
+0x05,0x00,0xde,0xd1,0x01,0x00,0x01,0x1a
-# CHECK: v_xor_b32_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x15,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x15,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x15,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fixup_f64 v[254:255], s[2:3], 0, 0 ; encoding: [0xfe,0x00,0xdf,0xd1,0x02,0x00,0x01,0x02]
+0xfe,0x00,0xdf,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x15,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_div_fixup_f64 v[5:6], s[4:5], 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x04,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x04,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x15,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_div_fixup_f64 v[5:6], s[100:101], 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x64,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x64,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x15,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_div_fixup_f64 v[5:6], flat_scratch, 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x15,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_div_fixup_f64 v[5:6], vcc, 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x15,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_div_fixup_f64 v[5:6], tba, 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x15,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x15,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_div_fixup_f64 v[5:6], tma, 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x15,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x15,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_div_fixup_f64 v[5:6], ttmp[10:11], 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x7a,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x7a,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x15,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x15,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_div_fixup_f64 v[5:6], exec, 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x15,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x15,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_div_fixup_f64 v[5:6], 0, 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x15,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x15,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_div_fixup_f64 v[5:6], -1, 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x15,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x15,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_div_fixup_f64 v[5:6], 0.5, 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, s0, scc ; encoding: [0x00,0x00,0x15,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x15,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_div_fixup_f64 v[5:6], -4.0, 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x15,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x15,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_div_fixup_f64 v[5:6], v[1:2], 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_xor_b32_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x15,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x15,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_div_fixup_f64 v[5:6], v[254:255], 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0xfe,0x01,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0xfe,0x01,0x01,0x02
-# CHECK: v_mac_f32_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x2c]
-0x00,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], -1, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x82,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x02,0x82,0x01,0x02
-# CHECK: v_mac_f32_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x2d]
-0x00,0x00,0xfe,0x2d
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0.5, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0xe0,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x02,0xe0,0x01,0x02
-# CHECK: v_mac_f32_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x2c]
-0x65,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], -4.0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0xee,0x01,0x02]
+0x05,0x00,0xdf,0xd1,0x02,0xee,0x01,0x02
-# CHECK: v_mac_f32_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x2c]
-0x66,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], v[2:3], 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x04,0x02,0x02]
+0x05,0x00,0xdf,0xd1,0x02,0x04,0x02,0x02
-# CHECK: v_mac_f32_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x2c]
-0x67,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], v[254:255], 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0xfc,0x03,0x02]
+0x05,0x00,0xdf,0xd1,0x02,0xfc,0x03,0x02
-# CHECK: v_mac_f32_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x2c]
-0x6a,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, -1 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x05,0x03]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0x05,0x03
-# CHECK: v_mac_f32_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x2c]
-0x6b,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, 0.5 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0xc1,0x03]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0xc1,0x03
-# CHECK: v_mac_f32_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x2c]
-0x6c,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, -4.0 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0xdd,0x03]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0xdd,0x03
-# CHECK: v_mac_f32_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x2c]
-0x6d,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, v[3:4] ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x0d,0x04]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0x0d,0x04
-# CHECK: v_mac_f32_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x2c]
-0x6e,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, v[254:255] ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0xf9,0x07]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0xf9,0x07
-# CHECK: v_mac_f32_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x2c]
-0x6f,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], -s[2:3], 0, 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x22]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x22
-# CHECK: v_mac_f32_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x2c]
-0x7b,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], neg(0), 0 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x42]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x42
-# CHECK: v_mac_f32_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x2c]
-0x7c,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, neg(0) ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x82]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x82
-# CHECK: v_mac_f32_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x2c]
-0x7e,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], -s[2:3], neg(0), neg(0) ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0xe2]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0xe2
-# CHECK: v_mac_f32_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x2c]
-0x7f,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], |s[2:3]|, 0, 0 ; encoding: [0x05,0x01,0xdf,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x01,0xdf,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mac_f32_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x2c]
-0x80,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], |0|, 0 ; encoding: [0x05,0x02,0xdf,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x02,0xdf,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mac_f32_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x2c]
-0xc1,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, |0| ; encoding: [0x05,0x04,0xdf,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x04,0xdf,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mac_f32_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x2c]
-0xf0,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], |s[2:3]|, |0|, |0| ; encoding: [0x05,0x07,0xdf,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x07,0xdf,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mac_f32_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x2c]
-0xf7,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, 0 clamp ; encoding: [0x05,0x80,0xdf,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x80,0xdf,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_mac_f32_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x2c]
-0xfd,0x00,0x00,0x2c
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, 0 mul:2 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x0a]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x0a
-# CHECK: v_mac_f32_e32 v0, 0xaf123456, v0 ; encoding: [0xff,0x00,0x00,0x2c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x00,0x2c,0x56,0x34,0x12,0xaf
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, 0 mul:4 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x12]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x12
-# CHECK: v_mac_f32_e32 v0, 0x3f717273, v0 ; encoding: [0xff,0x00,0x00,0x2c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x00,0x2c,0x73,0x72,0x71,0x3f
+# CHECK: v_div_fixup_f64 v[5:6], s[2:3], 0, 0 div:2 ; encoding: [0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x1a]
+0x05,0x00,0xdf,0xd1,0x02,0x00,0x01,0x1a
-# CHECK: v_mac_f32_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x2c]
-0x00,0x01,0x00,0x2c
+# CHECK: v_div_scale_f32 v5, vcc, s1, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mac_f32_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x2c]
-0xff,0x01,0x00,0x2c
+# CHECK: v_div_scale_f32 v255, vcc, s1, 0, 0 ; encoding: [0xff,0x6a,0xe0,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x6a,0xe0,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mac_f32_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x2c]
-0x00,0xfe,0x01,0x2c
+# CHECK: v_div_scale_f32 v5, vcc, s101, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v0, vcc, vcc_lo, v0, vcc ; encoding: [0x6a,0x00,0x00,0x38]
-0x6a,0x00,0x00,0x38
+# CHECK: v_div_scale_f32 v5, vcc, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v255, vcc, vcc_lo, v0, vcc ; encoding: [0x6a,0x00,0xfe,0x39]
-0x6a,0x00,0xfe,0x39
+# CHECK: v_div_scale_f32 v5, vcc, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v0, vcc, vcc_hi, v0, vcc ; encoding: [0x6b,0x00,0x00,0x38]
-0x6b,0x00,0x00,0x38
+# CHECK: v_div_scale_f32 v5, vcc, vcc_lo, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v0, vcc, 0, v0, vcc ; encoding: [0x80,0x00,0x00,0x38]
-0x80,0x00,0x00,0x38
+# CHECK: v_div_scale_f32 v5, vcc, vcc_hi, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v0, vcc, -1, v0, vcc ; encoding: [0xc1,0x00,0x00,0x38]
-0xc1,0x00,0x00,0x38
+# CHECK: v_div_scale_f32 v5, vcc, tba_lo, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v0, vcc, 0.5, v0, vcc ; encoding: [0xf0,0x00,0x00,0x38]
-0xf0,0x00,0x00,0x38
+# CHECK: v_div_scale_f32 v5, vcc, tba_hi, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v0, vcc, -4.0, v0, vcc ; encoding: [0xf7,0x00,0x00,0x38]
-0xf7,0x00,0x00,0x38
+# CHECK: v_div_scale_f32 v5, vcc, tma_lo, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v0, vcc, scc, v0, vcc ; encoding: [0xfd,0x00,0x00,0x38]
-0xfd,0x00,0x00,0x38
+# CHECK: v_div_scale_f32 v5, vcc, tma_hi, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v0, vcc, v0, v0, vcc ; encoding: [0x00,0x01,0x00,0x38]
-0x00,0x01,0x00,0x38
+# CHECK: v_div_scale_f32 v5, vcc, ttmp11, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v0, vcc, v255, v0, vcc ; encoding: [0xff,0x01,0x00,0x38]
-0xff,0x01,0x00,0x38
+# CHECK: v_div_scale_f32 v5, vcc, m0, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_addc_u32_e32 v0, vcc, vcc_lo, v255, vcc ; encoding: [0x6a,0xfe,0x01,0x38]
-0x6a,0xfe,0x01,0x38
+# CHECK: v_div_scale_f32 v5, vcc, exec_lo, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, s[0:1], s0, s0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, exec_hi, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v255, s[0:1], s0, s0, s[0:1] ; encoding: [0xff,0x00,0x1c,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x1c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, 0, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, s[2:3], s0, s0, s[0:1] ; encoding: [0x00,0x02,0x1c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x1c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, -1, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, s[100:101], s0, s0, s[0:1] ; encoding: [0x00,0x64,0x1c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x64,0x1c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, 0.5, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, flat_scratch, s0, s0, s[0:1] ; encoding: [0x00,0x66,0x1c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x66,0x1c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, -4.0, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, vcc, s0, s0, s[0:1] ; encoding: [0x00,0x6a,0x1c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6a,0x1c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, scc, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, tba, s0, s0, s[0:1] ; encoding: [0x00,0x6c,0x1c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6c,0x1c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, v1, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, tma, s0, s0, s[0:1] ; encoding: [0x00,0x6e,0x1c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6e,0x1c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, v255, 0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, ttmp[10:11], s0, s0, s[0:1] ; encoding: [0x00,0x7a,0x1c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x7a,0x1c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, s1, -1, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, s[0:1], 0, s0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x1c,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, s1, 0.5, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, s[0:1], -1, s0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x1c,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, s1, -4.0, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x6a,0xe0,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, s[0:1], 0.5, s0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x1c,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, s1, v2, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x6a,0xe0,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_addc_u32_e64 v0, s[0:1], -4.0, s0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x1c,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, s1, v255, 0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x6a,0xe0,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_addc_u32_e64 v0, s[0:1], scc, s0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x1c,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, s1, 0, -1 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x6a,0xe0,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_addc_u32_e64 v0, s[0:1], v0, s0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x1c,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, s1, 0, 0.5 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x6a,0xe0,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_addc_u32_e64 v0, s[0:1], v255, s0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x1c,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_div_scale_f32 v5, vcc, s1, 0, -4.0 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x6a,0xe0,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_addc_u32_e64 v0, s[0:1], s0, 0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x1c,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_div_scale_f32 v5, vcc, s1, 0, v3 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x6a,0xe0,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_addc_u32_e64 v0, s[0:1], s0, -1, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x1c,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_div_scale_f32 v5, vcc, s1, 0, v255 ; encoding: [0x05,0x6a,0xe0,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x6a,0xe0,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_addc_u32_e64 v0, s[0:1], s0, 0.5, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x1c,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, s[0:1], s0, -4.0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x1c,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_div_scale_f64 v[254:255], vcc, s[2:3], 0, 0 ; encoding: [0xfe,0x6a,0xe1,0xd1,0x02,0x00,0x01,0x02]
+0xfe,0x6a,0xe1,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, s[0:1], s0, scc, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x1c,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[4:5], 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x04,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x04,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, s[0:1], s0, v0, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x1c,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[100:101], 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x64,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x64,0x00,0x01,0x02
-# CHECK: v_addc_u32_e64 v0, s[0:1], s0, v255, s[0:1] ; encoding: [0x00,0x00,0x1c,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x1c,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, flat_scratch, 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_subb_u32_e32 v0, vcc, vcc_lo, v0, vcc ; encoding: [0x6a,0x00,0x00,0x3a]
-0x6a,0x00,0x00,0x3a
+# CHECK: v_div_scale_f64 v[5:6], vcc, vcc, 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_subb_u32_e32 v255, vcc, vcc_lo, v0, vcc ; encoding: [0x6a,0x00,0xfe,0x3b]
-0x6a,0x00,0xfe,0x3b
+# CHECK: v_div_scale_f64 v[5:6], vcc, tba, 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_subb_u32_e32 v0, vcc, vcc_hi, v0, vcc ; encoding: [0x6b,0x00,0x00,0x3a]
-0x6b,0x00,0x00,0x3a
+# CHECK: v_div_scale_f64 v[5:6], vcc, tma, 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_subb_u32_e32 v0, vcc, 0, v0, vcc ; encoding: [0x80,0x00,0x00,0x3a]
-0x80,0x00,0x00,0x3a
+# CHECK: v_div_scale_f64 v[5:6], vcc, ttmp[10:11], 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x7a,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x7a,0x00,0x01,0x02
-# CHECK: v_subb_u32_e32 v0, vcc, -1, v0, vcc ; encoding: [0xc1,0x00,0x00,0x3a]
-0xc1,0x00,0x00,0x3a
+# CHECK: v_div_scale_f64 v[5:6], vcc, exec, 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_subb_u32_e32 v0, vcc, 0.5, v0, vcc ; encoding: [0xf0,0x00,0x00,0x3a]
-0xf0,0x00,0x00,0x3a
+# CHECK: v_div_scale_f64 v[5:6], vcc, 0, 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subb_u32_e32 v0, vcc, -4.0, v0, vcc ; encoding: [0xf7,0x00,0x00,0x3a]
-0xf7,0x00,0x00,0x3a
+# CHECK: v_div_scale_f64 v[5:6], vcc, -1, 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_subb_u32_e32 v0, vcc, scc, v0, vcc ; encoding: [0xfd,0x00,0x00,0x3a]
-0xfd,0x00,0x00,0x3a
+# CHECK: v_div_scale_f64 v[5:6], vcc, 0.5, 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_subb_u32_e32 v0, vcc, v0, v0, vcc ; encoding: [0x00,0x01,0x00,0x3a]
-0x00,0x01,0x00,0x3a
+# CHECK: v_div_scale_f64 v[5:6], vcc, -4.0, 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_subb_u32_e32 v0, vcc, v255, v0, vcc ; encoding: [0xff,0x01,0x00,0x3a]
-0xff,0x01,0x00,0x3a
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[1:2], 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_subb_u32_e32 v0, vcc, vcc_lo, v255, vcc ; encoding: [0x6a,0xfe,0x01,0x3a]
-0x6a,0xfe,0x01,0x3a
+# CHECK: v_div_scale_f64 v[5:6], vcc, v[254:255], 0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0xfe,0x01,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0xfe,0x01,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], s0, s0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], -1, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0x82,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x02,0x82,0x01,0x02
-# CHECK: v_subb_u32_e64 v255, s[0:1], s0, s0, s[0:1] ; encoding: [0xff,0x00,0x1d,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x1d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], 0.5, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0xe0,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x02,0xe0,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[2:3], s0, s0, s[0:1] ; encoding: [0x00,0x02,0x1d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x1d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], -4.0, 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0xee,0x01,0x02]
+0x05,0x6a,0xe1,0xd1,0x02,0xee,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[100:101], s0, s0, s[0:1] ; encoding: [0x00,0x64,0x1d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x64,0x1d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], v[2:3], 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0x04,0x02,0x02]
+0x05,0x6a,0xe1,0xd1,0x02,0x04,0x02,0x02
-# CHECK: v_subb_u32_e64 v0, flat_scratch, s0, s0, s[0:1] ; encoding: [0x00,0x66,0x1d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x66,0x1d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], v[254:255], 0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0xfc,0x03,0x02]
+0x05,0x6a,0xe1,0xd1,0x02,0xfc,0x03,0x02
-# CHECK: v_subb_u32_e64 v0, vcc, s0, s0, s[0:1] ; encoding: [0x00,0x6a,0x1d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6a,0x1d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], 0, -1 ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0x05,0x03]
+0x05,0x6a,0xe1,0xd1,0x02,0x00,0x05,0x03
-# CHECK: v_subb_u32_e64 v0, tba, s0, s0, s[0:1] ; encoding: [0x00,0x6c,0x1d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6c,0x1d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], 0, 0.5 ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0xc1,0x03]
+0x05,0x6a,0xe1,0xd1,0x02,0x00,0xc1,0x03
-# CHECK: v_subb_u32_e64 v0, tma, s0, s0, s[0:1] ; encoding: [0x00,0x6e,0x1d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6e,0x1d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], 0, -4.0 ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0xdd,0x03]
+0x05,0x6a,0xe1,0xd1,0x02,0x00,0xdd,0x03
-# CHECK: v_subb_u32_e64 v0, ttmp[10:11], s0, s0, s[0:1] ; encoding: [0x00,0x7a,0x1d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x7a,0x1d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], 0, v[3:4] ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0x0d,0x04]
+0x05,0x6a,0xe1,0xd1,0x02,0x00,0x0d,0x04
-# CHECK: v_subb_u32_e64 v0, s[0:1], 0, s0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x1d,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_div_scale_f64 v[5:6], vcc, s[2:3], 0, v[254:255] ; encoding: [0x05,0x6a,0xe1,0xd1,0x02,0x00,0xf9,0x07]
+0x05,0x6a,0xe1,0xd1,0x02,0x00,0xf9,0x07
-# CHECK: v_subb_u32_e64 v0, s[0:1], -1, s0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x1d,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_div_fmas_f32 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], 0.5, s0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x1d,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_div_fmas_f32 v255, 0, 0, 0 ; encoding: [0xff,0x00,0xe2,0xd1,0x80,0x00,0x01,0x02]
+0xff,0x00,0xe2,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], -4.0, s0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x1d,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_div_fmas_f32 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xe2,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], scc, s0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x1d,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_div_fmas_f32 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xe2,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], v0, s0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x1d,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_div_fmas_f32 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xe2,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], v255, s0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x1d,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_div_fmas_f32 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xe2,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], s0, 0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x1d,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_div_fmas_f32 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xe2,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], s0, -1, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x1d,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_div_fmas_f32 v5, 0, -1, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x82,0x01,0x02]
+0x05,0x00,0xe2,0xd1,0x80,0x82,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], s0, 0.5, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x1d,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_div_fmas_f32 v5, 0, 0.5, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0xe0,0x01,0x02]
+0x05,0x00,0xe2,0xd1,0x80,0xe0,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], s0, -4.0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x1d,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_div_fmas_f32 v5, 0, -4.0, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0xee,0x01,0x02]
+0x05,0x00,0xe2,0xd1,0x80,0xee,0x01,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], s0, scc, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x1d,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_div_fmas_f32 v5, 0, v2, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x04,0x02,0x02]
+0x05,0x00,0xe2,0xd1,0x80,0x04,0x02,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], s0, v0, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x1d,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_div_fmas_f32 v5, 0, v255, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0xfe,0x03,0x02]
+0x05,0x00,0xe2,0xd1,0x80,0xfe,0x03,0x02
-# CHECK: v_subb_u32_e64 v0, s[0:1], s0, v255, s[0:1] ; encoding: [0x00,0x00,0x1d,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x1d,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_div_fmas_f32 v5, 0, 0, -1 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x05,0x03]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0x05,0x03
-# CHECK: v_subbrev_u32_e32 v0, vcc, vcc_lo, v0, vcc ; encoding: [0x6a,0x00,0x00,0x3c]
-0x6a,0x00,0x00,0x3c
+# CHECK: v_div_fmas_f32 v5, 0, 0, 0.5 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xc1,0x03]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0xc1,0x03
-# CHECK: v_subbrev_u32_e32 v255, vcc, vcc_lo, v0, vcc ; encoding: [0x6a,0x00,0xfe,0x3d]
-0x6a,0x00,0xfe,0x3d
+# CHECK: v_div_fmas_f32 v5, 0, 0, -4.0 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xdd,0x03]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0xdd,0x03
-# CHECK: v_subbrev_u32_e32 v0, vcc, vcc_hi, v0, vcc ; encoding: [0x6b,0x00,0x00,0x3c]
-0x6b,0x00,0x00,0x3c
+# CHECK: v_div_fmas_f32 v5, 0, 0, v3 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x0d,0x04]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0x0d,0x04
-# CHECK: v_subbrev_u32_e32 v0, vcc, 0, v0, vcc ; encoding: [0x80,0x00,0x00,0x3c]
-0x80,0x00,0x00,0x3c
+# CHECK: v_div_fmas_f32 v5, 0, 0, v255 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0xfd,0x07]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0xfd,0x07
-# CHECK: v_subbrev_u32_e32 v0, vcc, -1, v0, vcc ; encoding: [0xc1,0x00,0x00,0x3c]
-0xc1,0x00,0x00,0x3c
+# CHECK: v_div_fmas_f32 v5, neg(0), 0, 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x22]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x22
-# CHECK: v_subbrev_u32_e32 v0, vcc, 0.5, v0, vcc ; encoding: [0xf0,0x00,0x00,0x3c]
-0xf0,0x00,0x00,0x3c
+# CHECK: v_div_fmas_f32 v5, 0, neg(0), 0 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x42]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x42
-# CHECK: v_subbrev_u32_e32 v0, vcc, -4.0, v0, vcc ; encoding: [0xf7,0x00,0x00,0x3c]
-0xf7,0x00,0x00,0x3c
+# CHECK: v_div_fmas_f32 v5, 0, 0, neg(0) ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x82]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x82
-# CHECK: v_subbrev_u32_e32 v0, vcc, scc, v0, vcc ; encoding: [0xfd,0x00,0x00,0x3c]
-0xfd,0x00,0x00,0x3c
+# CHECK: v_div_fmas_f32 v5, neg(0), neg(0), neg(0) ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0xe2]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0xe2
-# CHECK: v_subbrev_u32_e32 v0, vcc, v0, v0, vcc ; encoding: [0x00,0x01,0x00,0x3c]
-0x00,0x01,0x00,0x3c
+# CHECK: v_div_fmas_f32 v5, |0|, 0, 0 ; encoding: [0x05,0x01,0xe2,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x01,0xe2,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subbrev_u32_e32 v0, vcc, v255, v0, vcc ; encoding: [0xff,0x01,0x00,0x3c]
-0xff,0x01,0x00,0x3c
+# CHECK: v_div_fmas_f32 v5, 0, |0|, 0 ; encoding: [0x05,0x02,0xe2,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x02,0xe2,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subbrev_u32_e32 v0, vcc, vcc_lo, v255, vcc ; encoding: [0x6a,0xfe,0x01,0x3c]
-0x6a,0xfe,0x01,0x3c
+# CHECK: v_div_fmas_f32 v5, 0, 0, |0| ; encoding: [0x05,0x04,0xe2,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x04,0xe2,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], s0, s0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fmas_f32 v5, |0|, |0|, |0| ; encoding: [0x05,0x07,0xe2,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x07,0xe2,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subbrev_u32_e64 v255, s[0:1], s0, s0, s[0:1] ; encoding: [0xff,0x00,0x1e,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x1e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fmas_f32 v5, 0, 0, 0 clamp ; encoding: [0x05,0x80,0xe2,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x80,0xe2,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subbrev_u32_e64 v0, s[2:3], s0, s0, s[0:1] ; encoding: [0x00,0x02,0x1e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x1e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fmas_f32 v5, 0, 0, 0 mul:2 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x0a]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x0a
-# CHECK: v_subbrev_u32_e64 v0, s[100:101], s0, s0, s[0:1] ; encoding: [0x00,0x64,0x1e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x64,0x1e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fmas_f32 v5, 0, 0, 0 mul:4 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x12]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x12
-# CHECK: v_subbrev_u32_e64 v0, flat_scratch, s0, s0, s[0:1] ; encoding: [0x00,0x66,0x1e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x66,0x1e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fmas_f32 v5, 0, 0, 0 div:2 ; encoding: [0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x1a]
+0x05,0x00,0xe2,0xd1,0x80,0x00,0x01,0x1a
-# CHECK: v_subbrev_u32_e64 v0, vcc, s0, s0, s[0:1] ; encoding: [0x00,0x6a,0x1e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6a,0x1e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x01
-# CHECK: v_subbrev_u32_e64 v0, tba, s0, s0, s[0:1] ; encoding: [0x00,0x6c,0x1e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6c,0x1e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fmas_f64 v[254:255], vcc, vcc, vcc ; encoding: [0xfe,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+0xfe,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x01
-# CHECK: v_subbrev_u32_e64 v0, tma, s0, s0, s[0:1] ; encoding: [0x00,0x6e,0x1e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6e,0x1e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fmas_f64 v[5:6], 0, vcc, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x80,0xd4,0xa8,0x01]
+0x05,0x00,0xe3,0xd1,0x80,0xd4,0xa8,0x01
-# CHECK: v_subbrev_u32_e64 v0, ttmp[10:11], s0, s0, s[0:1] ; encoding: [0x00,0x7a,0x1e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x7a,0x1e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fmas_f64 v[5:6], -1, vcc, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0xc1,0xd4,0xa8,0x01]
+0x05,0x00,0xe3,0xd1,0xc1,0xd4,0xa8,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], 0, s0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x1e,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_div_fmas_f64 v[5:6], 0.5, vcc, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0xf0,0xd4,0xa8,0x01]
+0x05,0x00,0xe3,0xd1,0xf0,0xd4,0xa8,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], -1, s0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x1e,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_div_fmas_f64 v[5:6], -4.0, vcc, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0xf7,0xd4,0xa8,0x01]
+0x05,0x00,0xe3,0xd1,0xf7,0xd4,0xa8,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], 0.5, s0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x1e,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_div_fmas_f64 v[5:6], v[1:2], vcc, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x01,0xd5,0xa8,0x01]
+0x05,0x00,0xe3,0xd1,0x01,0xd5,0xa8,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], -4.0, s0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x1e,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_div_fmas_f64 v[5:6], v[254:255], vcc, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0xfe,0xd5,0xa8,0x01]
+0x05,0x00,0xe3,0xd1,0xfe,0xd5,0xa8,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], scc, s0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x1e,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, 0, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0x00,0xa9,0x01]
+0x05,0x00,0xe3,0xd1,0x6a,0x00,0xa9,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], v0, s0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x1e,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, -1, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0x82,0xa9,0x01]
+0x05,0x00,0xe3,0xd1,0x6a,0x82,0xa9,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], v255, s0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x1e,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, 0.5, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xe0,0xa9,0x01]
+0x05,0x00,0xe3,0xd1,0x6a,0xe0,0xa9,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], s0, 0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x1e,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, -4.0, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xee,0xa9,0x01]
+0x05,0x00,0xe3,0xd1,0x6a,0xee,0xa9,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], s0, -1, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x1e,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, v[2:3], vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0x04,0xaa,0x01]
+0x05,0x00,0xe3,0xd1,0x6a,0x04,0xaa,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], s0, 0.5, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x1e,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, v[254:255], vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xfc,0xab,0x01]
+0x05,0x00,0xe3,0xd1,0x6a,0xfc,0xab,0x01
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], s0, -4.0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x1e,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, 0 ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x00,0x02]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x00,0x02
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], s0, scc, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x1e,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, -1 ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x04,0x03]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x04,0x03
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], s0, v0, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x1e,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, 0.5 ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xc0,0x03]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xc0,0x03
-# CHECK: v_subbrev_u32_e64 v0, s[0:1], s0, v255, s[0:1] ; encoding: [0x00,0x00,0x1e,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x1e,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, -4.0 ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xdc,0x03]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xdc,0x03
-# CHECK: v_add_f16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x3e]
-0x00,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, v[3:4] ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x0c,0x04]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0x0c,0x04
-# CHECK: v_add_f16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x3f]
-0x00,0x00,0xfe,0x3f
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, v[254:255] ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xf8,0x07]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xf8,0x07
-# CHECK: v_add_f16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x3e]
-0x65,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], -vcc, vcc, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x21]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x21
-# CHECK: v_add_f16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x3e]
-0x66,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], vcc, -vcc, vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x41]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x41
-# CHECK: v_add_f16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x3e]
-0x67,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, -vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x81]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x81
-# CHECK: v_add_f16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x3e]
-0x6a,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], -vcc, -vcc, -vcc ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0xe1]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0xe1
-# CHECK: v_add_f16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x3e]
-0x6b,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], |vcc|, vcc, vcc ; encoding: [0x05,0x01,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+0x05,0x01,0xe3,0xd1,0x6a,0xd4,0xa8,0x01
-# CHECK: v_add_f16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x3e]
-0x6c,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], vcc, |vcc|, vcc ; encoding: [0x05,0x02,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+0x05,0x02,0xe3,0xd1,0x6a,0xd4,0xa8,0x01
-# CHECK: v_add_f16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x3e]
-0x6d,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, |vcc| ; encoding: [0x05,0x04,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+0x05,0x04,0xe3,0xd1,0x6a,0xd4,0xa8,0x01
-# CHECK: v_add_f16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x3e]
-0x6e,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], |vcc|, |vcc|, |vcc| ; encoding: [0x05,0x07,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+0x05,0x07,0xe3,0xd1,0x6a,0xd4,0xa8,0x01
-# CHECK: v_add_f16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x3e]
-0x6f,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, vcc clamp ; encoding: [0x05,0x80,0xe3,0xd1,0x6a,0xd4,0xa8,0x01]
+0x05,0x80,0xe3,0xd1,0x6a,0xd4,0xa8,0x01
-# CHECK: v_add_f16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x3e]
-0x7b,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, vcc mul:2 ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x09]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x09
-# CHECK: v_add_f16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x3e]
-0x7c,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, vcc mul:4 ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x11]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x11
-# CHECK: v_add_f16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x3e]
-0x7e,0x00,0x00,0x3e
+# CHECK: v_div_fmas_f64 v[5:6], vcc, vcc, vcc div:2 ; encoding: [0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x19]
+0x05,0x00,0xe3,0xd1,0x6a,0xd4,0xa8,0x19
-# CHECK: v_add_f16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x3e]
-0x7f,0x00,0x00,0x3e
+# CHECK: v_msad_u8 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_f16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x3e]
-0x80,0x00,0x00,0x3e
+# CHECK: v_msad_u8 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xe4,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xe4,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_f16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x3e]
-0xc1,0x00,0x00,0x3e
+# CHECK: v_msad_u8 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_add_f16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x3e]
-0xf0,0x00,0x00,0x3e
+# CHECK: v_msad_u8 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_add_f16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x3e]
-0xf7,0x00,0x00,0x3e
+# CHECK: v_msad_u8 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_add_f16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x3e]
-0xfd,0x00,0x00,0x3e
+# CHECK: v_msad_u8 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_add_f16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x3e,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x3e,0x0b,0xfe,0x00,0x00
+# CHECK: v_msad_u8 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_add_f16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x3e,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x3e,0x56,0x34,0x00,0x00
+# CHECK: v_msad_u8 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_add_f16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x3e]
-0x00,0x01,0x00,0x3e
+# CHECK: v_msad_u8 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_add_f16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x3e]
-0xff,0x01,0x00,0x3e
+# CHECK: v_msad_u8 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_add_f16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x3e]
-0x00,0xfe,0x01,0x3e
+# CHECK: v_msad_u8 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x1f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_msad_u8 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x1f,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x1f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_msad_u8 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x1f,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x1f,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_msad_u8 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x1f,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x1f,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_msad_u8 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x1f,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x1f,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_msad_u8 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x1f,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x1f,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_msad_u8 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x1f,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x1f,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_msad_u8 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x1f,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_msad_u8 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x1f,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x1f,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_msad_u8 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x1f,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_msad_u8 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_add_f16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x1f,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_msad_u8 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_add_f16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x1f,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_msad_u8 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_add_f16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x1f,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_msad_u8 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_add_f16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x1f,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_msad_u8 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xe4,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_add_f16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x1f,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_msad_u8 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xe4,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_add_f16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x1f,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_msad_u8 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xe4,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_add_f16_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x1f,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_msad_u8 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xe4,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_add_f16_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x1f,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_msad_u8 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xe4,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_add_f16_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x1f,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x1f,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_msad_u8 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xe4,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_add_f16_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x1f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x1f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_msad_u8 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xe4,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_add_f16_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x1f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x1f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_msad_u8 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xe4,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xe4,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_add_f16_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x1f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x1f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_add_f16_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x1f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x1f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_qsad_pk_u16_u8 v[254:255], s[2:3], 0, 0 ; encoding: [0xfe,0x00,0xe5,0xd1,0x02,0x00,0x01,0x02]
+0xfe,0x00,0xe5,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x40]
-0x00,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[4:5], 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x04,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x04,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x41]
-0x00,0x00,0xfe,0x41
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[100:101], 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x64,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x64,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x40]
-0x65,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], flat_scratch, 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x40]
-0x66,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], vcc, 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x40]
-0x67,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], tba, 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x40]
-0x6a,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], tma, 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x40]
-0x6b,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], ttmp[10:11], 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x7a,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x7a,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x40]
-0x6c,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], exec, 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x40]
-0x6d,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], 0, 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x40]
-0x6e,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], -1, 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x40]
-0x6f,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], 0.5, 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x40]
-0x7b,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], -4.0, 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x40]
-0x7c,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[1:2], 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x40]
-0x7e,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], v[254:255], 0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0xfe,0x01,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0xfe,0x01,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x40]
-0x7f,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], -1, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0x82,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x02,0x82,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x40]
-0x80,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], 0.5, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0xe0,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x02,0xe0,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x40]
-0xc1,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], -4.0, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0xee,0x01,0x02]
+0x05,0x00,0xe5,0xd1,0x02,0xee,0x01,0x02
-# CHECK: v_sub_f16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x40]
-0xf0,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], v2, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0x04,0x02,0x02]
+0x05,0x00,0xe5,0xd1,0x02,0x04,0x02,0x02
-# CHECK: v_sub_f16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x40]
-0xf7,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], v255, 0 ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0xfe,0x03,0x02]
+0x05,0x00,0xe5,0xd1,0x02,0xfe,0x03,0x02
-# CHECK: v_sub_f16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x40]
-0xfd,0x00,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, -1 ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0x00,0x05,0x03]
+0x05,0x00,0xe5,0xd1,0x02,0x00,0x05,0x03
-# CHECK: v_sub_f16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x40,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x40,0x0b,0xfe,0x00,0x00
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, 0.5 ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0x00,0xc1,0x03]
+0x05,0x00,0xe5,0xd1,0x02,0x00,0xc1,0x03
-# CHECK: v_sub_f16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x40,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x40,0x56,0x34,0x00,0x00
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, -4.0 ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0x00,0xdd,0x03]
+0x05,0x00,0xe5,0xd1,0x02,0x00,0xdd,0x03
-# CHECK: v_sub_f16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x40]
-0x00,0x01,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, v[3:4] ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0x00,0x0d,0x04]
+0x05,0x00,0xe5,0xd1,0x02,0x00,0x0d,0x04
-# CHECK: v_sub_f16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x40]
-0xff,0x01,0x00,0x40
+# CHECK: v_qsad_pk_u16_u8 v[5:6], s[2:3], 0, v[254:255] ; encoding: [0x05,0x00,0xe5,0xd1,0x02,0x00,0xf9,0x07]
+0x05,0x00,0xe5,0xd1,0x02,0x00,0xf9,0x07
-# CHECK: v_sub_f16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x40]
-0x00,0xfe,0x01,0x40
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[254:255], s[2:3], 0, 0 ; encoding: [0xfe,0x00,0xe6,0xd1,0x02,0x00,0x01,0x02]
+0xfe,0x00,0xe6,0xd1,0x02,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x20,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x20,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[4:5], 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x04,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x04,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x20,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[100:101], 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x64,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x64,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x20,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], flat_scratch, 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x20,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], vcc, 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x20,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], tba, 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x20,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], tma, 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x20,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], ttmp[10:11], 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x7a,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x7a,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x20,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x20,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], exec, 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x20,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], 0, 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x20,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], -1, 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x20,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], 0.5, 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x20,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], -4.0, 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x20,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x20,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[1:2], 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x20,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], v[254:255], 0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0xfe,0x01,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0xfe,0x01,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x20,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], -1, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0x82,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x02,0x82,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x20,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0.5, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0xe0,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x02,0xe0,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x20,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], -4.0, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0xee,0x01,0x02]
+0x05,0x00,0xe6,0xd1,0x02,0xee,0x01,0x02
-# CHECK: v_sub_f16_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x20,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x20,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], v2, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0x04,0x02,0x02]
+0x05,0x00,0xe6,0xd1,0x02,0x04,0x02,0x02
-# CHECK: v_sub_f16_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x20,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x20,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], v255, 0 ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0xfe,0x03,0x02]
+0x05,0x00,0xe6,0xd1,0x02,0xfe,0x03,0x02
-# CHECK: v_sub_f16_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x20,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x20,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, -1 ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0x00,0x05,0x03]
+0x05,0x00,0xe6,0xd1,0x02,0x00,0x05,0x03
-# CHECK: v_sub_f16_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x20,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x20,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, 0.5 ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0x00,0xc1,0x03]
+0x05,0x00,0xe6,0xd1,0x02,0x00,0xc1,0x03
-# CHECK: v_sub_f16_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x20,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x20,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, -4.0 ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0x00,0xdd,0x03]
+0x05,0x00,0xe6,0xd1,0x02,0x00,0xdd,0x03
-# CHECK: v_subrev_f16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x42]
-0x00,0x00,0x00,0x42
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, v[3:4] ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0x00,0x0d,0x04]
+0x05,0x00,0xe6,0xd1,0x02,0x00,0x0d,0x04
-# CHECK: v_subrev_f16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x43]
-0x00,0x00,0xfe,0x43
+# CHECK: v_mqsad_pk_u16_u8 v[5:6], s[2:3], 0, v[254:255] ; encoding: [0x05,0x00,0xe6,0xd1,0x02,0x00,0xf9,0x07]
+0x05,0x00,0xe6,0xd1,0x02,0x00,0xf9,0x07
-# CHECK: v_subrev_f16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x42]
-0x65,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x42]
-0x66,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[254:255], s[12:13], s1, 0, 0 ; encoding: [0xfe,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02]
+0xfe,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x42]
-0x67,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[14:15], s1, 0, 0 ; encoding: [0x05,0x0e,0xe8,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x0e,0xe8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x42]
-0x6a,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[100:101], s1, 0, 0 ; encoding: [0x05,0x64,0xe8,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x64,0xe8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x42]
-0x6b,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], flat_scratch, s1, 0, 0 ; encoding: [0x05,0x66,0xe8,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x66,0xe8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x42]
-0x6c,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], vcc, s1, 0, 0 ; encoding: [0x05,0x6a,0xe8,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x6a,0xe8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x42]
-0x6d,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], tba, s1, 0, 0 ; encoding: [0x05,0x6c,0xe8,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x6c,0xe8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x42]
-0x6e,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], tma, s1, 0, 0 ; encoding: [0x05,0x6e,0xe8,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x6e,0xe8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x42]
-0x6f,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], ttmp[10:11], s1, 0, 0 ; encoding: [0x05,0x7a,0xe8,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x7a,0xe8,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x42]
-0x7b,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s101, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x42]
-0x7c,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_lo, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x42]
-0x7e,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], flat_scratch_hi, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x42]
-0x7f,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], vcc_lo, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x42]
-0x80,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], vcc_hi, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x42]
-0xc1,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], tba_lo, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x42]
-0xf0,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], tba_hi, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x42]
-0xf7,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], tma_lo, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x42]
-0xfd,0x00,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], tma_hi, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x42,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x42,0x0b,0xfe,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], ttmp11, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x42,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x42,0x56,0x34,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], m0, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x42]
-0x00,0x01,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], exec_lo, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x42]
-0xff,0x01,0x00,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], exec_hi, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x42]
-0x00,0xfe,0x01,0x42
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], 0, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], -1, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x21,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x21,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], 0.5, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x21,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], -4.0, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x21,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], scc, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x21,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v1, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x21,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], v255, 0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x21,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, -1, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x21,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, 0.5, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x21,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x21,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, -4.0, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x0c,0xe8,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x21,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, v2, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x0c,0xe8,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_subrev_f16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x21,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, v255, 0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x0c,0xe8,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_subrev_f16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x21,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, 0, -1 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x0c,0xe8,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_subrev_f16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x21,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, 0, 0.5 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x0c,0xe8,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_subrev_f16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x21,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x21,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, 0, -4.0 ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x0c,0xe8,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_subrev_f16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x21,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, 0, v[3:4] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x0c,0xe8,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_subrev_f16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x21,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_mad_u64_u32 v[5:6], s[12:13], s1, 0, v[254:255] ; encoding: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0xf9,0x07]
+0x05,0x0c,0xe8,0xd1,0x01,0x00,0xf9,0x07
-# CHECK: v_subrev_f16_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x21,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x21,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_mad_i64_i32 v[254:255], s[12:13], s1, 0, 0 ; encoding: [0xfe,0x0c,0xe9,0xd1,0x01,0x00,0x01,0x02]
+0xfe,0x0c,0xe9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x21,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x21,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_mad_i64_i32 v[5:6], s[14:15], s1, 0, 0 ; encoding: [0x05,0x0e,0xe9,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x0e,0xe9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x21,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x21,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], s[100:101], s1, 0, 0 ; encoding: [0x05,0x64,0xe9,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x64,0xe9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x21,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x21,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], flat_scratch, s1, 0, 0 ; encoding: [0x05,0x66,0xe9,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x66,0xe9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x21,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x21,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], vcc, s1, 0, 0 ; encoding: [0x05,0x6a,0xe9,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x6a,0xe9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_f16_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x21,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x21,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], tba, s1, 0, 0 ; encoding: [0x05,0x6c,0xe9,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x6c,0xe9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x44]
-0x00,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], tma, s1, 0, 0 ; encoding: [0x05,0x6e,0xe9,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x6e,0xe9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x45]
-0x00,0x00,0xfe,0x45
+# CHECK: v_mad_i64_i32 v[5:6], ttmp[10:11], s1, 0, 0 ; encoding: [0x05,0x7a,0xe9,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x7a,0xe9,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x44]
-0x65,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s101, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x44]
-0x66,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_lo, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x44]
-0x67,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], flat_scratch_hi, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x44]
-0x6a,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], vcc_lo, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x44]
-0x6b,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], vcc_hi, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x44]
-0x6c,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], tba_lo, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x44]
-0x6d,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], tba_hi, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x44]
-0x6e,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], tma_lo, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x44]
-0x6f,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], tma_hi, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x44]
-0x7b,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], ttmp11, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x44]
-0x7c,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], m0, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x44]
-0x7e,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], exec_lo, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x44]
-0x7f,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], exec_hi, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x44]
-0x80,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], 0, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x44]
-0xc1,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], -1, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x44]
-0xf0,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], 0.5, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x44]
-0xf7,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], -4.0, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x44]
-0xfd,0x00,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], scc, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x44,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x44,0x0b,0xfe,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v1, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x44,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x44,0x56,0x34,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], v255, 0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x44]
-0x00,0x01,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, -1, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x44]
-0xff,0x01,0x00,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, 0.5, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_mul_f16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x44]
-0x00,0xfe,0x01,0x44
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, -4.0, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x0c,0xe9,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, v2, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x0c,0xe9,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_mul_f16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x22,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x22,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, v255, 0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x0c,0xe9,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_mul_f16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x22,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, 0, -1 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x0c,0xe9,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_mul_f16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x22,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, 0, 0.5 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x0c,0xe9,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_mul_f16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x22,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, 0, -4.0 ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x0c,0xe9,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_mul_f16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x22,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, 0, v[3:4] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x0c,0xe9,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_mul_f16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x22,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mad_i64_i32 v[5:6], s[12:13], s1, 0, v[254:255] ; encoding: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xf9,0x07]
+0x05,0x0c,0xe9,0xd1,0x01,0x00,0xf9,0x07
-# CHECK: v_mul_f16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x22,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mad_f16 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x22,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x22,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mad_f16 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xea,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xea,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x22,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_mad_f16 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x22,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_mad_f16 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x22,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_mad_f16 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x22,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_mad_f16 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x22,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x22,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_mad_f16 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x22,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_mad_f16 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x22,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_mad_f16 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x22,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_mad_f16 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x22,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_mad_f16 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x22,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x22,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_mad_f16 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x22,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x22,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_f16 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x22,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x22,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_f16 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x22,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x22,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_f16 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_mul_f16_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x22,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x22,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_f16 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x46]
-0x00,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_mac_f16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x47]
-0x00,0x00,0xfe,0x47
+# CHECK: v_mad_f16 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x46]
-0x65,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x46]
-0x66,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xea,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x46]
-0x67,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x46]
-0x6a,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xea,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x46]
-0x6b,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x46]
-0x6c,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x46]
-0x6d,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xea,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x46]
-0x6e,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xea,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_mac_f16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x46]
-0x6f,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xea,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_mac_f16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x46]
-0x7b,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xea,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_mac_f16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x46]
-0x7c,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xea,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_mac_f16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x46]
-0x7e,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xea,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_mac_f16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x46]
-0x7f,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xea,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_mac_f16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x46]
-0x80,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xea,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_mac_f16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x46]
-0xc1,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_mac_f16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x46]
-0xf0,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_mac_f16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x46]
-0xf7,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_mac_f16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x46]
-0xfd,0x00,0x00,0x46
+# CHECK: v_mad_f16 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xea,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_mac_f16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x46,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x46,0x0b,0xfe,0x00,0x00
+# CHECK: v_mad_f16 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xea,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xea,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x46,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x46,0x56,0x34,0x00,0x00
+# CHECK: v_mad_f16 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xea,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xea,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x46]
-0x00,0x01,0x00,0x46
+# CHECK: v_mad_f16 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xea,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xea,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x46]
-0xff,0x01,0x00,0x46
+# CHECK: v_mad_f16 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xea,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xea,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mac_f16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x46]
-0x00,0xfe,0x01,0x46
+# CHECK: v_mad_f16 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xea,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xea,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x4c]
-0x00,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x4d]
-0x00,0x00,0xfe,0x4d
+# CHECK: v_mad_u16 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xeb,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xeb,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x4c]
-0x65,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x4c]
-0x66,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x4c]
-0x67,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x4c]
-0x6a,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x4c]
-0x6b,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x4c]
-0x6c,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x4c]
-0x6d,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x4c]
-0x6e,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x4c]
-0x6f,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x4c]
-0x7b,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x4c]
-0x7c,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x4c]
-0x7e,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x4c]
-0x7f,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x4c]
-0x80,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x4c]
-0xc1,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x4c]
-0xf0,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x4c]
-0xf7,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x4c]
-0xfd,0x00,0x00,0x4c
+# CHECK: v_mad_u16 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_add_u16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x4c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x4c,0x0b,0xfe,0x00,0x00
+# CHECK: v_mad_u16 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_add_u16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x4c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x4c,0x56,0x34,0x00,0x00
+# CHECK: v_mad_u16 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_add_u16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x4c]
-0x00,0x01,0x00,0x4c
+# CHECK: v_mad_u16 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_add_u16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x4c]
-0xff,0x01,0x00,0x4c
+# CHECK: v_mad_u16 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_add_u16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x4c]
-0x00,0xfe,0x01,0x4c
+# CHECK: v_mad_u16 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xeb,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_add_u16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x26,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_u16 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xeb,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_add_u16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x26,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x26,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mad_u16 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xeb,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_add_u16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x26,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mad_u16 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xeb,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_add_u16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x26,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mad_u16 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xeb,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_add_u16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x26,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mad_u16 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xeb,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_add_u16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x26,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mad_u16 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xeb,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_add_u16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x26,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mad_u16 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xeb,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xeb,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_add_u16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x26,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x26,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mad_i16 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_u16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x26,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x26,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mad_i16 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xec,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xec,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_add_u16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x26,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x26,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_mad_i16 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_add_u16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x26,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x26,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_mad_i16 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_add_u16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x26,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x26,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_mad_i16 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_add_u16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x26,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x26,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_mad_i16 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_add_u16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x26,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x26,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_mad_i16 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_add_u16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x26,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x26,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_mad_i16 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_add_u16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x26,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x26,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_mad_i16 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x4e]
-0x00,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x4f]
-0x00,0x00,0xfe,0x4f
+# CHECK: v_mad_i16 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x4e]
-0x65,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x4e]
-0x66,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x4e]
-0x67,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x4e]
-0x6a,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x4e]
-0x6b,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x4e]
-0x6c,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x4e]
-0x6d,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x4e]
-0x6e,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x4e]
-0x6f,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xec,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x4e]
-0x7b,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x4e]
-0x7c,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xec,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x4e]
-0x7e,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x4e]
-0x7f,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x4e]
-0x80,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xec,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x4e]
-0xc1,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xec,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_sub_u16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x4e]
-0xf0,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xec,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_sub_u16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x4e]
-0xf7,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xec,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_sub_u16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x4e]
-0xfd,0x00,0x00,0x4e
+# CHECK: v_mad_i16 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xec,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_sub_u16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x4e,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x4e,0x0b,0xfe,0x00,0x00
+# CHECK: v_mad_i16 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xec,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_sub_u16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x4e,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x4e,0x56,0x34,0x00,0x00
+# CHECK: v_mad_i16 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xec,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_sub_u16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x4e]
-0x00,0x01,0x00,0x4e
+# CHECK: v_mad_i16 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xec,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xec,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_sub_u16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x4e]
-0xff,0x01,0x00,0x4e
+# CHECK: v_fma_f16 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sub_u16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x4e]
-0x00,0xfe,0x01,0x4e
+# CHECK: v_fma_f16 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xee,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xee,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x27,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fma_f16 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x27,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x27,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_fma_f16 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x27,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_fma_f16 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x27,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_fma_f16 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x27,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_fma_f16 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x27,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_fma_f16 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x27,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_fma_f16 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x27,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x27,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_fma_f16 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x27,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x27,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_fma_f16 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x27,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x27,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_fma_f16 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x27,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x27,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_fma_f16 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x27,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x27,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_fma_f16 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x27,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x27,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_fma_f16 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x27,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x27,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_fma_f16 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x27,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x27,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_fma_f16 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_sub_u16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x27,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x27,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_fma_f16 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x50]
-0x00,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x51]
-0x00,0x00,0xfe,0x51
+# CHECK: v_fma_f16 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xee,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x50]
-0x65,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x50]
-0x66,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xee,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x50]
-0x67,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x50]
-0x6a,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x50]
-0x6b,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xee,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x50]
-0x6c,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xee,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_subrev_u16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x50]
-0x6d,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xee,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_subrev_u16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x50]
-0x6e,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xee,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_subrev_u16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x50]
-0x6f,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xee,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_subrev_u16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x50]
-0x7b,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xee,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_subrev_u16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x50]
-0x7c,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xee,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_subrev_u16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x50]
-0x7e,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xee,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_subrev_u16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x50]
-0x7f,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_subrev_u16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x50]
-0x80,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_subrev_u16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x50]
-0xc1,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_subrev_u16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x50]
-0xf0,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xee,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_subrev_u16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x50]
-0xf7,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xee,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xee,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x50]
-0xfd,0x00,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xee,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xee,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x50,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x50,0x0b,0xfe,0x00,0x00
+# CHECK: v_fma_f16 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xee,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xee,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x50,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x50,0x56,0x34,0x00,0x00
+# CHECK: v_fma_f16 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xee,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xee,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x50]
-0x00,0x01,0x00,0x50
+# CHECK: v_fma_f16 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xee,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xee,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x50]
-0xff,0x01,0x00,0x50
+# CHECK: v_div_fixup_f16 v5, s1, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x50]
-0x00,0xfe,0x01,0x50
+# CHECK: v_div_fixup_f16 v255, s1, 0, 0 ; encoding: [0xff,0x00,0xef,0xd1,0x01,0x00,0x01,0x02]
+0xff,0x00,0xef,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x28,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, s101, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x65,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x65,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x28,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x28,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, flat_scratch_lo, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x66,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x66,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x28,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, flat_scratch_hi, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x67,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x67,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x28,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, vcc_lo, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x6a,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x6a,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x28,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, vcc_hi, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x6b,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x6b,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x28,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, tba_lo, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x6c,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x6c,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x28,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, tba_hi, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x6d,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x6d,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x28,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x28,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, tma_lo, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x6e,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x6e,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x28,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x28,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, tma_hi, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x6f,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x6f,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x28,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x28,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_div_fixup_f16 v5, ttmp11, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x7b,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x7b,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x28,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x28,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_div_fixup_f16 v5, m0, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x7c,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x7c,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x28,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x28,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_div_fixup_f16 v5, exec_lo, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x7e,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x7e,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x28,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x28,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_div_fixup_f16 v5, exec_hi, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x7f,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x7f,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x28,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x28,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_div_fixup_f16 v5, 0, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x80,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x80,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x28,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x28,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_div_fixup_f16 v5, -1, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0xc1,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0xc1,0x00,0x01,0x02
-# CHECK: v_subrev_u16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x28,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x28,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_div_fixup_f16 v5, 0.5, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0xf0,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0xf0,0x00,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x52]
-0x00,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, -4.0, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0xf7,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0xf7,0x00,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x53]
-0x00,0x00,0xfe,0x53
+# CHECK: v_div_fixup_f16 v5, scc, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0xfd,0x00,0x01,0x02]
+0x05,0x00,0xef,0xd1,0xfd,0x00,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x52]
-0x65,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, v1, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x01,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x01,0x01,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x52]
-0x66,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, v255, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0xff,0x01,0x01,0x02]
+0x05,0x00,0xef,0xd1,0xff,0x01,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x52]
-0x67,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, -1, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x82,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x01,0x82,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x52]
-0x6a,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, 0.5, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xe0,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x01,0xe0,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x52]
-0x6b,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, -4.0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xee,0x01,0x02]
+0x05,0x00,0xef,0xd1,0x01,0xee,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x52]
-0x6c,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, v2, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x04,0x02,0x02]
+0x05,0x00,0xef,0xd1,0x01,0x04,0x02,0x02
-# CHECK: v_mul_lo_u16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x52]
-0x6d,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, v255, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0xfe,0x03,0x02]
+0x05,0x00,0xef,0xd1,0x01,0xfe,0x03,0x02
-# CHECK: v_mul_lo_u16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x52]
-0x6e,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, 0, -1 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x00,0x05,0x03]
+0x05,0x00,0xef,0xd1,0x01,0x00,0x05,0x03
-# CHECK: v_mul_lo_u16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x52]
-0x6f,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, 0, 0.5 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x00,0xc1,0x03]
+0x05,0x00,0xef,0xd1,0x01,0x00,0xc1,0x03
-# CHECK: v_mul_lo_u16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x52]
-0x7b,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, 0, -4.0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x00,0xdd,0x03]
+0x05,0x00,0xef,0xd1,0x01,0x00,0xdd,0x03
-# CHECK: v_mul_lo_u16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x52]
-0x7c,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, 0, v3 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x00,0x0d,0x04]
+0x05,0x00,0xef,0xd1,0x01,0x00,0x0d,0x04
-# CHECK: v_mul_lo_u16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x52]
-0x7e,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, 0, v255 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x00,0xfd,0x07]
+0x05,0x00,0xef,0xd1,0x01,0x00,0xfd,0x07
-# CHECK: v_mul_lo_u16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x52]
-0x7f,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, -s1, 0, 0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x22]
+0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x22
-# CHECK: v_mul_lo_u16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x52]
-0x80,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, neg(0), 0 ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x42]
+0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x42
-# CHECK: v_mul_lo_u16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x52]
-0xc1,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, 0, neg(0) ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x82]
+0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0x82
-# CHECK: v_mul_lo_u16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x52]
-0xf0,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, -s1, neg(0), neg(0) ; encoding: [0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0xe2]
+0x05,0x00,0xef,0xd1,0x01,0x00,0x01,0xe2
-# CHECK: v_mul_lo_u16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x52]
-0xf7,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, |s1|, 0, 0 ; encoding: [0x05,0x01,0xef,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x01,0xef,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x52]
-0xfd,0x00,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, |0|, 0 ; encoding: [0x05,0x02,0xef,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x02,0xef,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x52,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x52,0x0b,0xfe,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, s1, 0, |0| ; encoding: [0x05,0x04,0xef,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x04,0xef,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x52,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x52,0x56,0x34,0x00,0x00
+# CHECK: v_div_fixup_f16 v5, |s1|, |0|, |0| ; encoding: [0x05,0x07,0xef,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x07,0xef,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x52]
-0x00,0x01,0x00,0x52
+# CHECK: v_div_fixup_f16 v5, s1, 0, 0 clamp ; encoding: [0x05,0x80,0xef,0xd1,0x01,0x00,0x01,0x02]
+0x05,0x80,0xef,0xd1,0x01,0x00,0x01,0x02
-# CHECK: v_mul_lo_u16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x52]
-0xff,0x01,0x00,0x52
+# CHECK: v_add_f64 v[5:6], s[4:5], s[4:5] ; encoding: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_mul_lo_u16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x52]
-0x00,0xfe,0x01,0x52
+# CHECK: v_add_f64 v[254:255], s[4:5], s[4:5] ; encoding: [0xfe,0x00,0x80,0xd2,0x04,0x08,0x00,0x00]
+0xfe,0x00,0x80,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_mul_lo_u16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x29,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_add_f64 v[5:6], 0, s[4:5] ; encoding: [0x05,0x00,0x80,0xd2,0x80,0x08,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x80,0x08,0x00,0x00
-# CHECK: v_mul_lo_u16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x29,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x29,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_add_f64 v[5:6], -1, s[4:5] ; encoding: [0x05,0x00,0x80,0xd2,0xc1,0x08,0x00,0x00]
+0x05,0x00,0x80,0xd2,0xc1,0x08,0x00,0x00
-# CHECK: v_mul_lo_u16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x29,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_add_f64 v[5:6], 0.5, s[4:5] ; encoding: [0x05,0x00,0x80,0xd2,0xf0,0x08,0x00,0x00]
+0x05,0x00,0x80,0xd2,0xf0,0x08,0x00,0x00
-# CHECK: v_mul_lo_u16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x29,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_add_f64 v[5:6], -4.0, s[4:5] ; encoding: [0x05,0x00,0x80,0xd2,0xf7,0x08,0x00,0x00]
+0x05,0x00,0x80,0xd2,0xf7,0x08,0x00,0x00
-# CHECK: v_mul_lo_u16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x29,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_add_f64 v[5:6], v[1:2], s[4:5] ; encoding: [0x05,0x00,0x80,0xd2,0x01,0x09,0x00,0x00]
+0x05,0x00,0x80,0xd2,0x01,0x09,0x00,0x00
-# CHECK: v_mul_lo_u16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x29,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_add_f64 v[5:6], v[254:255], s[4:5] ; encoding: [0x05,0x00,0x80,0xd2,0xfe,0x09,0x00,0x00]
+0x05,0x00,0x80,0xd2,0xfe,0x09,0x00,0x00
-# CHECK: v_mul_lo_u16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x29,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_add_f64 v[5:6], s[4:5], 0 ; encoding: [0x05,0x00,0x80,0xd2,0x04,0x00,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x04,0x00,0x01,0x00
-# CHECK: v_mul_lo_u16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x29,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x29,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_add_f64 v[5:6], s[4:5], -1 ; encoding: [0x05,0x00,0x80,0xd2,0x04,0x82,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x04,0x82,0x01,0x00
-# CHECK: v_mul_lo_u16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x29,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x29,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_add_f64 v[5:6], s[4:5], 0.5 ; encoding: [0x05,0x00,0x80,0xd2,0x04,0xe0,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x04,0xe0,0x01,0x00
-# CHECK: v_mul_lo_u16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x29,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x29,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_add_f64 v[5:6], s[4:5], -4.0 ; encoding: [0x05,0x00,0x80,0xd2,0x04,0xee,0x01,0x00]
+0x05,0x00,0x80,0xd2,0x04,0xee,0x01,0x00
-# CHECK: v_mul_lo_u16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x29,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x29,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_add_f64 v[5:6], s[4:5], v[2:3] ; encoding: [0x05,0x00,0x80,0xd2,0x04,0x04,0x02,0x00]
+0x05,0x00,0x80,0xd2,0x04,0x04,0x02,0x00
-# CHECK: v_mul_lo_u16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x29,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x29,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_add_f64 v[5:6], s[4:5], v[254:255] ; encoding: [0x05,0x00,0x80,0xd2,0x04,0xfc,0x03,0x00]
+0x05,0x00,0x80,0xd2,0x04,0xfc,0x03,0x00
-# CHECK: v_mul_lo_u16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x29,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x29,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_add_f64 v[5:6], -s[4:5], s[4:5] ; encoding: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x20]
+0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x20
-# CHECK: v_mul_lo_u16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x29,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x29,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_add_f64 v[5:6], s[4:5], -s[4:5] ; encoding: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x40]
+0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x40
-# CHECK: v_mul_lo_u16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x29,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x29,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_add_f64 v[5:6], -s[4:5], -s[4:5] ; encoding: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x60]
+0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x60
-# CHECK: v_mul_lo_u16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x29,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x29,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_add_f64 v[5:6], |s[4:5]|, s[4:5] ; encoding: [0x05,0x01,0x80,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x01,0x80,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x54]
-0x00,0x00,0x00,0x54
+# CHECK: v_add_f64 v[5:6], s[4:5], |s[4:5]| ; encoding: [0x05,0x02,0x80,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x02,0x80,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x55]
-0x00,0x00,0xfe,0x55
+# CHECK: v_add_f64 v[5:6], |s[4:5]|, |s[4:5]| ; encoding: [0x05,0x03,0x80,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x03,0x80,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x54]
-0x65,0x00,0x00,0x54
+# CHECK: v_add_f64 v[5:6], s[4:5], s[4:5] clamp ; encoding: [0x05,0x80,0x80,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x80,0x80,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x54]
-0x66,0x00,0x00,0x54
+# CHECK: v_add_f64 v[5:6], s[4:5], s[4:5] mul:2 ; encoding: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x08]
+0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x08
-# CHECK: v_lshlrev_b16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x54]
-0x67,0x00,0x00,0x54
+# CHECK: v_add_f64 v[5:6], s[4:5], s[4:5] mul:4 ; encoding: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x10]
+0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x10
-# CHECK: v_lshlrev_b16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x54]
-0x6a,0x00,0x00,0x54
+# CHECK: v_add_f64 v[5:6], s[4:5], s[4:5] div:2 ; encoding: [0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x18]
+0x05,0x00,0x80,0xd2,0x04,0x08,0x00,0x18
-# CHECK: v_lshlrev_b16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x54]
-0x6b,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], s[4:5], s[4:5] ; encoding: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x54]
-0x6c,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[254:255], s[4:5], s[4:5] ; encoding: [0xfe,0x00,0x81,0xd2,0x04,0x08,0x00,0x00]
+0xfe,0x00,0x81,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x54]
-0x6d,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], 0, s[4:5] ; encoding: [0x05,0x00,0x81,0xd2,0x80,0x08,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x80,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x54]
-0x6e,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], -1, s[4:5] ; encoding: [0x05,0x00,0x81,0xd2,0xc1,0x08,0x00,0x00]
+0x05,0x00,0x81,0xd2,0xc1,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x54]
-0x6f,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], 0.5, s[4:5] ; encoding: [0x05,0x00,0x81,0xd2,0xf0,0x08,0x00,0x00]
+0x05,0x00,0x81,0xd2,0xf0,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x54]
-0x7b,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], -4.0, s[4:5] ; encoding: [0x05,0x00,0x81,0xd2,0xf7,0x08,0x00,0x00]
+0x05,0x00,0x81,0xd2,0xf7,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x54]
-0x7c,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], v[1:2], s[4:5] ; encoding: [0x05,0x00,0x81,0xd2,0x01,0x09,0x00,0x00]
+0x05,0x00,0x81,0xd2,0x01,0x09,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x54]
-0x7e,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], v[254:255], s[4:5] ; encoding: [0x05,0x00,0x81,0xd2,0xfe,0x09,0x00,0x00]
+0x05,0x00,0x81,0xd2,0xfe,0x09,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x54]
-0x7f,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], s[4:5], 0 ; encoding: [0x05,0x00,0x81,0xd2,0x04,0x00,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x04,0x00,0x01,0x00
-# CHECK: v_lshlrev_b16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x54]
-0x80,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], s[4:5], -1 ; encoding: [0x05,0x00,0x81,0xd2,0x04,0x82,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x04,0x82,0x01,0x00
-# CHECK: v_lshlrev_b16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x54]
-0xc1,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], s[4:5], 0.5 ; encoding: [0x05,0x00,0x81,0xd2,0x04,0xe0,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x04,0xe0,0x01,0x00
-# CHECK: v_lshlrev_b16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x54]
-0xf0,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], s[4:5], -4.0 ; encoding: [0x05,0x00,0x81,0xd2,0x04,0xee,0x01,0x00]
+0x05,0x00,0x81,0xd2,0x04,0xee,0x01,0x00
-# CHECK: v_lshlrev_b16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x54]
-0xf7,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], s[4:5], v[2:3] ; encoding: [0x05,0x00,0x81,0xd2,0x04,0x04,0x02,0x00]
+0x05,0x00,0x81,0xd2,0x04,0x04,0x02,0x00
-# CHECK: v_lshlrev_b16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x54]
-0xfd,0x00,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], s[4:5], v[254:255] ; encoding: [0x05,0x00,0x81,0xd2,0x04,0xfc,0x03,0x00]
+0x05,0x00,0x81,0xd2,0x04,0xfc,0x03,0x00
-# CHECK: v_lshlrev_b16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x54,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x54,0x0b,0xfe,0x00,0x00
+# CHECK: v_mul_f64 v[5:6], -s[4:5], s[4:5] ; encoding: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x20]
+0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x20
-# CHECK: v_lshlrev_b16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x54,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x54,0x56,0x34,0x00,0x00
+# CHECK: v_mul_f64 v[5:6], s[4:5], -s[4:5] ; encoding: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x40]
+0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x40
-# CHECK: v_lshlrev_b16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x54]
-0x00,0x01,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], -s[4:5], -s[4:5] ; encoding: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x60]
+0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x60
-# CHECK: v_lshlrev_b16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x54]
-0xff,0x01,0x00,0x54
+# CHECK: v_mul_f64 v[5:6], |s[4:5]|, s[4:5] ; encoding: [0x05,0x01,0x81,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x01,0x81,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x54]
-0x00,0xfe,0x01,0x54
+# CHECK: v_mul_f64 v[5:6], s[4:5], |s[4:5]| ; encoding: [0x05,0x02,0x81,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x02,0x81,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x2a,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_f64 v[5:6], |s[4:5]|, |s[4:5]| ; encoding: [0x05,0x03,0x81,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x03,0x81,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x2a,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x2a,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_f64 v[5:6], s[4:5], s[4:5] clamp ; encoding: [0x05,0x80,0x81,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x80,0x81,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x2a,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mul_f64 v[5:6], s[4:5], s[4:5] mul:2 ; encoding: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x08]
+0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x08
-# CHECK: v_lshlrev_b16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x2a,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mul_f64 v[5:6], s[4:5], s[4:5] mul:4 ; encoding: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x10]
+0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x10
-# CHECK: v_lshlrev_b16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x2a,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mul_f64 v[5:6], s[4:5], s[4:5] div:2 ; encoding: [0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x18]
+0x05,0x00,0x81,0xd2,0x04,0x08,0x00,0x18
-# CHECK: v_lshlrev_b16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x2a,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_min_f64 v[5:6], s[4:5], s[4:5] ; encoding: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x2a,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_min_f64 v[254:255], s[4:5], s[4:5] ; encoding: [0xfe,0x00,0x82,0xd2,0x04,0x08,0x00,0x00]
+0xfe,0x00,0x82,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x2a,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2a,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_min_f64 v[5:6], 0, s[4:5] ; encoding: [0x05,0x00,0x82,0xd2,0x80,0x08,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x80,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x2a,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2a,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_min_f64 v[5:6], -1, s[4:5] ; encoding: [0x05,0x00,0x82,0xd2,0xc1,0x08,0x00,0x00]
+0x05,0x00,0x82,0xd2,0xc1,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x2a,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2a,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_min_f64 v[5:6], 0.5, s[4:5] ; encoding: [0x05,0x00,0x82,0xd2,0xf0,0x08,0x00,0x00]
+0x05,0x00,0x82,0xd2,0xf0,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x2a,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2a,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_min_f64 v[5:6], -4.0, s[4:5] ; encoding: [0x05,0x00,0x82,0xd2,0xf7,0x08,0x00,0x00]
+0x05,0x00,0x82,0xd2,0xf7,0x08,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x2a,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2a,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_min_f64 v[5:6], v[1:2], s[4:5] ; encoding: [0x05,0x00,0x82,0xd2,0x01,0x09,0x00,0x00]
+0x05,0x00,0x82,0xd2,0x01,0x09,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x2a,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2a,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_min_f64 v[5:6], v[254:255], s[4:5] ; encoding: [0x05,0x00,0x82,0xd2,0xfe,0x09,0x00,0x00]
+0x05,0x00,0x82,0xd2,0xfe,0x09,0x00,0x00
-# CHECK: v_lshlrev_b16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x2a,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2a,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_min_f64 v[5:6], s[4:5], 0 ; encoding: [0x05,0x00,0x82,0xd2,0x04,0x00,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x04,0x00,0x01,0x00
-# CHECK: v_lshlrev_b16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x2a,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2a,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_min_f64 v[5:6], s[4:5], -1 ; encoding: [0x05,0x00,0x82,0xd2,0x04,0x82,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x04,0x82,0x01,0x00
-# CHECK: v_lshlrev_b16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x2a,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2a,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_min_f64 v[5:6], s[4:5], 0.5 ; encoding: [0x05,0x00,0x82,0xd2,0x04,0xe0,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x04,0xe0,0x01,0x00
-# CHECK: v_lshrrev_b16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x56]
-0x00,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], s[4:5], -4.0 ; encoding: [0x05,0x00,0x82,0xd2,0x04,0xee,0x01,0x00]
+0x05,0x00,0x82,0xd2,0x04,0xee,0x01,0x00
-# CHECK: v_lshrrev_b16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x57]
-0x00,0x00,0xfe,0x57
+# CHECK: v_min_f64 v[5:6], s[4:5], v[2:3] ; encoding: [0x05,0x00,0x82,0xd2,0x04,0x04,0x02,0x00]
+0x05,0x00,0x82,0xd2,0x04,0x04,0x02,0x00
-# CHECK: v_lshrrev_b16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x56]
-0x65,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], s[4:5], v[254:255] ; encoding: [0x05,0x00,0x82,0xd2,0x04,0xfc,0x03,0x00]
+0x05,0x00,0x82,0xd2,0x04,0xfc,0x03,0x00
-# CHECK: v_lshrrev_b16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x56]
-0x66,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], -s[4:5], s[4:5] ; encoding: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x20]
+0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x20
-# CHECK: v_lshrrev_b16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x56]
-0x67,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], s[4:5], -s[4:5] ; encoding: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x40]
+0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x40
-# CHECK: v_lshrrev_b16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x56]
-0x6a,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], -s[4:5], -s[4:5] ; encoding: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x60]
+0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x60
-# CHECK: v_lshrrev_b16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x56]
-0x6b,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], |s[4:5]|, s[4:5] ; encoding: [0x05,0x01,0x82,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x01,0x82,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x56]
-0x6c,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], s[4:5], |s[4:5]| ; encoding: [0x05,0x02,0x82,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x02,0x82,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x56]
-0x6d,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], |s[4:5]|, |s[4:5]| ; encoding: [0x05,0x03,0x82,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x03,0x82,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x56]
-0x6e,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], s[4:5], s[4:5] clamp ; encoding: [0x05,0x80,0x82,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x80,0x82,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x56]
-0x6f,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], s[4:5], s[4:5] mul:2 ; encoding: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x08]
+0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x08
-# CHECK: v_lshrrev_b16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x56]
-0x7b,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], s[4:5], s[4:5] mul:4 ; encoding: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x10]
+0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x10
-# CHECK: v_lshrrev_b16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x56]
-0x7c,0x00,0x00,0x56
+# CHECK: v_min_f64 v[5:6], s[4:5], s[4:5] div:2 ; encoding: [0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x18]
+0x05,0x00,0x82,0xd2,0x04,0x08,0x00,0x18
-# CHECK: v_lshrrev_b16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x56]
-0x7e,0x00,0x00,0x56
+# CHECK: v_max_f64 v[5:6], s[4:5], s[4:5] ; encoding: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x56]
-0x7f,0x00,0x00,0x56
+# CHECK: v_max_f64 v[254:255], s[4:5], s[4:5] ; encoding: [0xfe,0x00,0x83,0xd2,0x04,0x08,0x00,0x00]
+0xfe,0x00,0x83,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x56]
-0x80,0x00,0x00,0x56
+# CHECK: v_max_f64 v[5:6], 0, s[4:5] ; encoding: [0x05,0x00,0x83,0xd2,0x80,0x08,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x80,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x56]
-0xc1,0x00,0x00,0x56
+# CHECK: v_max_f64 v[5:6], -1, s[4:5] ; encoding: [0x05,0x00,0x83,0xd2,0xc1,0x08,0x00,0x00]
+0x05,0x00,0x83,0xd2,0xc1,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x56]
-0xf0,0x00,0x00,0x56
+# CHECK: v_max_f64 v[5:6], 0.5, s[4:5] ; encoding: [0x05,0x00,0x83,0xd2,0xf0,0x08,0x00,0x00]
+0x05,0x00,0x83,0xd2,0xf0,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x56]
-0xf7,0x00,0x00,0x56
+# CHECK: v_max_f64 v[5:6], -4.0, s[4:5] ; encoding: [0x05,0x00,0x83,0xd2,0xf7,0x08,0x00,0x00]
+0x05,0x00,0x83,0xd2,0xf7,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x56]
-0xfd,0x00,0x00,0x56
+# CHECK: v_max_f64 v[5:6], v[1:2], s[4:5] ; encoding: [0x05,0x00,0x83,0xd2,0x01,0x09,0x00,0x00]
+0x05,0x00,0x83,0xd2,0x01,0x09,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x56,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x56,0x0b,0xfe,0x00,0x00
+# CHECK: v_max_f64 v[5:6], v[254:255], s[4:5] ; encoding: [0x05,0x00,0x83,0xd2,0xfe,0x09,0x00,0x00]
+0x05,0x00,0x83,0xd2,0xfe,0x09,0x00,0x00
-# CHECK: v_lshrrev_b16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x56,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x56,0x56,0x34,0x00,0x00
+# CHECK: v_max_f64 v[5:6], s[4:5], 0 ; encoding: [0x05,0x00,0x83,0xd2,0x04,0x00,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x04,0x00,0x01,0x00
-# CHECK: v_lshrrev_b16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x56]
-0x00,0x01,0x00,0x56
+# CHECK: v_max_f64 v[5:6], s[4:5], -1 ; encoding: [0x05,0x00,0x83,0xd2,0x04,0x82,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x04,0x82,0x01,0x00
-# CHECK: v_lshrrev_b16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x56]
-0xff,0x01,0x00,0x56
+# CHECK: v_max_f64 v[5:6], s[4:5], 0.5 ; encoding: [0x05,0x00,0x83,0xd2,0x04,0xe0,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x04,0xe0,0x01,0x00
-# CHECK: v_lshrrev_b16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x56]
-0x00,0xfe,0x01,0x56
+# CHECK: v_max_f64 v[5:6], s[4:5], -4.0 ; encoding: [0x05,0x00,0x83,0xd2,0x04,0xee,0x01,0x00]
+0x05,0x00,0x83,0xd2,0x04,0xee,0x01,0x00
-# CHECK: v_lshrrev_b16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x2b,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_f64 v[5:6], s[4:5], v[2:3] ; encoding: [0x05,0x00,0x83,0xd2,0x04,0x04,0x02,0x00]
+0x05,0x00,0x83,0xd2,0x04,0x04,0x02,0x00
-# CHECK: v_lshrrev_b16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x2b,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x2b,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_max_f64 v[5:6], s[4:5], v[254:255] ; encoding: [0x05,0x00,0x83,0xd2,0x04,0xfc,0x03,0x00]
+0x05,0x00,0x83,0xd2,0x04,0xfc,0x03,0x00
-# CHECK: v_lshrrev_b16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x2b,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_max_f64 v[5:6], -s[4:5], s[4:5] ; encoding: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x20]
+0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x20
-# CHECK: v_lshrrev_b16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x2b,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_max_f64 v[5:6], s[4:5], -s[4:5] ; encoding: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x40]
+0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x40
-# CHECK: v_lshrrev_b16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x2b,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_max_f64 v[5:6], -s[4:5], -s[4:5] ; encoding: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x60]
+0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x60
-# CHECK: v_lshrrev_b16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x2b,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_max_f64 v[5:6], |s[4:5]|, s[4:5] ; encoding: [0x05,0x01,0x83,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x01,0x83,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x2b,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_max_f64 v[5:6], s[4:5], |s[4:5]| ; encoding: [0x05,0x02,0x83,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x02,0x83,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x2b,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2b,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_max_f64 v[5:6], |s[4:5]|, |s[4:5]| ; encoding: [0x05,0x03,0x83,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x03,0x83,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x2b,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2b,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_max_f64 v[5:6], s[4:5], s[4:5] clamp ; encoding: [0x05,0x80,0x83,0xd2,0x04,0x08,0x00,0x00]
+0x05,0x80,0x83,0xd2,0x04,0x08,0x00,0x00
-# CHECK: v_lshrrev_b16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x2b,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2b,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_max_f64 v[5:6], s[4:5], s[4:5] mul:2 ; encoding: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x08]
+0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x08
-# CHECK: v_lshrrev_b16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x2b,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2b,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_max_f64 v[5:6], s[4:5], s[4:5] mul:4 ; encoding: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x10]
+0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x10
-# CHECK: v_lshrrev_b16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x2b,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2b,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_max_f64 v[5:6], s[4:5], s[4:5] div:2 ; encoding: [0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x18]
+0x05,0x00,0x83,0xd2,0x04,0x08,0x00,0x18
-# CHECK: v_lshrrev_b16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x2b,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2b,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_ldexp_f64 v[5:6], 0, s2 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_lshrrev_b16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x2b,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2b,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_ldexp_f64 v[254:255], 0, s2 ; encoding: [0xfe,0x00,0x84,0xd2,0x80,0x04,0x00,0x00]
+0xfe,0x00,0x84,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_lshrrev_b16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x2b,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2b,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_ldexp_f64 v[5:6], -1, s2 ; encoding: [0x05,0x00,0x84,0xd2,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x84,0xd2,0xc1,0x04,0x00,0x00
-# CHECK: v_lshrrev_b16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x2b,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2b,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_ldexp_f64 v[5:6], 0.5, s2 ; encoding: [0x05,0x00,0x84,0xd2,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x84,0xd2,0xf0,0x04,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x58]
-0x00,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], -4.0, s2 ; encoding: [0x05,0x00,0x84,0xd2,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x84,0xd2,0xf7,0x04,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x59]
-0x00,0x00,0xfe,0x59
+# CHECK: v_ldexp_f64 v[5:6], v[1:2], s2 ; encoding: [0x05,0x00,0x84,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x58]
-0x65,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], v[254:255], s2 ; encoding: [0x05,0x00,0x84,0xd2,0xfe,0x05,0x00,0x00]
+0x05,0x00,0x84,0xd2,0xfe,0x05,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x58]
-0x66,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, s101 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xca,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xca,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x58]
-0x67,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, flat_scratch_lo ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xcc,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x58]
-0x6a,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, flat_scratch_hi ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xce,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xce,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x58]
-0x6b,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, vcc_lo ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xd4,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x58]
-0x6c,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, vcc_hi ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xd6,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x58]
-0x6d,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, tba_lo ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xd8,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x58]
-0x6e,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, tba_hi ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xda,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xda,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x58]
-0x6f,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, tma_lo ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xdc,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x58]
-0x7b,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, tma_hi ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xde,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xde,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x58]
-0x7c,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, ttmp11 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xf6,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x58]
-0x7e,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, m0 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xf8,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x58]
-0x7f,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, exec_lo ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xfc,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x58]
-0x80,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, exec_hi ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xfe,0x00,0x00
-# CHECK: v_ashrrev_i16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x58]
-0xc1,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, 0 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0x00,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x80,0x00,0x01,0x00
-# CHECK: v_ashrrev_i16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x58]
-0xf0,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, -1 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0x82,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x80,0x82,0x01,0x00
-# CHECK: v_ashrrev_i16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x58]
-0xf7,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, 0.5 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xe0,0x01,0x00
-# CHECK: v_ashrrev_i16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x58]
-0xfd,0x00,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, -4.0 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xee,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xee,0x01,0x00
-# CHECK: v_ashrrev_i16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x58,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x58,0x0b,0xfe,0x00,0x00
+# CHECK: v_ldexp_f64 v[5:6], 0, scc ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xfa,0x01,0x00
-# CHECK: v_ashrrev_i16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x58,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x58,0x56,0x34,0x00,0x00
+# CHECK: v_ldexp_f64 v[5:6], 0, v2 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x84,0xd2,0x80,0x04,0x02,0x00
-# CHECK: v_ashrrev_i16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x58]
-0x00,0x01,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], 0, v255 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x84,0xd2,0x80,0xfe,0x03,0x00
-# CHECK: v_ashrrev_i16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x58]
-0xff,0x01,0x00,0x58
+# CHECK: v_ldexp_f64 v[5:6], neg(0), s2 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x20]
+0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x20
-# CHECK: v_ashrrev_i16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x58]
-0x00,0xfe,0x01,0x58
+# CHECK: v_ldexp_f64 v[5:6], |0|, s2 ; encoding: [0x05,0x01,0x84,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x01,0x84,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x2c,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ldexp_f64 v[5:6], 0, s2 clamp ; encoding: [0x05,0x80,0x84,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x80,0x84,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x2c,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x2c,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ldexp_f64 v[5:6], 0, s2 mul:2 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x08]
+0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x08
-# CHECK: v_ashrrev_i16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x2c,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_ldexp_f64 v[5:6], 0, s2 mul:4 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x10]
+0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x10
-# CHECK: v_ashrrev_i16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x2c,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_ldexp_f64 v[5:6], 0, s2 div:2 ; encoding: [0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x18]
+0x05,0x00,0x84,0xd2,0x80,0x04,0x00,0x18
-# CHECK: v_ashrrev_i16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x2c,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mul_lo_u32 v5, 0, s2 ; encoding: [0x05,0x00,0x85,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x2c,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mul_lo_u32 v255, 0, s2 ; encoding: [0xff,0x00,0x85,0xd2,0x80,0x04,0x00,0x00]
+0xff,0x00,0x85,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x2c,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mul_lo_u32 v5, -1, s2 ; encoding: [0x05,0x00,0x85,0xd2,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x85,0xd2,0xc1,0x04,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x2c,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2c,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mul_lo_u32 v5, 0.5, s2 ; encoding: [0x05,0x00,0x85,0xd2,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x85,0xd2,0xf0,0x04,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x2c,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2c,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mul_lo_u32 v5, -4.0, s2 ; encoding: [0x05,0x00,0x85,0xd2,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x85,0xd2,0xf7,0x04,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x2c,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2c,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_mul_lo_u32 v5, v1, s2 ; encoding: [0x05,0x00,0x85,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x2c,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2c,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_mul_lo_u32 v5, v255, s2 ; encoding: [0x05,0x00,0x85,0xd2,0xff,0x05,0x00,0x00]
+0x05,0x00,0x85,0xd2,0xff,0x05,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x2c,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2c,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_mul_lo_u32 v5, 0, s101 ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xca,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xca,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x2c,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2c,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_mul_lo_u32 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xcc,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x2c,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2c,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_mul_lo_u32 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xce,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xce,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x2c,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2c,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_mul_lo_u32 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xd4,0x00,0x00
-# CHECK: v_ashrrev_i16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x2c,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2c,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_mul_lo_u32 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xd6,0x00,0x00
-# CHECK: v_max_f16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x5a]
-0x00,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, tba_lo ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xd8,0x00,0x00
-# CHECK: v_max_f16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x5b]
-0x00,0x00,0xfe,0x5b
+# CHECK: v_mul_lo_u32 v5, 0, tba_hi ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xda,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xda,0x00,0x00
-# CHECK: v_max_f16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x5a]
-0x65,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, tma_lo ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xdc,0x00,0x00
-# CHECK: v_max_f16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x5a]
-0x66,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, tma_hi ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xde,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xde,0x00,0x00
-# CHECK: v_max_f16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x5a]
-0x67,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xf6,0x00,0x00
-# CHECK: v_max_f16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x5a]
-0x6a,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, m0 ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xf8,0x00,0x00
-# CHECK: v_max_f16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x5a]
-0x6b,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, exec_lo ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xfc,0x00,0x00
-# CHECK: v_max_f16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x5a]
-0x6c,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, exec_hi ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xfe,0x00,0x00
-# CHECK: v_max_f16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x5a]
-0x6d,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, 0 ; encoding: [0x05,0x00,0x85,0xd2,0x80,0x00,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x80,0x00,0x01,0x00
-# CHECK: v_max_f16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x5a]
-0x6e,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, -1 ; encoding: [0x05,0x00,0x85,0xd2,0x80,0x82,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x80,0x82,0x01,0x00
-# CHECK: v_max_f16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x5a]
-0x6f,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, 0.5 ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xe0,0x01,0x00
-# CHECK: v_max_f16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x5a]
-0x7b,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, -4.0 ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xee,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xee,0x01,0x00
-# CHECK: v_max_f16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x5a]
-0x7c,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, scc ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xfa,0x01,0x00
-# CHECK: v_max_f16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x5a]
-0x7e,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, v2 ; encoding: [0x05,0x00,0x85,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x85,0xd2,0x80,0x04,0x02,0x00
-# CHECK: v_max_f16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x5a]
-0x7f,0x00,0x00,0x5a
+# CHECK: v_mul_lo_u32 v5, 0, v255 ; encoding: [0x05,0x00,0x85,0xd2,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x85,0xd2,0x80,0xfe,0x03,0x00
-# CHECK: v_max_f16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x5a]
-0x80,0x00,0x00,0x5a
+# CHECK: v_mul_hi_u32 v5, 0, s2 ; encoding: [0x05,0x00,0x86,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_max_f16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x5a]
-0xc1,0x00,0x00,0x5a
+# CHECK: v_mul_hi_u32 v255, 0, s2 ; encoding: [0xff,0x00,0x86,0xd2,0x80,0x04,0x00,0x00]
+0xff,0x00,0x86,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_max_f16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x5a]
-0xf0,0x00,0x00,0x5a
+# CHECK: v_mul_hi_u32 v5, -1, s2 ; encoding: [0x05,0x00,0x86,0xd2,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x86,0xd2,0xc1,0x04,0x00,0x00
-# CHECK: v_max_f16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x5a]
-0xf7,0x00,0x00,0x5a
+# CHECK: v_mul_hi_u32 v5, 0.5, s2 ; encoding: [0x05,0x00,0x86,0xd2,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x86,0xd2,0xf0,0x04,0x00,0x00
-# CHECK: v_max_f16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x5a]
-0xfd,0x00,0x00,0x5a
+# CHECK: v_mul_hi_u32 v5, -4.0, s2 ; encoding: [0x05,0x00,0x86,0xd2,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x86,0xd2,0xf7,0x04,0x00,0x00
-# CHECK: v_max_f16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x5a,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x5a,0x0b,0xfe,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, v1, s2 ; encoding: [0x05,0x00,0x86,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_max_f16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x5a,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x5a,0x56,0x34,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, v255, s2 ; encoding: [0x05,0x00,0x86,0xd2,0xff,0x05,0x00,0x00]
+0x05,0x00,0x86,0xd2,0xff,0x05,0x00,0x00
-# CHECK: v_max_f16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x5a]
-0x00,0x01,0x00,0x5a
+# CHECK: v_mul_hi_u32 v5, 0, s101 ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xca,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xca,0x00,0x00
-# CHECK: v_max_f16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x5a]
-0xff,0x01,0x00,0x5a
+# CHECK: v_mul_hi_u32 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xcc,0x00,0x00
-# CHECK: v_max_f16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x5a]
-0x00,0xfe,0x01,0x5a
+# CHECK: v_mul_hi_u32 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xce,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xce,0x00,0x00
-# CHECK: v_max_f16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xd4,0x00,0x00
-# CHECK: v_max_f16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x2d,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x2d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xd6,0x00,0x00
-# CHECK: v_max_f16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x2d,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, 0, tba_lo ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xd8,0x00,0x00
-# CHECK: v_max_f16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x2d,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, 0, tba_hi ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xda,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xda,0x00,0x00
-# CHECK: v_max_f16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x2d,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, 0, tma_lo ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xdc,0x00,0x00
-# CHECK: v_max_f16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x2d,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, 0, tma_hi ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xde,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xde,0x00,0x00
-# CHECK: v_max_f16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x2d,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xf6,0x00,0x00
-# CHECK: v_max_f16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2d,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, 0, m0 ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xf8,0x00,0x00
-# CHECK: v_max_f16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x2d,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2d,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_mul_hi_u32 v5, 0, exec_lo ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xfc,0x00,0x00
-# CHECK: v_max_f16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2d,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_mul_hi_u32 v5, 0, exec_hi ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xfe,0x00,0x00
-# CHECK: v_max_f16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2d,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_mul_hi_u32 v5, 0, 0 ; encoding: [0x05,0x00,0x86,0xd2,0x80,0x00,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x80,0x00,0x01,0x00
-# CHECK: v_max_f16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2d,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_mul_hi_u32 v5, 0, -1 ; encoding: [0x05,0x00,0x86,0xd2,0x80,0x82,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x80,0x82,0x01,0x00
-# CHECK: v_max_f16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2d,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_mul_hi_u32 v5, 0, 0.5 ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xe0,0x01,0x00
-# CHECK: v_max_f16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2d,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_mul_hi_u32 v5, 0, -4.0 ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xee,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xee,0x01,0x00
-# CHECK: v_max_f16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2d,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_mul_hi_u32 v5, 0, scc ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xfa,0x01,0x00
-# CHECK: v_max_f16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2d,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_mul_hi_u32 v5, 0, v2 ; encoding: [0x05,0x00,0x86,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x86,0xd2,0x80,0x04,0x02,0x00
-# CHECK: v_max_f16_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x2d,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_mul_hi_u32 v5, 0, v255 ; encoding: [0x05,0x00,0x86,0xd2,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x86,0xd2,0x80,0xfe,0x03,0x00
-# CHECK: v_max_f16_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x2d,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_mul_hi_i32 v5, 0, s2 ; encoding: [0x05,0x00,0x87,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_max_f16_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x2d,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x2d,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_mul_hi_i32 v255, 0, s2 ; encoding: [0xff,0x00,0x87,0xd2,0x80,0x04,0x00,0x00]
+0xff,0x00,0x87,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_max_f16_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x2d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x2d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_hi_i32 v5, -1, s2 ; encoding: [0x05,0x00,0x87,0xd2,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x87,0xd2,0xc1,0x04,0x00,0x00
-# CHECK: v_max_f16_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x2d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x2d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_hi_i32 v5, 0.5, s2 ; encoding: [0x05,0x00,0x87,0xd2,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x87,0xd2,0xf0,0x04,0x00,0x00
-# CHECK: v_max_f16_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x2d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x2d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_hi_i32 v5, -4.0, s2 ; encoding: [0x05,0x00,0x87,0xd2,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x87,0xd2,0xf7,0x04,0x00,0x00
-# CHECK: v_max_f16_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x2d,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x2d,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_mul_hi_i32 v5, v1, s2 ; encoding: [0x05,0x00,0x87,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_min_f16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x5c]
-0x00,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, v255, s2 ; encoding: [0x05,0x00,0x87,0xd2,0xff,0x05,0x00,0x00]
+0x05,0x00,0x87,0xd2,0xff,0x05,0x00,0x00
-# CHECK: v_min_f16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x5d]
-0x00,0x00,0xfe,0x5d
+# CHECK: v_mul_hi_i32 v5, 0, s101 ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xca,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xca,0x00,0x00
-# CHECK: v_min_f16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x5c]
-0x65,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, flat_scratch_lo ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xcc,0x00,0x00
-# CHECK: v_min_f16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x5c]
-0x66,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, flat_scratch_hi ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xce,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xce,0x00,0x00
-# CHECK: v_min_f16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x5c]
-0x67,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, vcc_lo ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xd4,0x00,0x00
-# CHECK: v_min_f16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x5c]
-0x6a,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, vcc_hi ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xd6,0x00,0x00
-# CHECK: v_min_f16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x5c]
-0x6b,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, tba_lo ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xd8,0x00,0x00
-# CHECK: v_min_f16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x5c]
-0x6c,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, tba_hi ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xda,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xda,0x00,0x00
-# CHECK: v_min_f16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x5c]
-0x6d,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, tma_lo ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xdc,0x00,0x00
-# CHECK: v_min_f16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x5c]
-0x6e,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, tma_hi ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xde,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xde,0x00,0x00
-# CHECK: v_min_f16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x5c]
-0x6f,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, ttmp11 ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xf6,0x00,0x00
-# CHECK: v_min_f16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x5c]
-0x7b,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, m0 ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xf8,0x00,0x00
-# CHECK: v_min_f16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x5c]
-0x7c,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, exec_lo ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xfc,0x00,0x00
-# CHECK: v_min_f16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x5c]
-0x7e,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, exec_hi ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xfe,0x00,0x00
-# CHECK: v_min_f16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x5c]
-0x7f,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, 0 ; encoding: [0x05,0x00,0x87,0xd2,0x80,0x00,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x80,0x00,0x01,0x00
-# CHECK: v_min_f16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x5c]
-0x80,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, -1 ; encoding: [0x05,0x00,0x87,0xd2,0x80,0x82,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x80,0x82,0x01,0x00
-# CHECK: v_min_f16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x5c]
-0xc1,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, 0.5 ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xe0,0x01,0x00
-# CHECK: v_min_f16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x5c]
-0xf0,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, -4.0 ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xee,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xee,0x01,0x00
-# CHECK: v_min_f16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x5c]
-0xf7,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, scc ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xfa,0x01,0x00
-# CHECK: v_min_f16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x5c]
-0xfd,0x00,0x00,0x5c
+# CHECK: v_mul_hi_i32 v5, 0, v2 ; encoding: [0x05,0x00,0x87,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x87,0xd2,0x80,0x04,0x02,0x00
-# CHECK: v_min_f16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x5c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x5c,0x0b,0xfe,0x00,0x00
+# CHECK: v_mul_hi_i32 v5, 0, v255 ; encoding: [0x05,0x00,0x87,0xd2,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x87,0xd2,0x80,0xfe,0x03,0x00
-# CHECK: v_min_f16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x5c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x5c,0x56,0x34,0x00,0x00
+# CHECK: v_readlane_b32 s5, v1, s2 ; encoding: [0x05,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_min_f16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x5c]
-0x00,0x01,0x00,0x5c
+# CHECK: v_readlane_b32 s101, v1, s2 ; encoding: [0x65,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+0x65,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_min_f16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x5c]
-0xff,0x01,0x00,0x5c
+# CHECK: v_readlane_b32 flat_scratch_lo, v1, s2 ; encoding: [0x66,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+0x66,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_min_f16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x5c]
-0x00,0xfe,0x01,0x5c
+# CHECK: v_readlane_b32 flat_scratch_hi, v1, s2 ; encoding: [0x67,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+0x67,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_min_f16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_readlane_b32 tba_lo, v1, s2 ; encoding: [0x6c,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+0x6c,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_min_f16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x2e,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x2e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_readlane_b32 tba_hi, v1, s2 ; encoding: [0x6d,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+0x6d,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_min_f16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x2e,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_readlane_b32 tma_lo, v1, s2 ; encoding: [0x6e,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+0x6e,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_min_f16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x2e,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_readlane_b32 tma_hi, v1, s2 ; encoding: [0x6f,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+0x6f,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_min_f16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x2e,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_readlane_b32 ttmp11, v1, s2 ; encoding: [0x7b,0x00,0x89,0xd2,0x01,0x05,0x00,0x00]
+0x7b,0x00,0x89,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_min_f16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x2e,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_readlane_b32 s5, v255, s2 ; encoding: [0x05,0x00,0x89,0xd2,0xff,0x05,0x00,0x00]
+0x05,0x00,0x89,0xd2,0xff,0x05,0x00,0x00
-# CHECK: v_min_f16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x2e,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_readlane_b32 s5, v1, s101 ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xcb,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xcb,0x00,0x00
-# CHECK: v_min_f16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2e,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_readlane_b32 s5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xcd,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xcd,0x00,0x00
-# CHECK: v_min_f16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x2e,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2e,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_readlane_b32 s5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xcf,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xcf,0x00,0x00
-# CHECK: v_min_f16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2e,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_readlane_b32 s5, v1, vcc_lo ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xd5,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xd5,0x00,0x00
-# CHECK: v_min_f16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2e,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_readlane_b32 s5, v1, vcc_hi ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xd7,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xd7,0x00,0x00
-# CHECK: v_min_f16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2e,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_readlane_b32 s5, v1, tba_lo ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xd9,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xd9,0x00,0x00
-# CHECK: v_min_f16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2e,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_readlane_b32 s5, v1, tba_hi ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xdb,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xdb,0x00,0x00
-# CHECK: v_min_f16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2e,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_readlane_b32 s5, v1, tma_lo ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xdd,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xdd,0x00,0x00
-# CHECK: v_min_f16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2e,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_readlane_b32 s5, v1, tma_hi ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xdf,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xdf,0x00,0x00
-# CHECK: v_min_f16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2e,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_readlane_b32 s5, v1, ttmp11 ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xf7,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xf7,0x00,0x00
-# CHECK: v_min_f16_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x2e,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_readlane_b32 s5, v1, m0 ; encoding: [0x05,0x00,0x89,0xd2,0x01,0xf9,0x00,0x00]
+0x05,0x00,0x89,0xd2,0x01,0xf9,0x00,0x00
-# CHECK: v_min_f16_e64 v0, s0, -s0 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0x2e,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_readlane_b32 s5, v1, 0 ; encoding: [0x05,0x00,0x89,0xd2,0x01,0x01,0x01,0x00]
+0x05,0x00,0x89,0xd2,0x01,0x01,0x01,0x00
-# CHECK: v_min_f16_e64 v0, -s0, -s0 ; encoding: [0x00,0x00,0x2e,0xd1,0x00,0x00,0x00,0x60]
-0x00,0x00,0x2e,0xd1,0x00,0x00,0x00,0x60
+# CHECK: v_writelane_b32 v5, s1, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x01,0x00,0x01,0x00
-# CHECK: v_min_f16_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x2e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x2e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_writelane_b32 v255, s1, 0 ; encoding: [0xff,0x00,0x8a,0xd2,0x01,0x00,0x01,0x00]
+0xff,0x00,0x8a,0xd2,0x01,0x00,0x01,0x00
-# CHECK: v_min_f16_e64 v0, s0, |s0| ; encoding: [0x00,0x02,0x2e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0x2e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_writelane_b32 v5, s101, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x65,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x65,0x00,0x01,0x00
-# CHECK: v_min_f16_e64 v0, |s0|, |s0| ; encoding: [0x00,0x03,0x2e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x03,0x2e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_writelane_b32 v5, flat_scratch_lo, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x66,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x66,0x00,0x01,0x00
-# CHECK: v_min_f16_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x2e,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x2e,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_writelane_b32 v5, flat_scratch_hi, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x67,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x67,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x5e]
-0x00,0x00,0x00,0x5e
+# CHECK: v_writelane_b32 v5, vcc_lo, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x6a,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x6a,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x5f]
-0x00,0x00,0xfe,0x5f
+# CHECK: v_writelane_b32 v5, vcc_hi, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x6b,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x6b,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x5e]
-0x65,0x00,0x00,0x5e
+# CHECK: v_writelane_b32 v5, tba_lo, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x6c,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x6c,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x5e]
-0x66,0x00,0x00,0x5e
+# CHECK: v_writelane_b32 v5, tba_hi, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x6d,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x6d,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x5e]
-0x67,0x00,0x00,0x5e
+# CHECK: v_writelane_b32 v5, tma_lo, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x6e,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x6e,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x5e]
-0x6a,0x00,0x00,0x5e
+# CHECK: v_writelane_b32 v5, tma_hi, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x6f,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x6f,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x5e]
-0x6b,0x00,0x00,0x5e
+# CHECK: v_writelane_b32 v5, ttmp11, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x7b,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x7b,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x5e]
-0x6c,0x00,0x00,0x5e
+# CHECK: v_writelane_b32 v5, m0, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x7c,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x7c,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x5e]
-0x6d,0x00,0x00,0x5e
+# CHECK: v_writelane_b32 v5, exec_lo, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x7e,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x7e,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x5e]
-0x6e,0x00,0x00,0x5e
+# CHECK: v_writelane_b32 v5, exec_hi, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0x7f,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0x7f,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x5e]
-0x6f,0x00,0x00,0x5e
+# CHECK: v_writelane_b32 v5, scc, 0 ; encoding: [0x05,0x00,0x8a,0xd2,0xfd,0x00,0x01,0x00]
+0x05,0x00,0x8a,0xd2,0xfd,0x00,0x01,0x00
-# CHECK: v_max_u16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x5e]
-0x7b,0x00,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], 0, s[4:5] ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0x08,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0x08,0x00,0x00
-# CHECK: v_max_u16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x5e]
-0x7c,0x00,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[254:255], 0, s[4:5] ; encoding: [0xfe,0x00,0x8f,0xd2,0x80,0x08,0x00,0x00]
+0xfe,0x00,0x8f,0xd2,0x80,0x08,0x00,0x00
-# CHECK: v_max_u16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x5e]
-0x7e,0x00,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], -1, s[4:5] ; encoding: [0x05,0x00,0x8f,0xd2,0xc1,0x08,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0xc1,0x08,0x00,0x00
-# CHECK: v_max_u16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x5e]
-0x7f,0x00,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], 0.5, s[4:5] ; encoding: [0x05,0x00,0x8f,0xd2,0xf0,0x08,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0xf0,0x08,0x00,0x00
-# CHECK: v_max_u16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x5e]
-0x80,0x00,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], -4.0, s[4:5] ; encoding: [0x05,0x00,0x8f,0xd2,0xf7,0x08,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0xf7,0x08,0x00,0x00
-# CHECK: v_max_u16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x5e]
-0xc1,0x00,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], v1, s[4:5] ; encoding: [0x05,0x00,0x8f,0xd2,0x01,0x09,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x01,0x09,0x00,0x00
-# CHECK: v_max_u16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x5e]
-0xf0,0x00,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], v255, s[4:5] ; encoding: [0x05,0x00,0x8f,0xd2,0xff,0x09,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0xff,0x09,0x00,0x00
-# CHECK: v_max_u16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x5e]
-0xf7,0x00,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], 0, s[6:7] ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0x0c,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0x0c,0x00,0x00
-# CHECK: v_max_u16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x5e]
-0xfd,0x00,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], 0, s[100:101] ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0xc8,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0xc8,0x00,0x00
-# CHECK: v_max_u16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x5e,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x5e,0x0b,0xfe,0x00,0x00
+# CHECK: v_lshlrev_b64 v[5:6], 0, flat_scratch ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0xcc,0x00,0x00
-# CHECK: v_max_u16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x5e,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x5e,0x56,0x34,0x00,0x00
+# CHECK: v_lshlrev_b64 v[5:6], 0, vcc ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0xd4,0x00,0x00
-# CHECK: v_max_u16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x5e]
-0x00,0x01,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], 0, tba ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0xd8,0x00,0x00
-# CHECK: v_max_u16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x5e]
-0xff,0x01,0x00,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], 0, tma ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0xdc,0x00,0x00
-# CHECK: v_max_u16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x5e]
-0x00,0xfe,0x01,0x5e
+# CHECK: v_lshlrev_b64 v[5:6], 0, ttmp[10:11] ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0xf4,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0xf4,0x00,0x00
-# CHECK: v_max_u16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x2f,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_lshlrev_b64 v[5:6], 0, exec ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0xfc,0x00,0x00
-# CHECK: v_max_u16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x2f,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x2f,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_lshlrev_b64 v[5:6], 0, 0 ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0x00,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0x00,0x01,0x00
-# CHECK: v_max_u16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x2f,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_lshlrev_b64 v[5:6], 0, -1 ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0x82,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0x82,0x01,0x00
-# CHECK: v_max_u16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x2f,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_lshlrev_b64 v[5:6], 0, 0.5 ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0xe0,0x01,0x00
-# CHECK: v_max_u16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x2f,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_lshlrev_b64 v[5:6], 0, -4.0 ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0xee,0x01,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0xee,0x01,0x00
-# CHECK: v_max_u16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x2f,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_lshlrev_b64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0x04,0x02,0x00
-# CHECK: v_max_u16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x2f,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_lshlrev_b64 v[5:6], 0, v[254:255] ; encoding: [0x05,0x00,0x8f,0xd2,0x80,0xfc,0x03,0x00]
+0x05,0x00,0x8f,0xd2,0x80,0xfc,0x03,0x00
-# CHECK: v_max_u16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x2f,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2f,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_lshrrev_b64 v[5:6], 0, s[4:5] ; encoding: [0x05,0x00,0x90,0xd2,0x80,0x08,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x80,0x08,0x00,0x00
-# CHECK: v_max_u16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x2f,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2f,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_lshrrev_b64 v[254:255], 0, s[4:5] ; encoding: [0xfe,0x00,0x90,0xd2,0x80,0x08,0x00,0x00]
+0xfe,0x00,0x90,0xd2,0x80,0x08,0x00,0x00
-# CHECK: v_max_u16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x2f,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2f,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_lshrrev_b64 v[5:6], -1, s[4:5] ; encoding: [0x05,0x00,0x90,0xd2,0xc1,0x08,0x00,0x00]
+0x05,0x00,0x90,0xd2,0xc1,0x08,0x00,0x00
-# CHECK: v_max_u16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x2f,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2f,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_lshrrev_b64 v[5:6], 0.5, s[4:5] ; encoding: [0x05,0x00,0x90,0xd2,0xf0,0x08,0x00,0x00]
+0x05,0x00,0x90,0xd2,0xf0,0x08,0x00,0x00
-# CHECK: v_max_u16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x2f,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2f,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_lshrrev_b64 v[5:6], -4.0, s[4:5] ; encoding: [0x05,0x00,0x90,0xd2,0xf7,0x08,0x00,0x00]
+0x05,0x00,0x90,0xd2,0xf7,0x08,0x00,0x00
-# CHECK: v_max_u16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x2f,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2f,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_lshrrev_b64 v[5:6], v1, s[4:5] ; encoding: [0x05,0x00,0x90,0xd2,0x01,0x09,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x01,0x09,0x00,0x00
-# CHECK: v_max_u16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x2f,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2f,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_lshrrev_b64 v[5:6], v255, s[4:5] ; encoding: [0x05,0x00,0x90,0xd2,0xff,0x09,0x00,0x00]
+0x05,0x00,0x90,0xd2,0xff,0x09,0x00,0x00
-# CHECK: v_max_u16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x2f,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2f,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_lshrrev_b64 v[5:6], 0, s[6:7] ; encoding: [0x05,0x00,0x90,0xd2,0x80,0x0c,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x80,0x0c,0x00,0x00
-# CHECK: v_max_u16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x2f,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2f,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_lshrrev_b64 v[5:6], 0, s[100:101] ; encoding: [0x05,0x00,0x90,0xd2,0x80,0xc8,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x80,0xc8,0x00,0x00
-# CHECK: v_max_i16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x60]
-0x00,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, flat_scratch ; encoding: [0x05,0x00,0x90,0xd2,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x80,0xcc,0x00,0x00
-# CHECK: v_max_i16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x61]
-0x00,0x00,0xfe,0x61
+# CHECK: v_lshrrev_b64 v[5:6], 0, vcc ; encoding: [0x05,0x00,0x90,0xd2,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x80,0xd4,0x00,0x00
-# CHECK: v_max_i16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x60]
-0x65,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, tba ; encoding: [0x05,0x00,0x90,0xd2,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x80,0xd8,0x00,0x00
-# CHECK: v_max_i16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x60]
-0x66,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, tma ; encoding: [0x05,0x00,0x90,0xd2,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x80,0xdc,0x00,0x00
-# CHECK: v_max_i16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x60]
-0x67,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, ttmp[10:11] ; encoding: [0x05,0x00,0x90,0xd2,0x80,0xf4,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x80,0xf4,0x00,0x00
-# CHECK: v_max_i16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x60]
-0x6a,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, exec ; encoding: [0x05,0x00,0x90,0xd2,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x90,0xd2,0x80,0xfc,0x00,0x00
-# CHECK: v_max_i16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x60]
-0x6b,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, 0 ; encoding: [0x05,0x00,0x90,0xd2,0x80,0x00,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x80,0x00,0x01,0x00
-# CHECK: v_max_i16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x60]
-0x6c,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, -1 ; encoding: [0x05,0x00,0x90,0xd2,0x80,0x82,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x80,0x82,0x01,0x00
-# CHECK: v_max_i16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x60]
-0x6d,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, 0.5 ; encoding: [0x05,0x00,0x90,0xd2,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x80,0xe0,0x01,0x00
-# CHECK: v_max_i16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x60]
-0x6e,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, -4.0 ; encoding: [0x05,0x00,0x90,0xd2,0x80,0xee,0x01,0x00]
+0x05,0x00,0x90,0xd2,0x80,0xee,0x01,0x00
-# CHECK: v_max_i16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x60]
-0x6f,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x90,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x90,0xd2,0x80,0x04,0x02,0x00
-# CHECK: v_max_i16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x60]
-0x7b,0x00,0x00,0x60
+# CHECK: v_lshrrev_b64 v[5:6], 0, v[254:255] ; encoding: [0x05,0x00,0x90,0xd2,0x80,0xfc,0x03,0x00]
+0x05,0x00,0x90,0xd2,0x80,0xfc,0x03,0x00
-# CHECK: v_max_i16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x60]
-0x7c,0x00,0x00,0x60
+# CHECK: v_ashrrev_i64 v[5:6], 0, s[4:5] ; encoding: [0x05,0x00,0x91,0xd2,0x80,0x08,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x80,0x08,0x00,0x00
-# CHECK: v_max_i16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x60]
-0x7e,0x00,0x00,0x60
+# CHECK: v_ashrrev_i64 v[254:255], 0, s[4:5] ; encoding: [0xfe,0x00,0x91,0xd2,0x80,0x08,0x00,0x00]
+0xfe,0x00,0x91,0xd2,0x80,0x08,0x00,0x00
-# CHECK: v_max_i16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x60]
-0x7f,0x00,0x00,0x60
+# CHECK: v_ashrrev_i64 v[5:6], -1, s[4:5] ; encoding: [0x05,0x00,0x91,0xd2,0xc1,0x08,0x00,0x00]
+0x05,0x00,0x91,0xd2,0xc1,0x08,0x00,0x00
-# CHECK: v_max_i16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x60]
-0x80,0x00,0x00,0x60
+# CHECK: v_ashrrev_i64 v[5:6], 0.5, s[4:5] ; encoding: [0x05,0x00,0x91,0xd2,0xf0,0x08,0x00,0x00]
+0x05,0x00,0x91,0xd2,0xf0,0x08,0x00,0x00
-# CHECK: v_max_i16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x60]
-0xc1,0x00,0x00,0x60
+# CHECK: v_ashrrev_i64 v[5:6], -4.0, s[4:5] ; encoding: [0x05,0x00,0x91,0xd2,0xf7,0x08,0x00,0x00]
+0x05,0x00,0x91,0xd2,0xf7,0x08,0x00,0x00
-# CHECK: v_max_i16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x60]
-0xf0,0x00,0x00,0x60
+# CHECK: v_ashrrev_i64 v[5:6], v1, s[4:5] ; encoding: [0x05,0x00,0x91,0xd2,0x01,0x09,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x01,0x09,0x00,0x00
-# CHECK: v_max_i16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x60]
-0xf7,0x00,0x00,0x60
+# CHECK: v_ashrrev_i64 v[5:6], v255, s[4:5] ; encoding: [0x05,0x00,0x91,0xd2,0xff,0x09,0x00,0x00]
+0x05,0x00,0x91,0xd2,0xff,0x09,0x00,0x00
-# CHECK: v_max_i16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x60]
-0xfd,0x00,0x00,0x60
+# CHECK: v_ashrrev_i64 v[5:6], 0, s[6:7] ; encoding: [0x05,0x00,0x91,0xd2,0x80,0x0c,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x80,0x0c,0x00,0x00
-# CHECK: v_max_i16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x60,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x60,0x0b,0xfe,0x00,0x00
+# CHECK: v_ashrrev_i64 v[5:6], 0, s[100:101] ; encoding: [0x05,0x00,0x91,0xd2,0x80,0xc8,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x80,0xc8,0x00,0x00
-# CHECK: v_max_i16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x60,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x60,0x56,0x34,0x00,0x00
+# CHECK: v_ashrrev_i64 v[5:6], 0, flat_scratch ; encoding: [0x05,0x00,0x91,0xd2,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x80,0xcc,0x00,0x00
-# CHECK: v_max_i16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x60]
-0x00,0x01,0x00,0x60
+# CHECK: v_ashrrev_i64 v[5:6], 0, vcc ; encoding: [0x05,0x00,0x91,0xd2,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x80,0xd4,0x00,0x00
-# CHECK: v_max_i16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x60]
-0xff,0x01,0x00,0x60
+# CHECK: v_ashrrev_i64 v[5:6], 0, tba ; encoding: [0x05,0x00,0x91,0xd2,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x80,0xd8,0x00,0x00
-# CHECK: v_max_i16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x60]
-0x00,0xfe,0x01,0x60
+# CHECK: v_ashrrev_i64 v[5:6], 0, tma ; encoding: [0x05,0x00,0x91,0xd2,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x80,0xdc,0x00,0x00
-# CHECK: v_max_i16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x30,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ashrrev_i64 v[5:6], 0, ttmp[10:11] ; encoding: [0x05,0x00,0x91,0xd2,0x80,0xf4,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x80,0xf4,0x00,0x00
-# CHECK: v_max_i16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x30,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x30,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_ashrrev_i64 v[5:6], 0, exec ; encoding: [0x05,0x00,0x91,0xd2,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x91,0xd2,0x80,0xfc,0x00,0x00
-# CHECK: v_max_i16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x30,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_ashrrev_i64 v[5:6], 0, 0 ; encoding: [0x05,0x00,0x91,0xd2,0x80,0x00,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x80,0x00,0x01,0x00
-# CHECK: v_max_i16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x30,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_ashrrev_i64 v[5:6], 0, -1 ; encoding: [0x05,0x00,0x91,0xd2,0x80,0x82,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x80,0x82,0x01,0x00
-# CHECK: v_max_i16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x30,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_ashrrev_i64 v[5:6], 0, 0.5 ; encoding: [0x05,0x00,0x91,0xd2,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x80,0xe0,0x01,0x00
-# CHECK: v_max_i16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x30,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_ashrrev_i64 v[5:6], 0, -4.0 ; encoding: [0x05,0x00,0x91,0xd2,0x80,0xee,0x01,0x00]
+0x05,0x00,0x91,0xd2,0x80,0xee,0x01,0x00
-# CHECK: v_max_i16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x30,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_ashrrev_i64 v[5:6], 0, v[2:3] ; encoding: [0x05,0x00,0x91,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x91,0xd2,0x80,0x04,0x02,0x00
-# CHECK: v_max_i16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x30,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x30,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_ashrrev_i64 v[5:6], 0, v[254:255] ; encoding: [0x05,0x00,0x91,0xd2,0x80,0xfc,0x03,0x00]
+0x05,0x00,0x91,0xd2,0x80,0xfc,0x03,0x00
-# CHECK: v_max_i16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x30,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x30,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_trig_preop_f64 v[5:6], 0, s2 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_max_i16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x30,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x30,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_trig_preop_f64 v[254:255], 0, s2 ; encoding: [0xfe,0x00,0x92,0xd2,0x80,0x04,0x00,0x00]
+0xfe,0x00,0x92,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_max_i16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x30,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x30,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_trig_preop_f64 v[5:6], -1, s2 ; encoding: [0x05,0x00,0x92,0xd2,0xc1,0x04,0x00,0x00]
+0x05,0x00,0x92,0xd2,0xc1,0x04,0x00,0x00
-# CHECK: v_max_i16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x30,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x30,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_trig_preop_f64 v[5:6], 0.5, s2 ; encoding: [0x05,0x00,0x92,0xd2,0xf0,0x04,0x00,0x00]
+0x05,0x00,0x92,0xd2,0xf0,0x04,0x00,0x00
-# CHECK: v_max_i16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x30,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x30,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_trig_preop_f64 v[5:6], -4.0, s2 ; encoding: [0x05,0x00,0x92,0xd2,0xf7,0x04,0x00,0x00]
+0x05,0x00,0x92,0xd2,0xf7,0x04,0x00,0x00
-# CHECK: v_max_i16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x30,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x30,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_trig_preop_f64 v[5:6], v[1:2], s2 ; encoding: [0x05,0x00,0x92,0xd2,0x01,0x05,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x01,0x05,0x00,0x00
-# CHECK: v_max_i16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x30,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x30,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_trig_preop_f64 v[5:6], v[254:255], s2 ; encoding: [0x05,0x00,0x92,0xd2,0xfe,0x05,0x00,0x00]
+0x05,0x00,0x92,0xd2,0xfe,0x05,0x00,0x00
-# CHECK: v_max_i16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x30,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x30,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_trig_preop_f64 v[5:6], 0, s101 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xca,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xca,0x00,0x00
-# CHECK: v_min_u16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x62]
-0x00,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, flat_scratch_lo ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xcc,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xcc,0x00,0x00
-# CHECK: v_min_u16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x63]
-0x00,0x00,0xfe,0x63
+# CHECK: v_trig_preop_f64 v[5:6], 0, flat_scratch_hi ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xce,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xce,0x00,0x00
-# CHECK: v_min_u16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x62]
-0x65,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, vcc_lo ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xd4,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xd4,0x00,0x00
-# CHECK: v_min_u16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x62]
-0x66,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, vcc_hi ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xd6,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xd6,0x00,0x00
-# CHECK: v_min_u16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x62]
-0x67,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, tba_lo ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xd8,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xd8,0x00,0x00
-# CHECK: v_min_u16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x62]
-0x6a,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, tba_hi ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xda,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xda,0x00,0x00
-# CHECK: v_min_u16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x62]
-0x6b,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, tma_lo ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xdc,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xdc,0x00,0x00
-# CHECK: v_min_u16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x62]
-0x6c,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, tma_hi ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xde,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xde,0x00,0x00
-# CHECK: v_min_u16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x62]
-0x6d,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, ttmp11 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xf6,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xf6,0x00,0x00
-# CHECK: v_min_u16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x62]
-0x6e,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, m0 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xf8,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xf8,0x00,0x00
-# CHECK: v_min_u16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x62]
-0x6f,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, exec_lo ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xfc,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xfc,0x00,0x00
-# CHECK: v_min_u16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x62]
-0x7b,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, exec_hi ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xfe,0x00,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xfe,0x00,0x00
-# CHECK: v_min_u16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x62]
-0x7c,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, 0 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0x00,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x80,0x00,0x01,0x00
-# CHECK: v_min_u16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x62]
-0x7e,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, -1 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0x82,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x80,0x82,0x01,0x00
-# CHECK: v_min_u16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x62]
-0x7f,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, 0.5 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xe0,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xe0,0x01,0x00
-# CHECK: v_min_u16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x62]
-0x80,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, -4.0 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xee,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xee,0x01,0x00
-# CHECK: v_min_u16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x62]
-0xc1,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, scc ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xfa,0x01,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xfa,0x01,0x00
-# CHECK: v_min_u16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x62]
-0xf0,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, v2 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0x04,0x02,0x00]
+0x05,0x00,0x92,0xd2,0x80,0x04,0x02,0x00
-# CHECK: v_min_u16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x62]
-0xf7,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, v255 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0xfe,0x03,0x00]
+0x05,0x00,0x92,0xd2,0x80,0xfe,0x03,0x00
-# CHECK: v_min_u16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x62]
-0xfd,0x00,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], neg(0), s2 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x20]
+0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x20
-# CHECK: v_min_u16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x62,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x62,0x0b,0xfe,0x00,0x00
+# CHECK: v_trig_preop_f64 v[5:6], |0|, s2 ; encoding: [0x05,0x01,0x92,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x01,0x92,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_min_u16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x62,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x62,0x56,0x34,0x00,0x00
+# CHECK: v_trig_preop_f64 v[5:6], 0, s2 clamp ; encoding: [0x05,0x80,0x92,0xd2,0x80,0x04,0x00,0x00]
+0x05,0x80,0x92,0xd2,0x80,0x04,0x00,0x00
-# CHECK: v_min_u16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x62]
-0x00,0x01,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, s2 mul:2 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x08]
+0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x08
-# CHECK: v_min_u16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x62]
-0xff,0x01,0x00,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, s2 mul:4 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x10]
+0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x10
-# CHECK: v_min_u16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x62]
-0x00,0xfe,0x01,0x62
+# CHECK: v_trig_preop_f64 v[5:6], 0, s2 div:2 ; encoding: [0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x18]
+0x05,0x00,0x92,0xd2,0x80,0x04,0x00,0x18
-# CHECK: v_min_u16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x31,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x20,0x7c]
+0x01,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x31,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x31,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x20,0x7c]
+0x65,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x31,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x20,0x7c]
+0x66,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x31,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x20,0x7c]
+0x67,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x31,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x20,0x7c]
+0x6a,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x31,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x20,0x7c]
+0x6b,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x31,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x20,0x7c]
+0x6c,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x31,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x31,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x20,0x7c]
+0x6d,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x31,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x31,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x20,0x7c]
+0x6e,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x31,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x31,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x20,0x7c]
+0x6f,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x31,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x31,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x20,0x7c]
+0x7b,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x31,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x31,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x20,0x7c]
+0x7c,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x31,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x31,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x20,0x7c]
+0x7e,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x31,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x31,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x20,0x7c]
+0x7f,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x31,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x31,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x20,0x7c]
+0x80,0x04,0x20,0x7c
-# CHECK: v_min_u16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x31,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x31,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_class_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x20,0x7c]
+0xc1,0x04,0x20,0x7c
-# CHECK: v_min_i16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x64]
-0x00,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x20,0x7c]
+0xf0,0x04,0x20,0x7c
-# CHECK: v_min_i16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x65]
-0x00,0x00,0xfe,0x65
+# CHECK: v_cmp_class_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x20,0x7c]
+0xf7,0x04,0x20,0x7c
-# CHECK: v_min_i16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x64]
-0x65,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x20,0x7c]
+0xfd,0x04,0x20,0x7c
-# CHECK: v_min_i16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x64]
-0x66,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x20,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x20,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_min_i16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x64]
-0x67,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x20,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x20,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_min_i16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x64]
-0x6a,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x20,0x7c]
+0x01,0x05,0x20,0x7c
-# CHECK: v_min_i16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x64]
-0x6b,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x20,0x7c]
+0xff,0x05,0x20,0x7c
-# CHECK: v_min_i16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x64]
-0x6c,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x21,0x7c]
+0x01,0xfe,0x21,0x7c
-# CHECK: v_min_i16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x64]
-0x6d,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x64]
-0x6e,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x10,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x64]
-0x6f,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x10,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x64]
-0x7b,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x10,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x64]
-0x7c,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x64]
-0x7e,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x10,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x64]
-0x7f,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x10,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x64]
-0x80,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x10,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x64]
-0xc1,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x10,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x64]
-0xf0,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x10,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x64]
-0xf7,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x10,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_min_i16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x64]
-0xfd,0x00,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_min_i16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x64,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x64,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x10,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_min_i16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x64,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x64,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_min_i16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x64]
-0x00,0x01,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_min_i16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x64]
-0xff,0x01,0x00,0x64
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_min_i16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x64]
-0x00,0xfe,0x01,0x64
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_min_i16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x32,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_min_i16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x32,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x32,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_min_i16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x32,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_min_i16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x32,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_min_i16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x32,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_min_i16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x32,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_min_i16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x32,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_min_i16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x32,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x32,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_min_i16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x32,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x32,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_min_i16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x32,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x32,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_min_i16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x32,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x32,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_min_i16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x32,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x32,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_min_i16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x32,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x32,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_min_i16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x32,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x32,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_min_i16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x32,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x32,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_min_i16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x32,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x32,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_class_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x10,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_ldexp_f16_e32 v0, s0, v0 ; encoding: [0x00,0x00,0x00,0x66]
-0x00,0x00,0x00,0x66
+# CHECK: v_cmp_class_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x10,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_ldexp_f16_e32 v255, s0, v0 ; encoding: [0x00,0x00,0xfe,0x67]
-0x00,0x00,0xfe,0x67
+# CHECK: v_cmpx_class_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x22,0x7c]
+0x01,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, s101, v0 ; encoding: [0x65,0x00,0x00,0x66]
-0x65,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x22,0x7c]
+0x65,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x00,0x66]
-0x66,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x22,0x7c]
+0x66,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x00,0x66]
-0x67,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x22,0x7c]
+0x67,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, vcc_lo, v0 ; encoding: [0x6a,0x00,0x00,0x66]
-0x6a,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x22,0x7c]
+0x6a,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, vcc_hi, v0 ; encoding: [0x6b,0x00,0x00,0x66]
-0x6b,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x22,0x7c]
+0x6b,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, tba_lo, v0 ; encoding: [0x6c,0x00,0x00,0x66]
-0x6c,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x22,0x7c]
+0x6c,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, tba_hi, v0 ; encoding: [0x6d,0x00,0x00,0x66]
-0x6d,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x22,0x7c]
+0x6d,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, tma_lo, v0 ; encoding: [0x6e,0x00,0x00,0x66]
-0x6e,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x22,0x7c]
+0x6e,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, tma_hi, v0 ; encoding: [0x6f,0x00,0x00,0x66]
-0x6f,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x22,0x7c]
+0x6f,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, ttmp11, v0 ; encoding: [0x7b,0x00,0x00,0x66]
-0x7b,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x22,0x7c]
+0x7b,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, m0, v0 ; encoding: [0x7c,0x00,0x00,0x66]
-0x7c,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x22,0x7c]
+0x7c,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, exec_lo, v0 ; encoding: [0x7e,0x00,0x00,0x66]
-0x7e,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x22,0x7c]
+0x7e,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, exec_hi, v0 ; encoding: [0x7f,0x00,0x00,0x66]
-0x7f,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x22,0x7c]
+0x7f,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, 0, v0 ; encoding: [0x80,0x00,0x00,0x66]
-0x80,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x22,0x7c]
+0x80,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, -1, v0 ; encoding: [0xc1,0x00,0x00,0x66]
-0xc1,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x22,0x7c]
+0xc1,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, 0.5, v0 ; encoding: [0xf0,0x00,0x00,0x66]
-0xf0,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x22,0x7c]
+0xf0,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, -4.0, v0 ; encoding: [0xf7,0x00,0x00,0x66]
-0xf7,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x22,0x7c]
+0xf7,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, scc, v0 ; encoding: [0xfd,0x00,0x00,0x66]
-0xfd,0x00,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x22,0x7c]
+0xfd,0x04,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, 0xfe0b, v0 ; encoding: [0xff,0x00,0x00,0x66,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x00,0x66,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_class_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x22,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x22,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_ldexp_f16_e32 v0, 0x3456, v0 ; encoding: [0xff,0x00,0x00,0x66,0x56,0x34,0x00,0x00]
-0xff,0x00,0x00,0x66,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_class_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x22,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x22,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_ldexp_f16_e32 v0, v0, v0 ; encoding: [0x00,0x01,0x00,0x66]
-0x00,0x01,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x22,0x7c]
+0x01,0x05,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, v255, v0 ; encoding: [0xff,0x01,0x00,0x66]
-0xff,0x01,0x00,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x22,0x7c]
+0xff,0x05,0x22,0x7c
-# CHECK: v_ldexp_f16_e32 v0, s0, v255 ; encoding: [0x00,0xfe,0x01,0x66]
-0x00,0xfe,0x01,0x66
+# CHECK: v_cmpx_class_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x23,0x7c]
+0x01,0xfe,0x23,0x7c
-# CHECK: v_ldexp_f16_e64 v0, s0, s0 ; encoding: [0x00,0x00,0x33,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v255, s0, s0 ; encoding: [0xff,0x00,0x33,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0x33,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x11,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, 0, s0 ; encoding: [0x00,0x00,0x33,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x11,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, -1, s0 ; encoding: [0x00,0x00,0x33,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x11,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, 0.5, s0 ; encoding: [0x00,0x00,0x33,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, -4.0, s0 ; encoding: [0x00,0x00,0x33,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x11,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, scc, s0 ; encoding: [0x00,0x00,0x33,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x11,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, v0, s0 ; encoding: [0x00,0x00,0x33,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0x33,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x11,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, v255, s0 ; encoding: [0x00,0x00,0x33,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0x33,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x11,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, s0, 0 ; encoding: [0x00,0x00,0x33,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0x33,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x11,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, s0, -1 ; encoding: [0x00,0x00,0x33,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0x33,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x11,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, s0, 0.5 ; encoding: [0x00,0x00,0x33,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x33,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x11,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, s0, -4.0 ; encoding: [0x00,0x00,0x33,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0x33,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x11,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, s0, scc ; encoding: [0x00,0x00,0x33,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x33,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, s0, v0 ; encoding: [0x00,0x00,0x33,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0x33,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, s0, v255 ; encoding: [0x00,0x00,0x33,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x33,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, -s0, s0 ; encoding: [0x00,0x00,0x33,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0x33,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, |s0|, s0 ; encoding: [0x00,0x01,0x33,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0x33,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_ldexp_f16_e64 v0, s0, s0 clamp ; encoding: [0x00,0x80,0x33,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0x33,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_mad_legacy_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_mad_legacy_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xc0,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xc0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_mad_legacy_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_mad_legacy_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_mad_legacy_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_mad_legacy_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_mad_legacy_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_mad_legacy_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc0,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_mad_legacy_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc0,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_mad_legacy_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_mad_legacy_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc0,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_mad_legacy_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc0,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_mad_legacy_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc0,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_mad_legacy_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc0,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x11,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_mad_legacy_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_class_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x11,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x11,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_mad_legacy_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc0,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_class_f64_e32 vcc, s[2:3], v2 ; encoding: [0x02,0x04,0x24,0x7c]
+0x02,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_class_f64_e32 vcc, s[4:5], v2 ; encoding: [0x04,0x04,0x24,0x7c]
+0x04,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_class_f64_e32 vcc, s[100:101], v2 ; encoding: [0x64,0x04,0x24,0x7c]
+0x64,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_class_f64_e32 vcc, flat_scratch, v2 ; encoding: [0x66,0x04,0x24,0x7c]
+0x66,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_class_f64_e32 vcc, vcc, v2 ; encoding: [0x6a,0x04,0x24,0x7c]
+0x6a,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_class_f64_e32 vcc, tba, v2 ; encoding: [0x6c,0x04,0x24,0x7c]
+0x6c,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_class_f64_e32 vcc, tma, v2 ; encoding: [0x6e,0x04,0x24,0x7c]
+0x6e,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_class_f64_e32 vcc, ttmp[10:11], v2 ; encoding: [0x7a,0x04,0x24,0x7c]
+0x7a,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_class_f64_e32 vcc, exec, v2 ; encoding: [0x7e,0x04,0x24,0x7c]
+0x7e,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_class_f64_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x24,0x7c]
+0x80,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_class_f64_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x24,0x7c]
+0xc1,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_class_f64_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x24,0x7c]
+0xf0,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xc0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xc0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x24,0x7c]
+0xf7,0x04,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xc0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xc0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x24,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x24,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_mad_legacy_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xc0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xc0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x24,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x24,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_mad_legacy_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xc0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xc0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e32 vcc, v[1:2], v2 ; encoding: [0x01,0x05,0x24,0x7c]
+0x01,0x05,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xc0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xc0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e32 vcc, v[254:255], v2 ; encoding: [0xfe,0x05,0x24,0x7c]
+0xfe,0x05,0x24,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_class_f64_e32 vcc, s[2:3], v255 ; encoding: [0x02,0xfe,0x25,0x7c]
+0x02,0xfe,0x25,0x7c
-# CHECK: v_mad_legacy_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_legacy_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xc0,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_class_f64_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x12,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x12,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xc1,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xc1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x12,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x12,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x12,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x12,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x12,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_mad_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc1,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x12,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_mad_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc1,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x12,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[1:2], s2 ; encoding: [0x0a,0x00,0x12,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc1,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], v[254:255], s2 ; encoding: [0x0a,0x00,0x12,0xd0,0xfe,0x05,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0xfe,0x05,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc1,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc1,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc1,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc1,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_mad_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_mad_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_mad_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_mad_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_mad_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xc1,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xc1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_mad_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xc1,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xc1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_mad_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xc1,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xc1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_mad_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xc1,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xc1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x12,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_mad_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xc1,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xc1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f64_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x12,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_mad_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmpx_class_f64_e32 vcc, s[2:3], v2 ; encoding: [0x02,0x04,0x26,0x7c]
+0x02,0x04,0x26,0x7c
-# CHECK: v_mad_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmpx_class_f64_e32 vcc, s[4:5], v2 ; encoding: [0x04,0x04,0x26,0x7c]
+0x04,0x04,0x26,0x7c
-# CHECK: v_mad_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xc1,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmpx_class_f64_e32 vcc, s[100:101], v2 ; encoding: [0x64,0x04,0x26,0x7c]
+0x64,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, flat_scratch, v2 ; encoding: [0x66,0x04,0x26,0x7c]
+0x66,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xc2,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xc2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, vcc, v2 ; encoding: [0x6a,0x04,0x26,0x7c]
+0x6a,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, tba, v2 ; encoding: [0x6c,0x04,0x26,0x7c]
+0x6c,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, tma, v2 ; encoding: [0x6e,0x04,0x26,0x7c]
+0x6e,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, ttmp[10:11], v2 ; encoding: [0x7a,0x04,0x26,0x7c]
+0x7a,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, exec, v2 ; encoding: [0x7e,0x04,0x26,0x7c]
+0x7e,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x26,0x7c]
+0x80,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc2,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x26,0x7c]
+0xc1,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc2,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x26,0x7c]
+0xf0,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc2,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x26,0x7c]
+0xf7,0x04,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc2,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x26,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x26,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_mad_i32_i24 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc2,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x26,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x26,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_mad_i32_i24 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc2,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, v[1:2], v2 ; encoding: [0x01,0x05,0x26,0x7c]
+0x01,0x05,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc2,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, v[254:255], v2 ; encoding: [0xfe,0x05,0x26,0x7c]
+0xfe,0x05,0x26,0x7c
-# CHECK: v_mad_i32_i24 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc2,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_class_f64_e32 vcc, s[2:3], v255 ; encoding: [0x02,0xfe,0x27,0x7c]
+0x02,0xfe,0x27,0x7c
-# CHECK: v_mad_i32_i24 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc2,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_i32_i24 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xc2,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmpx_class_f64_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x13,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_i32_i24 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xc2,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmpx_class_f64_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x13,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_i32_i24 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xc2,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmpx_class_f64_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x13,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_i32_i24 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xc2,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmpx_class_f64_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_i32_i24 v0, s0, s0, scc ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xc2,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmpx_class_f64_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x13,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_i32_i24 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xc2,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmpx_class_f64_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x13,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_i32_i24 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xc2,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xc2,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmpx_class_f64_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x13,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x13,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_mad_u32_u24 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xc3,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xc3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x13,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x13,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[1:2], s2 ; encoding: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], v[254:255], s2 ; encoding: [0x0a,0x00,0x13,0xd0,0xfe,0x05,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0xfe,0x05,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc3,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc3,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc3,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc3,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc3,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc3,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc3,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc3,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc3,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xc3,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xc3,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_mad_u32_u24 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xc3,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_mad_u32_u24 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xc3,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_mad_u32_u24 v0, s0, s0, scc ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xc3,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_mad_u32_u24 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xc3,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_mad_u32_u24 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xc3,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xc3,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cubeid_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cubeid_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xc4,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xc4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x13,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cubeid_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f64_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x13,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x13,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cubeid_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x28,0x7c]
+0x01,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x28,0x7c]
+0x65,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x28,0x7c]
+0x66,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x28,0x7c]
+0x67,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc4,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x28,0x7c]
+0x6a,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc4,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x28,0x7c]
+0x6b,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x28,0x7c]
+0x6c,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc4,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x28,0x7c]
+0x6d,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc4,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x28,0x7c]
+0x6e,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc4,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x28,0x7c]
+0x6f,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc4,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x28,0x7c]
+0x7b,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x28,0x7c]
+0x7c,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc4,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_class_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x28,0x7c]
+0x7e,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_class_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x28,0x7c]
+0x7f,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_class_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x28,0x7c]
+0x80,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_class_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x28,0x7c]
+0xc1,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_class_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x28,0x7c]
+0xf0,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_class_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x28,0x7c]
+0xf7,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_class_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x28,0x7c]
+0xfd,0x04,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_class_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x28,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x28,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cubeid_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_class_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x28,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x28,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cubeid_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_class_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x28,0x7c]
+0x01,0x05,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_class_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x28,0x7c]
+0xff,0x05,0x28,0x7c
-# CHECK: v_cubeid_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_class_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x29,0x7c]
+0x01,0xfe,0x29,0x7c
-# CHECK: v_cubeid_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xc4,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xc4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubeid_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xc4,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xc4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x14,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubeid_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xc4,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xc4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x14,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubeid_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xc4,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xc4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x14,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubeid_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xc4,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xc4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubeid_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_class_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x14,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubeid_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_class_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x14,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubeid_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xc4,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_class_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x14,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x14,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cubesc_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xc5,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xc5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x14,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cubesc_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x14,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cubesc_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cubesc_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x14,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cubesc_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cubesc_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cubesc_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc5,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cubesc_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc5,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc5,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc5,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc5,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc5,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc5,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cubesc_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cubesc_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cubesc_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cubesc_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cubesc_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cubesc_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cubesc_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_class_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x14,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cubesc_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_class_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x14,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cubesc_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmpx_class_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x2a,0x7c]
+0x01,0x04,0x2a,0x7c
-# CHECK: v_cubesc_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xc5,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xc5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x2a,0x7c]
+0x65,0x04,0x2a,0x7c
-# CHECK: v_cubesc_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xc5,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xc5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x2a,0x7c]
+0x66,0x04,0x2a,0x7c
-# CHECK: v_cubesc_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xc5,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xc5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x2a,0x7c]
+0x67,0x04,0x2a,0x7c
-# CHECK: v_cubesc_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xc5,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xc5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x2a,0x7c]
+0x6a,0x04,0x2a,0x7c
-# CHECK: v_cubesc_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xc5,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xc5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x2a,0x7c]
+0x6b,0x04,0x2a,0x7c
-# CHECK: v_cubesc_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmpx_class_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x2a,0x7c]
+0x6c,0x04,0x2a,0x7c
-# CHECK: v_cubesc_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmpx_class_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x2a,0x7c]
+0x6d,0x04,0x2a,0x7c
-# CHECK: v_cubesc_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xc5,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmpx_class_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x2a,0x7c]
+0x6e,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x2a,0x7c]
+0x6f,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xc6,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xc6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x2a,0x7c]
+0x7b,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x2a,0x7c]
+0x7c,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x2a,0x7c]
+0x7e,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x2a,0x7c]
+0x7f,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x2a,0x7c]
+0x80,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x2a,0x7c]
+0xc1,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc6,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x2a,0x7c]
+0xf0,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc6,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x2a,0x7c]
+0xf7,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x2a,0x7c]
+0xfd,0x04,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc6,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x2a,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x2a,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc6,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x2a,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x2a,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc6,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x2a,0x7c]
+0x01,0x05,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc6,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x2a,0x7c]
+0xff,0x05,0x2a,0x7c
-# CHECK: v_cubetc_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_class_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x2b,0x7c]
+0x01,0xfe,0x2b,0x7c
-# CHECK: v_cubetc_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc6,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmpx_class_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x15,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmpx_class_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x15,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmpx_class_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x15,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmpx_class_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmpx_class_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x15,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmpx_class_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x15,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmpx_class_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x15,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_class_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x15,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x15,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmpx_class_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x15,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cubetc_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x15,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cubetc_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xc6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xc6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x15,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xc6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xc6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xc6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xc6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cubetc_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xc6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xc6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xc6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xc6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cubetc_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xc6,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cubema_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cubema_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xc7,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xc7,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cubema_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cubema_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cubema_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cubema_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cubema_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cubema_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc7,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cubema_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc7,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cubema_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cubema_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc7,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cubema_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc7,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cubema_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc7,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x15,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cubema_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc7,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_class_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x15,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x15,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cubema_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_f_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x40,0x7c]
+0x01,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc7,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_f_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x40,0x7c]
+0x65,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_f_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x40,0x7c]
+0x66,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_f_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x40,0x7c]
+0x67,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_f_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x40,0x7c]
+0x6a,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_f_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x40,0x7c]
+0x6b,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_f_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x40,0x7c]
+0x6c,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_f_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x40,0x7c]
+0x6d,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_f_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x40,0x7c]
+0x6e,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_f_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x40,0x7c]
+0x6f,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_f_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x40,0x7c]
+0x7b,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_f_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x40,0x7c]
+0x7c,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_f_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x40,0x7c]
+0x7e,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xc7,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xc7,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x40,0x7c]
+0x7f,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xc7,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xc7,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x40,0x7c]
+0x80,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xc7,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xc7,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x40,0x7c]
+0xc1,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xc7,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xc7,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x40,0x7c]
+0xf0,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xc7,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xc7,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x40,0x7c]
+0xf7,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_f_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x40,0x7c]
+0xfd,0x04,0x40,0x7c
-# CHECK: v_cubema_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_f_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x40,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x40,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cubema_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xc7,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_f_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x40,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x40,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x40,0x7c]
+0x01,0x05,0x40,0x7c
-# CHECK: v_bfe_u32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xc8,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xc8,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x40,0x7c]
+0xff,0x05,0x40,0x7c
-# CHECK: v_bfe_u32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x41,0x7c]
+0x01,0xfe,0x41,0x7c
-# CHECK: v_bfe_u32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x20,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x20,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x20,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc8,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc8,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x20,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc8,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_f_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x20,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc8,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_f_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x20,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc8,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x20,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc8,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x20,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc8,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x20,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc8,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x20,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc8,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x20,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xc8,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xc8,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xc8,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xc8,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xc8,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xc8,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_bfe_u32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xc8,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xc8,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_bfe_i32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_bfe_i32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xc9,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xc9,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_bfe_i32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_bfe_i32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_bfe_i32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_bfe_i32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_bfe_i32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_bfe_i32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc9,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_bfe_i32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc9,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_bfe_i32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc9,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_bfe_i32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc9,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_bfe_i32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc9,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_bfe_i32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc9,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x20,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_bfe_i32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc9,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_bfe_i32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc9,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_bfe_i32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc9,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_f_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x20,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_bfe_i32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xc9,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_f_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x20,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x20,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfe_i32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xc9,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_lt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x42,0x7c]
+0x01,0x04,0x42,0x7c
-# CHECK: v_bfe_i32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xc9,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_lt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x42,0x7c]
+0x65,0x04,0x42,0x7c
-# CHECK: v_bfe_i32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xc9,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_lt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x42,0x7c]
+0x66,0x04,0x42,0x7c
-# CHECK: v_bfe_i32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xc9,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_lt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x42,0x7c]
+0x67,0x04,0x42,0x7c
-# CHECK: v_bfe_i32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xc9,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_lt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x42,0x7c]
+0x6a,0x04,0x42,0x7c
-# CHECK: v_bfe_i32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xc9,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xc9,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_lt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x42,0x7c]
+0x6b,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x42,0x7c]
+0x6c,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xca,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xca,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x42,0x7c]
+0x6d,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x42,0x7c]
+0x6e,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x42,0x7c]
+0x6f,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x42,0x7c]
+0x7b,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x42,0x7c]
+0x7c,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x42,0x7c]
+0x7e,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xca,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x42,0x7c]
+0x7f,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xca,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x42,0x7c]
+0x80,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xca,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x42,0x7c]
+0xc1,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xca,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x42,0x7c]
+0xf0,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xca,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x42,0x7c]
+0xf7,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xca,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x42,0x7c]
+0xfd,0x04,0x42,0x7c
-# CHECK: v_bfi_b32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xca,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x42,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x42,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_bfi_b32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xca,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x42,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x42,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_bfi_b32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xca,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_lt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x42,0x7c]
+0x01,0x05,0x42,0x7c
-# CHECK: v_bfi_b32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xca,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_lt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x42,0x7c]
+0xff,0x05,0x42,0x7c
-# CHECK: v_bfi_b32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xca,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_lt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x43,0x7c]
+0x01,0xfe,0x43,0x7c
-# CHECK: v_bfi_b32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xca,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfi_b32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xca,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_lt_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x21,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfi_b32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xca,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_lt_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x21,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfi_b32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xca,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_lt_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x21,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_bfi_b32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xca,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xca,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_lt_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x21,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x21,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xcb,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xcb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x21,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x21,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x21,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x21,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_fma_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x21,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_fma_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x21,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_fma_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x21,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_fma_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xcb,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x21,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_fma_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xcb,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xcb,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xcb,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xcb,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xcb,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xcb,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_fma_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_fma_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_fma_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_fma_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_fma_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_fma_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xcb,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xcb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x21,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_fma_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xcb,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xcb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_fma_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xcb,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xcb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_fma_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xcb,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xcb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x21,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_fma_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xcb,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xcb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x21,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x21,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_eq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x44,0x7c]
+0x01,0x04,0x44,0x7c
-# CHECK: v_fma_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_eq_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x44,0x7c]
+0x65,0x04,0x44,0x7c
-# CHECK: v_fma_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xcb,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_eq_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x44,0x7c]
+0x66,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x44,0x7c]
+0x67,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[254:255], s[0:1], s[0:1], s[0:1] ; encoding: [0xfe,0x00,0xcc,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0xcc,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x44,0x7c]
+0x6a,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], 0, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x44,0x7c]
+0x6b,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], -1, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x44,0x7c]
+0x6c,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], 0.5, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x44,0x7c]
+0x6d,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], -4.0, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x44,0x7c]
+0x6e,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], v[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xcc,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x44,0x7c]
+0x6f,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], v[254:255], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xcc,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x44,0x7c]
+0x7b,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x44,0x7c]
+0x7c,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xcc,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x44,0x7c]
+0x7e,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xcc,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x44,0x7c]
+0x7f,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xcc,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x44,0x7c]
+0x80,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x44,0x7c]
+0xc1,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xcc,0xd1,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_eq_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x44,0x7c]
+0xf0,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_eq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x44,0x7c]
+0xf7,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_eq_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x44,0x7c]
+0xfd,0x04,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_eq_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x44,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x44,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_eq_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x44,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x44,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_eq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x44,0x7c]
+0x01,0x05,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0xf8,0x07]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0xf8,0x07
+# CHECK: v_cmp_eq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x44,0x7c]
+0xff,0x05,0x44,0x7c
-# CHECK: v_fma_f64 v[0:1], -s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_eq_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x45,0x7c]
+0x01,0xfe,0x45,0x7c
-# CHECK: v_fma_f64 v[0:1], s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_eq_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x22,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], -s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_eq_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x22,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], |s[0:1]|, s[0:1], s[0:1] ; encoding: [0x00,0x01,0xcc,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xcc,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x22,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], s[0:1], |s[0:1]|, s[0:1] ; encoding: [0x00,0x02,0xcc,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xcc,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], |s[0:1]| ; encoding: [0x00,0x04,0xcc,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xcc,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x22,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], |s[0:1]|, |s[0:1]|, |s[0:1]| ; encoding: [0x00,0x07,0xcc,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xcc,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x22,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0xcc,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xcc,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x22,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_eq_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x22,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x22,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_fma_f64 v[0:1], s[0:1], s[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xcc,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_eq_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x22,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_lerp_u8 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x22,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_lerp_u8 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xcd,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xcd,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x22,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_lerp_u8 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_lerp_u8 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_lerp_u8 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_lerp_u8 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_lerp_u8 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_lerp_u8 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xcd,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_lerp_u8 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xcd,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_lerp_u8 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xcd,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_lerp_u8 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xcd,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_lerp_u8 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xcd,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_lerp_u8 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xcd,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_lerp_u8 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xcd,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_lerp_u8 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xcd,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_lerp_u8 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xcd,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_lerp_u8 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xcd,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_lerp_u8 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xcd,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_lerp_u8 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xcd,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_lerp_u8 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xcd,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_lerp_u8 v0, s0, s0, scc ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xcd,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_lerp_u8 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xcd,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x22,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_lerp_u8 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xcd,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xcd,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_eq_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_alignbit_b32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_alignbit_b32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xce,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xce,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x22,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_alignbit_b32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x22,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x22,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_alignbit_b32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x46,0x7c]
+0x01,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x46,0x7c]
+0x65,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x46,0x7c]
+0x66,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x46,0x7c]
+0x67,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xce,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x46,0x7c]
+0x6a,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xce,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x46,0x7c]
+0x6b,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xce,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x46,0x7c]
+0x6c,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xce,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x46,0x7c]
+0x6d,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xce,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x46,0x7c]
+0x6e,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xce,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x46,0x7c]
+0x6f,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xce,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x46,0x7c]
+0x7b,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xce,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x46,0x7c]
+0x7c,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xce,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x46,0x7c]
+0x7e,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xce,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_le_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x46,0x7c]
+0x7f,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xce,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_le_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x46,0x7c]
+0x80,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xce,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_le_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x46,0x7c]
+0xc1,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xce,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_le_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x46,0x7c]
+0xf0,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xce,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_le_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x46,0x7c]
+0xf7,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xce,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_le_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x46,0x7c]
+0xfd,0x04,0x46,0x7c
-# CHECK: v_alignbit_b32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xce,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xce,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_le_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x46,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x46,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x46,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x46,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_alignbyte_b32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xcf,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xcf,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x46,0x7c]
+0x01,0x05,0x46,0x7c
-# CHECK: v_alignbyte_b32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x46,0x7c]
+0xff,0x05,0x46,0x7c
-# CHECK: v_alignbyte_b32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x47,0x7c]
+0x01,0xfe,0x47,0x7c
-# CHECK: v_alignbyte_b32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x23,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x23,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xcf,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x23,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xcf,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x23,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xcf,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x23,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xcf,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x23,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xcf,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x23,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x23,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xcf,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x23,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xcf,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x23,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xcf,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x23,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xcf,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x23,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xcf,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_le_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x23,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xcf,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xcf,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xcf,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xcf,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xcf,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_alignbyte_b32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xcf,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xcf,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_min3_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_min3_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xd0,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xd0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_min3_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_min3_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_min3_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_min3_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_min3_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_min3_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd0,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_min3_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd0,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_min3_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_min3_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd0,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_min3_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd0,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_min3_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd0,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_min3_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd0,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x23,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_min3_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_min3_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd0,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_min3_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_le_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x23,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_min3_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_le_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x23,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x23,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min3_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_gt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x48,0x7c]
+0x01,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_gt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x48,0x7c]
+0x65,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_gt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x48,0x7c]
+0x66,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_gt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x48,0x7c]
+0x67,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_gt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x48,0x7c]
+0x6a,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_gt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x48,0x7c]
+0x6b,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_gt_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x48,0x7c]
+0x6c,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_gt_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x48,0x7c]
+0x6d,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_gt_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x48,0x7c]
+0x6e,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xd0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xd0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x48,0x7c]
+0x6f,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xd0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xd0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x48,0x7c]
+0x7b,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xd0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xd0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x48,0x7c]
+0x7c,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xd0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xd0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x48,0x7c]
+0x7e,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xd0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xd0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x48,0x7c]
+0x7f,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_gt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x48,0x7c]
+0x80,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_gt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x48,0x7c]
+0xc1,0x04,0x48,0x7c
-# CHECK: v_min3_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xd0,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_gt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x48,0x7c]
+0xf0,0x04,0x48,0x7c
-# CHECK: v_min3_i32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x48,0x7c]
+0xf7,0x04,0x48,0x7c
-# CHECK: v_min3_i32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xd1,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xd1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x48,0x7c]
+0xfd,0x04,0x48,0x7c
-# CHECK: v_min3_i32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x48,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x48,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_min3_i32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x48,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x48,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_min3_i32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x48,0x7c]
+0x01,0x05,0x48,0x7c
-# CHECK: v_min3_i32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x48,0x7c]
+0xff,0x05,0x48,0x7c
-# CHECK: v_min3_i32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x49,0x7c]
+0x01,0xfe,0x49,0x7c
-# CHECK: v_min3_i32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd1,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd1,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x24,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd1,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x24,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd1,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x24,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd1,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd1,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x24,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd1,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_gt_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x24,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd1,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x24,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd1,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x24,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xd1,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x24,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xd1,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_gt_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x24,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xd1,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x24,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xd1,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_gt_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x24,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xd1,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xd1,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_min3_i32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xd1,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xd1,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_min3_u32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_min3_u32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xd2,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xd2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_min3_u32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_min3_u32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_min3_u32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_min3_u32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_min3_u32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_min3_u32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd2,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_min3_u32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd2,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_min3_u32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd2,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_min3_u32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd2,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_min3_u32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd2,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_min3_u32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd2,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_min3_u32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd2,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_min3_u32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd2,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_min3_u32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd2,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_min3_u32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xd2,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x24,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_min3_u32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xd2,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_gt_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_min3_u32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xd2,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_min3_u32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xd2,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_gt_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x24,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_min3_u32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xd2,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_gt_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x24,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x24,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min3_u32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xd2,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_lg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4a,0x7c]
+0x01,0x04,0x4a,0x7c
-# CHECK: v_min3_u32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xd2,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xd2,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_lg_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4a,0x7c]
+0x65,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4a,0x7c]
+0x66,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xd3,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xd3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4a,0x7c]
+0x67,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4a,0x7c]
+0x6a,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4a,0x7c]
+0x6b,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x4a,0x7c]
+0x6c,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x4a,0x7c]
+0x6d,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x4a,0x7c]
+0x6e,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd3,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x4a,0x7c]
+0x6f,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd3,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x4a,0x7c]
+0x7b,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4a,0x7c]
+0x7c,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd3,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4a,0x7c]
+0x7e,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd3,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4a,0x7c]
+0x7f,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd3,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4a,0x7c]
+0x80,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd3,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4a,0x7c]
+0xc1,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4a,0x7c]
+0xf0,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd3,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_lg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4a,0x7c]
+0xf7,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_lg_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4a,0x7c]
+0xfd,0x04,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_lg_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x4a,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x4a,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_max3_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_lg_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x4a,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x4a,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_max3_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_lg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4a,0x7c]
+0x01,0x05,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_lg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4a,0x7c]
+0xff,0x05,0x4a,0x7c
-# CHECK: v_max3_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_lg_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4b,0x7c]
+0x01,0xfe,0x4b,0x7c
-# CHECK: v_max3_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_lg_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x25,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_lg_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x25,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_lg_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x25,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_lg_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x25,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xd3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xd3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x25,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xd3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xd3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x25,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xd3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xd3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x25,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x25,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xd3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xd3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x25,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xd3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xd3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x25,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_lg_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x25,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_max3_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x25,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_max3_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xd3,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_lg_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x25,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_max3_i32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_max3_i32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xd4,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xd4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_max3_i32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_max3_i32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_max3_i32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_max3_i32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_max3_i32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_max3_i32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd4,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_max3_i32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd4,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_max3_i32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd4,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_max3_i32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd4,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_max3_i32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd4,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_max3_i32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd4,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_max3_i32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd4,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_max3_i32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd4,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_max3_i32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd4,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_max3_i32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xd4,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_max3_i32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xd4,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_max3_i32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xd4,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_max3_i32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xd4,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x25,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_max3_i32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xd4,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_lg_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_max3_i32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xd4,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_max3_i32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xd4,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xd4,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_lg_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x25,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_max3_u32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x25,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x25,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max3_u32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xd5,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xd5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4c,0x7c]
+0x01,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4c,0x7c]
+0x65,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4c,0x7c]
+0x66,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4c,0x7c]
+0x67,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4c,0x7c]
+0x6a,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4c,0x7c]
+0x6b,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd5,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x4c,0x7c]
+0x6c,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd5,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x4c,0x7c]
+0x6d,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd5,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x4c,0x7c]
+0x6e,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd5,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x4c,0x7c]
+0x6f,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd5,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x4c,0x7c]
+0x7b,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd5,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4c,0x7c]
+0x7c,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd5,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4c,0x7c]
+0x7e,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd5,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4c,0x7c]
+0x7f,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd5,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4c,0x7c]
+0x80,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xd5,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_ge_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4c,0x7c]
+0xc1,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xd5,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_ge_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4c,0x7c]
+0xf0,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xd5,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_ge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4c,0x7c]
+0xf7,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xd5,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_ge_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4c,0x7c]
+0xfd,0x04,0x4c,0x7c
-# CHECK: v_max3_u32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xd5,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_ge_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x4c,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x4c,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_max3_u32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xd5,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_ge_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x4c,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x4c,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_max3_u32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xd5,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xd5,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_ge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4c,0x7c]
+0x01,0x05,0x4c,0x7c
-# CHECK: v_med3_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4c,0x7c]
+0xff,0x05,0x4c,0x7c
-# CHECK: v_med3_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xd6,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xd6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4d,0x7c]
+0x01,0xfe,0x4d,0x7c
-# CHECK: v_med3_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x26,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x26,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x26,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd6,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x26,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd6,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x26,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x26,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd6,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x26,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd6,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x26,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd6,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x26,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd6,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x26,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x26,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd6,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_med3_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_med3_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_med3_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xd6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xd6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_med3_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xd6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xd6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_med3_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xd6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xd6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_med3_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xd6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xd6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_med3_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xd6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xd6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_med3_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_med3_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_med3_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xd6,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x26,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_med3_i32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_med3_i32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xd7,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xd7,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_med3_i32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x26,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_med3_i32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x26,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x26,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_i32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4e,0x7c]
+0x01,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4e,0x7c]
+0x65,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4e,0x7c]
+0x66,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd7,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4e,0x7c]
+0x67,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd7,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4e,0x7c]
+0x6a,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd7,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4e,0x7c]
+0x6b,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd7,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x4e,0x7c]
+0x6c,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd7,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x4e,0x7c]
+0x6d,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd7,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x4e,0x7c]
+0x6e,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd7,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x4e,0x7c]
+0x6f,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd7,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x4e,0x7c]
+0x7b,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd7,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4e,0x7c]
+0x7c,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xd7,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_o_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4e,0x7c]
+0x7e,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xd7,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_o_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4e,0x7c]
+0x7f,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xd7,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_o_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4e,0x7c]
+0x80,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xd7,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_o_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4e,0x7c]
+0xc1,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xd7,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_o_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4e,0x7c]
+0xf0,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xd7,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_o_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4e,0x7c]
+0xf7,0x04,0x4e,0x7c
-# CHECK: v_med3_i32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xd7,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xd7,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_o_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4e,0x7c]
+0xfd,0x04,0x4e,0x7c
-# CHECK: v_med3_u32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x4e,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x4e,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_med3_u32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xd8,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xd8,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x4e,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x4e,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_med3_u32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4e,0x7c]
+0x01,0x05,0x4e,0x7c
-# CHECK: v_med3_u32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4e,0x7c]
+0xff,0x05,0x4e,0x7c
-# CHECK: v_med3_u32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4f,0x7c]
+0x01,0xfe,0x4f,0x7c
-# CHECK: v_med3_u32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x27,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd8,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x27,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd8,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x27,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd8,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_o_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd8,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_o_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x27,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd8,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_o_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x27,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd8,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_o_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x27,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd8,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x27,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd8,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x27,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd8,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x27,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xd8,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_o_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x27,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xd8,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_o_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x27,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xd8,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xd8,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xd8,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xd8,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_med3_u32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xd8,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xd8,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_sad_u8 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_sad_u8 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xd9,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xd9,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_sad_u8 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_sad_u8 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_sad_u8 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_sad_u8 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_sad_u8 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_sad_u8 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd9,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_sad_u8 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd9,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_sad_u8 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd9,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_sad_u8 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd9,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_sad_u8 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd9,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_sad_u8 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd9,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_sad_u8 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd9,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_sad_u8 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd9,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x27,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_sad_u8 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd9,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_o_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_sad_u8 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xd9,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_sad_u8 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xd9,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_o_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x27,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_sad_u8 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xd9,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_o_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x27,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x27,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_sad_u8 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xd9,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_u_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x50,0x7c]
+0x01,0x04,0x50,0x7c
-# CHECK: v_sad_u8 v0, s0, s0, scc ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xd9,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_u_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x50,0x7c]
+0x65,0x04,0x50,0x7c
-# CHECK: v_sad_u8 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xd9,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_u_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x50,0x7c]
+0x66,0x04,0x50,0x7c
-# CHECK: v_sad_u8 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xd9,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xd9,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_u_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x50,0x7c]
+0x67,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x50,0x7c]
+0x6a,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xda,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xda,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x50,0x7c]
+0x6b,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x50,0x7c]
+0x6c,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x50,0x7c]
+0x6d,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x50,0x7c]
+0x6e,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x50,0x7c]
+0x6f,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x50,0x7c]
+0x7b,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xda,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x50,0x7c]
+0x7c,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xda,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x50,0x7c]
+0x7e,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xda,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x50,0x7c]
+0x7f,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xda,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x50,0x7c]
+0x80,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xda,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x50,0x7c]
+0xc1,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xda,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x50,0x7c]
+0xf0,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xda,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x50,0x7c]
+0xf7,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xda,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x50,0x7c]
+0xfd,0x04,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xda,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_u_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x50,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x50,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_sad_hi_u8 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xda,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_u_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x50,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x50,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_sad_hi_u8 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xda,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_u_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x50,0x7c]
+0x01,0x05,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xda,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_u_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x50,0x7c]
+0xff,0x05,0x50,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xda,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_u_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x51,0x7c]
+0x01,0xfe,0x51,0x7c
-# CHECK: v_sad_hi_u8 v0, s0, s0, scc ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xda,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_sad_hi_u8 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xda,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_u_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x28,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_sad_hi_u8 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xda,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xda,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_u_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x28,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x28,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_sad_u16 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xdb,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xdb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_sad_u16 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x28,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_sad_u16 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x28,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_sad_u16 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x28,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_sad_u16 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x28,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_sad_u16 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x28,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_sad_u16 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xdb,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x28,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_sad_u16 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xdb,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x28,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xdb,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x28,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xdb,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xdb,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xdb,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xdb,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xdb,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xdb,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xdb,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xdb,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xdb,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xdb,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, s0, scc ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xdb,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xdb,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_sad_u16 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xdb,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xdb,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_sad_u32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_sad_u32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xdc,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xdc,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_sad_u32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_sad_u32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_sad_u32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_sad_u32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_sad_u32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x28,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_sad_u32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xdc,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_sad_u32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xdc,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_sad_u32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xdc,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x28,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_sad_u32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xdc,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_u_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x28,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x28,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_sad_u32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xdc,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x52,0x7c]
+0x01,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xdc,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x52,0x7c]
+0x65,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xdc,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x52,0x7c]
+0x66,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xdc,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x52,0x7c]
+0x67,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xdc,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x52,0x7c]
+0x6a,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xdc,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_nge_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x52,0x7c]
+0x6b,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xdc,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_nge_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x52,0x7c]
+0x6c,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xdc,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_nge_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x52,0x7c]
+0x6d,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xdc,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_nge_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x52,0x7c]
+0x6e,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xdc,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_nge_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x52,0x7c]
+0x6f,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xdc,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_nge_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x52,0x7c]
+0x7b,0x04,0x52,0x7c
-# CHECK: v_sad_u32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xdc,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xdc,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_nge_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x52,0x7c]
+0x7c,0x04,0x52,0x7c
-# CHECK: v_cvt_pk_u8_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x52,0x7c]
+0x7e,0x04,0x52,0x7c
-# CHECK: v_cvt_pk_u8_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xdd,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xdd,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x52,0x7c]
+0x7f,0x04,0x52,0x7c
-# CHECK: v_cvt_pk_u8_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x52,0x7c]
+0x80,0x04,0x52,0x7c
-# CHECK: v_cvt_pk_u8_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x52,0x7c]
+0xc1,0x04,0x52,0x7c
-# CHECK: v_cvt_pk_u8_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x52,0x7c]
+0xf0,0x04,0x52,0x7c
-# CHECK: v_cvt_pk_u8_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x52,0x7c]
+0xf7,0x04,0x52,0x7c
-# CHECK: v_cvt_pk_u8_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x52,0x7c]
+0xfd,0x04,0x52,0x7c
-# CHECK: v_cvt_pk_u8_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xdd,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x52,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x52,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xdd,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x52,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x52,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x52,0x7c]
+0x01,0x05,0x52,0x7c
-# CHECK: v_cvt_pk_u8_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xdd,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x52,0x7c]
+0xff,0x05,0x52,0x7c
-# CHECK: v_cvt_pk_u8_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xdd,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nge_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x53,0x7c]
+0x01,0xfe,0x53,0x7c
-# CHECK: v_cvt_pk_u8_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xdd,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xdd,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nge_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x29,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nge_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x29,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xdd,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nge_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x29,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_nge_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x29,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_nge_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x29,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_nge_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x29,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_nge_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x29,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x29,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_nge_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x29,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x29,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_nge_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x29,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xdd,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xdd,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x29,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xdd,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xdd,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x29,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cvt_pk_u8_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xdd,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xdd,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_div_fixup_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xde,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xde,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xde,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xde,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xde,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xde,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xde,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_div_fixup_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xde,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_div_fixup_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_div_fixup_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xde,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_div_fixup_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_div_fixup_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_div_fixup_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xde,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x29,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_div_fixup_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xde,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_nge_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_div_fixup_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xde,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_div_fixup_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_nge_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x29,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_div_fixup_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xde,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_nge_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x29,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x29,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nlg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x54,0x7c]
+0x01,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nlg_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x54,0x7c]
+0x65,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_nlg_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x54,0x7c]
+0x66,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_nlg_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x54,0x7c]
+0x67,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xde,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xde,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x54,0x7c]
+0x6a,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xde,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xde,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x54,0x7c]
+0x6b,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xde,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xde,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x54,0x7c]
+0x6c,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xde,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xde,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x54,0x7c]
+0x6d,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xde,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xde,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x54,0x7c]
+0x6e,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_nlg_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x54,0x7c]
+0x6f,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_nlg_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x54,0x7c]
+0x7b,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xde,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_nlg_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x54,0x7c]
+0x7c,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x54,0x7c]
+0x7e,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f64 v[254:255], s[0:1], s[0:1], s[0:1] ; encoding: [0xfe,0x00,0xdf,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0xdf,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x54,0x7c]
+0x7f,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f64 v[0:1], 0, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x54,0x7c]
+0x80,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f64 v[0:1], -1, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x54,0x7c]
+0xc1,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f64 v[0:1], 0.5, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x54,0x7c]
+0xf0,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f64 v[0:1], -4.0, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x54,0x7c]
+0xf7,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f64 v[0:1], v[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xdf,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x54,0x7c]
+0xfd,0x04,0x54,0x7c
-# CHECK: v_div_fixup_f64 v[0:1], v[254:255], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xdf,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x54,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x54,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x54,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x54,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xdf,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x54,0x7c]
+0x01,0x05,0x54,0x7c
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xdf,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x54,0x7c]
+0xff,0x05,0x54,0x7c
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xdf,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nlg_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x55,0x7c]
+0x01,0xfe,0x55,0x7c
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xdf,0xd1,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_nlg_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_nlg_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_nlg_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_nlg_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_nlg_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0xf8,0x07]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0xf8,0x07
+# CHECK: v_cmp_nlg_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], -s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], -s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], |s[0:1]|, s[0:1], s[0:1] ; encoding: [0x00,0x01,0xdf,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xdf,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x2a,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], |s[0:1]|, s[0:1] ; encoding: [0x00,0x02,0xdf,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xdf,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], |s[0:1]| ; encoding: [0x00,0x04,0xdf,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xdf,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], |s[0:1]|, |s[0:1]|, |s[0:1]| ; encoding: [0x00,0x07,0xdf,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xdf,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0xdf,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xdf,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_div_fixup_f64 v[0:1], s[0:1], s[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xdf,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_div_scale_f32 v0, vcc, s0, s0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6a,0xe0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_div_scale_f32 v255, vcc, s0, s0, s0 ; encoding: [0xff,0x6a,0xe0,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x6a,0xe0,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_div_scale_f32 v0, vcc, 0, s0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x6a,0xe0,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_div_scale_f32 v0, vcc, -1, s0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x6a,0xe0,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_div_scale_f32 v0, vcc, 0.5, s0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x6a,0xe0,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_div_scale_f32 v0, vcc, -4.0, s0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x6a,0xe0,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_div_scale_f32 v0, vcc, scc, s0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x6a,0xe0,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_div_scale_f32 v0, vcc, v0, s0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x6a,0xe0,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_div_scale_f32 v0, vcc, v255, s0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x6a,0xe0,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_div_scale_f32 v0, vcc, s0, 0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x6a,0xe0,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_div_scale_f32 v0, vcc, s0, -1, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x6a,0xe0,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_div_scale_f32 v0, vcc, s0, 0.5, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x6a,0xe0,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_div_scale_f32 v0, vcc, s0, -4.0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x6a,0xe0,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x2a,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_div_scale_f32 v0, vcc, s0, scc, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x6a,0xe0,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_div_scale_f32 v0, vcc, s0, v0, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x6a,0xe0,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_div_scale_f32 v0, vcc, s0, v255, s0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x6a,0xe0,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x2a,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_div_scale_f32 v0, vcc, s0, s0, 0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x6a,0xe0,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_nlg_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x2a,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x2a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_scale_f32 v0, vcc, s0, s0, -1 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x6a,0xe0,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_ngt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x56,0x7c]
+0x01,0x04,0x56,0x7c
-# CHECK: v_div_scale_f32 v0, vcc, s0, s0, 0.5 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x6a,0xe0,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_ngt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x56,0x7c]
+0x65,0x04,0x56,0x7c
-# CHECK: v_div_scale_f32 v0, vcc, s0, s0, -4.0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x6a,0xe0,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_ngt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x56,0x7c]
+0x66,0x04,0x56,0x7c
-# CHECK: v_div_scale_f32 v0, vcc, s0, s0, scc ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x6a,0xe0,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_ngt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x56,0x7c]
+0x67,0x04,0x56,0x7c
-# CHECK: v_div_scale_f32 v0, vcc, s0, s0, v0 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x6a,0xe0,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_ngt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x56,0x7c]
+0x6a,0x04,0x56,0x7c
-# CHECK: v_div_scale_f32 v0, vcc, s0, s0, v255 ; encoding: [0x00,0x6a,0xe0,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x6a,0xe0,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_ngt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x56,0x7c]
+0x6b,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x6a,0xe1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x56,0x7c]
+0x6c,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[254:255], vcc, s[0:1], s[0:1], s[0:1] ; encoding: [0xfe,0x6a,0xe1,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x6a,0xe1,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x56,0x7c]
+0x6d,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, 0, s[0:1], s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x6a,0xe1,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x56,0x7c]
+0x6e,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, -1, s[0:1], s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x6a,0xe1,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x56,0x7c]
+0x6f,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, 0.5, s[0:1], s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x6a,0xe1,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x56,0x7c]
+0x7b,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, -4.0, s[0:1], s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x6a,0xe1,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x56,0x7c]
+0x7c,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, v[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x6a,0xe1,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x56,0x7c]
+0x7e,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, v[254:255], s[0:1], s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x6a,0xe1,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x56,0x7c]
+0x7f,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], 0, s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x6a,0xe1,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x56,0x7c]
+0x80,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], -1, s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x6a,0xe1,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x56,0x7c]
+0xc1,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x6a,0xe1,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x56,0x7c]
+0xf0,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x6a,0xe1,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x56,0x7c]
+0xf7,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x6a,0xe1,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x56,0x7c]
+0xfd,0x04,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0xfc,0x03,0x00]
-0x00,0x6a,0xe1,0xd1,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_ngt_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x56,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x56,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], s[0:1], 0 ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x6a,0xe1,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_ngt_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x56,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x56,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], s[0:1], -1 ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x6a,0xe1,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_ngt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x56,0x7c]
+0x01,0x05,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x6a,0xe1,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_ngt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x56,0x7c]
+0xff,0x05,0x56,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x6a,0xe1,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_ngt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x57,0x7c]
+0x01,0xfe,0x57,0x7c
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x6a,0xe1,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_scale_f64 v[0:1], vcc, s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x6a,0xe1,0xd1,0x00,0x00,0xf8,0x07]
-0x00,0x6a,0xe1,0xd1,0x00,0x00,0xf8,0x07
+# CHECK: v_cmp_ngt_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f32 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xe2,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xe2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe2,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xe2,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe2,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x2b,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe2,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe2,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xe2,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xe2,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, scc ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_div_fmas_f32 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_div_fmas_f32 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_div_fmas_f32 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xe2,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xe2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_div_fmas_f32 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xe2,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xe2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xe2,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xe2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_div_fmas_f32 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xe2,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xe2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x2b,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_div_fmas_f32 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xe2,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xe2,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_div_fmas_f32 v0, s0, s0, s0 mul:2 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_div_fmas_f32 v0, s0, s0, s0 mul:4 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x2b,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_div_fmas_f32 v0, s0, s0, s0 div:2 ; encoding: [0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xe2,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_ngt_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x2b,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x2b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x58,0x7c]
+0x01,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[254:255], s[0:1], s[0:1], s[0:1] ; encoding: [0xfe,0x00,0xe3,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0xe3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x58,0x7c]
+0x65,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], 0, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe3,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x58,0x7c]
+0x66,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], -1, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe3,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x58,0x7c]
+0x67,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], 0.5, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe3,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x58,0x7c]
+0x6a,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], -4.0, s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe3,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x58,0x7c]
+0x6b,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], v[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe3,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x58,0x7c]
+0x6c,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], v[254:255], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe3,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x58,0x7c]
+0x6d,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x58,0x7c]
+0x6e,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe3,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x58,0x7c]
+0x6f,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe3,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x58,0x7c]
+0x7b,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe3,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x58,0x7c]
+0x7c,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x58,0x7c]
+0x7e,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe3,0xd1,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_nle_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x58,0x7c]
+0x7f,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_nle_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x58,0x7c]
+0x80,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_nle_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x58,0x7c]
+0xc1,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_nle_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x58,0x7c]
+0xf0,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_nle_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x58,0x7c]
+0xf7,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_nle_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x58,0x7c]
+0xfd,0x04,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0xf8,0x07]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0xf8,0x07
+# CHECK: v_cmp_nle_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x58,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x58,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_div_fmas_f64 v[0:1], -s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nle_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x58,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x58,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nle_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x58,0x7c]
+0x01,0x05,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_nle_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x58,0x7c]
+0xff,0x05,0x58,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], -s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_nle_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x59,0x7c]
+0x01,0xfe,0x59,0x7c
-# CHECK: v_div_fmas_f64 v[0:1], |s[0:1]|, s[0:1], s[0:1] ; encoding: [0x00,0x01,0xe3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xe3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], |s[0:1]|, s[0:1] ; encoding: [0x00,0x02,0xe3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xe3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], |s[0:1]| ; encoding: [0x00,0x04,0xe3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xe3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f64 v[0:1], |s[0:1]|, |s[0:1]|, |s[0:1]| ; encoding: [0x00,0x07,0xe3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xe3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0xe3,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xe3,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x08]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x08
+# CHECK: v_cmp_nle_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x10]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x10
+# CHECK: v_cmp_nle_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fmas_f64 v[0:1], s[0:1], s[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x18]
-0x00,0x00,0xe3,0xd1,0x00,0x00,0x00,0x18
+# CHECK: v_cmp_nle_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_msad_u8 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xe4,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xe4,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_msad_u8 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_msad_u8 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_msad_u8 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x2c,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_msad_u8 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_msad_u8 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_msad_u8 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe4,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_msad_u8 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xe4,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe4,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe4,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe4,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe4,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xe4,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe4,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xe4,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xe4,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xe4,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_msad_u8 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xe4,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_msad_u8 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xe4,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_msad_u8 v0, s0, s0, scc ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xe4,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_msad_u8 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xe4,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_msad_u8 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xe4,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xe4,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], s0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_qsad_pk_u16_u8 v[254:255], s[0:1], s0, s[0:1] ; encoding: [0xfe,0x00,0xe5,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0xe5,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x2c,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_qsad_pk_u16_u8 v[0:1], 0, s0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe5,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_qsad_pk_u16_u8 v[0:1], -1, s0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe5,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_qsad_pk_u16_u8 v[0:1], 0.5, s0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe5,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x2c,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_qsad_pk_u16_u8 v[0:1], -4.0, s0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe5,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x2c,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x2c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_qsad_pk_u16_u8 v[0:1], v[0:1], s0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe5,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5a,0x7c]
+0x01,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], v[254:255], s0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe5,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5a,0x7c]
+0x65,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe5,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5a,0x7c]
+0x66,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe5,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5a,0x7c]
+0x67,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe5,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5a,0x7c]
+0x6a,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe5,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5a,0x7c]
+0x6b,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], scc, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xe5,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x5a,0x7c]
+0x6c,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], v0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe5,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x5a,0x7c]
+0x6d,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], v255, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xe5,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x5a,0x7c]
+0x6e,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], s0, 0 ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xe5,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_neq_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x5a,0x7c]
+0x6f,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], s0, -1 ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xe5,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_neq_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x5a,0x7c]
+0x7b,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xe5,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_neq_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5a,0x7c]
+0x7c,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xe5,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_neq_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5a,0x7c]
+0x7e,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], s0, v[0:1] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xe5,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_neq_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5a,0x7c]
+0x7f,0x04,0x5a,0x7c
-# CHECK: v_qsad_pk_u16_u8 v[0:1], s[0:1], s0, v[254:255] ; encoding: [0x00,0x00,0xe5,0xd1,0x00,0x00,0xf8,0x07]
-0x00,0x00,0xe5,0xd1,0x00,0x00,0xf8,0x07
+# CHECK: v_cmp_neq_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5a,0x7c]
+0x80,0x04,0x5a,0x7c
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], s0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5a,0x7c]
+0xc1,0x04,0x5a,0x7c
-# CHECK: v_mqsad_pk_u16_u8 v[254:255], s[0:1], s0, s[0:1] ; encoding: [0xfe,0x00,0xe6,0xd1,0x00,0x00,0x00,0x00]
-0xfe,0x00,0xe6,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5a,0x7c]
+0xf0,0x04,0x5a,0x7c
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], 0, s0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5a,0x7c]
+0xf7,0x04,0x5a,0x7c
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], -1, s0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5a,0x7c]
+0xfd,0x04,0x5a,0x7c
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], 0.5, s0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x5a,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x5a,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], -4.0, s0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x5a,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x5a,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], v[0:1], s0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe6,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5a,0x7c]
+0x01,0x05,0x5a,0x7c
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], v[254:255], s0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe6,0xd1,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5a,0x7c]
+0xff,0x05,0x5a,0x7c
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe6,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_neq_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5b,0x7c]
+0x01,0xfe,0x5b,0x7c
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe6,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe6,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_neq_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe6,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_neq_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], scc, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xe6,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_neq_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], v0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe6,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_neq_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], v255, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xe6,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_neq_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], s0, 0 ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xe6,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_neq_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], s0, -1 ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xe6,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_neq_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xe6,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_neq_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xe6,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], s0, v[0:1] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xe6,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_neq_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_mqsad_pk_u16_u8 v[0:1], s[0:1], s0, v[254:255] ; encoding: [0x00,0x00,0xe6,0xd1,0x00,0x00,0xf8,0x07]
-0x00,0x00,0xe6,0xd1,0x00,0x00,0xf8,0x07
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_mad_f16 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x2d,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_mad_f16 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xea,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xea,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_mad_f16 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_mad_f16 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_mad_f16 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_mad_f16 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_mad_f16 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_mad_f16 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xea,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_mad_f16 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xea,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_mad_f16 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xea,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_mad_f16 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xea,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_mad_f16 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xea,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_mad_f16 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xea,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_mad_f16 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xea,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_mad_f16 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xea,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_mad_f16 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xea,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_mad_f16 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_mad_f16 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xea,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_mad_f16 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xea,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_mad_f16 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xea,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_mad_f16 v0, s0, s0, scc ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xea,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x2d,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_mad_f16 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_neq_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_mad_f16 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xea,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_mad_f16 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_neq_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x2d,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_mad_f16 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_neq_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x2d,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x2d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_f16 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_nlt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5c,0x7c]
+0x01,0x04,0x5c,0x7c
-# CHECK: v_mad_f16 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xea,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_nlt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5c,0x7c]
+0x65,0x04,0x5c,0x7c
-# CHECK: v_mad_f16 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xea,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xea,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5c,0x7c]
+0x66,0x04,0x5c,0x7c
-# CHECK: v_mad_f16 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xea,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xea,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5c,0x7c]
+0x67,0x04,0x5c,0x7c
-# CHECK: v_mad_f16 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xea,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xea,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5c,0x7c]
+0x6a,0x04,0x5c,0x7c
-# CHECK: v_mad_f16 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xea,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xea,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5c,0x7c]
+0x6b,0x04,0x5c,0x7c
-# CHECK: v_mad_f16 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xea,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xea,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x5c,0x7c]
+0x6c,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x5c,0x7c]
+0x6d,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xeb,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xeb,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x5c,0x7c]
+0x6e,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x5c,0x7c]
+0x6f,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x5c,0x7c]
+0x7b,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5c,0x7c]
+0x7c,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5c,0x7c]
+0x7e,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5c,0x7c]
+0x7f,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xeb,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5c,0x7c]
+0x80,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xeb,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5c,0x7c]
+0xc1,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xeb,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5c,0x7c]
+0xf0,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xeb,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5c,0x7c]
+0xf7,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xeb,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5c,0x7c]
+0xfd,0x04,0x5c,0x7c
-# CHECK: v_mad_u16 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xeb,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x5c,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x5c,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_mad_u16 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xeb,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x5c,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x5c,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_mad_u16 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xeb,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5c,0x7c]
+0x01,0x05,0x5c,0x7c
-# CHECK: v_mad_u16 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xeb,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nlt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5c,0x7c]
+0xff,0x05,0x5c,0x7c
-# CHECK: v_mad_u16 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xeb,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_nlt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5d,0x7c]
+0x01,0xfe,0x5d,0x7c
-# CHECK: v_mad_u16 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xeb,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_u16 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xeb,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_nlt_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_u16 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xeb,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_nlt_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_u16 v0, s0, s0, scc ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xeb,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_nlt_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_u16 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xeb,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_nlt_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_u16 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xeb,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xeb,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_nlt_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_i16 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xec,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xec,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mad_i16 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_mad_i16 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_mad_i16 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_mad_i16 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_mad_i16 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x2e,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_mad_i16 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xec,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_mad_i16 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xec,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xec,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xec,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xec,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xec,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xec,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xec,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xec,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xec,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xec,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xec,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xec,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_mad_i16 v0, s0, s0, scc ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xec,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_mad_i16 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xec,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_mad_i16 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xec,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xec,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_fma_f16 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_fma_f16 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xee,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xee,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_fma_f16 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_fma_f16 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x2e,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_fma_f16 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_fma_f16 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_fma_f16 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x2e,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_fma_f16 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xee,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nlt_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x2e,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x2e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_fma_f16 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xee,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5e,0x7c]
+0x01,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xee,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5e,0x7c]
+0x65,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xee,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5e,0x7c]
+0x66,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xee,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5e,0x7c]
+0x67,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xee,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5e,0x7c]
+0x6a,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xee,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5e,0x7c]
+0x6b,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xee,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x5e,0x7c]
+0x6c,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xee,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x5e,0x7c]
+0x6d,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_tru_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x5e,0x7c]
+0x6e,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xee,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_tru_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x5e,0x7c]
+0x6f,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xee,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_tru_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x5e,0x7c]
+0x7b,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xee,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_tru_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5e,0x7c]
+0x7c,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, s0, scc ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xee,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_tru_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5e,0x7c]
+0x7e,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_tru_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5e,0x7c]
+0x7f,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xee,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_tru_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5e,0x7c]
+0x80,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_tru_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5e,0x7c]
+0xc1,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_tru_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5e,0x7c]
+0xf0,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_tru_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5e,0x7c]
+0xf7,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xee,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_tru_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5e,0x7c]
+0xfd,0x04,0x5e,0x7c
-# CHECK: v_fma_f16 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xee,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xee,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x5e,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x5e,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_fma_f16 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xee,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xee,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x5e,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x5e,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_fma_f16 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xee,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xee,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5e,0x7c]
+0x01,0x05,0x5e,0x7c
-# CHECK: v_fma_f16 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xee,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xee,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5e,0x7c]
+0xff,0x05,0x5e,0x7c
-# CHECK: v_fma_f16 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xee,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xee,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5f,0x7c]
+0x01,0xfe,0x5f,0x7c
-# CHECK: v_div_fixup_f16 v0, s0, s0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v255, s0, s0, s0 ; encoding: [0xff,0x00,0xef,0xd1,0x00,0x00,0x00,0x00]
-0xff,0x00,0xef,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, 0, s0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x80,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd1,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, -1, s0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd1,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, 0.5, s0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd1,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, -4.0, s0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd1,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, scc, s0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd1,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, v0, s0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x01,0x00,0x00]
-0x00,0x00,0xef,0xd1,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, v255, s0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0xff,0x01,0x00,0x00]
-0x00,0x00,0xef,0xd1,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, 0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0x01,0x00]
-0x00,0x00,0xef,0xd1,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, -1, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x82,0x01,0x00]
-0x00,0x00,0xef,0xd1,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, 0.5, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xef,0xd1,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, -4.0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0xee,0x01,0x00]
-0x00,0x00,0xef,0xd1,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x2f,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, scc, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xef,0xd1,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, v0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0x02,0x00]
-0x00,0x00,0xef,0xd1,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, v255, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xef,0xd1,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, s0, 0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x02]
-0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x02
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, s0, -1 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0x04,0x03]
-0x00,0x00,0xef,0xd1,0x00,0x00,0x04,0x03
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, s0, 0.5 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0xc0,0x03]
-0x00,0x00,0xef,0xd1,0x00,0x00,0xc0,0x03
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, s0, -4.0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0xdc,0x03]
-0x00,0x00,0xef,0xd1,0x00,0x00,0xdc,0x03
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, s0, scc ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0xf4,0x03]
-0x00,0x00,0xef,0xd1,0x00,0x00,0xf4,0x03
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, s0, v0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x04]
-0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x04
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, s0, v255 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0xfc,0x07]
-0x00,0x00,0xef,0xd1,0x00,0x00,0xfc,0x07
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, -s0, s0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x20]
-0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, -s0, s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x40]
-0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, s0, s0, -s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x80]
-0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0x80
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_div_fixup_f16 v0, -s0, -s0, -s0 ; encoding: [0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0xe0]
-0x00,0x00,0xef,0xd1,0x00,0x00,0x00,0xe0
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_div_fixup_f16 v0, |s0|, s0, s0 ; encoding: [0x00,0x01,0xef,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x01,0xef,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_div_fixup_f16 v0, s0, |s0|, s0 ; encoding: [0x00,0x02,0xef,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x02,0xef,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_div_fixup_f16 v0, s0, s0, |s0| ; encoding: [0x00,0x04,0xef,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x04,0xef,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_div_fixup_f16 v0, |s0|, |s0|, |s0| ; encoding: [0x00,0x07,0xef,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x07,0xef,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_div_fixup_f16 v0, s0, s0, s0 clamp ; encoding: [0x00,0x80,0xef,0xd1,0x00,0x00,0x00,0x00]
-0x00,0x80,0xef,0xd1,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_add_f64 v[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x2f,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_add_f64 v[254:255], s[0:1], s[0:1] ; encoding: [0xfe,0x00,0x80,0xd2,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x80,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_add_f64 v[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_add_f64 v[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x2f,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_add_f64 v[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x2f,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x2f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_add_f64 v[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x80,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x60,0x7c]
+0x01,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x80,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x60,0x7c]
+0x65,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x80,0xd2,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x60,0x7c]
+0x66,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x80,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x60,0x7c]
+0x67,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x80,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x60,0x7c]
+0x6a,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x80,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x80,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x60,0x7c]
+0x6b,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x80,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x80,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x60,0x7c]
+0x6c,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x80,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x60,0x7c]
+0x6d,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x80,0xd2,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x80,0xd2,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x60,0x7c]
+0x6e,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x20]
-0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_f_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x60,0x7c]
+0x6f,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x40]
-0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_f_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x60,0x7c]
+0x7b,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x60]
-0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_f_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x60,0x7c]
+0x7c,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], |s[0:1]|, s[0:1] ; encoding: [0x00,0x01,0x80,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x01,0x80,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x60,0x7c]
+0x7e,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], |s[0:1]| ; encoding: [0x00,0x02,0x80,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x02,0x80,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x60,0x7c]
+0x7f,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], |s[0:1]|, |s[0:1]| ; encoding: [0x00,0x03,0x80,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x03,0x80,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x60,0x7c]
+0x80,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x80,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x80,0x80,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x60,0x7c]
+0xc1,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x08]
-0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x08
+# CHECK: v_cmpx_f_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x60,0x7c]
+0xf0,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x10]
-0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x10
+# CHECK: v_cmpx_f_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x60,0x7c]
+0xf7,0x04,0x60,0x7c
-# CHECK: v_add_f64 v[0:1], s[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x18]
-0x00,0x00,0x80,0xd2,0x00,0x00,0x00,0x18
+# CHECK: v_cmpx_f_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x60,0x7c]
+0xfd,0x04,0x60,0x7c
-# CHECK: v_mul_f64 v[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x60,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x60,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_mul_f64 v[254:255], s[0:1], s[0:1] ; encoding: [0xfe,0x00,0x81,0xd2,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x81,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x60,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x60,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x60,0x7c]
+0x01,0x05,0x60,0x7c
-# CHECK: v_mul_f64 v[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x60,0x7c]
+0xff,0x05,0x60,0x7c
-# CHECK: v_mul_f64 v[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x61,0x7c]
+0x01,0xfe,0x61,0x7c
-# CHECK: v_mul_f64 v[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x81,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x81,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x30,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x81,0xd2,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x30,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x81,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x30,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x81,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x81,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x81,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x30,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x81,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x81,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x30,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x81,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x30,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x81,0xd2,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x81,0xd2,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x30,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x20]
-0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x30,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x40]
-0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_f_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x30,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x60]
-0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x30,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], |s[0:1]|, s[0:1] ; encoding: [0x00,0x01,0x81,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x01,0x81,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x30,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], |s[0:1]| ; encoding: [0x00,0x02,0x81,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x02,0x81,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], |s[0:1]|, |s[0:1]| ; encoding: [0x00,0x03,0x81,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x03,0x81,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x81,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x80,0x81,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x08]
-0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x08
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x10]
-0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x10
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_mul_f64 v[0:1], s[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x18]
-0x00,0x00,0x81,0xd2,0x00,0x00,0x00,0x18
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_min_f64 v[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_min_f64 v[254:255], s[0:1], s[0:1] ; encoding: [0xfe,0x00,0x82,0xd2,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x82,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_min_f64 v[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_min_f64 v[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_min_f64 v[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_min_f64 v[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x82,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_min_f64 v[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x82,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_min_f64 v[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x82,0xd2,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_min_f64 v[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x82,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_min_f64 v[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x82,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_min_f64 v[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x82,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x82,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_min_f64 v[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x82,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x82,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_min_f64 v[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x82,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_min_f64 v[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x82,0xd2,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x82,0xd2,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x30,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_min_f64 v[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x20]
-0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_f_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_min_f64 v[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x40]
-0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_min_f64 v[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x60]
-0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_f_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x30,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_min_f64 v[0:1], |s[0:1]|, s[0:1] ; encoding: [0x00,0x01,0x82,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x01,0x82,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x30,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x30,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_min_f64 v[0:1], s[0:1], |s[0:1]| ; encoding: [0x00,0x02,0x82,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x02,0x82,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x62,0x7c]
+0x01,0x04,0x62,0x7c
-# CHECK: v_min_f64 v[0:1], |s[0:1]|, |s[0:1]| ; encoding: [0x00,0x03,0x82,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x03,0x82,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x62,0x7c]
+0x65,0x04,0x62,0x7c
-# CHECK: v_min_f64 v[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x82,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x80,0x82,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x62,0x7c]
+0x66,0x04,0x62,0x7c
-# CHECK: v_min_f64 v[0:1], s[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x08]
-0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x08
+# CHECK: v_cmpx_lt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x62,0x7c]
+0x67,0x04,0x62,0x7c
-# CHECK: v_min_f64 v[0:1], s[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x10]
-0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x10
+# CHECK: v_cmpx_lt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x62,0x7c]
+0x6a,0x04,0x62,0x7c
-# CHECK: v_min_f64 v[0:1], s[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x18]
-0x00,0x00,0x82,0xd2,0x00,0x00,0x00,0x18
+# CHECK: v_cmpx_lt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x62,0x7c]
+0x6b,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x62,0x7c]
+0x6c,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[254:255], s[0:1], s[0:1] ; encoding: [0xfe,0x00,0x83,0xd2,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x83,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x62,0x7c]
+0x6d,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x62,0x7c]
+0x6e,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x62,0x7c]
+0x6f,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x62,0x7c]
+0x7b,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x83,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x62,0x7c]
+0x7c,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x83,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x62,0x7c]
+0x7e,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x83,0xd2,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x62,0x7c]
+0x7f,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x83,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x62,0x7c]
+0x80,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x83,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x62,0x7c]
+0xc1,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x83,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x83,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x62,0x7c]
+0xf0,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x83,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x83,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x62,0x7c]
+0xf7,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x83,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x62,0x7c]
+0xfd,0x04,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x83,0xd2,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x83,0xd2,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x62,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x62,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_max_f64 v[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x20]
-0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_lt_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x62,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x62,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_max_f64 v[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x40]
-0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_lt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x62,0x7c]
+0x01,0x05,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x60]
-0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_lt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x62,0x7c]
+0xff,0x05,0x62,0x7c
-# CHECK: v_max_f64 v[0:1], |s[0:1]|, s[0:1] ; encoding: [0x00,0x01,0x83,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x01,0x83,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x63,0x7c]
+0x01,0xfe,0x63,0x7c
-# CHECK: v_max_f64 v[0:1], s[0:1], |s[0:1]| ; encoding: [0x00,0x02,0x83,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x02,0x83,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max_f64 v[0:1], |s[0:1]|, |s[0:1]| ; encoding: [0x00,0x03,0x83,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x03,0x83,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x31,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max_f64 v[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x83,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x80,0x83,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x31,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max_f64 v[0:1], s[0:1], s[0:1] mul:2 ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x08]
-0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x08
+# CHECK: v_cmpx_lt_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x31,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max_f64 v[0:1], s[0:1], s[0:1] mul:4 ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x10]
-0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x10
+# CHECK: v_cmpx_lt_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x31,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_max_f64 v[0:1], s[0:1], s[0:1] div:2 ; encoding: [0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x18]
-0x00,0x00,0x83,0xd2,0x00,0x00,0x00,0x18
+# CHECK: v_cmpx_lt_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x31,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], s0 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x31,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f64 v[254:255], s[0:1], s0 ; encoding: [0xfe,0x00,0x84,0xd2,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x84,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x31,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x31,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], 0, s0 ; encoding: [0x00,0x00,0x84,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x31,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], -1, s0 ; encoding: [0x00,0x00,0x84,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x31,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x84,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x31,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x84,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x84,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x31,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], v[0:1], s0 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x84,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x31,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], v[254:255], s0 ; encoding: [0x00,0x00,0x84,0xd2,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x84,0xd2,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x84,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x84,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x84,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x84,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], scc ; encoding: [0x00,0x00,0x84,0xd2,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x84,0xd2,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], v0 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x84,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], v255 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x84,0xd2,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], -s[0:1], s0 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0x00,0x00,0x20]
-0x00,0x00,0x84,0xd2,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], |s[0:1]|, s0 ; encoding: [0x00,0x01,0x84,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x01,0x84,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], s0 clamp ; encoding: [0x00,0x80,0x84,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x80,0x84,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], s0 mul:2 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0x00,0x00,0x08]
-0x00,0x00,0x84,0xd2,0x00,0x00,0x00,0x08
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], s0 mul:4 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0x00,0x00,0x10]
-0x00,0x00,0x84,0xd2,0x00,0x00,0x00,0x10
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_ldexp_f64 v[0:1], s[0:1], s0 div:2 ; encoding: [0x00,0x00,0x84,0xd2,0x00,0x00,0x00,0x18]
-0x00,0x00,0x84,0xd2,0x00,0x00,0x00,0x18
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_mul_lo_u32 v0, s0, s0 ; encoding: [0x00,0x00,0x85,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_mul_lo_u32 v255, s0, s0 ; encoding: [0xff,0x00,0x85,0xd2,0x00,0x00,0x00,0x00]
-0xff,0x00,0x85,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_mul_lo_u32 v0, 0, s0 ; encoding: [0x00,0x00,0x85,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_mul_lo_u32 v0, -1, s0 ; encoding: [0x00,0x00,0x85,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_mul_lo_u32 v0, 0.5, s0 ; encoding: [0x00,0x00,0x85,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_mul_lo_u32 v0, -4.0, s0 ; encoding: [0x00,0x00,0x85,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x31,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_mul_lo_u32 v0, scc, s0 ; encoding: [0x00,0x00,0x85,0xd2,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x85,0xd2,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_mul_lo_u32 v0, v0, s0 ; encoding: [0x00,0x00,0x85,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x85,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_mul_lo_u32 v0, v255, s0 ; encoding: [0x00,0x00,0x85,0xd2,0xff,0x01,0x00,0x00]
-0x00,0x00,0x85,0xd2,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x31,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_mul_lo_u32 v0, s0, 0 ; encoding: [0x00,0x00,0x85,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x85,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x31,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x31,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_lo_u32 v0, s0, -1 ; encoding: [0x00,0x00,0x85,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x85,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x64,0x7c]
+0x01,0x04,0x64,0x7c
-# CHECK: v_mul_lo_u32 v0, s0, 0.5 ; encoding: [0x00,0x00,0x85,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x85,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x64,0x7c]
+0x65,0x04,0x64,0x7c
-# CHECK: v_mul_lo_u32 v0, s0, -4.0 ; encoding: [0x00,0x00,0x85,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x85,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x64,0x7c]
+0x66,0x04,0x64,0x7c
-# CHECK: v_mul_lo_u32 v0, s0, scc ; encoding: [0x00,0x00,0x85,0xd2,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x85,0xd2,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x64,0x7c]
+0x67,0x04,0x64,0x7c
-# CHECK: v_mul_lo_u32 v0, s0, v0 ; encoding: [0x00,0x00,0x85,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x85,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x64,0x7c]
+0x6a,0x04,0x64,0x7c
-# CHECK: v_mul_lo_u32 v0, s0, v255 ; encoding: [0x00,0x00,0x85,0xd2,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x85,0xd2,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x64,0x7c]
+0x6b,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, s0, s0 ; encoding: [0x00,0x00,0x86,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x64,0x7c]
+0x6c,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v255, s0, s0 ; encoding: [0xff,0x00,0x86,0xd2,0x00,0x00,0x00,0x00]
-0xff,0x00,0x86,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x64,0x7c]
+0x6d,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, 0, s0 ; encoding: [0x00,0x00,0x86,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x64,0x7c]
+0x6e,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, -1, s0 ; encoding: [0x00,0x00,0x86,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x64,0x7c]
+0x6f,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, 0.5, s0 ; encoding: [0x00,0x00,0x86,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x64,0x7c]
+0x7b,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, -4.0, s0 ; encoding: [0x00,0x00,0x86,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x64,0x7c]
+0x7c,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, scc, s0 ; encoding: [0x00,0x00,0x86,0xd2,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x86,0xd2,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x64,0x7c]
+0x7e,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, v0, s0 ; encoding: [0x00,0x00,0x86,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x86,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x64,0x7c]
+0x7f,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, v255, s0 ; encoding: [0x00,0x00,0x86,0xd2,0xff,0x01,0x00,0x00]
-0x00,0x00,0x86,0xd2,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x64,0x7c]
+0x80,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, s0, 0 ; encoding: [0x00,0x00,0x86,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x86,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x64,0x7c]
+0xc1,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, s0, -1 ; encoding: [0x00,0x00,0x86,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x86,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x64,0x7c]
+0xf0,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, s0, 0.5 ; encoding: [0x00,0x00,0x86,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x86,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x64,0x7c]
+0xf7,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, s0, -4.0 ; encoding: [0x00,0x00,0x86,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x86,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x64,0x7c]
+0xfd,0x04,0x64,0x7c
-# CHECK: v_mul_hi_u32 v0, s0, scc ; encoding: [0x00,0x00,0x86,0xd2,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x86,0xd2,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x64,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x64,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_mul_hi_u32 v0, s0, v0 ; encoding: [0x00,0x00,0x86,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x86,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x64,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x64,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_mul_hi_u32 v0, s0, v255 ; encoding: [0x00,0x00,0x86,0xd2,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x86,0xd2,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x64,0x7c]
+0x01,0x05,0x64,0x7c
-# CHECK: v_mul_hi_i32 v0, s0, s0 ; encoding: [0x00,0x00,0x87,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x64,0x7c]
+0xff,0x05,0x64,0x7c
-# CHECK: v_mul_hi_i32 v255, s0, s0 ; encoding: [0xff,0x00,0x87,0xd2,0x00,0x00,0x00,0x00]
-0xff,0x00,0x87,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x65,0x7c]
+0x01,0xfe,0x65,0x7c
-# CHECK: v_mul_hi_i32 v0, 0, s0 ; encoding: [0x00,0x00,0x87,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, -1, s0 ; encoding: [0x00,0x00,0x87,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x32,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, 0.5, s0 ; encoding: [0x00,0x00,0x87,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x32,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, -4.0, s0 ; encoding: [0x00,0x00,0x87,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x32,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, scc, s0 ; encoding: [0x00,0x00,0x87,0xd2,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x87,0xd2,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, v0, s0 ; encoding: [0x00,0x00,0x87,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x87,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x32,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, v255, s0 ; encoding: [0x00,0x00,0x87,0xd2,0xff,0x01,0x00,0x00]
-0x00,0x00,0x87,0xd2,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x32,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, s0, 0 ; encoding: [0x00,0x00,0x87,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x87,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x32,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, s0, -1 ; encoding: [0x00,0x00,0x87,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x87,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x32,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, s0, 0.5 ; encoding: [0x00,0x00,0x87,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x87,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x32,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, s0, -4.0 ; encoding: [0x00,0x00,0x87,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x87,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x32,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, s0, scc ; encoding: [0x00,0x00,0x87,0xd2,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x87,0xd2,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x32,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, s0, v0 ; encoding: [0x00,0x00,0x87,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x87,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x32,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_mul_hi_i32 v0, s0, v255 ; encoding: [0x00,0x00,0x87,0xd2,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x87,0xd2,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_readlane_b32 s0, v0, s0 ; encoding: [0x00,0x00,0x89,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_readlane_b32 s101, v0, s0 ; encoding: [0x65,0x00,0x89,0xd2,0x00,0x01,0x00,0x00]
-0x65,0x00,0x89,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_readlane_b32 flat_scratch_lo, v0, s0 ; encoding: [0x66,0x00,0x89,0xd2,0x00,0x01,0x00,0x00]
-0x66,0x00,0x89,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_readlane_b32 flat_scratch_hi, v0, s0 ; encoding: [0x67,0x00,0x89,0xd2,0x00,0x01,0x00,0x00]
-0x67,0x00,0x89,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_readlane_b32 tba_lo, v0, s0 ; encoding: [0x6c,0x00,0x89,0xd2,0x00,0x01,0x00,0x00]
-0x6c,0x00,0x89,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_readlane_b32 tba_hi, v0, s0 ; encoding: [0x6d,0x00,0x89,0xd2,0x00,0x01,0x00,0x00]
-0x6d,0x00,0x89,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_readlane_b32 tma_lo, v0, s0 ; encoding: [0x6e,0x00,0x89,0xd2,0x00,0x01,0x00,0x00]
-0x6e,0x00,0x89,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_readlane_b32 tma_hi, v0, s0 ; encoding: [0x6f,0x00,0x89,0xd2,0x00,0x01,0x00,0x00]
-0x6f,0x00,0x89,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_readlane_b32 ttmp11, v0, s0 ; encoding: [0x7b,0x00,0x89,0xd2,0x00,0x01,0x00,0x00]
-0x7b,0x00,0x89,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_readlane_b32 s0, v255, s0 ; encoding: [0x00,0x00,0x89,0xd2,0xff,0x01,0x00,0x00]
-0x00,0x00,0x89,0xd2,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_readlane_b32 s0, v0, s101 ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xcb,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xcb,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_readlane_b32 s0, v0, flat_scratch_lo ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xcd,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xcd,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_readlane_b32 s0, v0, flat_scratch_hi ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xcf,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xcf,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_readlane_b32 s0, v0, vcc_lo ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xd5,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xd5,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_readlane_b32 s0, v0, vcc_hi ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xd7,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xd7,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_readlane_b32 s0, v0, tba_lo ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xd9,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xd9,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_readlane_b32 s0, v0, tba_hi ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xdb,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xdb,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_readlane_b32 s0, v0, tma_lo ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xdd,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xdd,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_readlane_b32 s0, v0, tma_hi ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xdf,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xdf,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x32,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_readlane_b32 s0, v0, ttmp11 ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xf7,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xf7,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_readlane_b32 s0, v0, m0 ; encoding: [0x00,0x00,0x89,0xd2,0x00,0xf9,0x00,0x00]
-0x00,0x00,0x89,0xd2,0x00,0xf9,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_readlane_b32 s0, v0, 0 ; encoding: [0x00,0x00,0x89,0xd2,0x00,0x01,0x01,0x00]
-0x00,0x00,0x89,0xd2,0x00,0x01,0x01,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x32,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_writelane_b32 v0, s0, s0 ; encoding: [0x00,0x00,0x8a,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x32,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x32,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_writelane_b32 v255, s0, s0 ; encoding: [0xff,0x00,0x8a,0xd2,0x00,0x00,0x00,0x00]
-0xff,0x00,0x8a,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x66,0x7c]
+0x01,0x04,0x66,0x7c
-# CHECK: v_writelane_b32 v0, scc, s0 ; encoding: [0x00,0x00,0x8a,0xd2,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x8a,0xd2,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x66,0x7c]
+0x65,0x04,0x66,0x7c
-# CHECK: v_writelane_b32 v0, s0, 0 ; encoding: [0x00,0x00,0x8a,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x8a,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x66,0x7c]
+0x66,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], s0, s[0:1] ; encoding: [0x00,0x00,0x8f,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x8f,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x66,0x7c]
+0x67,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[254:255], s0, s[0:1] ; encoding: [0xfe,0x00,0x8f,0xd2,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x8f,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x66,0x7c]
+0x6a,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x8f,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x8f,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x66,0x7c]
+0x6b,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x8f,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x8f,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x66,0x7c]
+0x6c,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x8f,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x8f,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x66,0x7c]
+0x6d,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x8f,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x8f,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x66,0x7c]
+0x6e,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], scc, s[0:1] ; encoding: [0x00,0x00,0x8f,0xd2,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x8f,0xd2,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x66,0x7c]
+0x6f,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], v0, s[0:1] ; encoding: [0x00,0x00,0x8f,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x8f,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x66,0x7c]
+0x7b,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], v255, s[0:1] ; encoding: [0x00,0x00,0x8f,0xd2,0xff,0x01,0x00,0x00]
-0x00,0x00,0x8f,0xd2,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x66,0x7c]
+0x7c,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], s0, 0 ; encoding: [0x00,0x00,0x8f,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x8f,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x66,0x7c]
+0x7e,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], s0, -1 ; encoding: [0x00,0x00,0x8f,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x8f,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x66,0x7c]
+0x7f,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x8f,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x8f,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x66,0x7c]
+0x80,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x8f,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x8f,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x66,0x7c]
+0xc1,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], s0, v[0:1] ; encoding: [0x00,0x00,0x8f,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x8f,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x66,0x7c]
+0xf0,0x04,0x66,0x7c
-# CHECK: v_lshlrev_b64 v[0:1], s0, v[254:255] ; encoding: [0x00,0x00,0x8f,0xd2,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x8f,0xd2,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x66,0x7c]
+0xf7,0x04,0x66,0x7c
-# CHECK: v_lshrrev_b64 v[0:1], s0, s[0:1] ; encoding: [0x00,0x00,0x90,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x90,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x66,0x7c]
+0xfd,0x04,0x66,0x7c
-# CHECK: v_lshrrev_b64 v[254:255], s0, s[0:1] ; encoding: [0xfe,0x00,0x90,0xd2,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x90,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x66,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x66,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_lshrrev_b64 v[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x90,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x90,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x66,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x66,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_lshrrev_b64 v[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x90,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x90,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x66,0x7c]
+0x01,0x05,0x66,0x7c
-# CHECK: v_lshrrev_b64 v[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x90,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x90,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x66,0x7c]
+0xff,0x05,0x66,0x7c
-# CHECK: v_lshrrev_b64 v[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x90,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x90,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x67,0x7c]
+0x01,0xfe,0x67,0x7c
-# CHECK: v_lshrrev_b64 v[0:1], scc, s[0:1] ; encoding: [0x00,0x00,0x90,0xd2,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x90,0xd2,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_lshrrev_b64 v[0:1], v0, s[0:1] ; encoding: [0x00,0x00,0x90,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x90,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x33,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_lshrrev_b64 v[0:1], v255, s[0:1] ; encoding: [0x00,0x00,0x90,0xd2,0xff,0x01,0x00,0x00]
-0x00,0x00,0x90,0xd2,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x33,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_lshrrev_b64 v[0:1], s0, 0 ; encoding: [0x00,0x00,0x90,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x90,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x33,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_lshrrev_b64 v[0:1], s0, -1 ; encoding: [0x00,0x00,0x90,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x90,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_lshrrev_b64 v[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x90,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x90,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x33,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_lshrrev_b64 v[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x90,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x90,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x33,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_lshrrev_b64 v[0:1], s0, v[0:1] ; encoding: [0x00,0x00,0x90,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x90,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x33,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_lshrrev_b64 v[0:1], s0, v[254:255] ; encoding: [0x00,0x00,0x90,0xd2,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x90,0xd2,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x33,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], s0, s[0:1] ; encoding: [0x00,0x00,0x91,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x91,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x33,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_ashrrev_i64 v[254:255], s0, s[0:1] ; encoding: [0xfe,0x00,0x91,0xd2,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x91,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x33,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x91,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x91,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x33,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x91,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x91,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x33,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x91,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x91,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x91,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x91,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], scc, s[0:1] ; encoding: [0x00,0x00,0x91,0xd2,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x91,0xd2,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], v0, s[0:1] ; encoding: [0x00,0x00,0x91,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x91,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], v255, s[0:1] ; encoding: [0x00,0x00,0x91,0xd2,0xff,0x01,0x00,0x00]
-0x00,0x00,0x91,0xd2,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], s0, 0 ; encoding: [0x00,0x00,0x91,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x91,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], s0, -1 ; encoding: [0x00,0x00,0x91,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x91,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x91,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x91,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x91,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x91,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], s0, v[0:1] ; encoding: [0x00,0x00,0x91,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x91,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_ashrrev_i64 v[0:1], s0, v[254:255] ; encoding: [0x00,0x00,0x91,0xd2,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x91,0xd2,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], s0 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x00,0x92,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_trig_preop_f64 v[254:255], s[0:1], s0 ; encoding: [0xfe,0x00,0x92,0xd2,0x00,0x00,0x00,0x00]
-0xfe,0x00,0x92,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_trig_preop_f64 v[0:1], 0, s0 ; encoding: [0x00,0x00,0x92,0xd2,0x80,0x00,0x00,0x00]
-0x00,0x00,0x92,0xd2,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_trig_preop_f64 v[0:1], -1, s0 ; encoding: [0x00,0x00,0x92,0xd2,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x92,0xd2,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_trig_preop_f64 v[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x92,0xd2,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x92,0xd2,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_trig_preop_f64 v[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x92,0xd2,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x92,0xd2,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_trig_preop_f64 v[0:1], v[0:1], s0 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0x01,0x00,0x00]
-0x00,0x00,0x92,0xd2,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_trig_preop_f64 v[0:1], v[254:255], s0 ; encoding: [0x00,0x00,0x92,0xd2,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x92,0xd2,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0x00,0x01,0x00]
-0x00,0x00,0x92,0xd2,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x33,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0x82,0x01,0x00]
-0x00,0x00,0x92,0xd2,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x92,0xd2,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0xee,0x01,0x00]
-0x00,0x00,0x92,0xd2,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x33,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], scc ; encoding: [0x00,0x00,0x92,0xd2,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x92,0xd2,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_le_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x33,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x33,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], v0 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0x00,0x02,0x00]
-0x00,0x00,0x92,0xd2,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_gt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x68,0x7c]
+0x01,0x04,0x68,0x7c
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], v255 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x92,0xd2,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_gt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x68,0x7c]
+0x65,0x04,0x68,0x7c
-# CHECK: v_trig_preop_f64 v[0:1], -s[0:1], s0 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0x00,0x00,0x20]
-0x00,0x00,0x92,0xd2,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_gt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x68,0x7c]
+0x66,0x04,0x68,0x7c
-# CHECK: v_trig_preop_f64 v[0:1], |s[0:1]|, s0 ; encoding: [0x00,0x01,0x92,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x01,0x92,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x68,0x7c]
+0x67,0x04,0x68,0x7c
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], s0 clamp ; encoding: [0x00,0x80,0x92,0xd2,0x00,0x00,0x00,0x00]
-0x00,0x80,0x92,0xd2,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x68,0x7c]
+0x6a,0x04,0x68,0x7c
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], s0 mul:2 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0x00,0x00,0x08]
-0x00,0x00,0x92,0xd2,0x00,0x00,0x00,0x08
+# CHECK: v_cmpx_gt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x68,0x7c]
+0x6b,0x04,0x68,0x7c
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], s0 mul:4 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0x00,0x00,0x10]
-0x00,0x00,0x92,0xd2,0x00,0x00,0x00,0x10
+# CHECK: v_cmpx_gt_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x68,0x7c]
+0x6c,0x04,0x68,0x7c
-# CHECK: v_trig_preop_f64 v[0:1], s[0:1], s0 div:2 ; encoding: [0x00,0x00,0x92,0xd2,0x00,0x00,0x00,0x18]
-0x00,0x00,0x92,0xd2,0x00,0x00,0x00,0x18
+# CHECK: v_cmpx_gt_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x68,0x7c]
+0x6d,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x20,0x7c]
-0x00,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x68,0x7c]
+0x6e,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x20,0x7c]
-0x65,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x68,0x7c]
+0x6f,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x20,0x7c]
-0x66,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x68,0x7c]
+0x7b,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x20,0x7c]
-0x67,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x68,0x7c]
+0x7c,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x20,0x7c]
-0x6a,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x68,0x7c]
+0x7e,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x20,0x7c]
-0x6b,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x68,0x7c]
+0x7f,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x20,0x7c]
-0x6c,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x68,0x7c]
+0x80,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x20,0x7c]
-0x6d,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x68,0x7c]
+0xc1,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x20,0x7c]
-0x6e,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x68,0x7c]
+0xf0,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x20,0x7c]
-0x6f,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x68,0x7c]
+0xf7,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x20,0x7c]
-0x7b,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x68,0x7c]
+0xfd,0x04,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x20,0x7c]
-0x7c,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x68,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x68,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_class_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x20,0x7c]
-0x7e,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x68,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x68,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_class_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x20,0x7c]
-0x7f,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x68,0x7c]
+0x01,0x05,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x20,0x7c]
-0x80,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x68,0x7c]
+0xff,0x05,0x68,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x20,0x7c]
-0xc1,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x69,0x7c]
+0x01,0xfe,0x69,0x7c
-# CHECK: v_cmp_class_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x20,0x7c]
-0xf0,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x20,0x7c]
-0xf7,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x34,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x20,0x7c]
-0xfd,0x00,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x34,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x20,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x20,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_gt_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x34,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x20,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x20,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_gt_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x20,0x7c]
-0x00,0x01,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x34,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x20,0x7c]
-0xff,0x01,0x20,0x7c
+# CHECK: v_cmpx_gt_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x34,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x21,0x7c]
-0x00,0xfe,0x21,0x7c
+# CHECK: v_cmpx_gt_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x34,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x10,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x34,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x10,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x10,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x34,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x10,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x10,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x34,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x10,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x10,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x34,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x10,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x10,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x34,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x10,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x10,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x10,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x10,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x10,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x10,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x10,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x10,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x10,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x10,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x10,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x10,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x10,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x10,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x10,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x10,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x10,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x10,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x10,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x10,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x10,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x10,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x10,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x10,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x10,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x10,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x10,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x10,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x10,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x10,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_class_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x10,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x10,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_class_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x22,0x7c]
-0x00,0x00,0x22,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_class_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x22,0x7c]
-0x65,0x00,0x22,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x34,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_class_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x22,0x7c]
-0x66,0x00,0x22,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_class_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x22,0x7c]
-0x67,0x00,0x22,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_class_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x22,0x7c]
-0x6a,0x00,0x22,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x34,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_class_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x22,0x7c]
-0x6b,0x00,0x22,0x7c
+# CHECK: v_cmpx_gt_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x34,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x34,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x22,0x7c]
-0x6c,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6a,0x7c]
+0x01,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x22,0x7c]
-0x6d,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6a,0x7c]
+0x65,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x22,0x7c]
-0x6e,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6a,0x7c]
+0x66,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x22,0x7c]
-0x6f,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6a,0x7c]
+0x67,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x22,0x7c]
-0x7b,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6a,0x7c]
+0x6a,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x22,0x7c]
-0x7c,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6a,0x7c]
+0x6b,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x22,0x7c]
-0x7e,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x6a,0x7c]
+0x6c,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x22,0x7c]
-0x7f,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x6a,0x7c]
+0x6d,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x22,0x7c]
-0x80,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x6a,0x7c]
+0x6e,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x22,0x7c]
-0xc1,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x6a,0x7c]
+0x6f,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x22,0x7c]
-0xf0,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x6a,0x7c]
+0x7b,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x22,0x7c]
-0xf7,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6a,0x7c]
+0x7c,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x22,0x7c]
-0xfd,0x00,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6a,0x7c]
+0x7e,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x22,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x22,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_lg_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6a,0x7c]
+0x7f,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x22,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x22,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_lg_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6a,0x7c]
+0x80,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x22,0x7c]
-0x00,0x01,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6a,0x7c]
+0xc1,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x22,0x7c]
-0xff,0x01,0x22,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6a,0x7c]
+0xf0,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x23,0x7c]
-0x00,0xfe,0x23,0x7c
+# CHECK: v_cmpx_lg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6a,0x7c]
+0xf7,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x11,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6a,0x7c]
+0xfd,0x04,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x11,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x11,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x6a,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x6a,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x11,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x11,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x6a,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x6a,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x11,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x11,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6a,0x7c]
+0x01,0x05,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x11,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x11,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6a,0x7c]
+0xff,0x05,0x6a,0x7c
-# CHECK: v_cmpx_class_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x11,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x11,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6b,0x7c]
+0x01,0xfe,0x6b,0x7c
-# CHECK: v_cmpx_class_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x11,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x11,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x11,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x11,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x35,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x11,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x35,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x11,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x35,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x11,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x11,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x35,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x11,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x11,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x35,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x11,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x11,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x35,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x11,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x11,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x35,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x11,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x11,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x35,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x11,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x11,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x35,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x11,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x11,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x35,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x11,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x11,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x35,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x11,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x11,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x11,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x11,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x11,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x11,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_class_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x11,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x11,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, s[0:1], v0 ; encoding: [0x00,0x00,0x24,0x7c]
-0x00,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, s[2:3], v0 ; encoding: [0x02,0x00,0x24,0x7c]
-0x02,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, s[100:101], v0 ; encoding: [0x64,0x00,0x24,0x7c]
-0x64,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, flat_scratch, v0 ; encoding: [0x66,0x00,0x24,0x7c]
-0x66,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, vcc, v0 ; encoding: [0x6a,0x00,0x24,0x7c]
-0x6a,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, tba, v0 ; encoding: [0x6c,0x00,0x24,0x7c]
-0x6c,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, tma, v0 ; encoding: [0x6e,0x00,0x24,0x7c]
-0x6e,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, ttmp[10:11], v0 ; encoding: [0x7a,0x00,0x24,0x7c]
-0x7a,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, exec, v0 ; encoding: [0x7e,0x00,0x24,0x7c]
-0x7e,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x24,0x7c]
-0x80,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x24,0x7c]
-0xc1,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x24,0x7c]
-0xf0,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x24,0x7c]
-0xf7,0x00,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x24,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x24,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x24,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x24,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, v[0:1], v0 ; encoding: [0x00,0x01,0x24,0x7c]
-0x00,0x01,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x35,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_class_f64_e32 vcc, v[254:255], v0 ; encoding: [0xfe,0x01,0x24,0x7c]
-0xfe,0x01,0x24,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_class_f64_e32 vcc, s[0:1], v255 ; encoding: [0x00,0xfe,0x25,0x7c]
-0x00,0xfe,0x25,0x7c
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_class_f64_e64 s[0:1], s[0:1], s0 ; encoding: [0x00,0x00,0x12,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x35,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_class_f64_e64 s[2:3], s[0:1], s0 ; encoding: [0x02,0x00,0x12,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x12,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x35,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x35,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f64_e64 s[100:101], s[0:1], s0 ; encoding: [0x64,0x00,0x12,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x12,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6c,0x7c]
+0x01,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 flat_scratch, s[0:1], s0 ; encoding: [0x66,0x00,0x12,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x12,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6c,0x7c]
+0x65,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 vcc, s[0:1], s0 ; encoding: [0x6a,0x00,0x12,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x12,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6c,0x7c]
+0x66,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 tba, s[0:1], s0 ; encoding: [0x6c,0x00,0x12,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x12,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6c,0x7c]
+0x67,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 tma, s[0:1], s0 ; encoding: [0x6e,0x00,0x12,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x12,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6c,0x7c]
+0x6a,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 ttmp[10:11], s[0:1], s0 ; encoding: [0x7a,0x00,0x12,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x12,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6c,0x7c]
+0x6b,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x12,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x6c,0x7c]
+0x6c,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x12,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x6c,0x7c]
+0x6d,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x12,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x6c,0x7c]
+0x6e,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x12,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x12,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x6c,0x7c]
+0x6f,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], v[0:1], s0 ; encoding: [0x00,0x00,0x12,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x12,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x6c,0x7c]
+0x7b,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], v[254:255], s0 ; encoding: [0x00,0x00,0x12,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x12,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6c,0x7c]
+0x7c,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x12,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x12,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6c,0x7c]
+0x7e,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x12,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x12,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6c,0x7c]
+0x7f,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x12,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x12,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6c,0x7c]
+0x80,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x12,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x12,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6c,0x7c]
+0xc1,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], s[0:1], scc ; encoding: [0x00,0x00,0x12,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x12,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6c,0x7c]
+0xf0,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], s[0:1], v0 ; encoding: [0x00,0x00,0x12,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x12,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6c,0x7c]
+0xf7,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], s[0:1], v255 ; encoding: [0x00,0x00,0x12,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x12,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ge_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6c,0x7c]
+0xfd,0x04,0x6c,0x7c
-# CHECK: v_cmp_class_f64_e64 s[0:1], -s[0:1], s0 ; encoding: [0x00,0x00,0x12,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x12,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_ge_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x6c,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x6c,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, s[0:1], v0 ; encoding: [0x00,0x00,0x26,0x7c]
-0x00,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x6c,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x6c,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, s[2:3], v0 ; encoding: [0x02,0x00,0x26,0x7c]
-0x02,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6c,0x7c]
+0x01,0x05,0x6c,0x7c
-# CHECK: v_cmpx_class_f64_e32 vcc, s[100:101], v0 ; encoding: [0x64,0x00,0x26,0x7c]
-0x64,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6c,0x7c]
+0xff,0x05,0x6c,0x7c
-# CHECK: v_cmpx_class_f64_e32 vcc, flat_scratch, v0 ; encoding: [0x66,0x00,0x26,0x7c]
-0x66,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6d,0x7c]
+0x01,0xfe,0x6d,0x7c
-# CHECK: v_cmpx_class_f64_e32 vcc, vcc, v0 ; encoding: [0x6a,0x00,0x26,0x7c]
-0x6a,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, tba, v0 ; encoding: [0x6c,0x00,0x26,0x7c]
-0x6c,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x36,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, tma, v0 ; encoding: [0x6e,0x00,0x26,0x7c]
-0x6e,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x36,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, ttmp[10:11], v0 ; encoding: [0x7a,0x00,0x26,0x7c]
-0x7a,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x36,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, exec, v0 ; encoding: [0x7e,0x00,0x26,0x7c]
-0x7e,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x26,0x7c]
-0x80,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x36,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x26,0x7c]
-0xc1,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x36,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x26,0x7c]
-0xf0,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x36,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x26,0x7c]
-0xf7,0x00,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x36,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x26,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x26,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x36,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x26,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x26,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x36,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, v[0:1], v0 ; encoding: [0x00,0x01,0x26,0x7c]
-0x00,0x01,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x36,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, v[254:255], v0 ; encoding: [0xfe,0x01,0x26,0x7c]
-0xfe,0x01,0x26,0x7c
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x36,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_class_f64_e32 vcc, s[0:1], v255 ; encoding: [0x00,0xfe,0x27,0x7c]
-0x00,0xfe,0x27,0x7c
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], s[0:1], s0 ; encoding: [0x00,0x00,0x13,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 s[2:3], s[0:1], s0 ; encoding: [0x02,0x00,0x13,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x13,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 s[100:101], s[0:1], s0 ; encoding: [0x64,0x00,0x13,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x13,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 flat_scratch, s[0:1], s0 ; encoding: [0x66,0x00,0x13,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x13,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 vcc, s[0:1], s0 ; encoding: [0x6a,0x00,0x13,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x13,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 tba, s[0:1], s0 ; encoding: [0x6c,0x00,0x13,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x13,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 tma, s[0:1], s0 ; encoding: [0x6e,0x00,0x13,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x13,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 ttmp[10:11], s[0:1], s0 ; encoding: [0x7a,0x00,0x13,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x13,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x13,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x13,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x13,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x13,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x13,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], v[0:1], s0 ; encoding: [0x00,0x00,0x13,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x13,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], v[254:255], s0 ; encoding: [0x00,0x00,0x13,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x13,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x13,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x13,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x13,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x13,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x13,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x13,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x13,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x13,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], s[0:1], scc ; encoding: [0x00,0x00,0x13,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x13,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x36,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_class_f64_e64 s[0:1], s[0:1], v0 ; encoding: [0x00,0x00,0x13,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x13,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_class_f64_e64 s[0:1], s[0:1], v255 ; encoding: [0x00,0x00,0x13,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x13,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_class_f64_e64 s[0:1], -s[0:1], s0 ; encoding: [0x00,0x00,0x13,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x13,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x36,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_class_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x28,0x7c]
-0x00,0x00,0x28,0x7c
+# CHECK: v_cmpx_ge_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x36,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x36,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x28,0x7c]
-0x65,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6e,0x7c]
+0x01,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x28,0x7c]
-0x66,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6e,0x7c]
+0x65,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x28,0x7c]
-0x67,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6e,0x7c]
+0x66,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x28,0x7c]
-0x6a,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6e,0x7c]
+0x67,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x28,0x7c]
-0x6b,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6e,0x7c]
+0x6a,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x28,0x7c]
-0x6c,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6e,0x7c]
+0x6b,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x28,0x7c]
-0x6d,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x6e,0x7c]
+0x6c,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x28,0x7c]
-0x6e,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x6e,0x7c]
+0x6d,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x28,0x7c]
-0x6f,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x6e,0x7c]
+0x6e,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x28,0x7c]
-0x7b,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x6e,0x7c]
+0x6f,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x28,0x7c]
-0x7c,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x6e,0x7c]
+0x7b,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x28,0x7c]
-0x7e,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6e,0x7c]
+0x7c,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x28,0x7c]
-0x7f,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6e,0x7c]
+0x7e,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x28,0x7c]
-0x80,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6e,0x7c]
+0x7f,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x28,0x7c]
-0xc1,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6e,0x7c]
+0x80,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x28,0x7c]
-0xf0,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6e,0x7c]
+0xc1,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x28,0x7c]
-0xf7,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6e,0x7c]
+0xf0,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x28,0x7c]
-0xfd,0x00,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6e,0x7c]
+0xf7,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x28,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x28,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_o_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6e,0x7c]
+0xfd,0x04,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x28,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x28,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_o_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x6e,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x6e,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_class_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x28,0x7c]
-0x00,0x01,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x6e,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x6e,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_class_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x28,0x7c]
-0xff,0x01,0x28,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6e,0x7c]
+0x01,0x05,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x29,0x7c]
-0x00,0xfe,0x29,0x7c
+# CHECK: v_cmpx_o_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6e,0x7c]
+0xff,0x05,0x6e,0x7c
-# CHECK: v_cmp_class_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x14,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6f,0x7c]
+0x01,0xfe,0x6f,0x7c
-# CHECK: v_cmp_class_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x14,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x14,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x14,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x14,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x37,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x14,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x14,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x37,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x14,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x14,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x37,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x14,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x14,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x14,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x14,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x37,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x14,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x14,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x37,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x14,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x37,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x14,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x37,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x14,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x37,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x14,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x37,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x14,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x14,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x37,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x14,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x14,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x37,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x14,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x14,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x14,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x14,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x14,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x14,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x14,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x14,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x14,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x14,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x14,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x14,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x14,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x14,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x14,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x14,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_class_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x14,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x14,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x2a,0x7c]
-0x00,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x2a,0x7c]
-0x65,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x2a,0x7c]
-0x66,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x2a,0x7c]
-0x67,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x2a,0x7c]
-0x6a,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x2a,0x7c]
-0x6b,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x2a,0x7c]
-0x6c,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x2a,0x7c]
-0x6d,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x2a,0x7c]
-0x6e,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x2a,0x7c]
-0x6f,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x2a,0x7c]
-0x7b,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x37,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x2a,0x7c]
-0x7c,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_class_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x2a,0x7c]
-0x7e,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_class_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x2a,0x7c]
-0x7f,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x37,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_class_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x2a,0x7c]
-0x80,0x00,0x2a,0x7c
+# CHECK: v_cmpx_o_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x37,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x37,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x2a,0x7c]
-0xc1,0x00,0x2a,0x7c
+# CHECK: v_cmpx_u_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x70,0x7c]
+0x01,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x2a,0x7c]
-0xf0,0x00,0x2a,0x7c
+# CHECK: v_cmpx_u_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x70,0x7c]
+0x65,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x2a,0x7c]
-0xf7,0x00,0x2a,0x7c
+# CHECK: v_cmpx_u_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x70,0x7c]
+0x66,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x2a,0x7c]
-0xfd,0x00,0x2a,0x7c
+# CHECK: v_cmpx_u_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x70,0x7c]
+0x67,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x2a,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x2a,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x70,0x7c]
+0x6a,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x2a,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x2a,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x70,0x7c]
+0x6b,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x2a,0x7c]
-0x00,0x01,0x2a,0x7c
+# CHECK: v_cmpx_u_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x70,0x7c]
+0x6c,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x2a,0x7c]
-0xff,0x01,0x2a,0x7c
+# CHECK: v_cmpx_u_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x70,0x7c]
+0x6d,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x2b,0x7c]
-0x00,0xfe,0x2b,0x7c
+# CHECK: v_cmpx_u_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x70,0x7c]
+0x6e,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x15,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x70,0x7c]
+0x6f,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x15,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x15,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x70,0x7c]
+0x7b,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x15,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x15,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x70,0x7c]
+0x7c,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x15,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x15,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x70,0x7c]
+0x7e,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x15,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x15,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x70,0x7c]
+0x7f,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x15,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x15,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x70,0x7c]
+0x80,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x15,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x15,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x70,0x7c]
+0xc1,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x15,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x15,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x70,0x7c]
+0xf0,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x15,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x70,0x7c]
+0xf7,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x15,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x70,0x7c]
+0xfd,0x04,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x15,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x70,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x70,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_class_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x15,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x70,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x70,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_class_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x15,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x15,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x70,0x7c]
+0x01,0x05,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x15,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x15,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x70,0x7c]
+0xff,0x05,0x70,0x7c
-# CHECK: v_cmpx_class_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x15,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x15,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_u_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x71,0x7c]
+0x01,0xfe,0x71,0x7c
-# CHECK: v_cmpx_class_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x15,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x15,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x15,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x15,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_u_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x38,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x15,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x15,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_u_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x38,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x15,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x15,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_u_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x38,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x15,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x15,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_u_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x15,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x15,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_u_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x38,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x15,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x15,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_u_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x38,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_class_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x15,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x15,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_u_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x38,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x40,0x7c]
-0x00,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x38,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x40,0x7c]
-0x65,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x38,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x40,0x7c]
-0x66,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x38,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x40,0x7c]
-0x67,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x38,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x40,0x7c]
-0x6a,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x38,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x40,0x7c]
-0x6b,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x40,0x7c]
-0x6c,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x40,0x7c]
-0x6d,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x40,0x7c]
-0x6e,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x40,0x7c]
-0x6f,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x40,0x7c]
-0x7b,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x40,0x7c]
-0x7c,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x40,0x7c]
-0x7e,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x40,0x7c]
-0x7f,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x40,0x7c]
-0x80,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x40,0x7c]
-0xc1,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x40,0x7c]
-0xf0,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x40,0x7c]
-0xf7,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x40,0x7c]
-0xfd,0x00,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x40,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x40,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x40,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x40,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x40,0x7c]
-0x00,0x01,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x40,0x7c]
-0xff,0x01,0x40,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_f_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x41,0x7c]
-0x00,0xfe,0x41,0x7c
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_f_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x38,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_f_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x20,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x20,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_f_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x20,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x20,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_f_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x20,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x20,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x38,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_f_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x20,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x20,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x38,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x38,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x20,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x20,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x72,0x7c]
+0x01,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x20,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x20,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x72,0x7c]
+0x65,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x20,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x20,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x72,0x7c]
+0x66,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x20,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x72,0x7c]
+0x67,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x20,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x72,0x7c]
+0x6a,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x20,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x72,0x7c]
+0x6b,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x20,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x72,0x7c]
+0x6c,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x20,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x20,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x72,0x7c]
+0x6d,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x20,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x72,0x7c]
+0x6e,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x20,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x20,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x72,0x7c]
+0x6f,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x20,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x72,0x7c]
+0x7b,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x20,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x72,0x7c]
+0x7c,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x20,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x72,0x7c]
+0x7e,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x20,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x72,0x7c]
+0x7f,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x20,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x20,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x72,0x7c]
+0x80,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x20,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x72,0x7c]
+0xc1,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x20,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x72,0x7c]
+0xf0,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x20,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nge_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x72,0x7c]
+0xf7,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x20,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nge_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x72,0x7c]
+0xfd,0x04,0x72,0x7c
-# CHECK: v_cmp_f_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x20,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x20,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nge_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x72,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x72,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_f_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x20,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x20,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x72,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x72,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x42,0x7c]
-0x00,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x72,0x7c]
+0x01,0x05,0x72,0x7c
-# CHECK: v_cmp_lt_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x42,0x7c]
-0x65,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x72,0x7c]
+0xff,0x05,0x72,0x7c
-# CHECK: v_cmp_lt_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x42,0x7c]
-0x66,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x73,0x7c]
+0x01,0xfe,0x73,0x7c
-# CHECK: v_cmp_lt_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x42,0x7c]
-0x67,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x42,0x7c]
-0x6a,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x39,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x42,0x7c]
-0x6b,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x39,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x42,0x7c]
-0x6c,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x39,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x42,0x7c]
-0x6d,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x42,0x7c]
-0x6e,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x39,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x42,0x7c]
-0x6f,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x39,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x42,0x7c]
-0x7b,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x39,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x42,0x7c]
-0x7c,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x39,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x42,0x7c]
-0x7e,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x39,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x42,0x7c]
-0x7f,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x39,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x42,0x7c]
-0x80,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x39,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x42,0x7c]
-0xc1,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x39,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x42,0x7c]
-0xf0,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x42,0x7c]
-0xf7,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x42,0x7c]
-0xfd,0x00,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x42,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x42,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x42,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x42,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x42,0x7c]
-0x00,0x01,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x42,0x7c]
-0xff,0x01,0x42,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_lt_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x43,0x7c]
-0x00,0xfe,0x43,0x7c
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_lt_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_lt_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x21,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x21,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_lt_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x21,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x21,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_lt_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x21,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x21,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_lt_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x21,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x21,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_lt_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x21,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x21,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_lt_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x21,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x21,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_lt_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x21,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x21,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_lt_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x21,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_lt_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x21,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_lt_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x21,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_lt_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x21,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x39,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_lt_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x21,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x21,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_lt_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x21,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_lt_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x21,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x21,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x39,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_lt_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x21,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nge_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x39,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x39,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x21,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nlg_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x74,0x7c]
+0x01,0x04,0x74,0x7c
-# CHECK: v_cmp_lt_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x21,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nlg_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x74,0x7c]
+0x65,0x04,0x74,0x7c
-# CHECK: v_cmp_lt_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x21,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nlg_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x74,0x7c]
+0x66,0x04,0x74,0x7c
-# CHECK: v_cmp_lt_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x21,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x21,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nlg_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x74,0x7c]
+0x67,0x04,0x74,0x7c
-# CHECK: v_cmp_lt_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x21,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nlg_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x74,0x7c]
+0x6a,0x04,0x74,0x7c
-# CHECK: v_cmp_lt_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x21,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nlg_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x74,0x7c]
+0x6b,0x04,0x74,0x7c
-# CHECK: v_cmp_lt_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x21,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nlg_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x74,0x7c]
+0x6c,0x04,0x74,0x7c
-# CHECK: v_cmp_lt_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x21,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nlg_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x74,0x7c]
+0x6d,0x04,0x74,0x7c
-# CHECK: v_cmp_lt_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x21,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x21,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nlg_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x74,0x7c]
+0x6e,0x04,0x74,0x7c
-# CHECK: v_cmp_lt_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x21,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x21,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x74,0x7c]
+0x6f,0x04,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x44,0x7c]
-0x00,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x74,0x7c]
+0x7b,0x04,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x44,0x7c]
-0x65,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x74,0x7c]
+0x7c,0x04,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x44,0x7c]
-0x66,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x74,0x7c]
+0x7e,0x04,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x44,0x7c]
-0x67,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x74,0x7c]
+0x7f,0x04,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x44,0x7c]
-0x6a,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x74,0x7c]
+0x80,0x04,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x44,0x7c]
-0x6b,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x74,0x7c]
+0xc1,0x04,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x44,0x7c]
-0x6c,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x74,0x7c]
+0xf0,0x04,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x44,0x7c]
-0x6d,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x74,0x7c]
+0xf7,0x04,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x44,0x7c]
-0x6e,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x74,0x7c]
+0xfd,0x04,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x44,0x7c]
-0x6f,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x74,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x74,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x44,0x7c]
-0x7b,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x74,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x74,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x44,0x7c]
-0x7c,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x74,0x7c]
+0x01,0x05,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x44,0x7c]
-0x7e,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x74,0x7c]
+0xff,0x05,0x74,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x44,0x7c]
-0x7f,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x75,0x7c]
+0x01,0xfe,0x75,0x7c
-# CHECK: v_cmp_eq_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x44,0x7c]
-0x80,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x44,0x7c]
-0xc1,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x44,0x7c]
-0xf0,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x44,0x7c]
-0xf7,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x44,0x7c]
-0xfd,0x00,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x44,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x44,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x44,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x44,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x44,0x7c]
-0x00,0x01,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x44,0x7c]
-0xff,0x01,0x44,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x45,0x7c]
-0x00,0xfe,0x45,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x22,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x22,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x22,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x22,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x3a,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x22,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x22,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x22,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x22,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x22,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x22,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x22,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x22,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x22,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x22,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x22,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x22,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x22,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x22,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x22,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x22,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x22,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x22,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x22,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x22,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x22,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x22,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x22,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x22,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x22,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x22,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x22,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x22,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x3a,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_eq_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x22,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_eq_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x22,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x22,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_eq_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x22,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x22,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x3a,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_le_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x46,0x7c]
-0x00,0x00,0x46,0x7c
+# CHECK: v_cmpx_nlg_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x3a,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x3a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x46,0x7c]
-0x65,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x76,0x7c]
+0x01,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x46,0x7c]
-0x66,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x76,0x7c]
+0x65,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x46,0x7c]
-0x67,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x76,0x7c]
+0x66,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x46,0x7c]
-0x6a,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x76,0x7c]
+0x67,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x46,0x7c]
-0x6b,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x76,0x7c]
+0x6a,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x46,0x7c]
-0x6c,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x76,0x7c]
+0x6b,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x46,0x7c]
-0x6d,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x76,0x7c]
+0x6c,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x46,0x7c]
-0x6e,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x76,0x7c]
+0x6d,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x46,0x7c]
-0x6f,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x76,0x7c]
+0x6e,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x46,0x7c]
-0x7b,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x76,0x7c]
+0x6f,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x46,0x7c]
-0x7c,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x76,0x7c]
+0x7b,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x46,0x7c]
-0x7e,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x76,0x7c]
+0x7c,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x46,0x7c]
-0x7f,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x76,0x7c]
+0x7e,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x46,0x7c]
-0x80,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x76,0x7c]
+0x7f,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x46,0x7c]
-0xc1,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x76,0x7c]
+0x80,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x46,0x7c]
-0xf0,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x76,0x7c]
+0xc1,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x46,0x7c]
-0xf7,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x76,0x7c]
+0xf0,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x46,0x7c]
-0xfd,0x00,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x76,0x7c]
+0xf7,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x46,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x46,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x76,0x7c]
+0xfd,0x04,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x46,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x46,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x76,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x76,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_le_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x46,0x7c]
-0x00,0x01,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x76,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x76,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_le_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x46,0x7c]
-0xff,0x01,0x46,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x76,0x7c]
+0x01,0x05,0x76,0x7c
-# CHECK: v_cmp_le_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x47,0x7c]
-0x00,0xfe,0x47,0x7c
+# CHECK: v_cmpx_ngt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x76,0x7c]
+0xff,0x05,0x76,0x7c
-# CHECK: v_cmp_le_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x23,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x77,0x7c]
+0x01,0xfe,0x77,0x7c
-# CHECK: v_cmp_le_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x23,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x23,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x23,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x23,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x23,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x23,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x23,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x23,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x23,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x23,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x23,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x23,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x23,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x23,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x23,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x23,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x23,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x23,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x23,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x23,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x23,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x23,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x23,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x23,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x23,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x3b,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x23,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x23,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x23,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x23,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x23,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x23,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x23,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x23,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x23,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x23,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x23,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x23,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x23,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x23,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_le_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x23,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x23,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x48,0x7c]
-0x00,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x48,0x7c]
-0x65,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x48,0x7c]
-0x66,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x48,0x7c]
-0x67,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x48,0x7c]
-0x6a,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x48,0x7c]
-0x6b,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x48,0x7c]
-0x6c,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x48,0x7c]
-0x6d,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x3b,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x48,0x7c]
-0x6e,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_gt_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x48,0x7c]
-0x6f,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_gt_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x48,0x7c]
-0x7b,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x3b,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_gt_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x48,0x7c]
-0x7c,0x00,0x48,0x7c
+# CHECK: v_cmpx_ngt_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x3b,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x3b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x48,0x7c]
-0x7e,0x00,0x48,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x78,0x7c]
+0x01,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x48,0x7c]
-0x7f,0x00,0x48,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x78,0x7c]
+0x65,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x48,0x7c]
-0x80,0x00,0x48,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x78,0x7c]
+0x66,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x48,0x7c]
-0xc1,0x00,0x48,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x78,0x7c]
+0x67,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x48,0x7c]
-0xf0,0x00,0x48,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x78,0x7c]
+0x6a,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x48,0x7c]
-0xf7,0x00,0x48,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x78,0x7c]
+0x6b,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x48,0x7c]
-0xfd,0x00,0x48,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x78,0x7c]
+0x6c,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x48,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x48,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x78,0x7c]
+0x6d,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x48,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x48,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x78,0x7c]
+0x6e,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x48,0x7c]
-0x00,0x01,0x48,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x78,0x7c]
+0x6f,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x48,0x7c]
-0xff,0x01,0x48,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x78,0x7c]
+0x7b,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x49,0x7c]
-0x00,0xfe,0x49,0x7c
+# CHECK: v_cmpx_nle_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x78,0x7c]
+0x7c,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x24,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x78,0x7c]
+0x7e,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x24,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x24,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x78,0x7c]
+0x7f,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x24,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x24,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x78,0x7c]
+0x80,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x24,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x24,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x78,0x7c]
+0xc1,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x24,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x24,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x78,0x7c]
+0xf0,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x24,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x24,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x78,0x7c]
+0xf7,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x24,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x24,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x78,0x7c]
+0xfd,0x04,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x24,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x24,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x78,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x78,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x24,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x24,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x78,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x78,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x24,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x24,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x78,0x7c]
+0x01,0x05,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x24,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x24,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x78,0x7c]
+0xff,0x05,0x78,0x7c
-# CHECK: v_cmp_gt_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x24,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x24,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x79,0x7c]
+0x01,0xfe,0x79,0x7c
-# CHECK: v_cmp_gt_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x24,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x24,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x24,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x24,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x24,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x24,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nle_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x24,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nle_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x24,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nle_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x24,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nle_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x24,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x24,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nle_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x24,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x24,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x24,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x24,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x24,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x24,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x3c,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_gt_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x24,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x24,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x4a,0x7c]
-0x00,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x4a,0x7c]
-0x65,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x4a,0x7c]
-0x66,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x4a,0x7c]
-0x67,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x4a,0x7c]
-0x6a,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x4a,0x7c]
-0x6b,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x4a,0x7c]
-0x6c,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x4a,0x7c]
-0x6d,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x4a,0x7c]
-0x6e,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x4a,0x7c]
-0x6f,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x4a,0x7c]
-0x7b,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x4a,0x7c]
-0x7c,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x4a,0x7c]
-0x7e,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x4a,0x7c]
-0x7f,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x4a,0x7c]
-0x80,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x4a,0x7c]
-0xc1,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x4a,0x7c]
-0xf0,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x4a,0x7c]
-0xf7,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x4a,0x7c]
-0xfd,0x00,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x3c,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x4a,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x4a,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_lg_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x4a,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x4a,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_lg_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x4a,0x7c]
-0x00,0x01,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x3c,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_lg_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x4a,0x7c]
-0xff,0x01,0x4a,0x7c
+# CHECK: v_cmpx_nle_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x3c,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x3c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x4b,0x7c]
-0x00,0xfe,0x4b,0x7c
+# CHECK: v_cmpx_neq_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7a,0x7c]
+0x01,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x25,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7a,0x7c]
+0x65,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x25,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x25,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7a,0x7c]
+0x66,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x25,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x25,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7a,0x7c]
+0x67,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x25,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x25,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7a,0x7c]
+0x6a,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x25,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x25,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7a,0x7c]
+0x6b,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x25,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x25,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x7a,0x7c]
+0x6c,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x25,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x25,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x7a,0x7c]
+0x6d,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x25,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x25,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x7a,0x7c]
+0x6e,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x25,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x25,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x7a,0x7c]
+0x6f,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x25,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x25,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x7a,0x7c]
+0x7b,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x25,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x25,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7a,0x7c]
+0x7c,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x25,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x25,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7a,0x7c]
+0x7e,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x25,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x25,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7a,0x7c]
+0x7f,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x25,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7a,0x7c]
+0x80,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x25,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x25,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7a,0x7c]
+0xc1,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x25,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7a,0x7c]
+0xf0,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x25,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7a,0x7c]
+0xf7,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x25,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7a,0x7c]
+0xfd,0x04,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x25,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x7a,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x7a,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_lg_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x25,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x25,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x7a,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x7a,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_lg_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x25,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7a,0x7c]
+0x01,0x05,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x25,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_neq_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7a,0x7c]
+0xff,0x05,0x7a,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x25,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_neq_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7b,0x7c]
+0x01,0xfe,0x7b,0x7c
-# CHECK: v_cmp_lg_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x25,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x25,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x25,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_neq_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x25,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x25,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x4c,0x7c]
-0x00,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x4c,0x7c]
-0x65,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x4c,0x7c]
-0x66,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x4c,0x7c]
-0x67,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x4c,0x7c]
-0x6a,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x4c,0x7c]
-0x6b,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x4c,0x7c]
-0x6c,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x4c,0x7c]
-0x6d,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x4c,0x7c]
-0x6e,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x4c,0x7c]
-0x6f,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x3d,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x4c,0x7c]
-0x7b,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x4c,0x7c]
-0x7c,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x4c,0x7c]
-0x7e,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x4c,0x7c]
-0x7f,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x4c,0x7c]
-0x80,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x4c,0x7c]
-0xc1,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x4c,0x7c]
-0xf0,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x4c,0x7c]
-0xf7,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x4c,0x7c]
-0xfd,0x00,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x4c,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x4c,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x4c,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x4c,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x4c,0x7c]
-0x00,0x01,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x4c,0x7c]
-0xff,0x01,0x4c,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_ge_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x4d,0x7c]
-0x00,0xfe,0x4d,0x7c
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_ge_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_ge_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x26,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x26,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ge_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x26,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x26,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ge_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x26,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x26,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ge_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x26,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x26,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ge_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x26,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x26,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x3d,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_ge_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x26,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x26,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_ge_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x26,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x26,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_ge_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x26,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x3d,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_ge_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x26,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x3d,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x3d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x26,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7c,0x7c]
+0x01,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x26,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7c,0x7c]
+0x65,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x26,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x26,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7c,0x7c]
+0x66,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x26,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7c,0x7c]
+0x67,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x26,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x26,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7c,0x7c]
+0x6a,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x26,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7c,0x7c]
+0x6b,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x26,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x7c,0x7c]
+0x6c,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x26,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x7c,0x7c]
+0x6d,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x26,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x7c,0x7c]
+0x6e,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x26,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x26,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x7c,0x7c]
+0x6f,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x26,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x7c,0x7c]
+0x7b,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x26,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7c,0x7c]
+0x7c,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x26,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nlt_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7c,0x7c]
+0x7e,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x26,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nlt_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7c,0x7c]
+0x7f,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x26,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x26,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nlt_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7c,0x7c]
+0x80,0x04,0x7c,0x7c
-# CHECK: v_cmp_ge_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x26,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x26,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7c,0x7c]
+0xc1,0x04,0x7c,0x7c
-# CHECK: v_cmp_o_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x4e,0x7c]
-0x00,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7c,0x7c]
+0xf0,0x04,0x7c,0x7c
-# CHECK: v_cmp_o_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x4e,0x7c]
-0x65,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7c,0x7c]
+0xf7,0x04,0x7c,0x7c
-# CHECK: v_cmp_o_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x4e,0x7c]
-0x66,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7c,0x7c]
+0xfd,0x04,0x7c,0x7c
-# CHECK: v_cmp_o_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x4e,0x7c]
-0x67,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x7c,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x7c,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x4e,0x7c]
-0x6a,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x7c,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x7c,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x4e,0x7c]
-0x6b,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7c,0x7c]
+0x01,0x05,0x7c,0x7c
-# CHECK: v_cmp_o_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x4e,0x7c]
-0x6c,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7c,0x7c]
+0xff,0x05,0x7c,0x7c
-# CHECK: v_cmp_o_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x4e,0x7c]
-0x6d,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7d,0x7c]
+0x01,0xfe,0x7d,0x7c
-# CHECK: v_cmp_o_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x4e,0x7c]
-0x6e,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x4e,0x7c]
-0x6f,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x4e,0x7c]
-0x7b,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x4e,0x7c]
-0x7c,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x4e,0x7c]
-0x7e,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x4e,0x7c]
-0x7f,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x4e,0x7c]
-0x80,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x4e,0x7c]
-0xc1,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x4e,0x7c]
-0xf0,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x4e,0x7c]
-0xf7,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x4e,0x7c]
-0xfd,0x00,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x4e,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x4e,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x4e,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x4e,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x3e,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x4e,0x7c]
-0x00,0x01,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x4e,0x7c]
-0xff,0x01,0x4e,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_o_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x4f,0x7c]
-0x00,0xfe,0x4f,0x7c
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x27,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x27,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x27,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x27,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x27,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x27,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x27,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x27,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x27,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x27,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x27,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x27,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x27,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x27,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x27,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x27,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x27,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x27,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x27,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x27,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x27,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x27,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x27,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x27,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x27,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x3e,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x27,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_o_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x27,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_o_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x27,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x27,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x3e,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_o_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x27,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nlt_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x3e,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x3e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x27,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_tru_f16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7e,0x7c]
+0x01,0x04,0x7e,0x7c
-# CHECK: v_cmp_o_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x27,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_tru_f16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7e,0x7c]
+0x65,0x04,0x7e,0x7c
-# CHECK: v_cmp_o_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x27,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_tru_f16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7e,0x7c]
+0x66,0x04,0x7e,0x7c
-# CHECK: v_cmp_o_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x27,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x27,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_tru_f16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7e,0x7c]
+0x67,0x04,0x7e,0x7c
-# CHECK: v_cmp_o_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x27,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x27,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7e,0x7c]
+0x6a,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x50,0x7c]
-0x00,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7e,0x7c]
+0x6b,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x50,0x7c]
-0x65,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x7e,0x7c]
+0x6c,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x50,0x7c]
-0x66,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x7e,0x7c]
+0x6d,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x50,0x7c]
-0x67,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x7e,0x7c]
+0x6e,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x50,0x7c]
-0x6a,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x7e,0x7c]
+0x6f,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x50,0x7c]
-0x6b,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x7e,0x7c]
+0x7b,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x50,0x7c]
-0x6c,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7e,0x7c]
+0x7c,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x50,0x7c]
-0x6d,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7e,0x7c]
+0x7e,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x50,0x7c]
-0x6e,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7e,0x7c]
+0x7f,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x50,0x7c]
-0x6f,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7e,0x7c]
+0x80,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x50,0x7c]
-0x7b,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7e,0x7c]
+0xc1,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x50,0x7c]
-0x7c,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7e,0x7c]
+0xf0,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x50,0x7c]
-0x7e,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7e,0x7c]
+0xf7,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x50,0x7c]
-0x7f,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7e,0x7c]
+0xfd,0x04,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x50,0x7c]
-0x80,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x7e,0x7c,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x7e,0x7c,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_u_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x50,0x7c]
-0xc1,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x7e,0x7c,0x56,0x34,0x00,0x00]
+0xff,0x04,0x7e,0x7c,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_u_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x50,0x7c]
-0xf0,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7e,0x7c]
+0x01,0x05,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x50,0x7c]
-0xf7,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7e,0x7c]
+0xff,0x05,0x7e,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x50,0x7c]
-0xfd,0x00,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7f,0x7c]
+0x01,0xfe,0x7f,0x7c
-# CHECK: v_cmp_u_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x50,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x50,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x50,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x50,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x50,0x7c]
-0x00,0x01,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x50,0x7c]
-0xff,0x01,0x50,0x7c
+# CHECK: v_cmpx_tru_f16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x51,0x7c]
-0x00,0xfe,0x51,0x7c
+# CHECK: v_cmpx_tru_f16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x28,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x28,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x28,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x28,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x28,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x28,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x28,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x28,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x28,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x28,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x28,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x28,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x28,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x28,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x3f,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x28,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x28,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x28,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x28,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x28,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x28,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x28,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x28,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x28,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x28,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x28,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x28,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x28,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x28,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x28,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x28,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x28,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x28,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x28,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x28,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x28,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_u_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x28,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x28,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_nge_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x52,0x7c]
-0x00,0x00,0x52,0x7c
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_nge_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x52,0x7c]
-0x65,0x00,0x52,0x7c
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x3f,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_nge_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x52,0x7c]
-0x66,0x00,0x52,0x7c
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_nge_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x52,0x7c]
-0x67,0x00,0x52,0x7c
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_nge_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x52,0x7c]
-0x6a,0x00,0x52,0x7c
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x3f,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_nge_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x52,0x7c]
-0x6b,0x00,0x52,0x7c
+# CHECK: v_cmpx_tru_f16_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x3f,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x3f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x52,0x7c]
-0x6c,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x80,0x7c]
+0x01,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x52,0x7c]
-0x6d,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x80,0x7c]
+0x65,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x52,0x7c]
-0x6e,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x80,0x7c]
+0x66,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x52,0x7c]
-0x6f,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x80,0x7c]
+0x67,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x52,0x7c]
-0x7b,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x80,0x7c]
+0x6a,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x52,0x7c]
-0x7c,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x80,0x7c]
+0x6b,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x52,0x7c]
-0x7e,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x80,0x7c]
+0x6c,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x52,0x7c]
-0x7f,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x80,0x7c]
+0x6d,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x52,0x7c]
-0x80,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x80,0x7c]
+0x6e,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x52,0x7c]
-0xc1,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x80,0x7c]
+0x6f,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x52,0x7c]
-0xf0,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x80,0x7c]
+0x7b,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x52,0x7c]
-0xf7,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x80,0x7c]
+0x7c,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x52,0x7c]
-0xfd,0x00,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x80,0x7c]
+0x7e,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x52,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x52,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_f_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x80,0x7c]
+0x7f,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x52,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x52,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_f_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x80,0x7c]
+0x80,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x52,0x7c]
-0x00,0x01,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x80,0x7c]
+0xc1,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x52,0x7c]
-0xff,0x01,0x52,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x80,0x7c]
+0xf0,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x53,0x7c]
-0x00,0xfe,0x53,0x7c
+# CHECK: v_cmp_f_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x80,0x7c]
+0xf7,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x80,0x7c]
+0xfd,0x04,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x29,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x29,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x80,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x80,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_nge_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x29,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x29,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x80,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x80,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_nge_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x29,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x29,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x80,0x7c]
+0x01,0x05,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x29,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x29,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x80,0x7c]
+0xff,0x05,0x80,0x7c
-# CHECK: v_cmp_nge_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x29,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x29,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x81,0x7c]
+0x01,0xfe,0x81,0x7c
-# CHECK: v_cmp_nge_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x29,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x29,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x29,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x29,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x40,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x29,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x40,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x29,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x40,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x29,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x40,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x29,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x40,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x29,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x29,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x40,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x29,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_f_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x40,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x40,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x29,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x29,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_f_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x40,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x29,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x40,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x29,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_f_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x40,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x29,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_f_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x40,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x29,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_f_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x40,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x29,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x29,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x29,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x29,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x29,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x29,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x29,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x29,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_nge_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x29,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x29,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x54,0x7c]
-0x00,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x54,0x7c]
-0x65,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x54,0x7c]
-0x66,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x54,0x7c]
-0x67,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x54,0x7c]
-0x6a,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x54,0x7c]
-0x6b,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x54,0x7c]
-0x6c,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x54,0x7c]
-0x6d,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x54,0x7c]
-0x6e,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x54,0x7c]
-0x6f,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x54,0x7c]
-0x7b,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x54,0x7c]
-0x7c,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x54,0x7c]
-0x7e,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x40,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x54,0x7c]
-0x7f,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_nlg_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x54,0x7c]
-0x80,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_nlg_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x54,0x7c]
-0xc1,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x40,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_nlg_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x54,0x7c]
-0xf0,0x00,0x54,0x7c
+# CHECK: v_cmp_f_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x40,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x40,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x54,0x7c]
-0xf7,0x00,0x54,0x7c
+# CHECK: v_cmp_lt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x82,0x7c]
+0x01,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x54,0x7c]
-0xfd,0x00,0x54,0x7c
+# CHECK: v_cmp_lt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x82,0x7c]
+0x65,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x54,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x54,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x82,0x7c]
+0x66,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x54,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x54,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x82,0x7c]
+0x67,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x54,0x7c]
-0x00,0x01,0x54,0x7c
+# CHECK: v_cmp_lt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x82,0x7c]
+0x6a,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x54,0x7c]
-0xff,0x01,0x54,0x7c
+# CHECK: v_cmp_lt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x82,0x7c]
+0x6b,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x55,0x7c]
-0x00,0xfe,0x55,0x7c
+# CHECK: v_cmp_lt_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x82,0x7c]
+0x6c,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x82,0x7c]
+0x6d,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x82,0x7c]
+0x6e,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x82,0x7c]
+0x6f,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x82,0x7c]
+0x7b,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x82,0x7c]
+0x7c,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x82,0x7c]
+0x7e,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x82,0x7c]
+0x7f,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x2a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x82,0x7c]
+0x80,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x2a,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x82,0x7c]
+0xc1,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x2a,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x82,0x7c]
+0xf0,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x2a,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x82,0x7c]
+0xf7,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x2a,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x82,0x7c]
+0xfd,0x04,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x2a,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2a,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x82,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x82,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2a,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x82,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x82,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x2a,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2a,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x82,0x7c]
+0x01,0x05,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2a,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x82,0x7c]
+0xff,0x05,0x82,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2a,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x83,0x7c]
+0x01,0xfe,0x83,0x7c
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2a,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2a,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lt_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x41,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2a,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_lt_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x41,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2a,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lt_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x41,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2a,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_lt_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x41,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x2a,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_lt_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x41,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x2a,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_lt_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x41,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x2a,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x2a,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_lt_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x41,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x41,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x2a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x2a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x41,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x56,0x7c]
-0x00,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x41,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x56,0x7c]
-0x65,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x41,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x56,0x7c]
-0x66,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x41,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x56,0x7c]
-0x67,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x41,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x56,0x7c]
-0x6a,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x56,0x7c]
-0x6b,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x56,0x7c]
-0x6c,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x56,0x7c]
-0x6d,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x56,0x7c]
-0x6e,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x56,0x7c]
-0x6f,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x56,0x7c]
-0x7b,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x56,0x7c]
-0x7c,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x56,0x7c]
-0x7e,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x56,0x7c]
-0x7f,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x56,0x7c]
-0x80,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x56,0x7c]
-0xc1,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x56,0x7c]
-0xf0,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x56,0x7c]
-0xf7,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x56,0x7c]
-0xfd,0x00,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x56,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x56,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x56,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x56,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x56,0x7c]
-0x00,0x01,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x56,0x7c]
-0xff,0x01,0x56,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ngt_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x57,0x7c]
-0x00,0xfe,0x57,0x7c
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x41,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_ngt_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_ngt_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x41,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_ngt_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x41,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x41,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x84,0x7c]
+0x01,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x84,0x7c]
+0x65,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x84,0x7c]
+0x66,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x2b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x84,0x7c]
+0x67,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x2b,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x84,0x7c]
+0x6a,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x2b,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x84,0x7c]
+0x6b,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x2b,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x84,0x7c]
+0x6c,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x2b,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x84,0x7c]
+0x6d,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x2b,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2b,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x84,0x7c]
+0x6e,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2b,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x84,0x7c]
+0x6f,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x2b,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2b,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x84,0x7c]
+0x7b,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2b,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x84,0x7c]
+0x7c,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2b,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x84,0x7c]
+0x7e,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2b,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x84,0x7c]
+0x7f,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2b,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x84,0x7c]
+0x80,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2b,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x84,0x7c]
+0xc1,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2b,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x84,0x7c]
+0xf0,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2b,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x84,0x7c]
+0xf7,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x2b,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_eq_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x84,0x7c]
+0xfd,0x04,0x84,0x7c
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x2b,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_eq_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x84,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x84,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x2b,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x2b,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_eq_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x84,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x84,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ngt_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x2b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x2b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x84,0x7c]
+0x01,0x05,0x84,0x7c
-# CHECK: v_cmp_nle_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x58,0x7c]
-0x00,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x84,0x7c]
+0xff,0x05,0x84,0x7c
-# CHECK: v_cmp_nle_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x58,0x7c]
-0x65,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x85,0x7c]
+0x01,0xfe,0x85,0x7c
-# CHECK: v_cmp_nle_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x58,0x7c]
-0x66,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x58,0x7c]
-0x67,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x42,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x58,0x7c]
-0x6a,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x42,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x58,0x7c]
-0x6b,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x42,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x58,0x7c]
-0x6c,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x42,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x58,0x7c]
-0x6d,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x42,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x58,0x7c]
-0x6e,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x42,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x58,0x7c]
-0x6f,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x42,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x42,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x58,0x7c]
-0x7b,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x42,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x58,0x7c]
-0x7c,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x42,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x58,0x7c]
-0x7e,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x42,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x58,0x7c]
-0x7f,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x42,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x58,0x7c]
-0x80,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x42,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x58,0x7c]
-0xc1,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x58,0x7c]
-0xf0,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x58,0x7c]
-0xf7,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x58,0x7c]
-0xfd,0x00,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x58,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x58,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x58,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x58,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x58,0x7c]
-0x00,0x01,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x58,0x7c]
-0xff,0x01,0x58,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_nle_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x59,0x7c]
-0x00,0xfe,0x59,0x7c
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_nle_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_nle_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_nle_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_nle_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_nle_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_nle_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_nle_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_nle_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x2c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_nle_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x2c,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_nle_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x2c,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_nle_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x2c,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x42,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_nle_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x2c,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_nle_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x2c,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2c,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_nle_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2c,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x42,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_nle_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x2c,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2c,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_eq_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x42,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x42,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2c,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x86,0x7c]
+0x01,0x04,0x86,0x7c
-# CHECK: v_cmp_nle_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2c,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x86,0x7c]
+0x65,0x04,0x86,0x7c
-# CHECK: v_cmp_nle_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2c,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x86,0x7c]
+0x66,0x04,0x86,0x7c
-# CHECK: v_cmp_nle_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2c,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x86,0x7c]
+0x67,0x04,0x86,0x7c
-# CHECK: v_cmp_nle_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2c,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_le_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x86,0x7c]
+0x6a,0x04,0x86,0x7c
-# CHECK: v_cmp_nle_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2c,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x86,0x7c]
+0x6b,0x04,0x86,0x7c
-# CHECK: v_cmp_nle_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2c,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_le_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x86,0x7c]
+0x6c,0x04,0x86,0x7c
-# CHECK: v_cmp_nle_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x2c,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_le_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x86,0x7c]
+0x6d,0x04,0x86,0x7c
-# CHECK: v_cmp_nle_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x2c,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_le_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x86,0x7c]
+0x6e,0x04,0x86,0x7c
-# CHECK: v_cmp_nle_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x2c,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x2c,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_le_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x86,0x7c]
+0x6f,0x04,0x86,0x7c
-# CHECK: v_cmp_nle_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x2c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x2c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x86,0x7c]
+0x7b,0x04,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x5a,0x7c]
-0x00,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x86,0x7c]
+0x7c,0x04,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x5a,0x7c]
-0x65,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x86,0x7c]
+0x7e,0x04,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x5a,0x7c]
-0x66,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x86,0x7c]
+0x7f,0x04,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x5a,0x7c]
-0x67,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x86,0x7c]
+0x80,0x04,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x5a,0x7c]
-0x6a,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x86,0x7c]
+0xc1,0x04,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x5a,0x7c]
-0x6b,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x86,0x7c]
+0xf0,0x04,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x5a,0x7c]
-0x6c,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x86,0x7c]
+0xf7,0x04,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x5a,0x7c]
-0x6d,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x86,0x7c]
+0xfd,0x04,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x5a,0x7c]
-0x6e,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x86,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x86,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_neq_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x5a,0x7c]
-0x6f,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x86,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x86,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_neq_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x5a,0x7c]
-0x7b,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x86,0x7c]
+0x01,0x05,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x5a,0x7c]
-0x7c,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x86,0x7c]
+0xff,0x05,0x86,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x5a,0x7c]
-0x7e,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x87,0x7c]
+0x01,0xfe,0x87,0x7c
-# CHECK: v_cmp_neq_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x5a,0x7c]
-0x7f,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x5a,0x7c]
-0x80,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x43,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x5a,0x7c]
-0xc1,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x43,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x5a,0x7c]
-0xf0,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x43,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x5a,0x7c]
-0xf7,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x43,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x5a,0x7c]
-0xfd,0x00,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x43,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x5a,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x5a,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x43,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x5a,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x5a,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x43,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x43,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x5a,0x7c]
-0x00,0x01,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x43,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x5a,0x7c]
-0xff,0x01,0x5a,0x7c
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x43,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x5b,0x7c]
-0x00,0xfe,0x5b,0x7c
+# CHECK: v_cmp_le_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x43,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x43,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x43,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x2d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x2d,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x2d,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x2d,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x2d,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x2d,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2d,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2d,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x2d,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2d,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2d,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2d,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2d,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2d,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2d,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2d,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2d,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x43,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_neq_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x2d,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_le_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_neq_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x2d,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_neq_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x2d,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x2d,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_le_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x43,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_neq_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x2d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x2d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x43,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x43,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x5c,0x7c]
-0x00,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x88,0x7c]
+0x01,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x5c,0x7c]
-0x65,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x88,0x7c]
+0x65,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x5c,0x7c]
-0x66,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x88,0x7c]
+0x66,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x5c,0x7c]
-0x67,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x88,0x7c]
+0x67,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x5c,0x7c]
-0x6a,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x88,0x7c]
+0x6a,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x5c,0x7c]
-0x6b,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x88,0x7c]
+0x6b,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x5c,0x7c]
-0x6c,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x88,0x7c]
+0x6c,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x5c,0x7c]
-0x6d,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x88,0x7c]
+0x6d,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x5c,0x7c]
-0x6e,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x88,0x7c]
+0x6e,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x5c,0x7c]
-0x6f,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x88,0x7c]
+0x6f,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x5c,0x7c]
-0x7b,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x88,0x7c]
+0x7b,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x5c,0x7c]
-0x7c,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x88,0x7c]
+0x7c,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x5c,0x7c]
-0x7e,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x88,0x7c]
+0x7e,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x5c,0x7c]
-0x7f,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x88,0x7c]
+0x7f,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x5c,0x7c]
-0x80,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x88,0x7c]
+0x80,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x5c,0x7c]
-0xc1,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x88,0x7c]
+0xc1,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x5c,0x7c]
-0xf0,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x88,0x7c]
+0xf0,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x5c,0x7c]
-0xf7,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x88,0x7c]
+0xf7,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x5c,0x7c]
-0xfd,0x00,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x88,0x7c]
+0xfd,0x04,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x5c,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x5c,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_gt_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x88,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x88,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_nlt_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x5c,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x5c,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_gt_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x88,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x88,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_nlt_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x5c,0x7c]
-0x00,0x01,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x88,0x7c]
+0x01,0x05,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x5c,0x7c]
-0xff,0x01,0x5c,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x88,0x7c]
+0xff,0x05,0x88,0x7c
-# CHECK: v_cmp_nlt_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x5d,0x7c]
-0x00,0xfe,0x5d,0x7c
+# CHECK: v_cmp_gt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x89,0x7c]
+0x01,0xfe,0x89,0x7c
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x44,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x44,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x44,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x44,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x44,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x44,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x2e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x44,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x44,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x2e,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x44,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x2e,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x44,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x2e,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x44,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x2e,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x44,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x2e,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2e,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x44,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2e,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x2e,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2e,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2e,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2e,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2e,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2e,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2e,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2e,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2e,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x2e,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x2e,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x2e,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x2e,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_nlt_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x2e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x2e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_tru_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x5e,0x7c]
-0x00,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_tru_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x5e,0x7c]
-0x65,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_tru_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x5e,0x7c]
-0x66,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_tru_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x5e,0x7c]
-0x67,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_tru_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x5e,0x7c]
-0x6a,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_tru_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x5e,0x7c]
-0x6b,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_tru_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x5e,0x7c]
-0x6c,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x44,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_tru_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x5e,0x7c]
-0x6d,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_tru_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x5e,0x7c]
-0x6e,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_tru_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x5e,0x7c]
-0x6f,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x44,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_tru_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x5e,0x7c]
-0x7b,0x00,0x5e,0x7c
+# CHECK: v_cmp_gt_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x44,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x44,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x5e,0x7c]
-0x7c,0x00,0x5e,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8a,0x7c]
+0x01,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x5e,0x7c]
-0x7e,0x00,0x5e,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8a,0x7c]
+0x65,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x5e,0x7c]
-0x7f,0x00,0x5e,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8a,0x7c]
+0x66,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x5e,0x7c]
-0x80,0x00,0x5e,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8a,0x7c]
+0x67,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x5e,0x7c]
-0xc1,0x00,0x5e,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8a,0x7c]
+0x6a,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x5e,0x7c]
-0xf0,0x00,0x5e,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8a,0x7c]
+0x6b,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x5e,0x7c]
-0xf7,0x00,0x5e,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x8a,0x7c]
+0x6c,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x5e,0x7c]
-0xfd,0x00,0x5e,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x8a,0x7c]
+0x6d,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x5e,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x5e,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x8a,0x7c]
+0x6e,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x5e,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x5e,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x8a,0x7c]
+0x6f,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x5e,0x7c]
-0x00,0x01,0x5e,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x8a,0x7c]
+0x7b,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x5e,0x7c]
-0xff,0x01,0x5e,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8a,0x7c]
+0x7c,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x5f,0x7c]
-0x00,0xfe,0x5f,0x7c
+# CHECK: v_cmp_lg_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8a,0x7c]
+0x7e,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8a,0x7c]
+0x7f,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8a,0x7c]
+0x80,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8a,0x7c]
+0xc1,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8a,0x7c]
+0xf0,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8a,0x7c]
+0xf7,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8a,0x7c]
+0xfd,0x04,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x8a,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_tru_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x2f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x8a,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_tru_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x2f,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8a,0x7c]
+0x01,0x05,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x2f,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8a,0x7c]
+0xff,0x05,0x8a,0x7c
-# CHECK: v_cmp_tru_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x2f,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8b,0x7c]
+0x01,0xfe,0x8b,0x7c
-# CHECK: v_cmp_tru_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x2f,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x2f,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x2f,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x45,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x2f,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lg_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x45,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x2f,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x2f,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lg_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x45,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x2f,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lg_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x2f,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lg_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x45,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x2f,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lg_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x45,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x2f,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lg_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x45,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x2f,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_lg_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x45,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x2f,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x45,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x2f,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_lg_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x45,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x2f,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x45,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x2f,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_lg_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x45,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x2f,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x2f,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_tru_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x2f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x2f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x60,0x7c]
-0x00,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x60,0x7c]
-0x65,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x60,0x7c]
-0x66,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x60,0x7c]
-0x67,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x60,0x7c]
-0x6a,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x60,0x7c]
-0x6b,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x60,0x7c]
-0x6c,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x60,0x7c]
-0x6d,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x60,0x7c]
-0x6e,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x60,0x7c]
-0x6f,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x60,0x7c]
-0x7b,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x60,0x7c]
-0x7c,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x60,0x7c]
-0x7e,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x60,0x7c]
-0x7f,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x60,0x7c]
-0x80,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x60,0x7c]
-0xc1,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x60,0x7c]
-0xf0,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x60,0x7c]
-0xf7,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x45,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x60,0x7c]
-0xfd,0x00,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_f_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x60,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x60,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_f_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x60,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x60,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_lg_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x45,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_f_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x60,0x7c]
-0x00,0x01,0x60,0x7c
+# CHECK: v_cmp_lg_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x45,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x45,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x60,0x7c]
-0xff,0x01,0x60,0x7c
+# CHECK: v_cmp_ge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8c,0x7c]
+0x01,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x61,0x7c]
-0x00,0xfe,0x61,0x7c
+# CHECK: v_cmp_ge_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8c,0x7c]
+0x65,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8c,0x7c]
+0x66,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x30,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x30,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8c,0x7c]
+0x67,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x30,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x30,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8c,0x7c]
+0x6a,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x30,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x30,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8c,0x7c]
+0x6b,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x30,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x30,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x8c,0x7c]
+0x6c,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x30,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x30,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x8c,0x7c]
+0x6d,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x30,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x30,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x8c,0x7c]
+0x6e,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x30,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x30,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x8c,0x7c]
+0x6f,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x30,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x8c,0x7c]
+0x7b,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x30,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8c,0x7c]
+0x7c,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x30,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8c,0x7c]
+0x7e,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x30,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8c,0x7c]
+0x7f,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x30,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x30,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8c,0x7c]
+0x80,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x30,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8c,0x7c]
+0xc1,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x30,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x30,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8c,0x7c]
+0xf0,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x30,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8c,0x7c]
+0xf7,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x30,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8c,0x7c]
+0xfd,0x04,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x30,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x8c,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8c,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_f_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x30,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x8c,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8c,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_f_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x30,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x30,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8c,0x7c]
+0x01,0x05,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x30,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8c,0x7c]
+0xff,0x05,0x8c,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x30,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ge_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8d,0x7c]
+0x01,0xfe,0x8d,0x7c
-# CHECK: v_cmpx_f_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x30,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x30,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ge_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x46,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x30,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x30,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_ge_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x46,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x30,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x30,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x46,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x62,0x7c]
-0x00,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x62,0x7c]
-0x65,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x46,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x62,0x7c]
-0x66,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x46,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x62,0x7c]
-0x67,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x46,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x62,0x7c]
-0x6a,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x46,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x62,0x7c]
-0x6b,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x46,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x62,0x7c]
-0x6c,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x46,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x62,0x7c]
-0x6d,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x46,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x62,0x7c]
-0x6e,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x46,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x62,0x7c]
-0x6f,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x62,0x7c]
-0x7b,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x62,0x7c]
-0x7c,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x62,0x7c]
-0x7e,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x62,0x7c]
-0x7f,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x62,0x7c]
-0x80,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x62,0x7c]
-0xc1,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x62,0x7c]
-0xf0,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x62,0x7c]
-0xf7,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x62,0x7c]
-0xfd,0x00,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x62,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x62,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x62,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x62,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x62,0x7c]
-0x00,0x01,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x62,0x7c]
-0xff,0x01,0x62,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_lt_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x63,0x7c]
-0x00,0xfe,0x63,0x7c
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_lt_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x31,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x31,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_lt_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x31,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x31,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_lt_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x31,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x31,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_lt_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x31,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x31,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x46,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_lt_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x31,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x31,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_lt_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x31,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x31,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_lt_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x31,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x31,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x46,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x31,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x46,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x46,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x31,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8e,0x7c]
+0x01,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x31,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8e,0x7c]
+0x65,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x31,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8e,0x7c]
+0x66,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x31,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x31,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8e,0x7c]
+0x67,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x31,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8e,0x7c]
+0x6a,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x31,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x31,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8e,0x7c]
+0x6b,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x31,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x8e,0x7c]
+0x6c,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x31,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x8e,0x7c]
+0x6d,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x31,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x8e,0x7c]
+0x6e,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x31,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x8e,0x7c]
+0x6f,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x31,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x31,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x8e,0x7c]
+0x7b,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x31,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8e,0x7c]
+0x7c,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x31,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8e,0x7c]
+0x7e,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x31,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_o_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8e,0x7c]
+0x7f,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x31,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_o_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8e,0x7c]
+0x80,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x31,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x31,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_o_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8e,0x7c]
+0xc1,0x04,0x8e,0x7c
-# CHECK: v_cmpx_lt_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x31,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x31,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8e,0x7c]
+0xf0,0x04,0x8e,0x7c
-# CHECK: v_cmpx_eq_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x64,0x7c]
-0x00,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8e,0x7c]
+0xf7,0x04,0x8e,0x7c
-# CHECK: v_cmpx_eq_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x64,0x7c]
-0x65,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8e,0x7c]
+0xfd,0x04,0x8e,0x7c
-# CHECK: v_cmpx_eq_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x64,0x7c]
-0x66,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x8e,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8e,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_eq_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x64,0x7c]
-0x67,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x8e,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8e,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_eq_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x64,0x7c]
-0x6a,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8e,0x7c]
+0x01,0x05,0x8e,0x7c
-# CHECK: v_cmpx_eq_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x64,0x7c]
-0x6b,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8e,0x7c]
+0xff,0x05,0x8e,0x7c
-# CHECK: v_cmpx_eq_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x64,0x7c]
-0x6c,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8f,0x7c]
+0x01,0xfe,0x8f,0x7c
-# CHECK: v_cmpx_eq_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x64,0x7c]
-0x6d,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x64,0x7c]
-0x6e,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x47,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x64,0x7c]
-0x6f,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x47,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x64,0x7c]
-0x7b,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x47,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x64,0x7c]
-0x7c,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x64,0x7c]
-0x7e,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x47,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x64,0x7c]
-0x7f,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x47,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x64,0x7c]
-0x80,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x47,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x64,0x7c]
-0xc1,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x47,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x64,0x7c]
-0xf0,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x47,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x64,0x7c]
-0xf7,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x47,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x64,0x7c]
-0xfd,0x00,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x47,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x64,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x64,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x47,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x64,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x64,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x64,0x7c]
-0x00,0x01,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x64,0x7c]
-0xff,0x01,0x64,0x7c
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x65,0x7c]
-0x00,0xfe,0x65,0x7c
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x32,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x32,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x32,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x32,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x32,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x32,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x32,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x32,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x32,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x32,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x32,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x32,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x32,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x32,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x32,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x32,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x32,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x32,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x32,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x32,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x32,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x32,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x32,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x32,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x47,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x32,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x32,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x32,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x47,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x32,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x32,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_o_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x47,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x47,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x32,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_u_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x90,0x7c]
+0x01,0x04,0x90,0x7c
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x32,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_u_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x90,0x7c]
+0x65,0x04,0x90,0x7c
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x32,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_u_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x90,0x7c]
+0x66,0x04,0x90,0x7c
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x32,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_u_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x90,0x7c]
+0x67,0x04,0x90,0x7c
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x32,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x32,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_u_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x90,0x7c]
+0x6a,0x04,0x90,0x7c
-# CHECK: v_cmpx_eq_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x32,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x32,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x90,0x7c]
+0x6b,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x66,0x7c]
-0x00,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x90,0x7c]
+0x6c,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x66,0x7c]
-0x65,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x90,0x7c]
+0x6d,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x66,0x7c]
-0x66,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x90,0x7c]
+0x6e,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x66,0x7c]
-0x67,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x90,0x7c]
+0x6f,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x66,0x7c]
-0x6a,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x90,0x7c]
+0x7b,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x66,0x7c]
-0x6b,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x90,0x7c]
+0x7c,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x66,0x7c]
-0x6c,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x90,0x7c]
+0x7e,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x66,0x7c]
-0x6d,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x90,0x7c]
+0x7f,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x66,0x7c]
-0x6e,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x90,0x7c]
+0x80,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x66,0x7c]
-0x6f,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x90,0x7c]
+0xc1,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x66,0x7c]
-0x7b,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x90,0x7c]
+0xf0,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x66,0x7c]
-0x7c,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x90,0x7c]
+0xf7,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x66,0x7c]
-0x7e,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x90,0x7c]
+0xfd,0x04,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x66,0x7c]
-0x7f,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x90,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x90,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_le_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x66,0x7c]
-0x80,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x90,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x90,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_le_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x66,0x7c]
-0xc1,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x90,0x7c]
+0x01,0x05,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x66,0x7c]
-0xf0,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x90,0x7c]
+0xff,0x05,0x90,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x66,0x7c]
-0xf7,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x91,0x7c]
+0x01,0xfe,0x91,0x7c
-# CHECK: v_cmpx_le_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x66,0x7c]
-0xfd,0x00,0x66,0x7c
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x66,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x66,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x48,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x66,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x66,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x48,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x66,0x7c]
-0x00,0x01,0x66,0x7c
+# CHECK: v_cmp_u_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x48,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x66,0x7c]
-0xff,0x01,0x66,0x7c
+# CHECK: v_cmp_u_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x48,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x67,0x7c]
-0x00,0xfe,0x67,0x7c
+# CHECK: v_cmp_u_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x48,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x48,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x33,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x33,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x48,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x48,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x33,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x33,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x48,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x33,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x33,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x48,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x33,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x33,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x48,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x33,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x33,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x48,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x33,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x33,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x48,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x33,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x33,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x33,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x33,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x33,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x33,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x33,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x33,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x33,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x33,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x33,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x33,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x33,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x33,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x33,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x33,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x33,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x33,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x33,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x33,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x33,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x33,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x33,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_le_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x33,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x33,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_gt_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x68,0x7c]
-0x00,0x00,0x68,0x7c
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x48,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_gt_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x68,0x7c]
-0x65,0x00,0x68,0x7c
+# CHECK: v_cmp_u_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_gt_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x68,0x7c]
-0x66,0x00,0x68,0x7c
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_gt_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x68,0x7c]
-0x67,0x00,0x68,0x7c
+# CHECK: v_cmp_u_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x48,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_gt_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x68,0x7c]
-0x6a,0x00,0x68,0x7c
+# CHECK: v_cmp_u_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x48,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x48,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x68,0x7c]
-0x6b,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x92,0x7c]
+0x01,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x68,0x7c]
-0x6c,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x92,0x7c]
+0x65,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x68,0x7c]
-0x6d,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x92,0x7c]
+0x66,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x68,0x7c]
-0x6e,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x92,0x7c]
+0x67,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x68,0x7c]
-0x6f,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x92,0x7c]
+0x6a,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x68,0x7c]
-0x7b,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x92,0x7c]
+0x6b,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x68,0x7c]
-0x7c,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x92,0x7c]
+0x6c,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x68,0x7c]
-0x7e,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x92,0x7c]
+0x6d,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x68,0x7c]
-0x7f,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x92,0x7c]
+0x6e,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x68,0x7c]
-0x80,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x92,0x7c]
+0x6f,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x68,0x7c]
-0xc1,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x92,0x7c]
+0x7b,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x68,0x7c]
-0xf0,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x92,0x7c]
+0x7c,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x68,0x7c]
-0xf7,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x92,0x7c]
+0x7e,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x68,0x7c]
-0xfd,0x00,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x92,0x7c]
+0x7f,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x68,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x68,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_nge_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x92,0x7c]
+0x80,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x68,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x68,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_nge_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x92,0x7c]
+0xc1,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x68,0x7c]
-0x00,0x01,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x92,0x7c]
+0xf0,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x68,0x7c]
-0xff,0x01,0x68,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x92,0x7c]
+0xf7,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x69,0x7c]
-0x00,0xfe,0x69,0x7c
+# CHECK: v_cmp_nge_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x92,0x7c]
+0xfd,0x04,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x34,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x92,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x92,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_gt_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x34,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x34,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x92,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x92,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_gt_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x34,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x34,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x92,0x7c]
+0x01,0x05,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x34,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x34,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x92,0x7c]
+0xff,0x05,0x92,0x7c
-# CHECK: v_cmpx_gt_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x34,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x34,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x93,0x7c]
+0x01,0xfe,0x93,0x7c
-# CHECK: v_cmpx_gt_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x34,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x34,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x34,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x34,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x49,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x34,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x34,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x49,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x34,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x34,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x49,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x34,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x34,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x49,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x34,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x34,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x49,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x34,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x34,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x49,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x34,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x34,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x49,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x49,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x34,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x49,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x34,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x34,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x49,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x34,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x49,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x34,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x49,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x34,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x49,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x34,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x34,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x34,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x34,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x34,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x34,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x34,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x34,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x34,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_gt_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x34,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x34,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x6a,0x7c]
-0x00,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x6a,0x7c]
-0x65,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x6a,0x7c]
-0x66,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x6a,0x7c]
-0x67,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x6a,0x7c]
-0x6a,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x6a,0x7c]
-0x6b,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x6a,0x7c]
-0x6c,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x6a,0x7c]
-0x6d,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x6a,0x7c]
-0x6e,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x6a,0x7c]
-0x6f,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x6a,0x7c]
-0x7b,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x6a,0x7c]
-0x7c,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x49,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x6a,0x7c]
-0x7e,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_lg_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x6a,0x7c]
-0x7f,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_lg_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x6a,0x7c]
-0x80,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x49,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_lg_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x6a,0x7c]
-0xc1,0x00,0x6a,0x7c
+# CHECK: v_cmp_nge_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x49,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x49,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x6a,0x7c]
-0xf0,0x00,0x6a,0x7c
+# CHECK: v_cmp_nlg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x94,0x7c]
+0x01,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x6a,0x7c]
-0xf7,0x00,0x6a,0x7c
+# CHECK: v_cmp_nlg_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x94,0x7c]
+0x65,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x6a,0x7c]
-0xfd,0x00,0x6a,0x7c
+# CHECK: v_cmp_nlg_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x94,0x7c]
+0x66,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x6a,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x6a,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x94,0x7c]
+0x67,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x6a,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x6a,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x94,0x7c]
+0x6a,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x6a,0x7c]
-0x00,0x01,0x6a,0x7c
+# CHECK: v_cmp_nlg_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x94,0x7c]
+0x6b,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x6a,0x7c]
-0xff,0x01,0x6a,0x7c
+# CHECK: v_cmp_nlg_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x94,0x7c]
+0x6c,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x6b,0x7c]
-0x00,0xfe,0x6b,0x7c
+# CHECK: v_cmp_nlg_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x94,0x7c]
+0x6d,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x35,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x94,0x7c]
+0x6e,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x35,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x35,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x94,0x7c]
+0x6f,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x35,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x35,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x94,0x7c]
+0x7b,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x35,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x35,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x94,0x7c]
+0x7c,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x35,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x35,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x94,0x7c]
+0x7e,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x35,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x35,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x94,0x7c]
+0x7f,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x35,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x35,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x94,0x7c]
+0x80,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x35,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x35,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x94,0x7c]
+0xc1,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x35,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x35,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x94,0x7c]
+0xf0,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x35,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x35,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x94,0x7c]
+0xf7,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x35,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x35,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x94,0x7c]
+0xfd,0x04,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x35,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x35,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x94,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x94,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x35,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x35,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x94,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x94,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x35,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x94,0x7c]
+0x01,0x05,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x35,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x35,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x94,0x7c]
+0xff,0x05,0x94,0x7c
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x35,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nlg_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x95,0x7c]
+0x01,0xfe,0x95,0x7c
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x35,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x35,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nlg_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x35,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nlg_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x35,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x35,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nlg_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x35,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nlg_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x35,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nlg_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x35,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nlg_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x35,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nlg_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x35,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x35,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x35,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x35,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x6c,0x7c]
-0x00,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x6c,0x7c]
-0x65,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x6c,0x7c]
-0x66,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x4a,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x6c,0x7c]
-0x67,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x6c,0x7c]
-0x6a,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x6c,0x7c]
-0x6b,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x6c,0x7c]
-0x6c,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x6c,0x7c]
-0x6d,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x6c,0x7c]
-0x6e,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x6c,0x7c]
-0x6f,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x6c,0x7c]
-0x7b,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x6c,0x7c]
-0x7c,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x6c,0x7c]
-0x7e,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x6c,0x7c]
-0x7f,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x6c,0x7c]
-0x80,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x6c,0x7c]
-0xc1,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x6c,0x7c]
-0xf0,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x6c,0x7c]
-0xf7,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x6c,0x7c]
-0xfd,0x00,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x6c,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x6c,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x6c,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x6c,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x6c,0x7c]
-0x00,0x01,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x6c,0x7c]
-0xff,0x01,0x6c,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x4a,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_ge_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x6d,0x7c]
-0x00,0xfe,0x6d,0x7c
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x36,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_ge_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x36,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x36,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x4a,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_ge_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x36,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x36,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x4a,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x4a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x36,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x36,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x96,0x7c]
+0x01,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x36,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x36,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x96,0x7c]
+0x65,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x36,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x36,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x96,0x7c]
+0x66,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x36,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x36,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x96,0x7c]
+0x67,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x36,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x36,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x96,0x7c]
+0x6a,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x36,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x36,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x96,0x7c]
+0x6b,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x36,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x36,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x96,0x7c]
+0x6c,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x36,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x36,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x96,0x7c]
+0x6d,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x36,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x36,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x96,0x7c]
+0x6e,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x36,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x36,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x96,0x7c]
+0x6f,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x36,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x96,0x7c]
+0x7b,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x36,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x36,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x96,0x7c]
+0x7c,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x36,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x96,0x7c]
+0x7e,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x36,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x96,0x7c]
+0x7f,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x36,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x96,0x7c]
+0x80,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x36,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x96,0x7c]
+0xc1,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x36,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x36,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x96,0x7c]
+0xf0,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x36,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x96,0x7c]
+0xf7,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x36,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x96,0x7c]
+0xfd,0x04,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x36,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_ngt_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x96,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x96,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x36,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ngt_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x96,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x96,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x36,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x36,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_ngt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x96,0x7c]
+0x01,0x05,0x96,0x7c
-# CHECK: v_cmpx_ge_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x36,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x36,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x96,0x7c]
+0xff,0x05,0x96,0x7c
-# CHECK: v_cmpx_o_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x6e,0x7c]
-0x00,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x97,0x7c]
+0x01,0xfe,0x97,0x7c
-# CHECK: v_cmpx_o_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x6e,0x7c]
-0x65,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x6e,0x7c]
-0x66,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x6e,0x7c]
-0x67,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x6e,0x7c]
-0x6a,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x6e,0x7c]
-0x6b,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x6e,0x7c]
-0x6c,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x6e,0x7c]
-0x6d,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x6e,0x7c]
-0x6e,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x6e,0x7c]
-0x6f,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x6e,0x7c]
-0x7b,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x6e,0x7c]
-0x7c,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x6e,0x7c]
-0x7e,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x6e,0x7c]
-0x7f,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x4b,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x6e,0x7c]
-0x80,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x6e,0x7c]
-0xc1,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x6e,0x7c]
-0xf0,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x6e,0x7c]
-0xf7,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x6e,0x7c]
-0xfd,0x00,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x6e,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x6e,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x6e,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x6e,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x6e,0x7c]
-0x00,0x01,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x6e,0x7c]
-0xff,0x01,0x6e,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_o_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x6f,0x7c]
-0x00,0xfe,0x6f,0x7c
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_o_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x37,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_o_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x37,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x37,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_o_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x37,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x37,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_o_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x37,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x37,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_o_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x37,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x37,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_o_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x37,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x37,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_o_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x37,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x37,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_o_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x37,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x37,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_o_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x37,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x37,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_o_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x37,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x37,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x4b,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_o_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x37,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x37,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_o_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x37,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x37,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_o_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x37,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x37,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x4b,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_o_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x37,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ngt_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x4b,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x4b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x37,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x37,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nle_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x98,0x7c]
+0x01,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x37,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nle_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x98,0x7c]
+0x65,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x37,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nle_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x98,0x7c]
+0x66,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x37,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nle_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x98,0x7c]
+0x67,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x37,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nle_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x98,0x7c]
+0x6a,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x37,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x37,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nle_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x98,0x7c]
+0x6b,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x37,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nle_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x98,0x7c]
+0x6c,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x37,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nle_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x98,0x7c]
+0x6d,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x37,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nle_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x98,0x7c]
+0x6e,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x37,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nle_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x98,0x7c]
+0x6f,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x37,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x37,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_nle_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x98,0x7c]
+0x7b,0x04,0x98,0x7c
-# CHECK: v_cmpx_o_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x37,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x37,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x98,0x7c]
+0x7c,0x04,0x98,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x70,0x7c]
-0x00,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x98,0x7c]
+0x7e,0x04,0x98,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x70,0x7c]
-0x65,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x98,0x7c]
+0x7f,0x04,0x98,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x70,0x7c]
-0x66,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x98,0x7c]
+0x80,0x04,0x98,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x70,0x7c]
-0x67,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x98,0x7c]
+0xc1,0x04,0x98,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x70,0x7c]
-0x6a,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x98,0x7c]
+0xf0,0x04,0x98,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x70,0x7c]
-0x6b,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x98,0x7c]
+0xf7,0x04,0x98,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x70,0x7c]
-0x6c,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x98,0x7c]
+0xfd,0x04,0x98,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x70,0x7c]
-0x6d,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x98,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x98,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_u_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x70,0x7c]
-0x6e,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x98,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x98,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_u_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x70,0x7c]
-0x6f,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x98,0x7c]
+0x01,0x05,0x98,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x70,0x7c]
-0x7b,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x98,0x7c]
+0xff,0x05,0x98,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x70,0x7c]
-0x7c,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x99,0x7c]
+0x01,0xfe,0x99,0x7c
-# CHECK: v_cmpx_u_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x70,0x7c]
-0x7e,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x70,0x7c]
-0x7f,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x70,0x7c]
-0x80,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x70,0x7c]
-0xc1,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x70,0x7c]
-0xf0,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x70,0x7c]
-0xf7,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x70,0x7c]
-0xfd,0x00,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x70,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x70,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x70,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x70,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x70,0x7c]
-0x00,0x01,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x70,0x7c]
-0xff,0x01,0x70,0x7c
+# CHECK: v_cmp_nle_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x71,0x7c]
-0x00,0xfe,0x71,0x7c
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x38,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x4c,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x38,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x38,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x38,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x38,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x38,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x38,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x38,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x38,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x38,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x38,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x38,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x38,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x38,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x38,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x38,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x38,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x38,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x38,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x38,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x38,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x38,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x38,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x38,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x38,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x38,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x38,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x38,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x38,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x38,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x38,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x38,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x38,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x38,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x38,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x4c,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x38,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nle_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_u_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x38,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_u_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x38,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nle_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x4c,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_u_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x38,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x38,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_nle_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x4c,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x4c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x38,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x38,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9a,0x7c]
+0x01,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x72,0x7c]
-0x00,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9a,0x7c]
+0x65,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x72,0x7c]
-0x65,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9a,0x7c]
+0x66,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x72,0x7c]
-0x66,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9a,0x7c]
+0x67,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x72,0x7c]
-0x67,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9a,0x7c]
+0x6a,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x72,0x7c]
-0x6a,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9a,0x7c]
+0x6b,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x72,0x7c]
-0x6b,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x9a,0x7c]
+0x6c,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x72,0x7c]
-0x6c,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x9a,0x7c]
+0x6d,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x72,0x7c]
-0x6d,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x9a,0x7c]
+0x6e,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x72,0x7c]
-0x6e,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x9a,0x7c]
+0x6f,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x72,0x7c]
-0x6f,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x9a,0x7c]
+0x7b,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x72,0x7c]
-0x7b,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9a,0x7c]
+0x7c,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x72,0x7c]
-0x7c,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9a,0x7c]
+0x7e,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x72,0x7c]
-0x7e,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9a,0x7c]
+0x7f,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x72,0x7c]
-0x7f,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9a,0x7c]
+0x80,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x72,0x7c]
-0x80,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9a,0x7c]
+0xc1,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x72,0x7c]
-0xc1,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9a,0x7c]
+0xf0,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x72,0x7c]
-0xf0,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9a,0x7c]
+0xf7,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x72,0x7c]
-0xf7,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9a,0x7c]
+0xfd,0x04,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x72,0x7c]
-0xfd,0x00,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x9a,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x9a,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_nge_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x72,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x72,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_neq_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x9a,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x9a,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_nge_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x72,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x72,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_neq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9a,0x7c]
+0x01,0x05,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x72,0x7c]
-0x00,0x01,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9a,0x7c]
+0xff,0x05,0x9a,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x72,0x7c]
-0xff,0x01,0x72,0x7c
+# CHECK: v_cmp_neq_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9b,0x7c]
+0x01,0xfe,0x9b,0x7c
-# CHECK: v_cmpx_nge_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x73,0x7c]
-0x00,0xfe,0x73,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x39,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x39,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x39,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x39,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x39,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x39,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x39,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x39,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x39,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x39,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x39,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x39,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x39,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x39,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x39,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x39,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x39,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x39,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x39,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x39,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x39,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x39,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x39,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x4d,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x39,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x39,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x39,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x39,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x39,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x39,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x39,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x39,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x39,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x39,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x39,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x39,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x39,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x39,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x39,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x39,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x39,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_nge_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x39,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x39,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_nlg_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x74,0x7c]
-0x00,0x00,0x74,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_nlg_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x74,0x7c]
-0x65,0x00,0x74,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_nlg_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x74,0x7c]
-0x66,0x00,0x74,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_nlg_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x74,0x7c]
-0x67,0x00,0x74,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_nlg_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x74,0x7c]
-0x6a,0x00,0x74,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_nlg_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x74,0x7c]
-0x6b,0x00,0x74,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x4d,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_nlg_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x74,0x7c]
-0x6c,0x00,0x74,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_nlg_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x74,0x7c]
-0x6d,0x00,0x74,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_nlg_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x74,0x7c]
-0x6e,0x00,0x74,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x4d,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_nlg_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x74,0x7c]
-0x6f,0x00,0x74,0x7c
+# CHECK: v_cmp_neq_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x4d,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x4d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x74,0x7c]
-0x7b,0x00,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9c,0x7c]
+0x01,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x74,0x7c]
-0x7c,0x00,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9c,0x7c]
+0x65,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x74,0x7c]
-0x7e,0x00,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9c,0x7c]
+0x66,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x74,0x7c]
-0x7f,0x00,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9c,0x7c]
+0x67,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x74,0x7c]
-0x80,0x00,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9c,0x7c]
+0x6a,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x74,0x7c]
-0xc1,0x00,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9c,0x7c]
+0x6b,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x74,0x7c]
-0xf0,0x00,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x9c,0x7c]
+0x6c,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x74,0x7c]
-0xf7,0x00,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x9c,0x7c]
+0x6d,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x74,0x7c]
-0xfd,0x00,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x9c,0x7c]
+0x6e,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x74,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x74,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x9c,0x7c]
+0x6f,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x74,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x74,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x9c,0x7c]
+0x7b,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x74,0x7c]
-0x00,0x01,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9c,0x7c]
+0x7c,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x74,0x7c]
-0xff,0x01,0x74,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9c,0x7c]
+0x7e,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x75,0x7c]
-0x00,0xfe,0x75,0x7c
+# CHECK: v_cmp_nlt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9c,0x7c]
+0x7f,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9c,0x7c]
+0x80,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9c,0x7c]
+0xc1,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9c,0x7c]
+0xf0,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9c,0x7c]
+0xf7,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9c,0x7c]
+0xfd,0x04,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x9c,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x9c,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_nlg_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x9c,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x9c,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_nlg_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x3a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9c,0x7c]
+0x01,0x05,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x3a,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x3a,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9c,0x7c]
+0xff,0x05,0x9c,0x7c
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x3a,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x3a,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9d,0x7c]
+0x01,0xfe,0x9d,0x7c
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x3a,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x3a,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x3a,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x3a,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x3a,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x3a,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x3a,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x3a,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x3a,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x3a,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nlt_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x3a,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nlt_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x3a,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nlt_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x3a,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x3a,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x3a,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x3a,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x3a,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x4e,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x3a,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x3a,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x3a,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_nlg_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x3a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x3a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x76,0x7c]
-0x00,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x76,0x7c]
-0x65,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x76,0x7c]
-0x66,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x76,0x7c]
-0x67,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x76,0x7c]
-0x6a,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x76,0x7c]
-0x6b,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x76,0x7c]
-0x6c,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x76,0x7c]
-0x6d,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x76,0x7c]
-0x6e,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x76,0x7c]
-0x6f,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x76,0x7c]
-0x7b,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x76,0x7c]
-0x7c,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x76,0x7c]
-0x7e,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x76,0x7c]
-0x7f,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x76,0x7c]
-0x80,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x76,0x7c]
-0xc1,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x76,0x7c]
-0xf0,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x4e,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x76,0x7c]
-0xf7,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_ngt_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x76,0x7c]
-0xfd,0x00,0x76,0x7c
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_ngt_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x76,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x76,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x4e,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_ngt_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x76,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x76,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_nlt_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x4e,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x4e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x76,0x7c]
-0x00,0x01,0x76,0x7c
+# CHECK: v_cmp_tru_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9e,0x7c]
+0x01,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x76,0x7c]
-0xff,0x01,0x76,0x7c
+# CHECK: v_cmp_tru_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9e,0x7c]
+0x65,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x77,0x7c]
-0x00,0xfe,0x77,0x7c
+# CHECK: v_cmp_tru_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9e,0x7c]
+0x66,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9e,0x7c]
+0x67,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9e,0x7c]
+0x6a,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9e,0x7c]
+0x6b,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x9e,0x7c]
+0x6c,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x9e,0x7c]
+0x6d,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x9e,0x7c]
+0x6e,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x9e,0x7c]
+0x6f,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x3b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x9e,0x7c]
+0x7b,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x3b,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x3b,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9e,0x7c]
+0x7c,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x3b,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x3b,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9e,0x7c]
+0x7e,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x3b,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x3b,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9e,0x7c]
+0x7f,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x3b,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x3b,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9e,0x7c]
+0x80,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x3b,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x3b,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9e,0x7c]
+0xc1,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x3b,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9e,0x7c]
+0xf0,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x3b,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x3b,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9e,0x7c]
+0xf7,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x3b,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9e,0x7c]
+0xfd,0x04,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x3b,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x9e,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x9e,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x3b,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x9e,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x9e,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x3b,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9e,0x7c]
+0x01,0x05,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x3b,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9e,0x7c]
+0xff,0x05,0x9e,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x3b,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_tru_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9f,0x7c]
+0x01,0xfe,0x9f,0x7c
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x3b,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x3b,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_tru_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x3b,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_tru_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x3b,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x3b,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_tru_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x3b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x3b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x78,0x7c]
-0x00,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x78,0x7c]
-0x65,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x78,0x7c]
-0x66,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x78,0x7c]
-0x67,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x78,0x7c]
-0x6a,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x78,0x7c]
-0x6b,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x78,0x7c]
-0x6c,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x78,0x7c]
-0x6d,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x4f,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x78,0x7c]
-0x6e,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x78,0x7c]
-0x6f,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x78,0x7c]
-0x7b,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x78,0x7c]
-0x7c,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x78,0x7c]
-0x7e,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x78,0x7c]
-0x7f,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x78,0x7c]
-0x80,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x78,0x7c]
-0xc1,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x78,0x7c]
-0xf0,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x78,0x7c]
-0xf7,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x78,0x7c]
-0xfd,0x00,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x78,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x78,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x78,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x78,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x78,0x7c]
-0x00,0x01,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x78,0x7c]
-0xff,0x01,0x78,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_nle_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x79,0x7c]
-0x00,0xfe,0x79,0x7c
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_nle_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_nle_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_nle_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x4f,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_nle_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_nle_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_nle_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x4f,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_nle_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x3c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x4f,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x4f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x3c,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x3c,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa0,0x7c]
+0x01,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x3c,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x3c,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa0,0x7c]
+0x65,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x3c,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x3c,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa0,0x7c]
+0x66,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x3c,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x3c,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa0,0x7c]
+0x67,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x3c,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x3c,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa0,0x7c]
+0x6a,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x3c,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa0,0x7c]
+0x6b,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x3c,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x3c,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xa0,0x7c]
+0x6c,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x3c,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xa0,0x7c]
+0x6d,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x3c,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xa0,0x7c]
+0x6e,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x3c,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xa0,0x7c]
+0x6f,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x3c,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xa0,0x7c]
+0x7b,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x3c,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa0,0x7c]
+0x7c,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x3c,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa0,0x7c]
+0x7e,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x3c,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa0,0x7c]
+0x7f,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x3c,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_f_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa0,0x7c]
+0x80,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x3c,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_f_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa0,0x7c]
+0xc1,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x3c,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x3c,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_f_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa0,0x7c]
+0xf0,0x04,0xa0,0x7c
-# CHECK: v_cmpx_nle_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x3c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x3c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa0,0x7c]
+0xf7,0x04,0xa0,0x7c
-# CHECK: v_cmpx_neq_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x7a,0x7c]
-0x00,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa0,0x7c]
+0xfd,0x04,0xa0,0x7c
-# CHECK: v_cmpx_neq_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x7a,0x7c]
-0x65,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xa0,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xa0,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_neq_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x7a,0x7c]
-0x66,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xa0,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xa0,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_neq_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x7a,0x7c]
-0x67,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa0,0x7c]
+0x01,0x05,0xa0,0x7c
-# CHECK: v_cmpx_neq_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x7a,0x7c]
-0x6a,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa0,0x7c]
+0xff,0x05,0xa0,0x7c
-# CHECK: v_cmpx_neq_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x7a,0x7c]
-0x6b,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa1,0x7c]
+0x01,0xfe,0xa1,0x7c
-# CHECK: v_cmpx_neq_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x7a,0x7c]
-0x6c,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x7a,0x7c]
-0x6d,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x50,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x7a,0x7c]
-0x6e,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x50,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x7a,0x7c]
-0x6f,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x50,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x7a,0x7c]
-0x7b,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x7a,0x7c]
-0x7c,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x50,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x7a,0x7c]
-0x7e,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x50,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x7a,0x7c]
-0x7f,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x50,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x7a,0x7c]
-0x80,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x50,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x7a,0x7c]
-0xc1,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x50,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x7a,0x7c]
-0xf0,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x50,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x7a,0x7c]
-0xf7,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x50,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x7a,0x7c]
-0xfd,0x00,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x50,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x7a,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x7a,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x7a,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x7a,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x7a,0x7c]
-0x00,0x01,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x7a,0x7c]
-0xff,0x01,0x7a,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x7b,0x7c]
-0x00,0xfe,0x7b,0x7c
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x3d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x3d,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x3d,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x3d,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x3d,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x3d,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x3d,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x3d,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x3d,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x3d,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x3d,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x3d,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x3d,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x3d,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x50,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x3d,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x3d,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x3d,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x50,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x3d,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x50,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x50,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x3d,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa2,0x7c]
+0x01,0x04,0xa2,0x7c
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x3d,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa2,0x7c]
+0x65,0x04,0xa2,0x7c
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x3d,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa2,0x7c]
+0x66,0x04,0xa2,0x7c
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x3d,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_lt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa2,0x7c]
+0x67,0x04,0xa2,0x7c
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x3d,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_lt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa2,0x7c]
+0x6a,0x04,0xa2,0x7c
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x3d,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x3d,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_lt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa2,0x7c]
+0x6b,0x04,0xa2,0x7c
-# CHECK: v_cmpx_neq_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x3d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x3d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xa2,0x7c]
+0x6c,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x7c,0x7c]
-0x00,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xa2,0x7c]
+0x6d,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x7c,0x7c]
-0x65,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xa2,0x7c]
+0x6e,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x7c,0x7c]
-0x66,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xa2,0x7c]
+0x6f,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x7c,0x7c]
-0x67,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xa2,0x7c]
+0x7b,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x7c,0x7c]
-0x6a,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa2,0x7c]
+0x7c,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x7c,0x7c]
-0x6b,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa2,0x7c]
+0x7e,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x7c,0x7c]
-0x6c,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa2,0x7c]
+0x7f,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x7c,0x7c]
-0x6d,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa2,0x7c]
+0x80,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x7c,0x7c]
-0x6e,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa2,0x7c]
+0xc1,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x7c,0x7c]
-0x6f,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa2,0x7c]
+0xf0,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x7c,0x7c]
-0x7b,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa2,0x7c]
+0xf7,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x7c,0x7c]
-0x7c,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa2,0x7c]
+0xfd,0x04,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x7c,0x7c]
-0x7e,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xa2,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xa2,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_nlt_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x7c,0x7c]
-0x7f,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xa2,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xa2,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_nlt_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x7c,0x7c]
-0x80,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa2,0x7c]
+0x01,0x05,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x7c,0x7c]
-0xc1,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa2,0x7c]
+0xff,0x05,0xa2,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x7c,0x7c]
-0xf0,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa3,0x7c]
+0x01,0xfe,0xa3,0x7c
-# CHECK: v_cmpx_nlt_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x7c,0x7c]
-0xf7,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x7c,0x7c]
-0xfd,0x00,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x51,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x7c,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x7c,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x51,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x7c,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x7c,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x51,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x7c,0x7c]
-0x00,0x01,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x7c,0x7c]
-0xff,0x01,0x7c,0x7c
+# CHECK: v_cmpx_lt_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x51,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x7d,0x7c]
-0x00,0xfe,0x7d,0x7c
+# CHECK: v_cmpx_lt_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x51,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x51,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x51,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x51,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x51,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x51,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x51,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x3e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x3e,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x3e,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x3e,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x3e,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x3e,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x3e,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x3e,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x3e,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x3e,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x3e,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x3e,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x3e,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x3e,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x3e,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x3e,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x3e,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x3e,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x3e,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x3e,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x3e,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x3e,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x3e,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x3e,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x3e,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_nlt_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x3e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x3e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x51,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_tru_f16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x7e,0x7c]
-0x00,0x00,0x7e,0x7c
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_tru_f16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x7e,0x7c]
-0x65,0x00,0x7e,0x7c
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_tru_f16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x7e,0x7c]
-0x66,0x00,0x7e,0x7c
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x51,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_tru_f16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x7e,0x7c]
-0x67,0x00,0x7e,0x7c
+# CHECK: v_cmpx_lt_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x51,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x51,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x7e,0x7c]
-0x6a,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa4,0x7c]
+0x01,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x7e,0x7c]
-0x6b,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa4,0x7c]
+0x65,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x7e,0x7c]
-0x6c,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa4,0x7c]
+0x66,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x7e,0x7c]
-0x6d,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa4,0x7c]
+0x67,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x7e,0x7c]
-0x6e,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa4,0x7c]
+0x6a,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x7e,0x7c]
-0x6f,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa4,0x7c]
+0x6b,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x7e,0x7c]
-0x7b,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xa4,0x7c]
+0x6c,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x7e,0x7c]
-0x7c,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xa4,0x7c]
+0x6d,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x7e,0x7c]
-0x7e,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xa4,0x7c]
+0x6e,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x7e,0x7c]
-0x7f,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xa4,0x7c]
+0x6f,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x7e,0x7c]
-0x80,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xa4,0x7c]
+0x7b,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x7e,0x7c]
-0xc1,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa4,0x7c]
+0x7c,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x7e,0x7c]
-0xf0,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa4,0x7c]
+0x7e,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x7e,0x7c]
-0xf7,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa4,0x7c]
+0x7f,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x7e,0x7c]
-0xfd,0x00,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa4,0x7c]
+0x80,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x7e,0x7c,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x7e,0x7c,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa4,0x7c]
+0xc1,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x7e,0x7c,0x56,0x34,0x00,0x00]
-0xff,0x00,0x7e,0x7c,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa4,0x7c]
+0xf0,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x7e,0x7c]
-0x00,0x01,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa4,0x7c]
+0xf7,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x7e,0x7c]
-0xff,0x01,0x7e,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa4,0x7c]
+0xfd,0x04,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x7f,0x7c]
-0x00,0xfe,0x7f,0x7c
+# CHECK: v_cmpx_eq_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xa4,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xa4,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xa4,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xa4,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_tru_f16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa4,0x7c]
+0x01,0x05,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa4,0x7c]
+0xff,0x05,0xa4,0x7c
-# CHECK: v_cmpx_tru_f16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa5,0x7c]
+0x01,0xfe,0xa5,0x7c
-# CHECK: v_cmpx_tru_f16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x52,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x52,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x3f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x52,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x3f,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x3f,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x3f,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x3f,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x52,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x3f,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x3f,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x52,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x3f,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x3f,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x52,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x3f,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x3f,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x52,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x3f,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x52,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x3f,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x3f,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x52,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x3f,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x52,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x3f,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x52,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x3f,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x3f,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x3f,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x3f,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x3f,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x3f,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x3f,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x3f,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x3f,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_tru_f16_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x3f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x3f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x80,0x7c]
-0x00,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x80,0x7c]
-0x65,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x80,0x7c]
-0x66,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x80,0x7c]
-0x67,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x80,0x7c]
-0x6a,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x80,0x7c]
-0x6b,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x80,0x7c]
-0x6c,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x80,0x7c]
-0x6d,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x80,0x7c]
-0x6e,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x80,0x7c]
-0x6f,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x80,0x7c]
-0x7b,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x52,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x80,0x7c]
-0x7c,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_f_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x80,0x7c]
-0x7e,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_f_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x80,0x7c]
-0x7f,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x52,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_f_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x80,0x7c]
-0x80,0x00,0x80,0x7c
+# CHECK: v_cmpx_eq_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x52,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x52,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x80,0x7c]
-0xc1,0x00,0x80,0x7c
+# CHECK: v_cmpx_le_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa6,0x7c]
+0x01,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x80,0x7c]
-0xf0,0x00,0x80,0x7c
+# CHECK: v_cmpx_le_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa6,0x7c]
+0x65,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x80,0x7c]
-0xf7,0x00,0x80,0x7c
+# CHECK: v_cmpx_le_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa6,0x7c]
+0x66,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x80,0x7c]
-0xfd,0x00,0x80,0x7c
+# CHECK: v_cmpx_le_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa6,0x7c]
+0x67,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x80,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x80,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_le_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa6,0x7c]
+0x6a,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x80,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x80,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_le_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa6,0x7c]
+0x6b,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x80,0x7c]
-0x00,0x01,0x80,0x7c
+# CHECK: v_cmpx_le_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xa6,0x7c]
+0x6c,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x80,0x7c]
-0xff,0x01,0x80,0x7c
+# CHECK: v_cmpx_le_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xa6,0x7c]
+0x6d,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x81,0x7c]
-0x00,0xfe,0x81,0x7c
+# CHECK: v_cmpx_le_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xa6,0x7c]
+0x6e,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x40,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xa6,0x7c]
+0x6f,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x40,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x40,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xa6,0x7c]
+0x7b,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x40,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x40,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa6,0x7c]
+0x7c,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x40,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x40,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa6,0x7c]
+0x7e,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x40,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x40,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa6,0x7c]
+0x7f,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x40,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x40,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa6,0x7c]
+0x80,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x40,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x40,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa6,0x7c]
+0xc1,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x40,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x40,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa6,0x7c]
+0xf0,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x40,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x40,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa6,0x7c]
+0xf7,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x40,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x40,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa6,0x7c]
+0xfd,0x04,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x40,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x40,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xa6,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xa6,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_f_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x40,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x40,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xa6,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xa6,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_f_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x40,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x40,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa6,0x7c]
+0x01,0x05,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x40,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa6,0x7c]
+0xff,0x05,0xa6,0x7c
-# CHECK: v_cmp_f_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x40,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x40,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa7,0x7c]
+0x01,0xfe,0xa7,0x7c
-# CHECK: v_cmp_f_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x40,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x40,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x53,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x40,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x53,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x40,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x53,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x40,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x40,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_le_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x40,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x53,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x40,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_le_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x53,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x40,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_le_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x53,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x40,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_le_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x53,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x40,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x40,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x53,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_f_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x40,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x40,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x53,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x82,0x7c]
-0x00,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x53,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x82,0x7c]
-0x65,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x53,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x82,0x7c]
-0x66,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x82,0x7c]
-0x67,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x82,0x7c]
-0x6a,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x82,0x7c]
-0x6b,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x82,0x7c]
-0x6c,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x82,0x7c]
-0x6d,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x82,0x7c]
-0x6e,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x82,0x7c]
-0x6f,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x82,0x7c]
-0x7b,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x82,0x7c]
-0x7c,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x82,0x7c]
-0x7e,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x82,0x7c]
-0x7f,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x82,0x7c]
-0x80,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x82,0x7c]
-0xc1,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x82,0x7c]
-0xf0,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x82,0x7c]
-0xf7,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x82,0x7c]
-0xfd,0x00,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x82,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x82,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x82,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x82,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x82,0x7c]
-0x00,0x01,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x53,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_lt_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x82,0x7c]
-0xff,0x01,0x82,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_lt_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x83,0x7c]
-0x00,0xfe,0x83,0x7c
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_lt_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x53,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_lt_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x41,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x41,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x53,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x53,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x41,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x41,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa8,0x7c]
+0x01,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x41,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x41,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa8,0x7c]
+0x65,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x41,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x41,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa8,0x7c]
+0x66,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x41,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x41,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa8,0x7c]
+0x67,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x41,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x41,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa8,0x7c]
+0x6a,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x41,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x41,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa8,0x7c]
+0x6b,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x41,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xa8,0x7c]
+0x6c,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x41,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xa8,0x7c]
+0x6d,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x41,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xa8,0x7c]
+0x6e,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x41,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xa8,0x7c]
+0x6f,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x41,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x41,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xa8,0x7c]
+0x7b,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x41,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa8,0x7c]
+0x7c,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x41,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x41,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa8,0x7c]
+0x7e,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x41,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa8,0x7c]
+0x7f,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x41,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa8,0x7c]
+0x80,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x41,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa8,0x7c]
+0xc1,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x41,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa8,0x7c]
+0xf0,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x41,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x41,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa8,0x7c]
+0xf7,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x41,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa8,0x7c]
+0xfd,0x04,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x41,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xa8,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xa8,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_lt_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x41,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_gt_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xa8,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xa8,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_lt_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x41,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_gt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa8,0x7c]
+0x01,0x05,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x41,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x41,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_gt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa8,0x7c]
+0xff,0x05,0xa8,0x7c
-# CHECK: v_cmp_lt_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x41,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x41,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa9,0x7c]
+0x01,0xfe,0xa9,0x7c
-# CHECK: v_cmp_eq_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x84,0x7c]
-0x00,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x84,0x7c]
-0x65,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x54,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x84,0x7c]
-0x66,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x54,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x84,0x7c]
-0x67,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x54,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x84,0x7c]
-0x6a,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x84,0x7c]
-0x6b,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x54,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x84,0x7c]
-0x6c,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x54,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x84,0x7c]
-0x6d,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x54,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x84,0x7c]
-0x6e,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x54,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x84,0x7c]
-0x6f,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x54,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x84,0x7c]
-0x7b,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x54,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x84,0x7c]
-0x7c,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x54,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x84,0x7c]
-0x7e,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x54,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x84,0x7c]
-0x7f,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x84,0x7c]
-0x80,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x84,0x7c]
-0xc1,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x84,0x7c]
-0xf0,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x84,0x7c]
-0xf7,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x84,0x7c]
-0xfd,0x00,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x84,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x84,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x84,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x84,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x84,0x7c]
-0x00,0x01,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x84,0x7c]
-0xff,0x01,0x84,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_eq_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x85,0x7c]
-0x00,0xfe,0x85,0x7c
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_eq_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x42,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_eq_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x42,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x42,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_eq_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x42,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x42,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_eq_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x42,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x42,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_eq_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x42,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x42,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_eq_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x42,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x42,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_eq_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x42,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x42,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_eq_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x42,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x42,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_eq_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x42,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x42,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x54,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_eq_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x42,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x42,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_eq_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x42,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x42,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_eq_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x42,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x42,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x54,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_eq_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x42,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x42,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x54,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x54,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x42,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xaa,0x7c]
+0x01,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x42,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x42,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xaa,0x7c]
+0x65,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x42,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lg_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xaa,0x7c]
+0x66,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x42,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lg_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xaa,0x7c]
+0x67,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x42,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lg_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xaa,0x7c]
+0x6a,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x42,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lg_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xaa,0x7c]
+0x6b,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x42,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x42,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lg_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xaa,0x7c]
+0x6c,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x42,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lg_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xaa,0x7c]
+0x6d,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x42,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lg_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xaa,0x7c]
+0x6e,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x42,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_lg_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xaa,0x7c]
+0x6f,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x42,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_lg_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xaa,0x7c]
+0x7b,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x42,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x42,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_lg_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xaa,0x7c]
+0x7c,0x04,0xaa,0x7c
-# CHECK: v_cmp_eq_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x42,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x42,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xaa,0x7c]
+0x7e,0x04,0xaa,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x86,0x7c]
-0x00,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xaa,0x7c]
+0x7f,0x04,0xaa,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x86,0x7c]
-0x65,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xaa,0x7c]
+0x80,0x04,0xaa,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x86,0x7c]
-0x66,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xaa,0x7c]
+0xc1,0x04,0xaa,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x86,0x7c]
-0x67,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xaa,0x7c]
+0xf0,0x04,0xaa,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x86,0x7c]
-0x6a,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xaa,0x7c]
+0xf7,0x04,0xaa,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x86,0x7c]
-0x6b,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xaa,0x7c]
+0xfd,0x04,0xaa,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x86,0x7c]
-0x6c,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xaa,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xaa,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_le_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x86,0x7c]
-0x6d,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xaa,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xaa,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_le_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x86,0x7c]
-0x6e,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xaa,0x7c]
+0x01,0x05,0xaa,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x86,0x7c]
-0x6f,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xaa,0x7c]
+0xff,0x05,0xaa,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x86,0x7c]
-0x7b,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xab,0x7c]
+0x01,0xfe,0xab,0x7c
-# CHECK: v_cmp_le_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x86,0x7c]
-0x7c,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x86,0x7c]
-0x7e,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x55,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x86,0x7c]
-0x7f,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x55,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x86,0x7c]
-0x80,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x55,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x86,0x7c]
-0xc1,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x55,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x86,0x7c]
-0xf0,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x55,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x86,0x7c]
-0xf7,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x55,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x86,0x7c]
-0xfd,0x00,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x55,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x55,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x86,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x86,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x55,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x86,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x86,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x55,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x86,0x7c]
-0x00,0x01,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x55,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x86,0x7c]
-0xff,0x01,0x86,0x7c
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x55,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_le_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x87,0x7c]
-0x00,0xfe,0x87,0x7c
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x55,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x43,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x43,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x43,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x43,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x43,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x43,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x43,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x43,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x43,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x43,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x43,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x43,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x43,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x43,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x43,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x43,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x43,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x43,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x43,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x43,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x43,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x43,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x43,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x43,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x43,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x43,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x43,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x43,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x43,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x55,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x43,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_le_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x43,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_le_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x43,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x55,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_le_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x43,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_lg_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x55,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x55,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x43,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x43,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_ge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xac,0x7c]
+0x01,0x04,0xac,0x7c
-# CHECK: v_cmp_le_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x43,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x43,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xac,0x7c]
+0x65,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x88,0x7c]
-0x00,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xac,0x7c]
+0x66,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x88,0x7c]
-0x65,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xac,0x7c]
+0x67,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x88,0x7c]
-0x66,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xac,0x7c]
+0x6a,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x88,0x7c]
-0x67,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xac,0x7c]
+0x6b,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x88,0x7c]
-0x6a,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xac,0x7c]
+0x6c,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x88,0x7c]
-0x6b,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xac,0x7c]
+0x6d,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x88,0x7c]
-0x6c,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xac,0x7c]
+0x6e,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x88,0x7c]
-0x6d,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xac,0x7c]
+0x6f,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x88,0x7c]
-0x6e,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xac,0x7c]
+0x7b,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x88,0x7c]
-0x6f,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xac,0x7c]
+0x7c,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x88,0x7c]
-0x7b,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xac,0x7c]
+0x7e,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x88,0x7c]
-0x7c,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xac,0x7c]
+0x7f,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x88,0x7c]
-0x7e,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xac,0x7c]
+0x80,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x88,0x7c]
-0x7f,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xac,0x7c]
+0xc1,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x88,0x7c]
-0x80,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xac,0x7c]
+0xf0,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x88,0x7c]
-0xc1,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xac,0x7c]
+0xf7,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x88,0x7c]
-0xf0,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xac,0x7c]
+0xfd,0x04,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x88,0x7c]
-0xf7,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xac,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xac,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_gt_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x88,0x7c]
-0xfd,0x00,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xac,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xac,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_gt_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x88,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x88,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xac,0x7c]
+0x01,0x05,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x88,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x88,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xac,0x7c]
+0xff,0x05,0xac,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x88,0x7c]
-0x00,0x01,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xad,0x7c]
+0x01,0xfe,0xad,0x7c
-# CHECK: v_cmp_gt_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x88,0x7c]
-0xff,0x01,0x88,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x89,0x7c]
-0x00,0xfe,0x89,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x56,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x56,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x44,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x44,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x56,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x44,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x44,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x44,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x44,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x56,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x44,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x44,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x56,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x44,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x44,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x56,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x44,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x44,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x56,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x44,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x44,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x56,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x44,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x56,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x44,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x56,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x44,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x56,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x44,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x44,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x44,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x44,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x44,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x44,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x44,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x44,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x44,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x44,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x44,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x44,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x44,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x44,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x44,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x44,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x44,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x44,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_gt_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x44,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x44,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_lg_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x8a,0x7c]
-0x00,0x00,0x8a,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_lg_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x8a,0x7c]
-0x65,0x00,0x8a,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_lg_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x8a,0x7c]
-0x66,0x00,0x8a,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_lg_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x8a,0x7c]
-0x67,0x00,0x8a,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_lg_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x8a,0x7c]
-0x6a,0x00,0x8a,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x56,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_lg_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x8a,0x7c]
-0x6b,0x00,0x8a,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_lg_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x8a,0x7c]
-0x6c,0x00,0x8a,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_lg_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x8a,0x7c]
-0x6d,0x00,0x8a,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x56,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_lg_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x8a,0x7c]
-0x6e,0x00,0x8a,0x7c
+# CHECK: v_cmpx_ge_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x56,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x56,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x8a,0x7c]
-0x6f,0x00,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xae,0x7c]
+0x01,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x8a,0x7c]
-0x7b,0x00,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xae,0x7c]
+0x65,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x8a,0x7c]
-0x7c,0x00,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xae,0x7c]
+0x66,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x8a,0x7c]
-0x7e,0x00,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xae,0x7c]
+0x67,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x8a,0x7c]
-0x7f,0x00,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xae,0x7c]
+0x6a,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x8a,0x7c]
-0x80,0x00,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xae,0x7c]
+0x6b,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x8a,0x7c]
-0xc1,0x00,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xae,0x7c]
+0x6c,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x8a,0x7c]
-0xf0,0x00,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xae,0x7c]
+0x6d,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x8a,0x7c]
-0xf7,0x00,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xae,0x7c]
+0x6e,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x8a,0x7c]
-0xfd,0x00,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xae,0x7c]
+0x6f,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x8a,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x8a,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_o_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xae,0x7c]
+0x7b,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x8a,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x8a,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_o_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xae,0x7c]
+0x7c,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x8a,0x7c]
-0x00,0x01,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xae,0x7c]
+0x7e,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x8a,0x7c]
-0xff,0x01,0x8a,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xae,0x7c]
+0x7f,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x8b,0x7c]
-0x00,0xfe,0x8b,0x7c
+# CHECK: v_cmpx_o_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xae,0x7c]
+0x80,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xae,0x7c]
+0xc1,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x45,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x45,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xae,0x7c]
+0xf0,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x45,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x45,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xae,0x7c]
+0xf7,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x45,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x45,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xae,0x7c]
+0xfd,0x04,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x45,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x45,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xae,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xae,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_lg_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x45,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x45,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xae,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xae,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_lg_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x45,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x45,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xae,0x7c]
+0x01,0x05,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x45,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x45,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xae,0x7c]
+0xff,0x05,0xae,0x7c
-# CHECK: v_cmp_lg_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x45,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xaf,0x7c]
+0x01,0xfe,0xaf,0x7c
-# CHECK: v_cmp_lg_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x45,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x45,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x57,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x45,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x57,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x45,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x45,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x57,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x45,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_o_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x45,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x45,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_o_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x57,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x45,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_o_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x57,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x45,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_o_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x57,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x45,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_o_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x57,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x45,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x57,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x45,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x45,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_o_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x57,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x45,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x57,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x45,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_o_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x57,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x45,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x45,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x45,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x45,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_lg_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x45,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x45,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x8c,0x7c]
-0x00,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x8c,0x7c]
-0x65,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x8c,0x7c]
-0x66,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x8c,0x7c]
-0x67,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x8c,0x7c]
-0x6a,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x8c,0x7c]
-0x6b,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x8c,0x7c]
-0x6c,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x8c,0x7c]
-0x6d,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x8c,0x7c]
-0x6e,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x8c,0x7c]
-0x6f,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x8c,0x7c]
-0x7b,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x8c,0x7c]
-0x7c,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x8c,0x7c]
-0x7e,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x8c,0x7c]
-0x7f,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x8c,0x7c]
-0x80,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x8c,0x7c]
-0xc1,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x57,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x8c,0x7c]
-0xf0,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_ge_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x8c,0x7c]
-0xf7,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_ge_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x8c,0x7c]
-0xfd,0x00,0x8c,0x7c
+# CHECK: v_cmpx_o_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x57,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_ge_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x8c,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x8c,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_o_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x57,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x57,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x8c,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x8c,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_u_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb0,0x7c]
+0x01,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x8c,0x7c]
-0x00,0x01,0x8c,0x7c
+# CHECK: v_cmpx_u_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb0,0x7c]
+0x65,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x8c,0x7c]
-0xff,0x01,0x8c,0x7c
+# CHECK: v_cmpx_u_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb0,0x7c]
+0x66,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x8d,0x7c]
-0x00,0xfe,0x8d,0x7c
+# CHECK: v_cmpx_u_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb0,0x7c]
+0x67,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb0,0x7c]
+0x6a,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x46,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x46,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb0,0x7c]
+0x6b,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x46,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x46,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xb0,0x7c]
+0x6c,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x46,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x46,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xb0,0x7c]
+0x6d,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x46,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x46,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xb0,0x7c]
+0x6e,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x46,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x46,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xb0,0x7c]
+0x6f,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x46,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x46,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xb0,0x7c]
+0x7b,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x46,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x46,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb0,0x7c]
+0x7c,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x46,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb0,0x7c]
+0x7e,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x46,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb0,0x7c]
+0x7f,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x46,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb0,0x7c]
+0x80,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x46,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb0,0x7c]
+0xc1,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x46,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x46,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb0,0x7c]
+0xf0,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x46,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb0,0x7c]
+0xf7,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x46,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x46,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb0,0x7c]
+0xfd,0x04,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x46,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xb0,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xb0,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ge_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x46,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xb0,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xb0,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ge_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x46,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb0,0x7c]
+0x01,0x05,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x46,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb0,0x7c]
+0xff,0x05,0xb0,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x46,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x46,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_u_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb1,0x7c]
+0x01,0xfe,0xb1,0x7c
-# CHECK: v_cmp_ge_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x46,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x46,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_u_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x58,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x46,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_u_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x58,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x46,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_u_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x58,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x46,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x46,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_u_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x46,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x46,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x58,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x8e,0x7c]
-0x00,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x58,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x8e,0x7c]
-0x65,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x58,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x8e,0x7c]
-0x66,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x58,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x8e,0x7c]
-0x67,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x58,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x8e,0x7c]
-0x6a,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x58,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x8e,0x7c]
-0x6b,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x58,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x8e,0x7c]
-0x6c,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x58,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x8e,0x7c]
-0x6d,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x8e,0x7c]
-0x6e,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x8e,0x7c]
-0x6f,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x8e,0x7c]
-0x7b,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x8e,0x7c]
-0x7c,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x8e,0x7c]
-0x7e,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x8e,0x7c]
-0x7f,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x8e,0x7c]
-0x80,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x8e,0x7c]
-0xc1,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x8e,0x7c]
-0xf0,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x8e,0x7c]
-0xf7,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x8e,0x7c]
-0xfd,0x00,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x8e,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x8e,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x8e,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x8e,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x8e,0x7c]
-0x00,0x01,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x8e,0x7c]
-0xff,0x01,0x8e,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_o_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x8f,0x7c]
-0x00,0xfe,0x8f,0x7c
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_o_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_o_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x47,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x47,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_o_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x47,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x47,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x58,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_o_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x47,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x47,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_o_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x47,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x47,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_o_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x47,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x47,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x58,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_o_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x47,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x47,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x58,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x58,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_o_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x47,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x47,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb2,0x7c]
+0x01,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x47,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb2,0x7c]
+0x65,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x47,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb2,0x7c]
+0x66,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x47,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb2,0x7c]
+0x67,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x47,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb2,0x7c]
+0x6a,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x47,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x47,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb2,0x7c]
+0x6b,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x47,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xb2,0x7c]
+0x6c,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x47,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x47,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xb2,0x7c]
+0x6d,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x47,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xb2,0x7c]
+0x6e,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x47,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xb2,0x7c]
+0x6f,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x47,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xb2,0x7c]
+0x7b,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x47,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb2,0x7c]
+0x7c,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x47,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x47,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb2,0x7c]
+0x7e,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x47,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb2,0x7c]
+0x7f,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x47,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb2,0x7c]
+0x80,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x47,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nge_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb2,0x7c]
+0xc1,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x47,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nge_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb2,0x7c]
+0xf0,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x47,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x47,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nge_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb2,0x7c]
+0xf7,0x04,0xb2,0x7c
-# CHECK: v_cmp_o_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x47,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x47,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb2,0x7c]
+0xfd,0x04,0xb2,0x7c
-# CHECK: v_cmp_u_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x90,0x7c]
-0x00,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xb2,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xb2,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_u_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x90,0x7c]
-0x65,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xb2,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xb2,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_u_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x90,0x7c]
-0x66,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb2,0x7c]
+0x01,0x05,0xb2,0x7c
-# CHECK: v_cmp_u_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x90,0x7c]
-0x67,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb2,0x7c]
+0xff,0x05,0xb2,0x7c
-# CHECK: v_cmp_u_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x90,0x7c]
-0x6a,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb3,0x7c]
+0x01,0xfe,0xb3,0x7c
-# CHECK: v_cmp_u_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x90,0x7c]
-0x6b,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x90,0x7c]
-0x6c,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x59,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x90,0x7c]
-0x6d,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x59,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x90,0x7c]
-0x6e,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x59,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x90,0x7c]
-0x6f,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x90,0x7c]
-0x7b,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x59,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x90,0x7c]
-0x7c,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x59,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x90,0x7c]
-0x7e,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x59,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x90,0x7c]
-0x7f,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x59,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x90,0x7c]
-0x80,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x59,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x90,0x7c]
-0xc1,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x59,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x90,0x7c]
-0xf0,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x59,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x90,0x7c]
-0xf7,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x59,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x90,0x7c]
-0xfd,0x00,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x90,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x90,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x90,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x90,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x90,0x7c]
-0x00,0x01,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x90,0x7c]
-0xff,0x01,0x90,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_u_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x91,0x7c]
-0x00,0xfe,0x91,0x7c
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_u_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_u_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x48,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x48,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_u_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x48,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x48,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_u_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x48,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x48,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_u_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x48,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x48,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_u_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x48,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x48,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_u_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x48,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x48,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_u_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x48,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x48,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_u_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x48,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_u_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x48,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_u_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x48,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_u_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x48,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_u_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x48,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x48,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_u_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x48,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x59,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_u_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x48,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x48,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_u_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x48,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_u_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x48,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x59,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_u_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x48,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nge_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x59,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x59,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_u_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x48,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nlg_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb4,0x7c]
+0x01,0x04,0xb4,0x7c
-# CHECK: v_cmp_u_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x48,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x48,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nlg_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb4,0x7c]
+0x65,0x04,0xb4,0x7c
-# CHECK: v_cmp_u_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x48,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nlg_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb4,0x7c]
+0x66,0x04,0xb4,0x7c
-# CHECK: v_cmp_u_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x48,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nlg_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb4,0x7c]
+0x67,0x04,0xb4,0x7c
-# CHECK: v_cmp_u_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x48,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nlg_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb4,0x7c]
+0x6a,0x04,0xb4,0x7c
-# CHECK: v_cmp_u_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x48,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nlg_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb4,0x7c]
+0x6b,0x04,0xb4,0x7c
-# CHECK: v_cmp_u_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x48,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x48,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nlg_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xb4,0x7c]
+0x6c,0x04,0xb4,0x7c
-# CHECK: v_cmp_u_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x48,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x48,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xb4,0x7c]
+0x6d,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x92,0x7c]
-0x00,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xb4,0x7c]
+0x6e,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x92,0x7c]
-0x65,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xb4,0x7c]
+0x6f,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x92,0x7c]
-0x66,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xb4,0x7c]
+0x7b,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x92,0x7c]
-0x67,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb4,0x7c]
+0x7c,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x92,0x7c]
-0x6a,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb4,0x7c]
+0x7e,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x92,0x7c]
-0x6b,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb4,0x7c]
+0x7f,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x92,0x7c]
-0x6c,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb4,0x7c]
+0x80,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x92,0x7c]
-0x6d,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb4,0x7c]
+0xc1,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x92,0x7c]
-0x6e,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb4,0x7c]
+0xf0,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x92,0x7c]
-0x6f,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb4,0x7c]
+0xf7,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x92,0x7c]
-0x7b,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb4,0x7c]
+0xfd,0x04,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x92,0x7c]
-0x7c,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xb4,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xb4,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_nge_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x92,0x7c]
-0x7e,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xb4,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xb4,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_nge_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x92,0x7c]
-0x7f,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb4,0x7c]
+0x01,0x05,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x92,0x7c]
-0x80,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb4,0x7c]
+0xff,0x05,0xb4,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x92,0x7c]
-0xc1,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb5,0x7c]
+0x01,0xfe,0xb5,0x7c
-# CHECK: v_cmp_nge_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x92,0x7c]
-0xf0,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x92,0x7c]
-0xf7,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x92,0x7c]
-0xfd,0x00,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x92,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x92,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_nlg_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x92,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x92,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_nlg_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x92,0x7c]
-0x00,0x01,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x92,0x7c]
-0xff,0x01,0x92,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x93,0x7c]
-0x00,0xfe,0x93,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x49,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x49,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x49,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x49,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x49,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x49,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x49,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x49,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x49,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x5a,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x49,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x49,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x49,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x49,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x49,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x49,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x49,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x49,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x49,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x49,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x49,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x49,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x49,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x49,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x49,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x49,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x49,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x49,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x49,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x49,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x49,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x49,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x49,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x49,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x49,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x49,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x49,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x49,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x49,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x49,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x49,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x5a,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_nge_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x49,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x49,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_nlg_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x94,0x7c]
-0x00,0x00,0x94,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_nlg_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x94,0x7c]
-0x65,0x00,0x94,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x5a,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_nlg_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x94,0x7c]
-0x66,0x00,0x94,0x7c
+# CHECK: v_cmpx_nlg_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x5a,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x5a,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x94,0x7c]
-0x67,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb6,0x7c]
+0x01,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x94,0x7c]
-0x6a,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb6,0x7c]
+0x65,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x94,0x7c]
-0x6b,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb6,0x7c]
+0x66,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x94,0x7c]
-0x6c,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb6,0x7c]
+0x67,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x94,0x7c]
-0x6d,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb6,0x7c]
+0x6a,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x94,0x7c]
-0x6e,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb6,0x7c]
+0x6b,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x94,0x7c]
-0x6f,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xb6,0x7c]
+0x6c,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x94,0x7c]
-0x7b,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xb6,0x7c]
+0x6d,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x94,0x7c]
-0x7c,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xb6,0x7c]
+0x6e,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x94,0x7c]
-0x7e,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xb6,0x7c]
+0x6f,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x94,0x7c]
-0x7f,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xb6,0x7c]
+0x7b,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x94,0x7c]
-0x80,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb6,0x7c]
+0x7c,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x94,0x7c]
-0xc1,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb6,0x7c]
+0x7e,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x94,0x7c]
-0xf0,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb6,0x7c]
+0x7f,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x94,0x7c]
-0xf7,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb6,0x7c]
+0x80,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x94,0x7c]
-0xfd,0x00,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb6,0x7c]
+0xc1,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x94,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x94,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ngt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb6,0x7c]
+0xf0,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x94,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x94,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ngt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb6,0x7c]
+0xf7,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x94,0x7c]
-0x00,0x01,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb6,0x7c]
+0xfd,0x04,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x94,0x7c]
-0xff,0x01,0x94,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xb6,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xb6,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_nlg_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x95,0x7c]
-0x00,0xfe,0x95,0x7c
+# CHECK: v_cmpx_ngt_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xb6,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xb6,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb6,0x7c]
+0x01,0x05,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb6,0x7c]
+0xff,0x05,0xb6,0x7c
-# CHECK: v_cmp_nlg_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb7,0x7c]
+0x01,0xfe,0xb7,0x7c
-# CHECK: v_cmp_nlg_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x4a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x4a,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x4a,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x4a,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x4a,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x4a,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4a,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4a,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x4a,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4a,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x4a,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x5b,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x4a,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x4a,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x4a,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x4a,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x4a,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x4a,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x4a,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x4a,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x4a,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x4a,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_nlg_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x4a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x4a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x96,0x7c]
-0x00,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x96,0x7c]
-0x65,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x96,0x7c]
-0x66,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x96,0x7c]
-0x67,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x96,0x7c]
-0x6a,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x96,0x7c]
-0x6b,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x96,0x7c]
-0x6c,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x96,0x7c]
-0x6d,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x96,0x7c]
-0x6e,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x96,0x7c]
-0x6f,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x5b,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x96,0x7c]
-0x7b,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_ngt_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x96,0x7c]
-0x7c,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_ngt_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x96,0x7c]
-0x7e,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x5b,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_ngt_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x96,0x7c]
-0x7f,0x00,0x96,0x7c
+# CHECK: v_cmpx_ngt_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x5b,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x5b,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x96,0x7c]
-0x80,0x00,0x96,0x7c
+# CHECK: v_cmpx_nle_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb8,0x7c]
+0x01,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x96,0x7c]
-0xc1,0x00,0x96,0x7c
+# CHECK: v_cmpx_nle_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb8,0x7c]
+0x65,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x96,0x7c]
-0xf0,0x00,0x96,0x7c
+# CHECK: v_cmpx_nle_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb8,0x7c]
+0x66,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x96,0x7c]
-0xf7,0x00,0x96,0x7c
+# CHECK: v_cmpx_nle_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb8,0x7c]
+0x67,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x96,0x7c]
-0xfd,0x00,0x96,0x7c
+# CHECK: v_cmpx_nle_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb8,0x7c]
+0x6a,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x96,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x96,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_nle_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb8,0x7c]
+0x6b,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x96,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x96,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_nle_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xb8,0x7c]
+0x6c,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x96,0x7c]
-0x00,0x01,0x96,0x7c
+# CHECK: v_cmpx_nle_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xb8,0x7c]
+0x6d,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x96,0x7c]
-0xff,0x01,0x96,0x7c
+# CHECK: v_cmpx_nle_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xb8,0x7c]
+0x6e,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x97,0x7c]
-0x00,0xfe,0x97,0x7c
+# CHECK: v_cmpx_nle_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xb8,0x7c]
+0x6f,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xb8,0x7c]
+0x7b,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb8,0x7c]
+0x7c,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb8,0x7c]
+0x7e,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb8,0x7c]
+0x7f,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb8,0x7c]
+0x80,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb8,0x7c]
+0xc1,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb8,0x7c]
+0xf0,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x4b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb8,0x7c]
+0xf7,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x4b,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb8,0x7c]
+0xfd,0x04,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x4b,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xb8,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xb8,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x4b,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xb8,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xb8,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x4b,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb8,0x7c]
+0x01,0x05,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x4b,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4b,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb8,0x7c]
+0xff,0x05,0xb8,0x7c
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4b,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb9,0x7c]
+0x01,0xfe,0xb9,0x7c
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x4b,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4b,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x4b,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nle_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x4b,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nle_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x4b,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nle_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x4b,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nle_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x4b,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nle_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x4b,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nle_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x4b,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nle_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x4b,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x4b,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x4b,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x4b,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_ngt_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x4b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x4b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x98,0x7c]
-0x00,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x5c,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x98,0x7c]
-0x65,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x98,0x7c]
-0x66,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x98,0x7c]
-0x67,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x98,0x7c]
-0x6a,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x98,0x7c]
-0x6b,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x98,0x7c]
-0x6c,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x98,0x7c]
-0x6d,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x98,0x7c]
-0x6e,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x98,0x7c]
-0x6f,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x98,0x7c]
-0x7b,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x98,0x7c]
-0x7c,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x98,0x7c]
-0x7e,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x98,0x7c]
-0x7f,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x98,0x7c]
-0x80,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x98,0x7c]
-0xc1,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x98,0x7c]
-0xf0,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x98,0x7c]
-0xf7,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x98,0x7c]
-0xfd,0x00,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x98,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x98,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x98,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x98,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x5c,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_nle_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x98,0x7c]
-0x00,0x01,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_nle_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x98,0x7c]
-0xff,0x01,0x98,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_nle_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x99,0x7c]
-0x00,0xfe,0x99,0x7c
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x5c,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_nle_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x5c,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x5c,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nle_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xba,0x7c]
+0x01,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xba,0x7c]
+0x65,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xba,0x7c]
+0x66,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xba,0x7c]
+0x67,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xba,0x7c]
+0x6a,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xba,0x7c]
+0x6b,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x4c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xba,0x7c]
+0x6c,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x4c,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xba,0x7c]
+0x6d,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x4c,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xba,0x7c]
+0x6e,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x4c,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xba,0x7c]
+0x6f,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x4c,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xba,0x7c]
+0x7b,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x4c,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4c,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xba,0x7c]
+0x7c,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4c,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xba,0x7c]
+0x7e,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x4c,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4c,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xba,0x7c]
+0x7f,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x4c,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xba,0x7c]
+0x80,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x4c,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xba,0x7c]
+0xc1,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x4c,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xba,0x7c]
+0xf0,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x4c,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xba,0x7c]
+0xf7,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x4c,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xba,0x7c]
+0xfd,0x04,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x4c,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xba,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xba,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_nle_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x4c,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_neq_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xba,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xba,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_nle_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x4c,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_neq_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xba,0x7c]
+0x01,0x05,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x4c,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_neq_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xba,0x7c]
+0xff,0x05,0xba,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x4c,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x4c,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_neq_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbb,0x7c]
+0x01,0xfe,0xbb,0x7c
-# CHECK: v_cmp_nle_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x4c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x4c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x9a,0x7c]
-0x00,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x9a,0x7c]
-0x65,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x9a,0x7c]
-0x66,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x9a,0x7c]
-0x67,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x9a,0x7c]
-0x6a,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x9a,0x7c]
-0x6b,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x9a,0x7c]
-0x6c,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x9a,0x7c]
-0x6d,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x9a,0x7c]
-0x6e,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x9a,0x7c]
-0x6f,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x9a,0x7c]
-0x7b,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x9a,0x7c]
-0x7c,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x5d,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x9a,0x7c]
-0x7e,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x9a,0x7c]
-0x7f,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x9a,0x7c]
-0x80,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x9a,0x7c]
-0xc1,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x9a,0x7c]
-0xf0,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x9a,0x7c]
-0xf7,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x9a,0x7c]
-0xfd,0x00,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x9a,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x9a,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x9a,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x9a,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x9a,0x7c]
-0x00,0x01,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x9a,0x7c]
-0xff,0x01,0x9a,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_neq_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x9b,0x7c]
-0x00,0xfe,0x9b,0x7c
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_neq_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_neq_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_neq_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_neq_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_neq_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_neq_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_neq_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_neq_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x4d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x5d,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_neq_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x4d,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_neq_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x4d,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_neq_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x4d,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x5d,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_neq_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x4d,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x5d,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x5d,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x4d,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4d,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbc,0x7c]
+0x01,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4d,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xbc,0x7c]
+0x65,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x4d,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4d,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xbc,0x7c]
+0x66,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x4d,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xbc,0x7c]
+0x67,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x4d,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xbc,0x7c]
+0x6a,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x4d,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xbc,0x7c]
+0x6b,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x4d,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xbc,0x7c]
+0x6c,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x4d,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xbc,0x7c]
+0x6d,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x4d,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xbc,0x7c]
+0x6e,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x4d,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xbc,0x7c]
+0x6f,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x4d,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nlt_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xbc,0x7c]
+0x7b,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x4d,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nlt_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xbc,0x7c]
+0x7c,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x4d,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x4d,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nlt_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xbc,0x7c]
+0x7e,0x04,0xbc,0x7c
-# CHECK: v_cmp_neq_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x4d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x4d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xbc,0x7c]
+0x7f,0x04,0xbc,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x9c,0x7c]
-0x00,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xbc,0x7c]
+0x80,0x04,0xbc,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x9c,0x7c]
-0x65,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xbc,0x7c]
+0xc1,0x04,0xbc,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x9c,0x7c]
-0x66,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xbc,0x7c]
+0xf0,0x04,0xbc,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x9c,0x7c]
-0x67,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbc,0x7c]
+0xf7,0x04,0xbc,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x9c,0x7c]
-0x6a,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xbc,0x7c]
+0xfd,0x04,0xbc,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x9c,0x7c]
-0x6b,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xbc,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xbc,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_nlt_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x9c,0x7c]
-0x6c,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xbc,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xbc,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_nlt_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x9c,0x7c]
-0x6d,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbc,0x7c]
+0x01,0x05,0xbc,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x9c,0x7c]
-0x6e,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbc,0x7c]
+0xff,0x05,0xbc,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x9c,0x7c]
-0x6f,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbd,0x7c]
+0x01,0xfe,0xbd,0x7c
-# CHECK: v_cmp_nlt_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x9c,0x7c]
-0x7b,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x9c,0x7c]
-0x7c,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x9c,0x7c]
-0x7e,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x9c,0x7c]
-0x7f,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x9c,0x7c]
-0x80,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x9c,0x7c]
-0xc1,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x9c,0x7c]
-0xf0,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x9c,0x7c]
-0xf7,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x9c,0x7c]
-0xfd,0x00,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x9c,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x9c,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x9c,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x9c,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x9c,0x7c]
-0x00,0x01,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x9c,0x7c]
-0xff,0x01,0x9c,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x5e,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x9d,0x7c]
-0x00,0xfe,0x9d,0x7c
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x4e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x4e,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x4e,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x4e,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x4e,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x4e,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4e,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4e,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x4e,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4e,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x4e,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x4e,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x4e,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x4e,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x5e,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x4e,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x4e,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x4e,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x5e,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x4e,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nlt_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x5e,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x5e,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x4e,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_tru_f32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbe,0x7c]
+0x01,0x04,0xbe,0x7c
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x4e,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x4e,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_tru_f32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xbe,0x7c]
+0x65,0x04,0xbe,0x7c
-# CHECK: v_cmp_nlt_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x4e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x4e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xbe,0x7c]
+0x66,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x9e,0x7c]
-0x00,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xbe,0x7c]
+0x67,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x9e,0x7c]
-0x65,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xbe,0x7c]
+0x6a,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x9e,0x7c]
-0x66,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xbe,0x7c]
+0x6b,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x9e,0x7c]
-0x67,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xbe,0x7c]
+0x6c,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x9e,0x7c]
-0x6a,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xbe,0x7c]
+0x6d,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x9e,0x7c]
-0x6b,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xbe,0x7c]
+0x6e,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x9e,0x7c]
-0x6c,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xbe,0x7c]
+0x6f,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x9e,0x7c]
-0x6d,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xbe,0x7c]
+0x7b,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x9e,0x7c]
-0x6e,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xbe,0x7c]
+0x7c,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x9e,0x7c]
-0x6f,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xbe,0x7c]
+0x7e,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x9e,0x7c]
-0x7b,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xbe,0x7c]
+0x7f,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x9e,0x7c]
-0x7c,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xbe,0x7c]
+0x80,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x9e,0x7c]
-0x7e,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xbe,0x7c]
+0xc1,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x9e,0x7c]
-0x7f,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xbe,0x7c]
+0xf0,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x9e,0x7c]
-0x80,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbe,0x7c]
+0xf7,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x9e,0x7c]
-0xc1,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xbe,0x7c]
+0xfd,0x04,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x9e,0x7c]
-0xf0,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xbe,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xbe,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_tru_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x9e,0x7c]
-0xf7,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xbe,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xbe,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_tru_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x9e,0x7c]
-0xfd,0x00,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbe,0x7c]
+0x01,0x05,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x9e,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x9e,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_tru_f32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbe,0x7c]
+0xff,0x05,0xbe,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x9e,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x9e,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_tru_f32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbf,0x7c]
+0x01,0xfe,0xbf,0x7c
-# CHECK: v_cmp_tru_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x9e,0x7c]
-0x00,0x01,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x9e,0x7c]
-0xff,0x01,0x9e,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x9f,0x7c]
-0x00,0xfe,0x9f,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x4f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x4f,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x4f,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0x5f,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x4f,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x4f,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x4f,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x4f,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x4f,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x4f,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x4f,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x4f,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x4f,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x4f,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x4f,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x4f,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x4f,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x4f,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x4f,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x4f,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x4f,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x4f,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_tru_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x4f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x4f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_f_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xa0,0x7c]
-0x00,0x00,0xa0,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_f_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xa0,0x7c]
-0x65,0x00,0xa0,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_f_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xa0,0x7c]
-0x66,0x00,0xa0,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_f_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xa0,0x7c]
-0x67,0x00,0xa0,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0x5f,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_f_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xa0,0x7c]
-0x6a,0x00,0xa0,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], neg(0), s2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x20]
+0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x20
-# CHECK: v_cmpx_f_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xa0,0x7c]
-0x6b,0x00,0xa0,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, -s2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x40]
+0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x40
-# CHECK: v_cmpx_f_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xa0,0x7c]
-0x6c,0x00,0xa0,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], neg(0), -s2 ; encoding: [0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x60]
+0x0a,0x00,0x5f,0xd0,0x80,0x04,0x00,0x60
-# CHECK: v_cmpx_f_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xa0,0x7c]
-0x6d,0x00,0xa0,0x7c
+# CHECK: v_cmpx_tru_f32_e64 s[10:11], 0, s2 clamp ; encoding: [0x0a,0x80,0x5f,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x80,0x5f,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xa0,0x7c]
-0x6e,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc0,0x7c]
+0x02,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xa0,0x7c]
-0x6f,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc0,0x7c]
+0x04,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xa0,0x7c]
-0x7b,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc0,0x7c]
+0x64,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xa0,0x7c]
-0x7c,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc0,0x7c]
+0x66,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xa0,0x7c]
-0x7e,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc0,0x7c]
+0x6a,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xa0,0x7c]
-0x7f,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xc0,0x7c]
+0x6c,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xa0,0x7c]
-0x80,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xc0,0x7c]
+0x6e,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xa0,0x7c]
-0xc1,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xc0,0x7c]
+0x7a,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xa0,0x7c]
-0xf0,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc0,0x7c]
+0x7e,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xa0,0x7c]
-0xf7,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc0,0x7c]
+0x80,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xa0,0x7c]
-0xfd,0x00,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc0,0x7c]
+0xc1,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xa0,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xa0,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_f_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc0,0x7c]
+0xf0,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xa0,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xa0,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_f_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc0,0x7c]
+0xf7,0x04,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xa0,0x7c]
-0x00,0x01,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xc0,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xc0,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_f_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xa0,0x7c]
-0xff,0x01,0xa0,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xc0,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xc0,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_f_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xa1,0x7c]
-0x00,0xfe,0xa1,0x7c
+# CHECK: v_cmp_f_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc0,0x7c]
+0x01,0x05,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc0,0x7c]
+0xfe,0x05,0xc0,0x7c
-# CHECK: v_cmpx_f_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x50,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x50,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc1,0x7c]
+0x02,0xfc,0xc1,0x7c
-# CHECK: v_cmpx_f_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x50,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x50,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x50,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x50,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x60,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x50,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x50,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x60,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x50,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x50,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x60,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x50,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x50,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x50,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x50,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x60,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x50,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x60,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x50,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x60,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x50,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x60,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x50,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x60,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x50,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x50,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x60,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x50,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x60,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x50,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x50,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x60,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x50,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x60,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x60,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x50,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x60,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x50,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x60,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x50,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x60,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x50,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x50,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x60,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x60,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x50,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x60,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x60,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x50,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x60,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x60,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_f_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x50,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_f_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_f_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x50,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_f_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_f_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x50,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x50,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_f_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x60,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_f_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x50,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x50,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x60,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x60,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xa2,0x7c]
-0x00,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc2,0x7c]
+0x02,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xa2,0x7c]
-0x65,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc2,0x7c]
+0x04,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xa2,0x7c]
-0x66,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc2,0x7c]
+0x64,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xa2,0x7c]
-0x67,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc2,0x7c]
+0x66,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xa2,0x7c]
-0x6a,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc2,0x7c]
+0x6a,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xa2,0x7c]
-0x6b,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xc2,0x7c]
+0x6c,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xa2,0x7c]
-0x6c,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xc2,0x7c]
+0x6e,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xa2,0x7c]
-0x6d,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xc2,0x7c]
+0x7a,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xa2,0x7c]
-0x6e,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc2,0x7c]
+0x7e,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xa2,0x7c]
-0x6f,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc2,0x7c]
+0x80,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xa2,0x7c]
-0x7b,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc2,0x7c]
+0xc1,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xa2,0x7c]
-0x7c,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc2,0x7c]
+0xf0,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xa2,0x7c]
-0x7e,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc2,0x7c]
+0xf7,0x04,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xa2,0x7c]
-0x7f,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xc2,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xc2,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_lt_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xa2,0x7c]
-0x80,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xc2,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xc2,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_lt_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xa2,0x7c]
-0xc1,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc2,0x7c]
+0x01,0x05,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xa2,0x7c]
-0xf0,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc2,0x7c]
+0xfe,0x05,0xc2,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xa2,0x7c]
-0xf7,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc3,0x7c]
+0x02,0xfc,0xc3,0x7c
-# CHECK: v_cmpx_lt_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xa2,0x7c]
-0xfd,0x00,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xa2,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xa2,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_lt_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x61,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xa2,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xa2,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_lt_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x61,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xa2,0x7c]
-0x00,0x01,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x61,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xa2,0x7c]
-0xff,0x01,0xa2,0x7c
+# CHECK: v_cmp_lt_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x61,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xa3,0x7c]
-0x00,0xfe,0xa3,0x7c
+# CHECK: v_cmp_lt_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x61,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x61,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x51,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x51,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x61,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x61,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x51,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x51,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x61,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x51,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x51,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x61,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x51,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x51,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x61,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x51,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x51,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x61,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x51,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x51,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x61,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x51,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x51,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x61,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x61,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x51,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x61,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x51,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x61,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x51,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x61,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x51,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x61,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x61,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x51,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x51,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x61,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x61,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x51,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x61,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x61,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x51,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x51,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x51,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x51,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x61,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x51,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x61,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x61,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x51,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc4,0x7c]
+0x02,0x04,0xc4,0x7c
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x51,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x51,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_eq_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc4,0x7c]
+0x04,0x04,0xc4,0x7c
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x51,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc4,0x7c]
+0x64,0x04,0xc4,0x7c
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x51,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_eq_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc4,0x7c]
+0x66,0x04,0xc4,0x7c
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x51,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_eq_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc4,0x7c]
+0x6a,0x04,0xc4,0x7c
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x51,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_eq_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xc4,0x7c]
+0x6c,0x04,0xc4,0x7c
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x51,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x51,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_eq_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xc4,0x7c]
+0x6e,0x04,0xc4,0x7c
-# CHECK: v_cmpx_lt_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x51,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x51,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xc4,0x7c]
+0x7a,0x04,0xc4,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xa4,0x7c]
-0x00,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc4,0x7c]
+0x7e,0x04,0xc4,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xa4,0x7c]
-0x65,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc4,0x7c]
+0x80,0x04,0xc4,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xa4,0x7c]
-0x66,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc4,0x7c]
+0xc1,0x04,0xc4,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xa4,0x7c]
-0x67,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc4,0x7c]
+0xf0,0x04,0xc4,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xa4,0x7c]
-0x6a,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc4,0x7c]
+0xf7,0x04,0xc4,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xa4,0x7c]
-0x6b,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xc4,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xc4,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_eq_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xa4,0x7c]
-0x6c,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xc4,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xc4,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_eq_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xa4,0x7c]
-0x6d,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc4,0x7c]
+0x01,0x05,0xc4,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xa4,0x7c]
-0x6e,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc4,0x7c]
+0xfe,0x05,0xc4,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xa4,0x7c]
-0x6f,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc5,0x7c]
+0x02,0xfc,0xc5,0x7c
-# CHECK: v_cmpx_eq_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xa4,0x7c]
-0x7b,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xa4,0x7c]
-0x7c,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x62,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xa4,0x7c]
-0x7e,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x62,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xa4,0x7c]
-0x7f,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x62,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xa4,0x7c]
-0x80,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xa4,0x7c]
-0xc1,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x62,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xa4,0x7c]
-0xf0,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x62,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xa4,0x7c]
-0xf7,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x62,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xa4,0x7c]
-0xfd,0x00,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x62,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xa4,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xa4,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x62,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xa4,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xa4,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_eq_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x62,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xa4,0x7c]
-0x00,0x01,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x62,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xa4,0x7c]
-0xff,0x01,0xa4,0x7c
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x62,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xa5,0x7c]
-0x00,0xfe,0xa5,0x7c
+# CHECK: v_cmp_eq_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x62,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x62,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x62,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_eq_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x52,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x52,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x62,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_eq_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x52,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x52,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x62,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_eq_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x52,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x52,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x62,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x62,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_eq_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x52,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x52,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x62,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x62,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_eq_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x52,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x52,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x62,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x62,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_eq_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x52,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x52,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_eq_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x52,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x52,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x52,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x62,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x52,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_eq_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x62,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x62,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x52,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc6,0x7c]
+0x02,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x52,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc6,0x7c]
+0x04,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x52,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x52,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc6,0x7c]
+0x64,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x52,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc6,0x7c]
+0x66,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x52,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x52,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc6,0x7c]
+0x6a,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x52,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xc6,0x7c]
+0x6c,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x52,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xc6,0x7c]
+0x6e,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x52,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xc6,0x7c]
+0x7a,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x52,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc6,0x7c]
+0x7e,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x52,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x52,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc6,0x7c]
+0x80,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x52,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc6,0x7c]
+0xc1,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x52,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc6,0x7c]
+0xf0,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x52,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_le_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc6,0x7c]
+0xf7,0x04,0xc6,0x7c
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x52,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_le_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xc6,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xc6,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x52,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x52,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_le_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xc6,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xc6,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_eq_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x52,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x52,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc6,0x7c]
+0x01,0x05,0xc6,0x7c
-# CHECK: v_cmpx_le_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xa6,0x7c]
-0x00,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc6,0x7c]
+0xfe,0x05,0xc6,0x7c
-# CHECK: v_cmpx_le_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xa6,0x7c]
-0x65,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc7,0x7c]
+0x02,0xfc,0xc7,0x7c
-# CHECK: v_cmpx_le_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xa6,0x7c]
-0x66,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xa6,0x7c]
-0x67,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x63,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xa6,0x7c]
-0x6a,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x63,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xa6,0x7c]
-0x6b,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x63,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xa6,0x7c]
-0x6c,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x63,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xa6,0x7c]
-0x6d,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x63,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xa6,0x7c]
-0x6e,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x63,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xa6,0x7c]
-0x6f,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x63,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x63,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xa6,0x7c]
-0x7b,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x63,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xa6,0x7c]
-0x7c,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x63,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xa6,0x7c]
-0x7e,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x63,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xa6,0x7c]
-0x7f,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x63,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xa6,0x7c]
-0x80,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x63,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xa6,0x7c]
-0xc1,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x63,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x63,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xa6,0x7c]
-0xf0,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x63,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xa6,0x7c]
-0xf7,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x63,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xa6,0x7c]
-0xfd,0x00,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x63,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xa6,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xa6,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_le_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x63,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x63,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xa6,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xa6,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_le_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x63,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x63,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xa6,0x7c]
-0x00,0x01,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x63,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x63,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_le_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xa6,0x7c]
-0xff,0x01,0xa6,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_le_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xa7,0x7c]
-0x00,0xfe,0xa7,0x7c
+# CHECK: v_cmp_le_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_le_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x63,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_le_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x53,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x53,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x63,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x63,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x53,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x53,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc8,0x7c]
+0x02,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x53,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x53,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc8,0x7c]
+0x04,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x53,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x53,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc8,0x7c]
+0x64,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x53,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x53,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc8,0x7c]
+0x66,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x53,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x53,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc8,0x7c]
+0x6a,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x53,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x53,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xc8,0x7c]
+0x6c,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x53,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xc8,0x7c]
+0x6e,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x53,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xc8,0x7c]
+0x7a,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x53,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc8,0x7c]
+0x7e,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x53,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc8,0x7c]
+0x80,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x53,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x53,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc8,0x7c]
+0xc1,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x53,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc8,0x7c]
+0xf0,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x53,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x53,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc8,0x7c]
+0xf7,0x04,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x53,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xc8,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xc8,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_le_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x53,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xc8,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xc8,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_le_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x53,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc8,0x7c]
+0x01,0x05,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x53,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc8,0x7c]
+0xfe,0x05,0xc8,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x53,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x53,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_gt_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc9,0x7c]
+0x02,0xfc,0xc9,0x7c
-# CHECK: v_cmpx_le_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x53,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x53,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_gt_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x64,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x53,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_gt_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x64,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x53,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_gt_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x64,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x53,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x53,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_gt_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x53,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x53,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x64,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xa8,0x7c]
-0x00,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x64,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xa8,0x7c]
-0x65,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x64,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xa8,0x7c]
-0x66,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x64,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xa8,0x7c]
-0x67,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x64,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xa8,0x7c]
-0x6a,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x64,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xa8,0x7c]
-0x6b,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x64,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xa8,0x7c]
-0x6c,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x64,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xa8,0x7c]
-0x6d,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x64,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x64,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xa8,0x7c]
-0x6e,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x64,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xa8,0x7c]
-0x6f,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x64,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xa8,0x7c]
-0x7b,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x64,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xa8,0x7c]
-0x7c,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x64,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x64,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xa8,0x7c]
-0x7e,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x64,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x64,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xa8,0x7c]
-0x7f,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x64,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x64,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xa8,0x7c]
-0x80,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_gt_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xa8,0x7c]
-0xc1,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_gt_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xa8,0x7c]
-0xf0,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x64,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_gt_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xa8,0x7c]
-0xf7,0x00,0xa8,0x7c
+# CHECK: v_cmp_gt_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x64,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x64,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xa8,0x7c]
-0xfd,0x00,0xa8,0x7c
+# CHECK: v_cmp_lg_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xca,0x7c]
+0x02,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xa8,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xa8,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_lg_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xca,0x7c]
+0x04,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xa8,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xa8,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_lg_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xca,0x7c]
+0x64,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xa8,0x7c]
-0x00,0x01,0xa8,0x7c
+# CHECK: v_cmp_lg_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xca,0x7c]
+0x66,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xa8,0x7c]
-0xff,0x01,0xa8,0x7c
+# CHECK: v_cmp_lg_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xca,0x7c]
+0x6a,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xa9,0x7c]
-0x00,0xfe,0xa9,0x7c
+# CHECK: v_cmp_lg_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xca,0x7c]
+0x6c,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xca,0x7c]
+0x6e,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x54,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x54,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xca,0x7c]
+0x7a,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x54,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x54,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xca,0x7c]
+0x7e,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x54,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x54,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xca,0x7c]
+0x80,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x54,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x54,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xca,0x7c]
+0xc1,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x54,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x54,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xca,0x7c]
+0xf0,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x54,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x54,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xca,0x7c]
+0xf7,0x04,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x54,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x54,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xca,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xca,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x54,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xca,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xca,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x54,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xca,0x7c]
+0x01,0x05,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x54,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xca,0x7c]
+0xfe,0x05,0xca,0x7c
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x54,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xcb,0x7c]
+0x02,0xfc,0xcb,0x7c
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x54,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x54,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x54,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lg_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x65,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x54,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x54,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lg_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x65,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x54,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lg_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x65,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x54,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lg_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x65,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x54,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lg_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x65,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x54,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lg_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x65,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x54,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x54,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_lg_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x65,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x65,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x54,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lg_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x65,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x54,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x65,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x54,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_lg_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x65,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x54,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x65,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x54,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x54,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x65,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_gt_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x54,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x54,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lg_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x65,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x65,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xaa,0x7c]
-0x00,0x00,0xaa,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x65,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_lg_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xaa,0x7c]
-0x65,0x00,0xaa,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x65,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_lg_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xaa,0x7c]
-0x66,0x00,0xaa,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x65,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_lg_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xaa,0x7c]
-0x67,0x00,0xaa,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x65,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x65,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_lg_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xaa,0x7c]
-0x6a,0x00,0xaa,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x65,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x65,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_lg_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xaa,0x7c]
-0x6b,0x00,0xaa,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x65,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x65,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_lg_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xaa,0x7c]
-0x6c,0x00,0xaa,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_lg_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xaa,0x7c]
-0x6d,0x00,0xaa,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_lg_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xaa,0x7c]
-0x6e,0x00,0xaa,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x65,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_lg_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xaa,0x7c]
-0x6f,0x00,0xaa,0x7c
+# CHECK: v_cmp_lg_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x65,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x65,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xaa,0x7c]
-0x7b,0x00,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xcc,0x7c]
+0x02,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xaa,0x7c]
-0x7c,0x00,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xcc,0x7c]
+0x04,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xaa,0x7c]
-0x7e,0x00,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xcc,0x7c]
+0x64,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xaa,0x7c]
-0x7f,0x00,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xcc,0x7c]
+0x66,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xaa,0x7c]
-0x80,0x00,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xcc,0x7c]
+0x6a,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xaa,0x7c]
-0xc1,0x00,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xcc,0x7c]
+0x6c,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xaa,0x7c]
-0xf0,0x00,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xcc,0x7c]
+0x6e,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xaa,0x7c]
-0xf7,0x00,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xcc,0x7c]
+0x7a,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xaa,0x7c]
-0xfd,0x00,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xcc,0x7c]
+0x7e,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xaa,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xaa,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ge_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xcc,0x7c]
+0x80,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xaa,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xaa,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ge_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xcc,0x7c]
+0xc1,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xaa,0x7c]
-0x00,0x01,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xcc,0x7c]
+0xf0,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xaa,0x7c]
-0xff,0x01,0xaa,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xcc,0x7c]
+0xf7,0x04,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xab,0x7c]
-0x00,0xfe,0xab,0x7c
+# CHECK: v_cmp_ge_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xcc,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xcc,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xcc,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xcc,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_lg_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x55,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x55,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xcc,0x7c]
+0x01,0x05,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x55,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x55,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xcc,0x7c]
+0xfe,0x05,0xcc,0x7c
-# CHECK: v_cmpx_lg_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x55,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x55,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xcd,0x7c]
+0x02,0xfc,0xcd,0x7c
-# CHECK: v_cmpx_lg_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x55,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x55,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x55,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x55,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x66,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x55,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x55,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x66,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x55,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x55,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x66,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x55,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x55,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x66,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x55,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x66,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x55,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x66,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x55,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x55,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x66,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x55,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x66,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x55,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x55,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x66,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x55,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x66,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x55,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x66,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x55,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x66,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x66,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x55,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x66,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x55,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x55,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x66,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x55,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x66,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x55,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x66,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x66,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x55,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_ge_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x66,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x66,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x55,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ge_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x66,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x66,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x55,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x55,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_ge_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_lg_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x55,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x55,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_ge_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xac,0x7c]
-0x00,0x00,0xac,0x7c
+# CHECK: v_cmp_ge_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x66,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_ge_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xac,0x7c]
-0x65,0x00,0xac,0x7c
+# CHECK: v_cmp_ge_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x66,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x66,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xac,0x7c]
-0x66,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xce,0x7c]
+0x02,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xac,0x7c]
-0x67,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xce,0x7c]
+0x04,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xac,0x7c]
-0x6a,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xce,0x7c]
+0x64,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xac,0x7c]
-0x6b,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xce,0x7c]
+0x66,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xac,0x7c]
-0x6c,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xce,0x7c]
+0x6a,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xac,0x7c]
-0x6d,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xce,0x7c]
+0x6c,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xac,0x7c]
-0x6e,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xce,0x7c]
+0x6e,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xac,0x7c]
-0x6f,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xce,0x7c]
+0x7a,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xac,0x7c]
-0x7b,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xce,0x7c]
+0x7e,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xac,0x7c]
-0x7c,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xce,0x7c]
+0x80,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xac,0x7c]
-0x7e,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xce,0x7c]
+0xc1,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xac,0x7c]
-0x7f,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xce,0x7c]
+0xf0,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xac,0x7c]
-0x80,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xce,0x7c]
+0xf7,0x04,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xac,0x7c]
-0xc1,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xce,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xce,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ge_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xac,0x7c]
-0xf0,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xce,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xce,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ge_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xac,0x7c]
-0xf7,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xce,0x7c]
+0x01,0x05,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xac,0x7c]
-0xfd,0x00,0xac,0x7c
+# CHECK: v_cmp_o_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xce,0x7c]
+0xfe,0x05,0xce,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xac,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xac,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_o_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xcf,0x7c]
+0x02,0xfc,0xcf,0x7c
-# CHECK: v_cmpx_ge_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xac,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xac,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xac,0x7c]
-0x00,0x01,0xac,0x7c
+# CHECK: v_cmp_o_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x67,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xac,0x7c]
-0xff,0x01,0xac,0x7c
+# CHECK: v_cmp_o_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x67,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xad,0x7c]
-0x00,0xfe,0xad,0x7c
+# CHECK: v_cmp_o_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x67,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x67,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x56,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x56,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x67,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x56,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x56,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x67,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x56,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x56,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x67,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x67,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x56,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x56,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x67,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x56,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x56,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x67,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x56,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x56,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x67,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x56,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x56,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x67,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x56,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x67,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x56,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x67,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x67,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x56,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x67,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x56,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x67,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x56,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x56,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x67,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x56,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x67,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x67,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x56,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x56,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x67,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x67,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x56,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x67,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x67,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x56,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x56,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x56,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x67,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x56,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x56,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_o_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x67,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x67,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x56,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_u_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd0,0x7c]
+0x02,0x04,0xd0,0x7c
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x56,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_u_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd0,0x7c]
+0x04,0x04,0xd0,0x7c
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x56,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_u_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd0,0x7c]
+0x64,0x04,0xd0,0x7c
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x56,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_u_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd0,0x7c]
+0x66,0x04,0xd0,0x7c
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x56,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x56,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_u_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd0,0x7c]
+0x6a,0x04,0xd0,0x7c
-# CHECK: v_cmpx_ge_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x56,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x56,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xd0,0x7c]
+0x6c,0x04,0xd0,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xae,0x7c]
-0x00,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xd0,0x7c]
+0x6e,0x04,0xd0,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xae,0x7c]
-0x65,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xd0,0x7c]
+0x7a,0x04,0xd0,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xae,0x7c]
-0x66,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd0,0x7c]
+0x7e,0x04,0xd0,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xae,0x7c]
-0x67,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd0,0x7c]
+0x80,0x04,0xd0,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xae,0x7c]
-0x6a,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd0,0x7c]
+0xc1,0x04,0xd0,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xae,0x7c]
-0x6b,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd0,0x7c]
+0xf0,0x04,0xd0,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xae,0x7c]
-0x6c,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd0,0x7c]
+0xf7,0x04,0xd0,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xae,0x7c]
-0x6d,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xd0,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xd0,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_o_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xae,0x7c]
-0x6e,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xd0,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xd0,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_o_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xae,0x7c]
-0x6f,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd0,0x7c]
+0x01,0x05,0xd0,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xae,0x7c]
-0x7b,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd0,0x7c]
+0xfe,0x05,0xd0,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xae,0x7c]
-0x7c,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd1,0x7c]
+0x02,0xfc,0xd1,0x7c
-# CHECK: v_cmpx_o_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xae,0x7c]
-0x7e,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xae,0x7c]
-0x7f,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x68,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xae,0x7c]
-0x80,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x68,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xae,0x7c]
-0xc1,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x68,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xae,0x7c]
-0xf0,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xae,0x7c]
-0xf7,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x68,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xae,0x7c]
-0xfd,0x00,0xae,0x7c
+# CHECK: v_cmp_u_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x68,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xae,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xae,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_u_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x68,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xae,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xae,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_u_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x68,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xae,0x7c]
-0x00,0x01,0xae,0x7c
+# CHECK: v_cmp_u_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x68,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xae,0x7c]
-0xff,0x01,0xae,0x7c
+# CHECK: v_cmp_u_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x68,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xaf,0x7c]
-0x00,0xfe,0xaf,0x7c
+# CHECK: v_cmp_u_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x68,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x68,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_o_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x57,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x57,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x68,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x68,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_o_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x57,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x57,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x68,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_o_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x57,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x57,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x68,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_o_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x57,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x57,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x68,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_o_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x57,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x57,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x68,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x68,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_o_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x57,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x57,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x68,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x68,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_o_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x57,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x57,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x68,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x68,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_o_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x57,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_o_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x57,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_o_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x57,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x68,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_o_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x57,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_u_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x68,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x68,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_o_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x57,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x57,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd2,0x7c]
+0x02,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x57,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd2,0x7c]
+0x04,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x57,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x57,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd2,0x7c]
+0x64,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x57,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd2,0x7c]
+0x66,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x57,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd2,0x7c]
+0x6a,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x57,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xd2,0x7c]
+0x6c,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x57,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xd2,0x7c]
+0x6e,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x57,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x57,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xd2,0x7c]
+0x7a,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x57,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd2,0x7c]
+0x7e,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x57,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd2,0x7c]
+0x80,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x57,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nge_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd2,0x7c]
+0xc1,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x57,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nge_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd2,0x7c]
+0xf0,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x57,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x57,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_nge_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd2,0x7c]
+0xf7,0x04,0xd2,0x7c
-# CHECK: v_cmpx_o_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x57,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x57,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xd2,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xd2,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_u_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xb0,0x7c]
-0x00,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xd2,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xd2,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_u_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xb0,0x7c]
-0x65,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd2,0x7c]
+0x01,0x05,0xd2,0x7c
-# CHECK: v_cmpx_u_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xb0,0x7c]
-0x66,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd2,0x7c]
+0xfe,0x05,0xd2,0x7c
-# CHECK: v_cmpx_u_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xb0,0x7c]
-0x67,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd3,0x7c]
+0x02,0xfc,0xd3,0x7c
-# CHECK: v_cmpx_u_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xb0,0x7c]
-0x6a,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xb0,0x7c]
-0x6b,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x69,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xb0,0x7c]
-0x6c,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x69,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xb0,0x7c]
-0x6d,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x69,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xb0,0x7c]
-0x6e,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x69,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xb0,0x7c]
-0x6f,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x69,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xb0,0x7c]
-0x7b,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x69,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xb0,0x7c]
-0x7c,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x69,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x69,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xb0,0x7c]
-0x7e,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x69,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xb0,0x7c]
-0x7f,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x69,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xb0,0x7c]
-0x80,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x69,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xb0,0x7c]
-0xc1,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x69,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xb0,0x7c]
-0xf0,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x69,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xb0,0x7c]
-0xf7,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x69,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x69,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xb0,0x7c]
-0xfd,0x00,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x69,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xb0,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xb0,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x69,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xb0,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xb0,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x69,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xb0,0x7c]
-0x00,0x01,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x69,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x69,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xb0,0x7c]
-0xff,0x01,0xb0,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x69,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x69,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_u_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xb1,0x7c]
-0x00,0xfe,0xb1,0x7c
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x69,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x69,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_u_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_u_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x58,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x58,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_u_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x58,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x58,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x69,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_u_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x58,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x58,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nge_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x69,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x69,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x58,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x58,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd4,0x7c]
+0x02,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x58,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x58,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd4,0x7c]
+0x04,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x58,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x58,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd4,0x7c]
+0x64,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x58,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x58,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd4,0x7c]
+0x66,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x58,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd4,0x7c]
+0x6a,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x58,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xd4,0x7c]
+0x6c,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x58,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xd4,0x7c]
+0x6e,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x58,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xd4,0x7c]
+0x7a,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x58,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x58,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd4,0x7c]
+0x7e,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x58,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd4,0x7c]
+0x80,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x58,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x58,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd4,0x7c]
+0xc1,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x58,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd4,0x7c]
+0xf0,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x58,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd4,0x7c]
+0xf7,0x04,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x58,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xd4,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xd4,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_u_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x58,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xd4,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xd4,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_u_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x58,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x58,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd4,0x7c]
+0x01,0x05,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x58,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd4,0x7c]
+0xfe,0x05,0xd4,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x58,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nlg_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd5,0x7c]
+0x02,0xfc,0xd5,0x7c
-# CHECK: v_cmpx_u_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x58,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x58,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nlg_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x58,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x58,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_nlg_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_u_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x58,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x58,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlg_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xb2,0x7c]
-0x00,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xb2,0x7c]
-0x65,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xb2,0x7c]
-0x66,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xb2,0x7c]
-0x67,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xb2,0x7c]
-0x6a,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x6a,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xb2,0x7c]
-0x6b,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x6a,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xb2,0x7c]
-0x6c,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x6a,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xb2,0x7c]
-0x6d,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x6a,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xb2,0x7c]
-0x6e,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x6a,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xb2,0x7c]
-0x6f,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x6a,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x6a,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xb2,0x7c]
-0x7b,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x6a,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xb2,0x7c]
-0x7c,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x6a,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xb2,0x7c]
-0x7e,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x6a,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xb2,0x7c]
-0x7f,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x6a,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x6a,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xb2,0x7c]
-0x80,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x6a,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x6a,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xb2,0x7c]
-0xc1,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x6a,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x6a,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xb2,0x7c]
-0xf0,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_nge_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xb2,0x7c]
-0xf7,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_nge_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xb2,0x7c]
-0xfd,0x00,0xb2,0x7c
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x6a,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_nge_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xb2,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xb2,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_nlg_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x6a,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x6a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xb2,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xb2,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ngt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd6,0x7c]
+0x02,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xb2,0x7c]
-0x00,0x01,0xb2,0x7c
+# CHECK: v_cmp_ngt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd6,0x7c]
+0x04,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xb2,0x7c]
-0xff,0x01,0xb2,0x7c
+# CHECK: v_cmp_ngt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd6,0x7c]
+0x64,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xb3,0x7c]
-0x00,0xfe,0xb3,0x7c
+# CHECK: v_cmp_ngt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd6,0x7c]
+0x66,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd6,0x7c]
+0x6a,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x59,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x59,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xd6,0x7c]
+0x6c,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x59,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x59,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xd6,0x7c]
+0x6e,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x59,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x59,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xd6,0x7c]
+0x7a,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x59,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x59,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd6,0x7c]
+0x7e,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x59,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x59,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd6,0x7c]
+0x80,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x59,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x59,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd6,0x7c]
+0xc1,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x59,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x59,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd6,0x7c]
+0xf0,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x59,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd6,0x7c]
+0xf7,0x04,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x59,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xd6,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xd6,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x59,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xd6,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xd6,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x59,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd6,0x7c]
+0x01,0x05,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x59,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x59,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd6,0x7c]
+0xfe,0x05,0xd6,0x7c
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x59,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd7,0x7c]
+0x02,0xfc,0xd7,0x7c
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x59,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x59,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x59,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ngt_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x59,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ngt_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x59,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ngt_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x59,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ngt_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x59,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x59,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ngt_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x59,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ngt_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x59,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ngt_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x59,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x6b,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x59,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x6b,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x59,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x59,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x6b,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_nge_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x59,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x59,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x6b,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xb4,0x7c]
-0x00,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x6b,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xb4,0x7c]
-0x65,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x6b,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x6b,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xb4,0x7c]
-0x66,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x6b,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xb4,0x7c]
-0x67,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x6b,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xb4,0x7c]
-0x6a,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x6b,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xb4,0x7c]
-0x6b,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x6b,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x6b,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xb4,0x7c]
-0x6c,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x6b,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x6b,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xb4,0x7c]
-0x6d,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x6b,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x6b,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xb4,0x7c]
-0x6e,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_nlg_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xb4,0x7c]
-0x6f,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_nlg_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xb4,0x7c]
-0x7b,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x6b,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_nlg_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xb4,0x7c]
-0x7c,0x00,0xb4,0x7c
+# CHECK: v_cmp_ngt_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x6b,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x6b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xb4,0x7c]
-0x7e,0x00,0xb4,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd8,0x7c]
+0x02,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xb4,0x7c]
-0x7f,0x00,0xb4,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd8,0x7c]
+0x04,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xb4,0x7c]
-0x80,0x00,0xb4,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd8,0x7c]
+0x64,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xb4,0x7c]
-0xc1,0x00,0xb4,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd8,0x7c]
+0x66,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xb4,0x7c]
-0xf0,0x00,0xb4,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd8,0x7c]
+0x6a,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xb4,0x7c]
-0xf7,0x00,0xb4,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xd8,0x7c]
+0x6c,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xb4,0x7c]
-0xfd,0x00,0xb4,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xd8,0x7c]
+0x6e,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xb4,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xb4,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_nle_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xd8,0x7c]
+0x7a,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xb4,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xb4,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_nle_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd8,0x7c]
+0x7e,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xb4,0x7c]
-0x00,0x01,0xb4,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd8,0x7c]
+0x80,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xb4,0x7c]
-0xff,0x01,0xb4,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd8,0x7c]
+0xc1,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xb5,0x7c]
-0x00,0xfe,0xb5,0x7c
+# CHECK: v_cmp_nle_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd8,0x7c]
+0xf0,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd8,0x7c]
+0xf7,0x04,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xd8,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xd8,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_nlg_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xd8,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xd8,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_nlg_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd8,0x7c]
+0x01,0x05,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd8,0x7c]
+0xfe,0x05,0xd8,0x7c
-# CHECK: v_cmpx_nlg_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd9,0x7c]
+0x02,0xfc,0xd9,0x7c
-# CHECK: v_cmpx_nlg_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x5a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x5a,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x5a,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x5a,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x5a,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x5a,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5a,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5a,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nle_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x5a,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5a,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_nle_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x6c,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x5a,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_nle_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x6c,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x5a,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_nle_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x6c,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x5a,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_nle_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x6c,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x5a,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x6c,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x5a,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_nle_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x6c,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x6c,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x5a,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x6c,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x5a,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x6c,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5a,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x6c,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x5a,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x6c,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x6c,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x5a,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x5a,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x6c,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x6c,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_nlg_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x5a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x6c,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x6c,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_ngt_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xb6,0x7c]
-0x00,0x00,0xb6,0x7c
+# CHECK: v_cmp_nle_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_ngt_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xb6,0x7c]
-0x65,0x00,0xb6,0x7c
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_ngt_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xb6,0x7c]
-0x66,0x00,0xb6,0x7c
+# CHECK: v_cmp_nle_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x6c,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_ngt_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xb6,0x7c]
-0x67,0x00,0xb6,0x7c
+# CHECK: v_cmp_nle_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x6c,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x6c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xb6,0x7c]
-0x6a,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xda,0x7c]
+0x02,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xb6,0x7c]
-0x6b,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xda,0x7c]
+0x04,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xb6,0x7c]
-0x6c,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xda,0x7c]
+0x64,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xb6,0x7c]
-0x6d,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xda,0x7c]
+0x66,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xb6,0x7c]
-0x6e,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xda,0x7c]
+0x6a,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xb6,0x7c]
-0x6f,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xda,0x7c]
+0x6c,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xb6,0x7c]
-0x7b,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xda,0x7c]
+0x6e,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xb6,0x7c]
-0x7c,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xda,0x7c]
+0x7a,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xb6,0x7c]
-0x7e,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xda,0x7c]
+0x7e,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xb6,0x7c]
-0x7f,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xda,0x7c]
+0x80,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xb6,0x7c]
-0x80,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xda,0x7c]
+0xc1,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xb6,0x7c]
-0xc1,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xda,0x7c]
+0xf0,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xb6,0x7c]
-0xf0,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xda,0x7c]
+0xf7,0x04,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xb6,0x7c]
-0xf7,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xda,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xda,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ngt_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xb6,0x7c]
-0xfd,0x00,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xda,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xda,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ngt_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xb6,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xb6,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_neq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xda,0x7c]
+0x01,0x05,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xb6,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xb6,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_neq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xda,0x7c]
+0xfe,0x05,0xda,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xb6,0x7c]
-0x00,0x01,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xdb,0x7c]
+0x02,0xfc,0xdb,0x7c
-# CHECK: v_cmpx_ngt_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xb6,0x7c]
-0xff,0x01,0xb6,0x7c
+# CHECK: v_cmp_neq_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xb7,0x7c]
-0x00,0xfe,0xb7,0x7c
+# CHECK: v_cmp_neq_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x6d,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x5b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x6d,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x5b,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x6d,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x5b,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x6d,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x5b,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x6d,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x5b,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x6d,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x6d,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x5b,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5b,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x6d,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5b,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x6d,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x5b,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5b,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x6d,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x5b,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x6d,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x6d,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x5b,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x6d,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x6d,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x5b,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x6d,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x6d,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x5b,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x5b,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x5b,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x6d,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x5b,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_neq_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x6d,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x6d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5b,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_nlt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xdc,0x7c]
+0x02,0x04,0xdc,0x7c
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x5b,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_nlt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xdc,0x7c]
+0x04,0x04,0xdc,0x7c
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x5b,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x5b,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_nlt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xdc,0x7c]
+0x64,0x04,0xdc,0x7c
-# CHECK: v_cmpx_ngt_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x5b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xdc,0x7c]
+0x66,0x04,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xb8,0x7c]
-0x00,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xdc,0x7c]
+0x6a,0x04,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xb8,0x7c]
-0x65,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xdc,0x7c]
+0x6c,0x04,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xb8,0x7c]
-0x66,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xdc,0x7c]
+0x6e,0x04,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xb8,0x7c]
-0x67,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xdc,0x7c]
+0x7a,0x04,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xb8,0x7c]
-0x6a,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xdc,0x7c]
+0x7e,0x04,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xb8,0x7c]
-0x6b,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xdc,0x7c]
+0x80,0x04,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xb8,0x7c]
-0x6c,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xdc,0x7c]
+0xc1,0x04,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xb8,0x7c]
-0x6d,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xdc,0x7c]
+0xf0,0x04,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xb8,0x7c]
-0x6e,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xdc,0x7c]
+0xf7,0x04,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xb8,0x7c]
-0x6f,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xdc,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xdc,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_nle_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xb8,0x7c]
-0x7b,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xdc,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xdc,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_nle_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xb8,0x7c]
-0x7c,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xdc,0x7c]
+0x01,0x05,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xb8,0x7c]
-0x7e,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xdc,0x7c]
+0xfe,0x05,0xdc,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xb8,0x7c]
-0x7f,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xdd,0x7c]
+0x02,0xfc,0xdd,0x7c
-# CHECK: v_cmpx_nle_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xb8,0x7c]
-0x80,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xb8,0x7c]
-0xc1,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xb8,0x7c]
-0xf0,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xb8,0x7c]
-0xf7,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xb8,0x7c]
-0xfd,0x00,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xb8,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xb8,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_nlt_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xb8,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xb8,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_nlt_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xb8,0x7c]
-0x00,0x01,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xb8,0x7c]
-0xff,0x01,0xb8,0x7c
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x6e,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xb9,0x7c]
-0x00,0xfe,0xb9,0x7c
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x6e,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x6e,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x6e,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x6e,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x6e,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x6e,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x6e,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_nle_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x6e,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_nle_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x6e,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_nle_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x5c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x6e,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x6e,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x5c,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x6e,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x6e,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x5c,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x6e,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x6e,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x5c,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x5c,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x5c,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5c,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x6e,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5c,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_nlt_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x6e,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x6e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x5c,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5c,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_tru_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xde,0x7c]
+0x02,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x5c,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_tru_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xde,0x7c]
+0x04,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x5c,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_tru_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xde,0x7c]
+0x64,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x5c,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_tru_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xde,0x7c]
+0x66,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x5c,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_tru_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xde,0x7c]
+0x6a,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x5c,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_tru_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xde,0x7c]
+0x6c,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x5c,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_tru_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xde,0x7c]
+0x6e,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x5c,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_tru_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xde,0x7c]
+0x7a,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5c,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_tru_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xde,0x7c]
+0x7e,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x5c,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_tru_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xde,0x7c]
+0x80,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x5c,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x5c,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_tru_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xde,0x7c]
+0xc1,0x04,0xde,0x7c
-# CHECK: v_cmpx_nle_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x5c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xde,0x7c]
+0xf0,0x04,0xde,0x7c
-# CHECK: v_cmpx_neq_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xba,0x7c]
-0x00,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xde,0x7c]
+0xf7,0x04,0xde,0x7c
-# CHECK: v_cmpx_neq_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xba,0x7c]
-0x65,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xde,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xde,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_neq_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xba,0x7c]
-0x66,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xde,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xde,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_neq_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xba,0x7c]
-0x67,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xde,0x7c]
+0x01,0x05,0xde,0x7c
-# CHECK: v_cmpx_neq_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xba,0x7c]
-0x6a,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xde,0x7c]
+0xfe,0x05,0xde,0x7c
-# CHECK: v_cmpx_neq_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xba,0x7c]
-0x6b,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xdf,0x7c]
+0x02,0xfc,0xdf,0x7c
-# CHECK: v_cmpx_neq_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xba,0x7c]
-0x6c,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xba,0x7c]
-0x6d,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xba,0x7c]
-0x6e,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xba,0x7c]
-0x6f,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xba,0x7c]
-0x7b,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xba,0x7c]
-0x7c,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xba,0x7c]
-0x7e,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xba,0x7c]
-0x7f,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xba,0x7c]
-0x80,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x6f,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xba,0x7c]
-0xc1,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x6f,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xba,0x7c]
-0xf0,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x6f,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xba,0x7c]
-0xf7,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x6f,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xba,0x7c]
-0xfd,0x00,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x6f,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xba,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xba,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_tru_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x6f,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x6f,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xba,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xba,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_tru_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x6f,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xba,0x7c]
-0x00,0x01,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x6f,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xba,0x7c]
-0xff,0x01,0xba,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x6f,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_neq_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xbb,0x7c]
-0x00,0xfe,0xbb,0x7c
+# CHECK: v_cmp_tru_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x6f,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x6f,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x6f,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x6f,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_neq_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x6f,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x6f,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_neq_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_neq_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_neq_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x6f,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_neq_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_tru_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x6f,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x6f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe0,0x7c]
+0x02,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x5d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe0,0x7c]
+0x04,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x5d,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe0,0x7c]
+0x64,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x5d,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe0,0x7c]
+0x66,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x5d,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe0,0x7c]
+0x6a,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x5d,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xe0,0x7c]
+0x6c,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x5d,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5d,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xe0,0x7c]
+0x6e,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5d,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xe0,0x7c]
+0x7a,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x5d,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5d,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe0,0x7c]
+0x7e,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x5d,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe0,0x7c]
+0x80,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x5d,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe0,0x7c]
+0xc1,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x5d,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe0,0x7c]
+0xf0,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x5d,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe0,0x7c]
+0xf7,0x04,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x5d,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xe0,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xe0,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x5d,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xe0,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xe0,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x5d,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_f_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe0,0x7c]
+0x01,0x05,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5d,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_f_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe0,0x7c]
+0xfe,0x05,0xe0,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x5d,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_f_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe1,0x7c]
+0x02,0xfc,0xe1,0x7c
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x5d,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x5d,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_neq_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x5d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x70,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xbc,0x7c]
-0x00,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x70,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xbc,0x7c]
-0x65,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x70,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xbc,0x7c]
-0x66,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xbc,0x7c]
-0x67,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x70,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xbc,0x7c]
-0x6a,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x70,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xbc,0x7c]
-0x6b,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x70,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xbc,0x7c]
-0x6c,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x70,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xbc,0x7c]
-0x6d,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x70,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xbc,0x7c]
-0x6e,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x70,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xbc,0x7c]
-0x6f,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x70,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xbc,0x7c]
-0x7b,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x70,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xbc,0x7c]
-0x7c,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x70,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x70,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xbc,0x7c]
-0x7e,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x70,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xbc,0x7c]
-0x7f,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x70,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xbc,0x7c]
-0x80,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x70,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xbc,0x7c]
-0xc1,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x70,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x70,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xbc,0x7c]
-0xf0,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x70,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x70,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xbc,0x7c]
-0xf7,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x70,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x70,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xbc,0x7c]
-0xfd,0x00,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_nlt_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xbc,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xbc,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_nlt_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xbc,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xbc,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_f_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x70,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_nlt_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xbc,0x7c]
-0x00,0x01,0xbc,0x7c
+# CHECK: v_cmpx_f_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x70,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x70,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xbc,0x7c]
-0xff,0x01,0xbc,0x7c
+# CHECK: v_cmpx_lt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe2,0x7c]
+0x02,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xbd,0x7c]
-0x00,0xfe,0xbd,0x7c
+# CHECK: v_cmpx_lt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe2,0x7c]
+0x04,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe2,0x7c]
+0x64,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe2,0x7c]
+0x66,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe2,0x7c]
+0x6a,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xe2,0x7c]
+0x6c,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xe2,0x7c]
+0x6e,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xe2,0x7c]
+0x7a,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe2,0x7c]
+0x7e,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x5e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe2,0x7c]
+0x80,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x5e,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe2,0x7c]
+0xc1,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x5e,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe2,0x7c]
+0xf0,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x5e,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe2,0x7c]
+0xf7,0x04,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x5e,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xe2,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xe2,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x5e,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5e,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xe2,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xe2,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5e,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe2,0x7c]
+0x01,0x05,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x5e,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5e,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe2,0x7c]
+0xfe,0x05,0xe2,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x5e,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe3,0x7c]
+0x02,0xfc,0xe3,0x7c
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x5e,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x5e,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x71,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x5e,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x71,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x5e,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lt_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x71,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x5e,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x71,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x5e,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lt_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x71,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5e,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_lt_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x71,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x5e,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_lt_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x71,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x71,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x5e,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x5e,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x71,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_nlt_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x5e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x71,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xbe,0x7c]
-0x00,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x71,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xbe,0x7c]
-0x65,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x71,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xbe,0x7c]
-0x66,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x71,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xbe,0x7c]
-0x67,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x71,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x71,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xbe,0x7c]
-0x6a,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x71,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xbe,0x7c]
-0x6b,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x71,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xbe,0x7c]
-0x6c,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x71,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xbe,0x7c]
-0x6d,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x71,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x71,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xbe,0x7c]
-0x6e,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x71,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x71,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xbe,0x7c]
-0x6f,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x71,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x71,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xbe,0x7c]
-0x7b,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmpx_tru_f32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xbe,0x7c]
-0x7c,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmpx_tru_f32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xbe,0x7c]
-0x7e,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x71,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmpx_tru_f32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xbe,0x7c]
-0x7f,0x00,0xbe,0x7c
+# CHECK: v_cmpx_lt_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x71,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x71,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xbe,0x7c]
-0x80,0x00,0xbe,0x7c
+# CHECK: v_cmpx_eq_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe4,0x7c]
+0x02,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xbe,0x7c]
-0xc1,0x00,0xbe,0x7c
+# CHECK: v_cmpx_eq_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe4,0x7c]
+0x04,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xbe,0x7c]
-0xf0,0x00,0xbe,0x7c
+# CHECK: v_cmpx_eq_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe4,0x7c]
+0x64,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xbe,0x7c]
-0xf7,0x00,0xbe,0x7c
+# CHECK: v_cmpx_eq_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe4,0x7c]
+0x66,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xbe,0x7c]
-0xfd,0x00,0xbe,0x7c
+# CHECK: v_cmpx_eq_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe4,0x7c]
+0x6a,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xbe,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xbe,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_eq_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xe4,0x7c]
+0x6c,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xbe,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xbe,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_eq_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xe4,0x7c]
+0x6e,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xbe,0x7c]
-0x00,0x01,0xbe,0x7c
+# CHECK: v_cmpx_eq_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xe4,0x7c]
+0x7a,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xbe,0x7c]
-0xff,0x01,0xbe,0x7c
+# CHECK: v_cmpx_eq_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe4,0x7c]
+0x7e,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xbf,0x7c]
-0x00,0xfe,0xbf,0x7c
+# CHECK: v_cmpx_eq_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe4,0x7c]
+0x80,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe4,0x7c]
+0xc1,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe4,0x7c]
+0xf0,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe4,0x7c]
+0xf7,0x04,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xe4,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xe4,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_tru_f32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xe4,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xe4,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_tru_f32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe4,0x7c]
+0x01,0x05,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe4,0x7c]
+0xfe,0x05,0xe4,0x7c
-# CHECK: v_cmpx_tru_f32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x5f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe5,0x7c]
+0x02,0xfc,0xe5,0x7c
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0x5f,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0x5f,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x72,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0x5f,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x72,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0x5f,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x72,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0x5f,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0x5f,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x5f,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x72,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0x5f,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0x5f,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x72,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x5f,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x72,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x5f,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x72,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x5f,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x72,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x5f,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x72,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0x5f,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x72,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x5f,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x72,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0x5f,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x72,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x72,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], -s0, s0 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x5f,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x72,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], s0, -s0 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x5f,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x72,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], -s0, -s0 ; encoding: [0x00,0x00,0x5f,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x5f,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x72,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_tru_f32_e64 s[0:1], s0, s0 clamp ; encoding: [0x00,0x80,0x5f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x5f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x72,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x72,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_f_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xc0,0x7c]
-0x00,0x00,0xc0,0x7c
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x72,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x72,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_f_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xc0,0x7c]
-0x02,0x00,0xc0,0x7c
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x72,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x72,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_f_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xc0,0x7c]
-0x64,0x00,0xc0,0x7c
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_f_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xc0,0x7c]
-0x66,0x00,0xc0,0x7c
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_f_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xc0,0x7c]
-0x6a,0x00,0xc0,0x7c
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x72,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_f_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xc0,0x7c]
-0x6c,0x00,0xc0,0x7c
+# CHECK: v_cmpx_eq_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x72,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x72,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xc0,0x7c]
-0x6e,0x00,0xc0,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe6,0x7c]
+0x02,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xc0,0x7c]
-0x7a,0x00,0xc0,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe6,0x7c]
+0x04,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xc0,0x7c]
-0x7e,0x00,0xc0,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe6,0x7c]
+0x64,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xc0,0x7c]
-0x80,0x00,0xc0,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe6,0x7c]
+0x66,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xc0,0x7c]
-0xc1,0x00,0xc0,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe6,0x7c]
+0x6a,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xc0,0x7c]
-0xf0,0x00,0xc0,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xe6,0x7c]
+0x6c,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xc0,0x7c]
-0xf7,0x00,0xc0,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xe6,0x7c]
+0x6e,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xc0,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xc0,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_le_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xe6,0x7c]
+0x7a,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xc0,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xc0,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_le_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe6,0x7c]
+0x7e,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xc0,0x7c]
-0x00,0x01,0xc0,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe6,0x7c]
+0x80,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xc0,0x7c]
-0xfe,0x01,0xc0,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe6,0x7c]
+0xc1,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xc1,0x7c]
-0x00,0xfc,0xc1,0x7c
+# CHECK: v_cmpx_le_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe6,0x7c]
+0xf0,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe6,0x7c]
+0xf7,0x04,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x60,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x60,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xe6,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xe6,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_f_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x60,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x60,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xe6,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xe6,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_f_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x60,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x60,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe6,0x7c]
+0x01,0x05,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x60,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x60,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe6,0x7c]
+0xfe,0x05,0xe6,0x7c
-# CHECK: v_cmp_f_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x60,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x60,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe7,0x7c]
+0x02,0xfc,0xe7,0x7c
-# CHECK: v_cmp_f_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x60,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x60,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x60,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x60,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x73,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x73,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x73,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x73,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x60,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x73,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x60,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x73,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x60,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_le_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x73,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x73,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x60,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x60,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x73,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x60,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x60,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x73,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x60,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x60,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x73,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x60,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x60,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x73,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x60,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x73,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x60,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x60,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_le_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x73,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x73,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x60,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x73,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x60,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x73,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x60,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x60,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x73,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_f_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x60,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x60,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x73,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x73,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_lt_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xc2,0x7c]
-0x00,0x00,0xc2,0x7c
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x73,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x73,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_lt_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xc2,0x7c]
-0x02,0x00,0xc2,0x7c
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x73,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x73,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_lt_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xc2,0x7c]
-0x64,0x00,0xc2,0x7c
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_lt_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xc2,0x7c]
-0x66,0x00,0xc2,0x7c
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_lt_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xc2,0x7c]
-0x6a,0x00,0xc2,0x7c
+# CHECK: v_cmpx_le_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x73,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_lt_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xc2,0x7c]
-0x6c,0x00,0xc2,0x7c
+# CHECK: v_cmpx_le_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x73,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x73,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xc2,0x7c]
-0x6e,0x00,0xc2,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe8,0x7c]
+0x02,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xc2,0x7c]
-0x7a,0x00,0xc2,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe8,0x7c]
+0x04,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xc2,0x7c]
-0x7e,0x00,0xc2,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe8,0x7c]
+0x64,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xc2,0x7c]
-0x80,0x00,0xc2,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe8,0x7c]
+0x66,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xc2,0x7c]
-0xc1,0x00,0xc2,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe8,0x7c]
+0x6a,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xc2,0x7c]
-0xf0,0x00,0xc2,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xe8,0x7c]
+0x6c,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xc2,0x7c]
-0xf7,0x00,0xc2,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xe8,0x7c]
+0x6e,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xc2,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xc2,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_gt_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xe8,0x7c]
+0x7a,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xc2,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xc2,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_gt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe8,0x7c]
+0x7e,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xc2,0x7c]
-0x00,0x01,0xc2,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe8,0x7c]
+0x80,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xc2,0x7c]
-0xfe,0x01,0xc2,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe8,0x7c]
+0xc1,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xc3,0x7c]
-0x00,0xfc,0xc3,0x7c
+# CHECK: v_cmpx_gt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe8,0x7c]
+0xf0,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe8,0x7c]
+0xf7,0x04,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x61,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x61,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xe8,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xe8,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_lt_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x61,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x61,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xe8,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xe8,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_lt_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x61,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x61,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe8,0x7c]
+0x01,0x05,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x61,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x61,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe8,0x7c]
+0xfe,0x05,0xe8,0x7c
-# CHECK: v_cmp_lt_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x61,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x61,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe9,0x7c]
+0x02,0xfc,0xe9,0x7c
-# CHECK: v_cmp_lt_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x61,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x61,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x61,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x61,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x74,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x74,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x74,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x61,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x74,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x61,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x74,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x61,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x74,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x61,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x61,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x74,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x61,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x61,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x74,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x61,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x61,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x74,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x61,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x61,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x74,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x61,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x74,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x61,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x61,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x74,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x74,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x61,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x74,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x61,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x74,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x61,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x61,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x74,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_lt_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x61,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x61,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x74,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x74,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_eq_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xc4,0x7c]
-0x00,0x00,0xc4,0x7c
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x74,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x74,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_eq_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xc4,0x7c]
-0x02,0x00,0xc4,0x7c
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x74,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x74,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_eq_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xc4,0x7c]
-0x64,0x00,0xc4,0x7c
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_eq_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xc4,0x7c]
-0x66,0x00,0xc4,0x7c
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_eq_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xc4,0x7c]
-0x6a,0x00,0xc4,0x7c
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x74,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_eq_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xc4,0x7c]
-0x6c,0x00,0xc4,0x7c
+# CHECK: v_cmpx_gt_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x74,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x74,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xc4,0x7c]
-0x6e,0x00,0xc4,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xea,0x7c]
+0x02,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xc4,0x7c]
-0x7a,0x00,0xc4,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xea,0x7c]
+0x04,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xc4,0x7c]
-0x7e,0x00,0xc4,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xea,0x7c]
+0x64,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xc4,0x7c]
-0x80,0x00,0xc4,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xea,0x7c]
+0x66,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xc4,0x7c]
-0xc1,0x00,0xc4,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xea,0x7c]
+0x6a,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xc4,0x7c]
-0xf0,0x00,0xc4,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xea,0x7c]
+0x6c,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xc4,0x7c]
-0xf7,0x00,0xc4,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xea,0x7c]
+0x6e,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xc4,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xc4,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_lg_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xea,0x7c]
+0x7a,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xc4,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xc4,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_lg_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xea,0x7c]
+0x7e,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xc4,0x7c]
-0x00,0x01,0xc4,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xea,0x7c]
+0x80,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xc4,0x7c]
-0xfe,0x01,0xc4,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xea,0x7c]
+0xc1,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xc5,0x7c]
-0x00,0xfc,0xc5,0x7c
+# CHECK: v_cmpx_lg_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xea,0x7c]
+0xf0,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xea,0x7c]
+0xf7,0x04,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x62,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x62,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xea,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xea,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_eq_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x62,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x62,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xea,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xea,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_eq_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x62,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x62,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xea,0x7c]
+0x01,0x05,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x62,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x62,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xea,0x7c]
+0xfe,0x05,0xea,0x7c
-# CHECK: v_cmp_eq_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x62,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x62,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xeb,0x7c]
+0x02,0xfc,0xeb,0x7c
-# CHECK: v_cmp_eq_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x62,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x62,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x62,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x62,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x75,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x75,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x75,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x75,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x62,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x75,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x62,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x75,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x62,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x75,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x75,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x62,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x62,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x75,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x62,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x62,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x75,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x62,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x62,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x75,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x62,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x62,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x75,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x62,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x75,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x62,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x62,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x75,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x75,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x62,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x75,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x62,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x75,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x62,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x62,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x75,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_eq_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x62,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x62,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x75,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x75,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_le_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xc6,0x7c]
-0x00,0x00,0xc6,0x7c
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x75,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x75,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_le_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xc6,0x7c]
-0x02,0x00,0xc6,0x7c
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x75,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x75,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_le_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xc6,0x7c]
-0x64,0x00,0xc6,0x7c
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_le_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xc6,0x7c]
-0x66,0x00,0xc6,0x7c
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_le_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xc6,0x7c]
-0x6a,0x00,0xc6,0x7c
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x75,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_le_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xc6,0x7c]
-0x6c,0x00,0xc6,0x7c
+# CHECK: v_cmpx_lg_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x75,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x75,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xc6,0x7c]
-0x6e,0x00,0xc6,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xec,0x7c]
+0x02,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xc6,0x7c]
-0x7a,0x00,0xc6,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xec,0x7c]
+0x04,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xc6,0x7c]
-0x7e,0x00,0xc6,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xec,0x7c]
+0x64,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xc6,0x7c]
-0x80,0x00,0xc6,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xec,0x7c]
+0x66,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xc6,0x7c]
-0xc1,0x00,0xc6,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xec,0x7c]
+0x6a,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xc6,0x7c]
-0xf0,0x00,0xc6,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xec,0x7c]
+0x6c,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xc6,0x7c]
-0xf7,0x00,0xc6,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xec,0x7c]
+0x6e,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xc6,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xc6,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ge_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xec,0x7c]
+0x7a,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xc6,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xc6,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ge_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xec,0x7c]
+0x7e,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xc6,0x7c]
-0x00,0x01,0xc6,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xec,0x7c]
+0x80,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xc6,0x7c]
-0xfe,0x01,0xc6,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xec,0x7c]
+0xc1,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xc7,0x7c]
-0x00,0xfc,0xc7,0x7c
+# CHECK: v_cmpx_ge_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xec,0x7c]
+0xf0,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xec,0x7c]
+0xf7,0x04,0xec,0x7c
-# CHECK: v_cmp_le_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x63,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x63,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xec,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xec,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_le_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x63,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x63,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xec,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xec,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_le_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x63,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x63,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xec,0x7c]
+0x01,0x05,0xec,0x7c
-# CHECK: v_cmp_le_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x63,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x63,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xec,0x7c]
+0xfe,0x05,0xec,0x7c
-# CHECK: v_cmp_le_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x63,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x63,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xed,0x7c]
+0x02,0xfc,0xed,0x7c
-# CHECK: v_cmp_le_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x63,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x63,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x63,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x63,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x76,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x76,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x76,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x63,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x76,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x63,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x76,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x63,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x76,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x63,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x63,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x76,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x63,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x63,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x76,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x63,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x63,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x76,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x63,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x63,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x76,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x63,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x76,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x63,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x63,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x76,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x76,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x63,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x76,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x63,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x76,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x63,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x63,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x76,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_le_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x63,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x63,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x76,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x76,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_gt_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xc8,0x7c]
-0x00,0x00,0xc8,0x7c
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x76,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x76,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_gt_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xc8,0x7c]
-0x02,0x00,0xc8,0x7c
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x76,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x76,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_gt_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xc8,0x7c]
-0x64,0x00,0xc8,0x7c
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_gt_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xc8,0x7c]
-0x66,0x00,0xc8,0x7c
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_gt_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xc8,0x7c]
-0x6a,0x00,0xc8,0x7c
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x76,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_gt_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xc8,0x7c]
-0x6c,0x00,0xc8,0x7c
+# CHECK: v_cmpx_ge_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x76,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x76,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xc8,0x7c]
-0x6e,0x00,0xc8,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xee,0x7c]
+0x02,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xc8,0x7c]
-0x7a,0x00,0xc8,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xee,0x7c]
+0x04,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xc8,0x7c]
-0x7e,0x00,0xc8,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xee,0x7c]
+0x64,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xc8,0x7c]
-0x80,0x00,0xc8,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xee,0x7c]
+0x66,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xc8,0x7c]
-0xc1,0x00,0xc8,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xee,0x7c]
+0x6a,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xc8,0x7c]
-0xf0,0x00,0xc8,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xee,0x7c]
+0x6c,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xc8,0x7c]
-0xf7,0x00,0xc8,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xee,0x7c]
+0x6e,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xc8,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xc8,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_o_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xee,0x7c]
+0x7a,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xc8,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xc8,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_o_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xee,0x7c]
+0x7e,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xc8,0x7c]
-0x00,0x01,0xc8,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xee,0x7c]
+0x80,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xc8,0x7c]
-0xfe,0x01,0xc8,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xee,0x7c]
+0xc1,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xc9,0x7c]
-0x00,0xfc,0xc9,0x7c
+# CHECK: v_cmpx_o_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xee,0x7c]
+0xf0,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xee,0x7c]
+0xf7,0x04,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x64,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x64,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xee,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xee,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_gt_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x64,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x64,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xee,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xee,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_gt_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x64,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x64,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xee,0x7c]
+0x01,0x05,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x64,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x64,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xee,0x7c]
+0xfe,0x05,0xee,0x7c
-# CHECK: v_cmp_gt_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x64,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x64,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xef,0x7c]
+0x02,0xfc,0xef,0x7c
-# CHECK: v_cmp_gt_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x64,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x64,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x64,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x64,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x77,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x77,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x77,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x77,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x64,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x77,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x64,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_o_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x77,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x64,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_o_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x77,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x77,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x64,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x64,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_o_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x77,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x64,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x64,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_o_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x77,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x64,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x64,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_o_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x77,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x64,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x64,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_o_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x77,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x64,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x77,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x64,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x64,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_o_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x77,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x77,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x64,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x77,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x64,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x77,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x64,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x64,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x77,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_gt_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x64,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x64,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x77,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x77,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_lg_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xca,0x7c]
-0x00,0x00,0xca,0x7c
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x77,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x77,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_lg_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xca,0x7c]
-0x02,0x00,0xca,0x7c
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x77,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x77,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_lg_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xca,0x7c]
-0x64,0x00,0xca,0x7c
+# CHECK: v_cmpx_o_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_lg_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xca,0x7c]
-0x66,0x00,0xca,0x7c
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_lg_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xca,0x7c]
-0x6a,0x00,0xca,0x7c
+# CHECK: v_cmpx_o_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x77,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_lg_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xca,0x7c]
-0x6c,0x00,0xca,0x7c
+# CHECK: v_cmpx_o_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x77,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x77,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xca,0x7c]
-0x6e,0x00,0xca,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf0,0x7c]
+0x02,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xca,0x7c]
-0x7a,0x00,0xca,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf0,0x7c]
+0x04,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xca,0x7c]
-0x7e,0x00,0xca,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xf0,0x7c]
+0x64,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xca,0x7c]
-0x80,0x00,0xca,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf0,0x7c]
+0x66,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xca,0x7c]
-0xc1,0x00,0xca,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf0,0x7c]
+0x6a,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xca,0x7c]
-0xf0,0x00,0xca,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xf0,0x7c]
+0x6c,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xca,0x7c]
-0xf7,0x00,0xca,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xf0,0x7c]
+0x6e,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xca,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xca,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_u_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xf0,0x7c]
+0x7a,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xca,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xca,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_u_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf0,0x7c]
+0x7e,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xca,0x7c]
-0x00,0x01,0xca,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf0,0x7c]
+0x80,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xca,0x7c]
-0xfe,0x01,0xca,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf0,0x7c]
+0xc1,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xcb,0x7c]
-0x00,0xfc,0xcb,0x7c
+# CHECK: v_cmpx_u_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf0,0x7c]
+0xf0,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf0,0x7c]
+0xf7,0x04,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x65,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x65,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xf0,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xf0,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_lg_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x65,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x65,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xf0,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xf0,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_lg_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x65,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x65,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf0,0x7c]
+0x01,0x05,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x65,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x65,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf0,0x7c]
+0xfe,0x05,0xf0,0x7c
-# CHECK: v_cmp_lg_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x65,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x65,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xf1,0x7c]
+0x02,0xfc,0xf1,0x7c
-# CHECK: v_cmp_lg_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x65,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x65,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x65,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x65,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x78,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x78,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x78,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x65,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x78,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x65,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_u_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x78,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x65,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_u_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x78,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x65,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x65,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_u_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x78,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x65,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x65,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x78,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x65,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x65,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_u_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x78,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x65,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x65,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x78,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x65,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x78,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x65,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x65,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_u_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x78,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x78,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x65,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_u_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x78,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x65,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_u_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x78,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x65,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x65,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_u_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x78,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_lg_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x65,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x65,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_u_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x78,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x78,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_ge_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xcc,0x7c]
-0x00,0x00,0xcc,0x7c
+# CHECK: v_cmpx_u_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x78,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x78,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_ge_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xcc,0x7c]
-0x02,0x00,0xcc,0x7c
+# CHECK: v_cmpx_u_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x78,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x78,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_ge_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xcc,0x7c]
-0x64,0x00,0xcc,0x7c
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_ge_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xcc,0x7c]
-0x66,0x00,0xcc,0x7c
+# CHECK: v_cmpx_u_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_ge_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xcc,0x7c]
-0x6a,0x00,0xcc,0x7c
+# CHECK: v_cmpx_u_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x78,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_ge_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xcc,0x7c]
-0x6c,0x00,0xcc,0x7c
+# CHECK: v_cmpx_u_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x78,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x78,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xcc,0x7c]
-0x6e,0x00,0xcc,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf2,0x7c]
+0x02,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xcc,0x7c]
-0x7a,0x00,0xcc,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf2,0x7c]
+0x04,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xcc,0x7c]
-0x7e,0x00,0xcc,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xf2,0x7c]
+0x64,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xcc,0x7c]
-0x80,0x00,0xcc,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf2,0x7c]
+0x66,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xcc,0x7c]
-0xc1,0x00,0xcc,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf2,0x7c]
+0x6a,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xcc,0x7c]
-0xf0,0x00,0xcc,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xf2,0x7c]
+0x6c,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xcc,0x7c]
-0xf7,0x00,0xcc,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xf2,0x7c]
+0x6e,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xcc,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xcc,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_nge_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xf2,0x7c]
+0x7a,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xcc,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xcc,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_nge_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf2,0x7c]
+0x7e,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xcc,0x7c]
-0x00,0x01,0xcc,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf2,0x7c]
+0x80,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xcc,0x7c]
-0xfe,0x01,0xcc,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf2,0x7c]
+0xc1,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xcd,0x7c]
-0x00,0xfc,0xcd,0x7c
+# CHECK: v_cmpx_nge_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf2,0x7c]
+0xf0,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf2,0x7c]
+0xf7,0x04,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x66,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x66,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xf2,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xf2,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ge_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x66,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x66,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xf2,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xf2,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ge_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x66,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x66,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf2,0x7c]
+0x01,0x05,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x66,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x66,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf2,0x7c]
+0xfe,0x05,0xf2,0x7c
-# CHECK: v_cmp_ge_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x66,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x66,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xf3,0x7c]
+0x02,0xfc,0xf3,0x7c
-# CHECK: v_cmp_ge_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x66,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x66,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x66,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x66,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x79,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x79,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x79,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x79,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x66,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x79,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x66,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x79,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x66,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x79,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x79,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x66,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x66,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x79,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x66,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x66,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x79,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x66,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x66,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x79,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x66,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x66,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x79,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x66,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x79,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x66,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x66,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x79,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x79,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x66,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x79,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x66,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x79,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x66,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x66,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x79,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_ge_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x66,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x66,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x79,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x79,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_o_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xce,0x7c]
-0x00,0x00,0xce,0x7c
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x79,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x79,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_o_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xce,0x7c]
-0x02,0x00,0xce,0x7c
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x79,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x79,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_o_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xce,0x7c]
-0x64,0x00,0xce,0x7c
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_o_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xce,0x7c]
-0x66,0x00,0xce,0x7c
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_o_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xce,0x7c]
-0x6a,0x00,0xce,0x7c
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x79,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_o_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xce,0x7c]
-0x6c,0x00,0xce,0x7c
+# CHECK: v_cmpx_nge_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x79,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x79,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xce,0x7c]
-0x6e,0x00,0xce,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf4,0x7c]
+0x02,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xce,0x7c]
-0x7a,0x00,0xce,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf4,0x7c]
+0x04,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xce,0x7c]
-0x7e,0x00,0xce,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xf4,0x7c]
+0x64,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xce,0x7c]
-0x80,0x00,0xce,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf4,0x7c]
+0x66,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xce,0x7c]
-0xc1,0x00,0xce,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf4,0x7c]
+0x6a,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xce,0x7c]
-0xf0,0x00,0xce,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xf4,0x7c]
+0x6c,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xce,0x7c]
-0xf7,0x00,0xce,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xf4,0x7c]
+0x6e,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xce,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xce,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_nlg_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xf4,0x7c]
+0x7a,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xce,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xce,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_nlg_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf4,0x7c]
+0x7e,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xce,0x7c]
-0x00,0x01,0xce,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf4,0x7c]
+0x80,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xce,0x7c]
-0xfe,0x01,0xce,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf4,0x7c]
+0xc1,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xcf,0x7c]
-0x00,0xfc,0xcf,0x7c
+# CHECK: v_cmpx_nlg_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf4,0x7c]
+0xf0,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf4,0x7c]
+0xf7,0x04,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x67,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x67,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xf4,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xf4,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_o_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x67,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x67,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xf4,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xf4,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_o_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x67,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x67,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf4,0x7c]
+0x01,0x05,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x67,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x67,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf4,0x7c]
+0xfe,0x05,0xf4,0x7c
-# CHECK: v_cmp_o_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x67,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x67,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xf5,0x7c]
+0x02,0xfc,0xf5,0x7c
-# CHECK: v_cmp_o_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x67,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x67,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x67,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x67,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x67,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x67,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x67,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x67,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x67,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x7a,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x67,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x67,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x7a,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x67,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x67,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x7a,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x67,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x67,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x7a,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x67,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x7a,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x67,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x67,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x7a,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x7a,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x67,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x7a,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x67,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x7a,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x67,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x67,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x7a,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_o_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x67,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x67,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x7a,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x7a,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_u_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xd0,0x7c]
-0x00,0x00,0xd0,0x7c
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x7a,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x7a,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_u_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xd0,0x7c]
-0x02,0x00,0xd0,0x7c
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x7a,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x7a,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_u_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xd0,0x7c]
-0x64,0x00,0xd0,0x7c
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_u_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xd0,0x7c]
-0x66,0x00,0xd0,0x7c
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_u_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xd0,0x7c]
-0x6a,0x00,0xd0,0x7c
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x7a,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_u_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xd0,0x7c]
-0x6c,0x00,0xd0,0x7c
+# CHECK: v_cmpx_nlg_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x7a,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x7a,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xd0,0x7c]
-0x6e,0x00,0xd0,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf6,0x7c]
+0x02,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xd0,0x7c]
-0x7a,0x00,0xd0,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf6,0x7c]
+0x04,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xd0,0x7c]
-0x7e,0x00,0xd0,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xf6,0x7c]
+0x64,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xd0,0x7c]
-0x80,0x00,0xd0,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf6,0x7c]
+0x66,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xd0,0x7c]
-0xc1,0x00,0xd0,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf6,0x7c]
+0x6a,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xd0,0x7c]
-0xf0,0x00,0xd0,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xf6,0x7c]
+0x6c,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xd0,0x7c]
-0xf7,0x00,0xd0,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xf6,0x7c]
+0x6e,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xd0,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xd0,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ngt_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xf6,0x7c]
+0x7a,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xd0,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xd0,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ngt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf6,0x7c]
+0x7e,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xd0,0x7c]
-0x00,0x01,0xd0,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf6,0x7c]
+0x80,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xd0,0x7c]
-0xfe,0x01,0xd0,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf6,0x7c]
+0xc1,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xd1,0x7c]
-0x00,0xfc,0xd1,0x7c
+# CHECK: v_cmpx_ngt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf6,0x7c]
+0xf0,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf6,0x7c]
+0xf7,0x04,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x68,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x68,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xf6,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xf6,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_u_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x68,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x68,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xf6,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xf6,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_u_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x68,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x68,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf6,0x7c]
+0x01,0x05,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x68,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x68,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf6,0x7c]
+0xfe,0x05,0xf6,0x7c
-# CHECK: v_cmp_u_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x68,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x68,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xf7,0x7c]
+0x02,0xfc,0xf7,0x7c
-# CHECK: v_cmp_u_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x68,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x68,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x68,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x68,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x68,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x68,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x68,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x68,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x68,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x7b,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x68,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x68,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x7b,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x68,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x68,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x7b,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x68,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x68,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x7b,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x68,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x7b,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x68,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x68,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x7b,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x7b,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x68,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x7b,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x68,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x7b,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x68,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x68,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x7b,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_u_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x68,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x68,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x7b,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x7b,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_nge_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xd2,0x7c]
-0x00,0x00,0xd2,0x7c
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x7b,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x7b,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_nge_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xd2,0x7c]
-0x02,0x00,0xd2,0x7c
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x7b,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x7b,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_nge_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xd2,0x7c]
-0x64,0x00,0xd2,0x7c
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_nge_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xd2,0x7c]
-0x66,0x00,0xd2,0x7c
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_nge_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xd2,0x7c]
-0x6a,0x00,0xd2,0x7c
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x7b,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_nge_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xd2,0x7c]
-0x6c,0x00,0xd2,0x7c
+# CHECK: v_cmpx_ngt_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x7b,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x7b,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xd2,0x7c]
-0x6e,0x00,0xd2,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf8,0x7c]
+0x02,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xd2,0x7c]
-0x7a,0x00,0xd2,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf8,0x7c]
+0x04,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xd2,0x7c]
-0x7e,0x00,0xd2,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xf8,0x7c]
+0x64,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xd2,0x7c]
-0x80,0x00,0xd2,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf8,0x7c]
+0x66,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xd2,0x7c]
-0xc1,0x00,0xd2,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf8,0x7c]
+0x6a,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xd2,0x7c]
-0xf0,0x00,0xd2,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xf8,0x7c]
+0x6c,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xd2,0x7c]
-0xf7,0x00,0xd2,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xf8,0x7c]
+0x6e,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xd2,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xd2,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_nle_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xf8,0x7c]
+0x7a,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xd2,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xd2,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_nle_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf8,0x7c]
+0x7e,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xd2,0x7c]
-0x00,0x01,0xd2,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf8,0x7c]
+0x80,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xd2,0x7c]
-0xfe,0x01,0xd2,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf8,0x7c]
+0xc1,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xd3,0x7c]
-0x00,0xfc,0xd3,0x7c
+# CHECK: v_cmpx_nle_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf8,0x7c]
+0xf0,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf8,0x7c]
+0xf7,0x04,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x69,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x69,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xf8,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xf8,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_nge_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x69,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x69,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xf8,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xf8,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_nge_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x69,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x69,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf8,0x7c]
+0x01,0x05,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x69,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x69,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf8,0x7c]
+0xfe,0x05,0xf8,0x7c
-# CHECK: v_cmp_nge_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x69,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x69,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xf9,0x7c]
+0x02,0xfc,0xf9,0x7c
-# CHECK: v_cmp_nge_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x69,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x69,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x69,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x69,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x69,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x69,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x69,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x69,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x69,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x7c,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x69,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x69,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x7c,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x69,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x69,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x7c,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x69,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x69,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x7c,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x69,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x7c,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x69,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x69,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x7c,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x7c,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x69,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x7c,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x69,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x7c,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x69,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x69,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x7c,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_nge_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x69,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x69,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x7c,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x7c,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_nlg_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xd4,0x7c]
-0x00,0x00,0xd4,0x7c
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x7c,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x7c,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_nlg_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xd4,0x7c]
-0x02,0x00,0xd4,0x7c
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x7c,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x7c,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_nlg_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xd4,0x7c]
-0x64,0x00,0xd4,0x7c
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_nlg_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xd4,0x7c]
-0x66,0x00,0xd4,0x7c
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_nlg_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xd4,0x7c]
-0x6a,0x00,0xd4,0x7c
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x7c,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_nlg_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xd4,0x7c]
-0x6c,0x00,0xd4,0x7c
+# CHECK: v_cmpx_nle_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x7c,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x7c,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xd4,0x7c]
-0x6e,0x00,0xd4,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfa,0x7c]
+0x02,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xd4,0x7c]
-0x7a,0x00,0xd4,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfa,0x7c]
+0x04,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xd4,0x7c]
-0x7e,0x00,0xd4,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xfa,0x7c]
+0x64,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xd4,0x7c]
-0x80,0x00,0xd4,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfa,0x7c]
+0x66,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xd4,0x7c]
-0xc1,0x00,0xd4,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfa,0x7c]
+0x6a,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xd4,0x7c]
-0xf0,0x00,0xd4,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xfa,0x7c]
+0x6c,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xd4,0x7c]
-0xf7,0x00,0xd4,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xfa,0x7c]
+0x6e,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xd4,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xd4,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_neq_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xfa,0x7c]
+0x7a,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xd4,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xd4,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_neq_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfa,0x7c]
+0x7e,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xd4,0x7c]
-0x00,0x01,0xd4,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfa,0x7c]
+0x80,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xd4,0x7c]
-0xfe,0x01,0xd4,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfa,0x7c]
+0xc1,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xd5,0x7c]
-0x00,0xfc,0xd5,0x7c
+# CHECK: v_cmpx_neq_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfa,0x7c]
+0xf0,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xfa,0x7c]
+0xf7,0x04,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xfa,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xfa,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_nlg_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xfa,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xfa,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_nlg_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfa,0x7c]
+0x01,0x05,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfa,0x7c]
+0xfe,0x05,0xfa,0x7c
-# CHECK: v_cmp_nlg_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xfb,0x7c]
+0x02,0xfc,0xfb,0x7c
-# CHECK: v_cmp_nlg_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x6a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6a,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6a,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x6a,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x6a,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x7d,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x6a,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x7d,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x6a,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x7d,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x6a,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x7d,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x6a,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x7d,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x6a,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x7d,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x7d,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x6a,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x7d,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x6a,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x7d,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6a,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x6a,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x7d,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_nlg_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x6a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x6a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x7d,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x7d,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_ngt_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xd6,0x7c]
-0x00,0x00,0xd6,0x7c
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x7d,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x7d,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_ngt_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xd6,0x7c]
-0x02,0x00,0xd6,0x7c
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x7d,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x7d,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_ngt_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xd6,0x7c]
-0x64,0x00,0xd6,0x7c
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_ngt_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xd6,0x7c]
-0x66,0x00,0xd6,0x7c
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_ngt_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xd6,0x7c]
-0x6a,0x00,0xd6,0x7c
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x7d,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_ngt_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xd6,0x7c]
-0x6c,0x00,0xd6,0x7c
+# CHECK: v_cmpx_neq_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x7d,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x7d,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xd6,0x7c]
-0x6e,0x00,0xd6,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfc,0x7c]
+0x02,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xd6,0x7c]
-0x7a,0x00,0xd6,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfc,0x7c]
+0x04,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xd6,0x7c]
-0x7e,0x00,0xd6,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xfc,0x7c]
+0x64,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xd6,0x7c]
-0x80,0x00,0xd6,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfc,0x7c]
+0x66,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xd6,0x7c]
-0xc1,0x00,0xd6,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfc,0x7c]
+0x6a,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xd6,0x7c]
-0xf0,0x00,0xd6,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xfc,0x7c]
+0x6c,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xd6,0x7c]
-0xf7,0x00,0xd6,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xfc,0x7c]
+0x6e,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xd6,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xd6,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_nlt_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xfc,0x7c]
+0x7a,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xd6,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xd6,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_nlt_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfc,0x7c]
+0x7e,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xd6,0x7c]
-0x00,0x01,0xd6,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfc,0x7c]
+0x80,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xd6,0x7c]
-0xfe,0x01,0xd6,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfc,0x7c]
+0xc1,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xd7,0x7c]
-0x00,0xfc,0xd7,0x7c
+# CHECK: v_cmpx_nlt_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfc,0x7c]
+0xf0,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xfc,0x7c]
+0xf7,0x04,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xfc,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xfc,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ngt_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xfc,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xfc,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ngt_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfc,0x7c]
+0x01,0x05,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfc,0x7c]
+0xfe,0x05,0xfc,0x7c
-# CHECK: v_cmp_ngt_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xfd,0x7c]
+0x02,0xfc,0xfd,0x7c
-# CHECK: v_cmp_ngt_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x6b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6b,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6b,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x6b,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x6b,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x7e,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x6b,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x7e,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x6b,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x7e,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x6b,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x7e,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x6b,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x7e,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x6b,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x7e,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x7e,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x6b,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x7e,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x6b,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x7e,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6b,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x6b,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x7e,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_ngt_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x6b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x6b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x7e,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x7e,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_nle_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xd8,0x7c]
-0x00,0x00,0xd8,0x7c
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x7e,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x7e,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_nle_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xd8,0x7c]
-0x02,0x00,0xd8,0x7c
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x7e,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x7e,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_nle_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xd8,0x7c]
-0x64,0x00,0xd8,0x7c
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_nle_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xd8,0x7c]
-0x66,0x00,0xd8,0x7c
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_nle_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xd8,0x7c]
-0x6a,0x00,0xd8,0x7c
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x7e,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_nle_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xd8,0x7c]
-0x6c,0x00,0xd8,0x7c
+# CHECK: v_cmpx_nlt_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x7e,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x7e,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xd8,0x7c]
-0x6e,0x00,0xd8,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfe,0x7c]
+0x02,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xd8,0x7c]
-0x7a,0x00,0xd8,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfe,0x7c]
+0x04,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xd8,0x7c]
-0x7e,0x00,0xd8,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xfe,0x7c]
+0x64,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xd8,0x7c]
-0x80,0x00,0xd8,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfe,0x7c]
+0x66,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xd8,0x7c]
-0xc1,0x00,0xd8,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfe,0x7c]
+0x6a,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xd8,0x7c]
-0xf0,0x00,0xd8,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xfe,0x7c]
+0x6c,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xd8,0x7c]
-0xf7,0x00,0xd8,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xfe,0x7c]
+0x6e,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xd8,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xd8,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_tru_f64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xfe,0x7c]
+0x7a,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xd8,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xd8,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_tru_f64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfe,0x7c]
+0x7e,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xd8,0x7c]
-0x00,0x01,0xd8,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfe,0x7c]
+0x80,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xd8,0x7c]
-0xfe,0x01,0xd8,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfe,0x7c]
+0xc1,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xd9,0x7c]
-0x00,0xfc,0xd9,0x7c
+# CHECK: v_cmpx_tru_f64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfe,0x7c]
+0xf0,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xfe,0x7c]
+0xf7,0x04,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xfe,0x7c,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xfe,0x7c,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_nle_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xfe,0x7c,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xfe,0x7c,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_nle_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfe,0x7c]
+0x01,0x05,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfe,0x7c]
+0xfe,0x05,0xfe,0x7c
-# CHECK: v_cmp_nle_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xff,0x7c]
+0x02,0xfc,0xff,0x7c
-# CHECK: v_cmp_nle_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x6c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6c,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6c,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x6c,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x6c,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0x7f,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x6c,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0x7f,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x6c,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0x7f,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x6c,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0x7f,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x6c,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0x7f,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x6c,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0x7f,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0x7f,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x6c,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0x7f,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x6c,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0x7f,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6c,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x6c,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0x7f,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_nle_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x6c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x6c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0x7f,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0x7f,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_neq_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xda,0x7c]
-0x00,0x00,0xda,0x7c
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0x7f,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0x7f,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_neq_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xda,0x7c]
-0x02,0x00,0xda,0x7c
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0x7f,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0x7f,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_neq_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xda,0x7c]
-0x64,0x00,0xda,0x7c
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], -s[4:5], s[4:5] ; encoding: [0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x20]
+0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x20
-# CHECK: v_cmp_neq_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xda,0x7c]
-0x66,0x00,0xda,0x7c
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x40]
+0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x40
-# CHECK: v_cmp_neq_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xda,0x7c]
-0x6a,0x00,0xda,0x7c
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], -s[4:5], -s[4:5] ; encoding: [0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x60]
+0x0a,0x00,0x7f,0xd0,0x04,0x08,0x00,0x60
-# CHECK: v_cmp_neq_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xda,0x7c]
-0x6c,0x00,0xda,0x7c
+# CHECK: v_cmpx_tru_f64_e64 s[10:11], s[4:5], s[4:5] clamp ; encoding: [0x0a,0x80,0x7f,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x80,0x7f,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_neq_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xda,0x7c]
-0x6e,0x00,0xda,0x7c
+# CHECK: v_cmp_f_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x40,0x7d]
+0x01,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xda,0x7c]
-0x7a,0x00,0xda,0x7c
+# CHECK: v_cmp_f_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x40,0x7d]
+0x65,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xda,0x7c]
-0x7e,0x00,0xda,0x7c
+# CHECK: v_cmp_f_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x40,0x7d]
+0x66,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xda,0x7c]
-0x80,0x00,0xda,0x7c
+# CHECK: v_cmp_f_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x40,0x7d]
+0x67,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xda,0x7c]
-0xc1,0x00,0xda,0x7c
+# CHECK: v_cmp_f_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x40,0x7d]
+0x6a,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xda,0x7c]
-0xf0,0x00,0xda,0x7c
+# CHECK: v_cmp_f_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x40,0x7d]
+0x6b,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xda,0x7c]
-0xf7,0x00,0xda,0x7c
+# CHECK: v_cmp_f_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x40,0x7d]
+0x6c,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xda,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xda,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_f_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x40,0x7d]
+0x6d,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xda,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xda,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_f_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x40,0x7d]
+0x6e,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xda,0x7c]
-0x00,0x01,0xda,0x7c
+# CHECK: v_cmp_f_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x40,0x7d]
+0x6f,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xda,0x7c]
-0xfe,0x01,0xda,0x7c
+# CHECK: v_cmp_f_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x40,0x7d]
+0x7b,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xdb,0x7c]
-0x00,0xfc,0xdb,0x7c
+# CHECK: v_cmp_f_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x40,0x7d]
+0x7c,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x40,0x7d]
+0x7e,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x40,0x7d]
+0x7f,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x40,0x7d]
+0x80,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x40,0x7d]
+0xc1,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x40,0x7d]
+0xf0,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x40,0x7d]
+0xf7,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x40,0x7d]
+0xfd,0x04,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x6d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x40,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x40,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x40,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x40,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x40,0x7d]
+0x01,0x05,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x40,0x7d]
+0xff,0x05,0x40,0x7d
-# CHECK: v_cmp_neq_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6d,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x41,0x7d]
+0x01,0xfe,0x41,0x7d
-# CHECK: v_cmp_neq_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6d,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x6d,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_f_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x6d,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_f_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x6d,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_f_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x6d,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_f_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x6d,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_f_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x6d,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_f_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x6d,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_f_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xa0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x6d,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_f_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x6d,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6d,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x6d,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_f_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_neq_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x6d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x6d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xdc,0x7c]
-0x00,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xa0,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xdc,0x7c]
-0x02,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xdc,0x7c]
-0x64,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xdc,0x7c]
-0x66,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xdc,0x7c]
-0x6a,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xdc,0x7c]
-0x6c,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xdc,0x7c]
-0x6e,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xdc,0x7c]
-0x7a,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xdc,0x7c]
-0x7e,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xdc,0x7c]
-0x80,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xdc,0x7c]
-0xc1,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xdc,0x7c]
-0xf0,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xdc,0x7c]
-0xf7,0x00,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xdc,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xdc,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xdc,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xdc,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xdc,0x7c]
-0x00,0x01,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xdc,0x7c]
-0xfe,0x01,0xdc,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_nlt_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xdd,0x7c]
-0x00,0xfc,0xdd,0x7c
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_nlt_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_nlt_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xa0,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xa0,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_nlt_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x42,0x7d]
+0x01,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x42,0x7d]
+0x65,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x42,0x7d]
+0x66,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x42,0x7d]
+0x67,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x6e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x42,0x7d]
+0x6a,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x42,0x7d]
+0x6b,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x42,0x7d]
+0x6c,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x42,0x7d]
+0x6d,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6e,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x42,0x7d]
+0x6e,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6e,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x42,0x7d]
+0x6f,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x6e,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x42,0x7d]
+0x7b,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x6e,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x42,0x7d]
+0x7c,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x6e,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x42,0x7d]
+0x7e,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x6e,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x42,0x7d]
+0x7f,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x6e,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x42,0x7d]
+0x80,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x6e,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x42,0x7d]
+0xc1,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x6e,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x42,0x7d]
+0xf0,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x6e,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_lt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x42,0x7d]
+0xf7,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x6e,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_lt_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x42,0x7d]
+0xfd,0x04,0x42,0x7d
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6e,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x6e,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_lt_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x42,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x42,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_nlt_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x6e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x6e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x42,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x42,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xde,0x7c]
-0x00,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x42,0x7d]
+0x01,0x05,0x42,0x7d
-# CHECK: v_cmp_tru_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xde,0x7c]
-0x02,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x42,0x7d]
+0xff,0x05,0x42,0x7d
-# CHECK: v_cmp_tru_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xde,0x7c]
-0x64,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x43,0x7d]
+0x01,0xfe,0x43,0x7d
-# CHECK: v_cmp_tru_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xde,0x7c]
-0x66,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xde,0x7c]
-0x6a,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xde,0x7c]
-0x6c,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xde,0x7c]
-0x6e,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xde,0x7c]
-0x7a,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xde,0x7c]
-0x7e,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xde,0x7c]
-0x80,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xde,0x7c]
-0xc1,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xa1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xde,0x7c]
-0xf0,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xde,0x7c]
-0xf7,0x00,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xde,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xde,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_lt_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xde,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xde,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xde,0x7c]
-0x00,0x01,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xa1,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xde,0x7c]
-0xfe,0x01,0xde,0x7c
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_tru_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xdf,0x7c]
-0x00,0xfc,0xdf,0x7c
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x6f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x6f,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x6f,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x6f,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x6f,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x6f,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x6f,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x6f,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lt_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xa1,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xa1,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_tru_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x6f,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x44,0x7d]
+0x01,0x04,0x44,0x7d
-# CHECK: v_cmp_tru_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x6f,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_eq_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x44,0x7d]
+0x65,0x04,0x44,0x7d
-# CHECK: v_cmp_tru_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x6f,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_eq_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x44,0x7d]
+0x66,0x04,0x44,0x7d
-# CHECK: v_cmp_tru_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x6f,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_eq_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x44,0x7d]
+0x67,0x04,0x44,0x7d
-# CHECK: v_cmp_tru_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x6f,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x6f,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_eq_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x44,0x7d]
+0x6a,0x04,0x44,0x7d
-# CHECK: v_cmp_tru_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x6f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x6f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x44,0x7d]
+0x6b,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe0,0x7c]
-0x00,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x44,0x7d]
+0x6c,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xe0,0x7c]
-0x02,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x44,0x7d]
+0x6d,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xe0,0x7c]
-0x64,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x44,0x7d]
+0x6e,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xe0,0x7c]
-0x66,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x44,0x7d]
+0x6f,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xe0,0x7c]
-0x6a,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x44,0x7d]
+0x7b,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xe0,0x7c]
-0x6c,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x44,0x7d]
+0x7c,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xe0,0x7c]
-0x6e,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x44,0x7d]
+0x7e,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xe0,0x7c]
-0x7a,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x44,0x7d]
+0x7f,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xe0,0x7c]
-0x7e,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x44,0x7d]
+0x80,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xe0,0x7c]
-0x80,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x44,0x7d]
+0xc1,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xe0,0x7c]
-0xc1,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x44,0x7d]
+0xf0,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xe0,0x7c]
-0xf0,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x44,0x7d]
+0xf7,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xe0,0x7c]
-0xf7,0x00,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x44,0x7d]
+0xfd,0x04,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xe0,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xe0,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_eq_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x44,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x44,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_f_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xe0,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xe0,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_eq_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x44,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x44,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_f_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xe0,0x7c]
-0x00,0x01,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x44,0x7d]
+0x01,0x05,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xe0,0x7c]
-0xfe,0x01,0xe0,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x44,0x7d]
+0xff,0x05,0x44,0x7d
-# CHECK: v_cmpx_f_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xe1,0x7c]
-0x00,0xfc,0xe1,0x7c
+# CHECK: v_cmp_eq_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x45,0x7d]
+0x01,0xfe,0x45,0x7d
-# CHECK: v_cmpx_f_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x70,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x70,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x70,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x70,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x70,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x70,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x70,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x70,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x70,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x70,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x70,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x70,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x70,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x70,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xa2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x70,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x70,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xa2,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x70,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x70,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x70,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x70,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x70,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x70,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x70,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x70,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x70,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x70,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x70,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x70,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x70,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x70,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x70,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x70,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_f_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x70,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x70,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe2,0x7c]
-0x00,0x00,0xe2,0x7c
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xe2,0x7c]
-0x02,0x00,0xe2,0x7c
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xe2,0x7c]
-0x64,0x00,0xe2,0x7c
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_lt_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xe2,0x7c]
-0x66,0x00,0xe2,0x7c
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_lt_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xe2,0x7c]
-0x6a,0x00,0xe2,0x7c
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_lt_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xe2,0x7c]
-0x6c,0x00,0xe2,0x7c
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_lt_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xe2,0x7c]
-0x6e,0x00,0xe2,0x7c
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_lt_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xe2,0x7c]
-0x7a,0x00,0xe2,0x7c
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_lt_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xe2,0x7c]
-0x7e,0x00,0xe2,0x7c
+# CHECK: v_cmp_eq_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xa2,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xa2,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_lt_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xe2,0x7c]
-0x80,0x00,0xe2,0x7c
+# CHECK: v_cmp_le_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x46,0x7d]
+0x01,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xe2,0x7c]
-0xc1,0x00,0xe2,0x7c
+# CHECK: v_cmp_le_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x46,0x7d]
+0x65,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xe2,0x7c]
-0xf0,0x00,0xe2,0x7c
+# CHECK: v_cmp_le_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x46,0x7d]
+0x66,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xe2,0x7c]
-0xf7,0x00,0xe2,0x7c
+# CHECK: v_cmp_le_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x46,0x7d]
+0x67,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xe2,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xe2,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_le_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x46,0x7d]
+0x6a,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xe2,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xe2,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_le_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x46,0x7d]
+0x6b,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xe2,0x7c]
-0x00,0x01,0xe2,0x7c
+# CHECK: v_cmp_le_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x46,0x7d]
+0x6c,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xe2,0x7c]
-0xfe,0x01,0xe2,0x7c
+# CHECK: v_cmp_le_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x46,0x7d]
+0x6d,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xe3,0x7c]
-0x00,0xfc,0xe3,0x7c
+# CHECK: v_cmp_le_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x46,0x7d]
+0x6e,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x46,0x7d]
+0x6f,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x71,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x71,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x46,0x7d]
+0x7b,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x71,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x71,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x46,0x7d]
+0x7c,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x71,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x71,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x46,0x7d]
+0x7e,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x71,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x71,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x46,0x7d]
+0x7f,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x71,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x71,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x46,0x7d]
+0x80,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x71,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x71,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x46,0x7d]
+0xc1,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x71,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x71,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x46,0x7d]
+0xf0,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x46,0x7d]
+0xf7,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x46,0x7d]
+0xfd,0x04,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x46,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x46,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x71,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x46,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x46,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x71,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x46,0x7d]
+0x01,0x05,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x71,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x46,0x7d]
+0xff,0x05,0x46,0x7d
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x71,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x71,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x47,0x7d]
+0x01,0xfe,0x47,0x7d
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x71,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x71,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x71,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x71,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x71,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x71,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x71,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x71,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x71,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_le_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x71,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_le_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x71,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_le_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x71,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x71,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_le_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xa3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x71,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x71,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe4,0x7c]
-0x00,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xe4,0x7c]
-0x02,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xe4,0x7c]
-0x64,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xe4,0x7c]
-0x66,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xa3,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xe4,0x7c]
-0x6a,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xe4,0x7c]
-0x6c,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xe4,0x7c]
-0x6e,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xe4,0x7c]
-0x7a,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xe4,0x7c]
-0x7e,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xe4,0x7c]
-0x80,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xe4,0x7c]
-0xc1,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xe4,0x7c]
-0xf0,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xe4,0x7c]
-0xf7,0x00,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xe4,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xe4,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xe4,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xe4,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xe4,0x7c]
-0x00,0x01,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xe4,0x7c]
-0xfe,0x01,0xe4,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_eq_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xe5,0x7c]
-0x00,0xfc,0xe5,0x7c
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x72,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_eq_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x72,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x72,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_eq_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x72,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x72,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_eq_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x72,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x72,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_eq_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x72,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x72,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_eq_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x72,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x72,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xa3,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xa3,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_eq_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x72,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x72,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x48,0x7d]
+0x01,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x72,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x72,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x48,0x7d]
+0x65,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x72,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x48,0x7d]
+0x66,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x72,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x48,0x7d]
+0x67,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x72,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x48,0x7d]
+0x6a,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x72,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x48,0x7d]
+0x6b,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x72,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x48,0x7d]
+0x6c,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x72,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x48,0x7d]
+0x6d,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x72,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x72,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x48,0x7d]
+0x6e,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x72,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x72,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x48,0x7d]
+0x6f,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x72,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x72,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x48,0x7d]
+0x7b,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x72,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x72,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x48,0x7d]
+0x7c,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x72,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x48,0x7d]
+0x7e,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x72,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x72,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x48,0x7d]
+0x7f,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x72,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_gt_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x48,0x7d]
+0x80,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x72,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_gt_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x48,0x7d]
+0xc1,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x72,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x72,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_gt_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x48,0x7d]
+0xf0,0x04,0x48,0x7d
-# CHECK: v_cmpx_eq_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x72,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x72,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x48,0x7d]
+0xf7,0x04,0x48,0x7d
-# CHECK: v_cmpx_le_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe6,0x7c]
-0x00,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x48,0x7d]
+0xfd,0x04,0x48,0x7d
-# CHECK: v_cmpx_le_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xe6,0x7c]
-0x02,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x48,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x48,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xe6,0x7c]
-0x64,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x48,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x48,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xe6,0x7c]
-0x66,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x48,0x7d]
+0x01,0x05,0x48,0x7d
-# CHECK: v_cmpx_le_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xe6,0x7c]
-0x6a,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x48,0x7d]
+0xff,0x05,0x48,0x7d
-# CHECK: v_cmpx_le_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xe6,0x7c]
-0x6c,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x49,0x7d]
+0x01,0xfe,0x49,0x7d
-# CHECK: v_cmpx_le_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xe6,0x7c]
-0x6e,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xe6,0x7c]
-0x7a,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xe6,0x7c]
-0x7e,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xe6,0x7c]
-0x80,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xe6,0x7c]
-0xc1,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xe6,0x7c]
-0xf0,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xe6,0x7c]
-0xf7,0x00,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xe6,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xe6,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_gt_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xa4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xe6,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xe6,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_gt_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xe6,0x7c]
-0x00,0x01,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xe6,0x7c]
-0xfe,0x01,0xe6,0x7c
+# CHECK: v_cmp_gt_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_le_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xe7,0x7c]
-0x00,0xfc,0xe7,0x7c
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xa4,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x73,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x73,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x73,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x73,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x73,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x73,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x73,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x73,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x73,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x73,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x73,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x73,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x73,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x73,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x73,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x73,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x73,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x73,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x73,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x73,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x73,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x73,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x73,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x73,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x73,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x73,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x73,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x73,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x73,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_gt_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xa4,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xa4,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_le_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x73,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ne_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4a,0x7d]
+0x01,0x04,0x4a,0x7d
-# CHECK: v_cmpx_le_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x73,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x73,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_ne_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4a,0x7d]
+0x65,0x04,0x4a,0x7d
-# CHECK: v_cmpx_le_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x73,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x73,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4a,0x7d]
+0x66,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe8,0x7c]
-0x00,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4a,0x7d]
+0x67,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xe8,0x7c]
-0x02,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4a,0x7d]
+0x6a,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xe8,0x7c]
-0x64,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4a,0x7d]
+0x6b,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xe8,0x7c]
-0x66,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x4a,0x7d]
+0x6c,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xe8,0x7c]
-0x6a,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x4a,0x7d]
+0x6d,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xe8,0x7c]
-0x6c,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x4a,0x7d]
+0x6e,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xe8,0x7c]
-0x6e,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x4a,0x7d]
+0x6f,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xe8,0x7c]
-0x7a,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x4a,0x7d]
+0x7b,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xe8,0x7c]
-0x7e,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4a,0x7d]
+0x7c,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xe8,0x7c]
-0x80,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4a,0x7d]
+0x7e,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xe8,0x7c]
-0xc1,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4a,0x7d]
+0x7f,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xe8,0x7c]
-0xf0,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4a,0x7d]
+0x80,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xe8,0x7c]
-0xf7,0x00,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4a,0x7d]
+0xc1,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xe8,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xe8,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ne_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4a,0x7d]
+0xf0,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xe8,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xe8,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ne_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4a,0x7d]
+0xf7,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xe8,0x7c]
-0x00,0x01,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4a,0x7d]
+0xfd,0x04,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xe8,0x7c]
-0xfe,0x01,0xe8,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x4a,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x4a,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xe9,0x7c]
-0x00,0xfc,0xe9,0x7c
+# CHECK: v_cmp_ne_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x4a,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x4a,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4a,0x7d]
+0x01,0x05,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x74,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x74,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4a,0x7d]
+0xff,0x05,0x4a,0x7d
-# CHECK: v_cmpx_gt_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x74,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x74,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4b,0x7d]
+0x01,0xfe,0x4b,0x7d
-# CHECK: v_cmpx_gt_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x74,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x74,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x74,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x74,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x74,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x74,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x74,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x74,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x74,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x74,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xa5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x74,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x74,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x74,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x74,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x74,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x74,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x74,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xa5,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x74,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x74,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x74,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x74,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x74,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x74,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x74,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x74,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x74,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x74,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x74,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_gt_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x74,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x74,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xea,0x7c]
-0x00,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xea,0x7c]
-0x02,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xea,0x7c]
-0x64,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xea,0x7c]
-0x66,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xea,0x7c]
-0x6a,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xea,0x7c]
-0x6c,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xea,0x7c]
-0x6e,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xea,0x7c]
-0x7a,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xea,0x7c]
-0x7e,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xea,0x7c]
-0x80,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xea,0x7c]
-0xc1,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xea,0x7c]
-0xf0,0x00,0xea,0x7c
+# CHECK: v_cmp_ne_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xa5,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xa5,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_lg_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xea,0x7c]
-0xf7,0x00,0xea,0x7c
+# CHECK: v_cmp_ge_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4c,0x7d]
+0x01,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xea,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xea,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ge_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4c,0x7d]
+0x65,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xea,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xea,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ge_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4c,0x7d]
+0x66,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xea,0x7c]
-0x00,0x01,0xea,0x7c
+# CHECK: v_cmp_ge_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4c,0x7d]
+0x67,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xea,0x7c]
-0xfe,0x01,0xea,0x7c
+# CHECK: v_cmp_ge_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4c,0x7d]
+0x6a,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xeb,0x7c]
-0x00,0xfc,0xeb,0x7c
+# CHECK: v_cmp_ge_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4c,0x7d]
+0x6b,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x75,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x4c,0x7d]
+0x6c,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x75,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x75,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x4c,0x7d]
+0x6d,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x75,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x75,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x4c,0x7d]
+0x6e,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x75,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x75,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x4c,0x7d]
+0x6f,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x75,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x75,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x4c,0x7d]
+0x7b,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x75,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x75,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4c,0x7d]
+0x7c,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x75,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x75,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4c,0x7d]
+0x7e,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x75,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x75,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4c,0x7d]
+0x7f,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x75,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4c,0x7d]
+0x80,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x75,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4c,0x7d]
+0xc1,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x75,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4c,0x7d]
+0xf0,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x75,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4c,0x7d]
+0xf7,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x75,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4c,0x7d]
+0xfd,0x04,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x75,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x4c,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x4c,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x75,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x75,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x4c,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x4c,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x75,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x75,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4c,0x7d]
+0x01,0x05,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x75,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x75,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4c,0x7d]
+0xff,0x05,0x4c,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x75,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x75,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4d,0x7d]
+0x01,0xfe,0x4d,0x7d
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x75,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x75,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x75,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_ge_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x75,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_ge_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x75,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ge_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x75,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x75,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_ge_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lg_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x75,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x75,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xec,0x7c]
-0x00,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xec,0x7c]
-0x02,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xa6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xec,0x7c]
-0x64,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xec,0x7c]
-0x66,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xec,0x7c]
-0x6a,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xec,0x7c]
-0x6c,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xec,0x7c]
-0x6e,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xa6,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xec,0x7c]
-0x7a,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xec,0x7c]
-0x7e,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xec,0x7c]
-0x80,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xec,0x7c]
-0xc1,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xec,0x7c]
-0xf0,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xec,0x7c]
-0xf7,0x00,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xec,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xec,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xec,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xec,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xec,0x7c]
-0x00,0x01,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xec,0x7c]
-0xfe,0x01,0xec,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xed,0x7c]
-0x00,0xfc,0xed,0x7c
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x76,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x76,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ge_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x76,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x76,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ge_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x76,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x76,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_ge_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x76,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x76,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_ge_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x76,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x76,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_ge_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x76,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x76,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_ge_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x76,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x76,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xa6,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xa6,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x4e,0x7d]
+0x01,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x4e,0x7d]
+0x65,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x76,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x4e,0x7d]
+0x66,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x76,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x4e,0x7d]
+0x67,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x76,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x4e,0x7d]
+0x6a,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x76,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x76,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x4e,0x7d]
+0x6b,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x76,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x76,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x4e,0x7d]
+0x6c,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x76,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x76,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x4e,0x7d]
+0x6d,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x76,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x76,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x4e,0x7d]
+0x6e,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x76,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x4e,0x7d]
+0x6f,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x76,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x76,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x4e,0x7d]
+0x7b,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x76,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_t_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x4e,0x7d]
+0x7c,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x76,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_t_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x4e,0x7d]
+0x7e,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x76,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x76,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_t_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x4e,0x7d]
+0x7f,0x04,0x4e,0x7d
-# CHECK: v_cmpx_ge_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x76,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x76,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x4e,0x7d]
+0x80,0x04,0x4e,0x7d
-# CHECK: v_cmpx_o_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xee,0x7c]
-0x00,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x4e,0x7d]
+0xc1,0x04,0x4e,0x7d
-# CHECK: v_cmpx_o_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xee,0x7c]
-0x02,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x4e,0x7d]
+0xf0,0x04,0x4e,0x7d
-# CHECK: v_cmpx_o_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xee,0x7c]
-0x64,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x4e,0x7d]
+0xf7,0x04,0x4e,0x7d
-# CHECK: v_cmpx_o_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xee,0x7c]
-0x66,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x4e,0x7d]
+0xfd,0x04,0x4e,0x7d
-# CHECK: v_cmpx_o_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xee,0x7c]
-0x6a,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x4e,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x4e,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_o_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xee,0x7c]
-0x6c,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x4e,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x4e,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_o_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xee,0x7c]
-0x6e,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x4e,0x7d]
+0x01,0x05,0x4e,0x7d
-# CHECK: v_cmpx_o_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xee,0x7c]
-0x7a,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x4e,0x7d]
+0xff,0x05,0x4e,0x7d
-# CHECK: v_cmpx_o_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xee,0x7c]
-0x7e,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x4f,0x7d]
+0x01,0xfe,0x4f,0x7d
-# CHECK: v_cmpx_o_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xee,0x7c]
-0x80,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xee,0x7c]
-0xc1,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xee,0x7c]
-0xf0,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xee,0x7c]
-0xf7,0x00,0xee,0x7c
+# CHECK: v_cmp_t_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xee,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xee,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_t_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xee,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xee,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_t_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xee,0x7c]
-0x00,0x01,0xee,0x7c
+# CHECK: v_cmp_t_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xee,0x7c]
-0xfe,0x01,0xee,0x7c
+# CHECK: v_cmp_t_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xa7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xef,0x7c]
-0x00,0xfc,0xef,0x7c
+# CHECK: v_cmp_t_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x77,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x77,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x77,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x77,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x77,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x77,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x77,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xa7,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x77,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x77,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x77,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x77,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x77,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x77,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x77,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x77,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x77,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x77,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x77,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x77,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x77,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x77,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x77,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x77,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x77,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x77,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x77,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x77,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x77,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x77,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x77,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x77,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x77,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x77,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x77,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x77,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x77,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_o_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x77,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x77,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xa7,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xa7,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_u_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf0,0x7c]
-0x00,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x50,0x7d]
+0x01,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xf0,0x7c]
-0x02,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x50,0x7d]
+0x65,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xf0,0x7c]
-0x64,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x50,0x7d]
+0x66,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xf0,0x7c]
-0x66,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x50,0x7d]
+0x67,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xf0,0x7c]
-0x6a,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x50,0x7d]
+0x6a,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xf0,0x7c]
-0x6c,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x50,0x7d]
+0x6b,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xf0,0x7c]
-0x6e,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x50,0x7d]
+0x6c,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xf0,0x7c]
-0x7a,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x50,0x7d]
+0x6d,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xf0,0x7c]
-0x7e,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x50,0x7d]
+0x6e,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xf0,0x7c]
-0x80,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x50,0x7d]
+0x6f,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xf0,0x7c]
-0xc1,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x50,0x7d]
+0x7b,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xf0,0x7c]
-0xf0,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x50,0x7d]
+0x7c,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xf0,0x7c]
-0xf7,0x00,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x50,0x7d]
+0x7e,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xf0,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xf0,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_f_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x50,0x7d]
+0x7f,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xf0,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xf0,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_f_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x50,0x7d]
+0x80,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xf0,0x7c]
-0x00,0x01,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x50,0x7d]
+0xc1,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xf0,0x7c]
-0xfe,0x01,0xf0,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x50,0x7d]
+0xf0,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xf1,0x7c]
-0x00,0xfc,0xf1,0x7c
+# CHECK: v_cmp_f_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x50,0x7d]
+0xf7,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x78,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x50,0x7d]
+0xfd,0x04,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x78,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x78,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x50,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x50,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x78,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x78,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x50,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x50,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x78,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x78,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x50,0x7d]
+0x01,0x05,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x78,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x78,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x50,0x7d]
+0xff,0x05,0x50,0x7d
-# CHECK: v_cmpx_u_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x78,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x78,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x51,0x7d]
+0x01,0xfe,0x51,0x7d
-# CHECK: v_cmpx_u_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x78,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x78,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x78,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x78,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x78,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x78,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x78,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x78,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x78,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_f_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x78,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_f_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xa8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x78,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x78,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_f_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x78,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x78,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x78,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x78,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_f_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x78,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x78,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_f_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x78,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_f_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xa8,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x78,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x78,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x78,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x78,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x78,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x78,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_u_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x78,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x78,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf2,0x7c]
-0x00,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xf2,0x7c]
-0x02,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xf2,0x7c]
-0x64,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xf2,0x7c]
-0x66,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xf2,0x7c]
-0x6a,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xf2,0x7c]
-0x6c,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xf2,0x7c]
-0x6e,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xf2,0x7c]
-0x7a,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xf2,0x7c]
-0x7e,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xf2,0x7c]
-0x80,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xf2,0x7c]
-0xc1,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xf2,0x7c]
-0xf0,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xf2,0x7c]
-0xf7,0x00,0xf2,0x7c
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xf2,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xf2,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xf2,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xf2,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_f_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xa8,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xa8,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_nge_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xf2,0x7c]
-0x00,0x01,0xf2,0x7c
+# CHECK: v_cmp_lt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x52,0x7d]
+0x01,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xf2,0x7c]
-0xfe,0x01,0xf2,0x7c
+# CHECK: v_cmp_lt_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x52,0x7d]
+0x65,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xf3,0x7c]
-0x00,0xfc,0xf3,0x7c
+# CHECK: v_cmp_lt_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x52,0x7d]
+0x66,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x52,0x7d]
+0x67,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x79,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x79,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x52,0x7d]
+0x6a,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x79,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x79,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x52,0x7d]
+0x6b,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x79,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x79,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x52,0x7d]
+0x6c,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x79,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x79,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x52,0x7d]
+0x6d,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x79,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x79,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x52,0x7d]
+0x6e,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x79,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x79,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x52,0x7d]
+0x6f,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x79,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x79,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x52,0x7d]
+0x7b,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x52,0x7d]
+0x7c,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x52,0x7d]
+0x7e,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x52,0x7d]
+0x7f,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x79,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x52,0x7d]
+0x80,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x79,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x52,0x7d]
+0xc1,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x79,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x52,0x7d]
+0xf0,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x79,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x79,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x52,0x7d]
+0xf7,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x79,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x79,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x52,0x7d]
+0xfd,0x04,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x79,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x79,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x52,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x52,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x79,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x79,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x52,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x52,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x79,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x52,0x7d]
+0x01,0x05,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x79,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x79,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_lt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x52,0x7d]
+0xff,0x05,0x52,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x79,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_lt_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x53,0x7d]
+0x01,0xfe,0x53,0x7d
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x79,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x79,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x79,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_lt_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nge_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x79,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x79,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf4,0x7c]
-0x00,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xf4,0x7c]
-0x02,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xf4,0x7c]
-0x64,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xf4,0x7c]
-0x66,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xf4,0x7c]
-0x6a,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xa9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xf4,0x7c]
-0x6c,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xf4,0x7c]
-0x6e,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xf4,0x7c]
-0x7a,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xf4,0x7c]
-0x7e,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xf4,0x7c]
-0x80,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xa9,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xf4,0x7c]
-0xc1,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xf4,0x7c]
-0xf0,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xf4,0x7c]
-0xf7,0x00,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xf4,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xf4,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xf4,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xf4,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xf4,0x7c]
-0x00,0x01,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xf4,0x7c]
-0xfe,0x01,0xf4,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xf5,0x7c]
-0x00,0xfc,0xf5,0x7c
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_nlg_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_nlg_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_nlg_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x7a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7a,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xa9,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xa9,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7a,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x54,0x7d]
+0x01,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x7a,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_eq_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x54,0x7d]
+0x65,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x7a,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x54,0x7d]
+0x66,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x7a,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x54,0x7d]
+0x67,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x7a,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x54,0x7d]
+0x6a,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x7a,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x54,0x7d]
+0x6b,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x7a,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x54,0x7d]
+0x6c,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x7a,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_eq_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x54,0x7d]
+0x6d,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7a,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_eq_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x54,0x7d]
+0x6e,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x7a,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_eq_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x54,0x7d]
+0x6f,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7a,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x7a,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_eq_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x54,0x7d]
+0x7b,0x04,0x54,0x7d
-# CHECK: v_cmpx_nlg_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x7a,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7a,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x54,0x7d]
+0x7c,0x04,0x54,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf6,0x7c]
-0x00,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x54,0x7d]
+0x7e,0x04,0x54,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xf6,0x7c]
-0x02,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x54,0x7d]
+0x7f,0x04,0x54,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xf6,0x7c]
-0x64,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x54,0x7d]
+0x80,0x04,0x54,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xf6,0x7c]
-0x66,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x54,0x7d]
+0xc1,0x04,0x54,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xf6,0x7c]
-0x6a,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x54,0x7d]
+0xf0,0x04,0x54,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xf6,0x7c]
-0x6c,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x54,0x7d]
+0xf7,0x04,0x54,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xf6,0x7c]
-0x6e,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x54,0x7d]
+0xfd,0x04,0x54,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xf6,0x7c]
-0x7a,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x54,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x54,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xf6,0x7c]
-0x7e,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x54,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x54,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xf6,0x7c]
-0x80,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x54,0x7d]
+0x01,0x05,0x54,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xf6,0x7c]
-0xc1,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x54,0x7d]
+0xff,0x05,0x54,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xf6,0x7c]
-0xf0,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x55,0x7d]
+0x01,0xfe,0x55,0x7d
-# CHECK: v_cmpx_ngt_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xf6,0x7c]
-0xf7,0x00,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xf6,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xf6,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_eq_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xf6,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xf6,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_eq_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xf6,0x7c]
-0x00,0x01,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xf6,0x7c]
-0xfe,0x01,0xf6,0x7c
+# CHECK: v_cmp_eq_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xf7,0x7c]
-0x00,0xfc,0xf7,0x7c
+# CHECK: v_cmp_eq_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xaa,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xaa,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x7b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7b,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7b,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x7b,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x7b,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x7b,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x7b,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x7b,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x7b,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x7b,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7b,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x7b,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7b,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x7b,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_ngt_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x7b,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7b,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_nle_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf8,0x7c]
-0x00,0x00,0xf8,0x7c
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_nle_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xf8,0x7c]
-0x02,0x00,0xf8,0x7c
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_nle_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xf8,0x7c]
-0x64,0x00,0xf8,0x7c
+# CHECK: v_cmp_eq_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xaa,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xaa,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_nle_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xf8,0x7c]
-0x66,0x00,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x56,0x7d]
+0x01,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xf8,0x7c]
-0x6a,0x00,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x56,0x7d]
+0x65,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xf8,0x7c]
-0x6c,0x00,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x56,0x7d]
+0x66,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xf8,0x7c]
-0x6e,0x00,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x56,0x7d]
+0x67,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xf8,0x7c]
-0x7a,0x00,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x56,0x7d]
+0x6a,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xf8,0x7c]
-0x7e,0x00,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x56,0x7d]
+0x6b,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xf8,0x7c]
-0x80,0x00,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x56,0x7d]
+0x6c,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xf8,0x7c]
-0xc1,0x00,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x56,0x7d]
+0x6d,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xf8,0x7c]
-0xf0,0x00,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x56,0x7d]
+0x6e,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xf8,0x7c]
-0xf7,0x00,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x56,0x7d]
+0x6f,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xf8,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xf8,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_le_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x56,0x7d]
+0x7b,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xf8,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xf8,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_le_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x56,0x7d]
+0x7c,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xf8,0x7c]
-0x00,0x01,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x56,0x7d]
+0x7e,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xf8,0x7c]
-0xfe,0x01,0xf8,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x56,0x7d]
+0x7f,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xf9,0x7c]
-0x00,0xfc,0xf9,0x7c
+# CHECK: v_cmp_le_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x56,0x7d]
+0x80,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x56,0x7d]
+0xc1,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x56,0x7d]
+0xf0,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x56,0x7d]
+0xf7,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x56,0x7d]
+0xfd,0x04,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x56,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x56,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x56,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x56,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x56,0x7d]
+0x01,0x05,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x7c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x56,0x7d]
+0xff,0x05,0x56,0x7d
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x57,0x7d]
+0x01,0xfe,0x57,0x7d
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xab,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7c,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xab,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7c,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xab,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x7c,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_le_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x7c,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xab,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x7c,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xab,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x7c,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xab,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x7c,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xab,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x7c,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xab,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x7c,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_le_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xab,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7c,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_le_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xab,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x7c,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_le_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xab,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7c,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x7c,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_nle_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x7c,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7c,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfa,0x7c]
-0x00,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xfa,0x7c]
-0x02,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xfa,0x7c]
-0x64,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xfa,0x7c]
-0x66,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xfa,0x7c]
-0x6a,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xfa,0x7c]
-0x6c,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xfa,0x7c]
-0x6e,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xfa,0x7c]
-0x7a,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xfa,0x7c]
-0x7e,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xfa,0x7c]
-0x80,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xfa,0x7c]
-0xc1,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xfa,0x7c]
-0xf0,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xfa,0x7c]
-0xf7,0x00,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xfa,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xfa,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xfa,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xfa,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xfa,0x7c]
-0x00,0x01,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xfa,0x7c]
-0xfe,0x01,0xfa,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_neq_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xfb,0x7c]
-0x00,0xfc,0xfb,0x7c
+# CHECK: v_cmp_le_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xab,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xab,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x58,0x7d]
+0x01,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x58,0x7d]
+0x65,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x58,0x7d]
+0x66,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x58,0x7d]
+0x67,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x58,0x7d]
+0x6a,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x58,0x7d]
+0x6b,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x58,0x7d]
+0x6c,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x7d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x58,0x7d]
+0x6d,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x58,0x7d]
+0x6e,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x58,0x7d]
+0x6f,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x58,0x7d]
+0x7b,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7d,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x58,0x7d]
+0x7c,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7d,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x58,0x7d]
+0x7e,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x7d,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x58,0x7d]
+0x7f,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x7d,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x58,0x7d]
+0x80,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x7d,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x58,0x7d]
+0xc1,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x7d,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x58,0x7d]
+0xf0,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x7d,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x58,0x7d]
+0xf7,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x7d,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x58,0x7d]
+0xfd,0x04,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x7d,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x58,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x58,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7d,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_gt_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x58,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x58,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x7d,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_gt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x58,0x7d]
+0x01,0x05,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7d,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x7d,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_gt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x58,0x7d]
+0xff,0x05,0x58,0x7d
-# CHECK: v_cmpx_neq_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x7d,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7d,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x59,0x7d]
+0x01,0xfe,0x59,0x7d
-# CHECK: v_cmpx_nlt_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfc,0x7c]
-0x00,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xfc,0x7c]
-0x02,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xac,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xfc,0x7c]
-0x64,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xac,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xfc,0x7c]
-0x66,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xac,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xfc,0x7c]
-0x6a,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xfc,0x7c]
-0x6c,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xac,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xfc,0x7c]
-0x6e,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xac,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xfc,0x7c]
-0x7a,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xac,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xfc,0x7c]
-0x7e,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xac,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xfc,0x7c]
-0x80,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xac,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xfc,0x7c]
-0xc1,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xac,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xfc,0x7c]
-0xf0,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xac,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xfc,0x7c]
-0xf7,0x00,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xac,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xfc,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xfc,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xfc,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xfc,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xfc,0x7c]
-0x00,0x01,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xfc,0x7c]
-0xfe,0x01,0xfc,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xfd,0x7c]
-0x00,0xfc,0xfd,0x7c
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x7e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7e,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7e,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x7e,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x7e,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xac,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xac,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x7e,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ne_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5a,0x7d]
+0x01,0x04,0x5a,0x7d
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x7e,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ne_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5a,0x7d]
+0x65,0x04,0x5a,0x7d
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x7e,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ne_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5a,0x7d]
+0x66,0x04,0x5a,0x7d
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x7e,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ne_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5a,0x7d]
+0x67,0x04,0x5a,0x7d
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x7e,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_ne_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5a,0x7d]
+0x6a,0x04,0x5a,0x7d
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7e,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_ne_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5a,0x7d]
+0x6b,0x04,0x5a,0x7d
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x7e,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ne_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x5a,0x7d]
+0x6c,0x04,0x5a,0x7d
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7e,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x7e,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_ne_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x5a,0x7d]
+0x6d,0x04,0x5a,0x7d
-# CHECK: v_cmpx_nlt_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x7e,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7e,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x5a,0x7d]
+0x6e,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfe,0x7c]
-0x00,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x5a,0x7d]
+0x6f,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xfe,0x7c]
-0x02,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x5a,0x7d]
+0x7b,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xfe,0x7c]
-0x64,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5a,0x7d]
+0x7c,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xfe,0x7c]
-0x66,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5a,0x7d]
+0x7e,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xfe,0x7c]
-0x6a,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5a,0x7d]
+0x7f,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xfe,0x7c]
-0x6c,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5a,0x7d]
+0x80,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xfe,0x7c]
-0x6e,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5a,0x7d]
+0xc1,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xfe,0x7c]
-0x7a,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5a,0x7d]
+0xf0,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xfe,0x7c]
-0x7e,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5a,0x7d]
+0xf7,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xfe,0x7c]
-0x80,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5a,0x7d]
+0xfd,0x04,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xfe,0x7c]
-0xc1,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x5a,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x5a,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xfe,0x7c]
-0xf0,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x5a,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x5a,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xfe,0x7c]
-0xf7,0x00,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5a,0x7d]
+0x01,0x05,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xfe,0x7c,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xfe,0x7c,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ne_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5a,0x7d]
+0xff,0x05,0x5a,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xfe,0x7c,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xfe,0x7c,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ne_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5b,0x7d]
+0x01,0xfe,0x5b,0x7d
-# CHECK: v_cmpx_tru_f64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xfe,0x7c]
-0x00,0x01,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xfe,0x7c]
-0xfe,0x01,0xfe,0x7c
+# CHECK: v_cmp_ne_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xad,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xff,0x7c]
-0x00,0xfc,0xff,0x7c
+# CHECK: v_cmp_ne_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xad,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xad,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xad,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xad,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xad,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xad,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xad,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0x7f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xad,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xad,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xad,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0x7f,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0x7f,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0x7f,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0x7f,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0x7f,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0x7f,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0x7f,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0x7f,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0x7f,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], -s[0:1], s[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0x00,0x00,0x20]
-0x00,0x00,0x7f,0xd0,0x00,0x00,0x00,0x20
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0x00,0x00,0x40]
-0x00,0x00,0x7f,0xd0,0x00,0x00,0x00,0x40
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], -s[0:1], -s[0:1] ; encoding: [0x00,0x00,0x7f,0xd0,0x00,0x00,0x00,0x60]
-0x00,0x00,0x7f,0xd0,0x00,0x00,0x00,0x60
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_tru_f64_e64 s[0:1], s[0:1], s[0:1] clamp ; encoding: [0x00,0x80,0x7f,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x80,0x7f,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_f_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x40,0x7d]
-0x00,0x00,0x40,0x7d
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_f_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x40,0x7d]
-0x65,0x00,0x40,0x7d
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_f_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x40,0x7d]
-0x66,0x00,0x40,0x7d
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_f_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x40,0x7d]
-0x67,0x00,0x40,0x7d
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_f_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x40,0x7d]
-0x6a,0x00,0x40,0x7d
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_f_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x40,0x7d]
-0x6b,0x00,0x40,0x7d
+# CHECK: v_cmp_ne_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xad,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xad,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_f_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x40,0x7d]
-0x6c,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5c,0x7d]
+0x01,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x40,0x7d]
-0x6d,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5c,0x7d]
+0x65,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x40,0x7d]
-0x6e,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5c,0x7d]
+0x66,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x40,0x7d]
-0x6f,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5c,0x7d]
+0x67,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x40,0x7d]
-0x7b,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5c,0x7d]
+0x6a,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x40,0x7d]
-0x7c,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5c,0x7d]
+0x6b,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x40,0x7d]
-0x7e,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x5c,0x7d]
+0x6c,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x40,0x7d]
-0x7f,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x5c,0x7d]
+0x6d,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x40,0x7d]
-0x80,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x5c,0x7d]
+0x6e,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x40,0x7d]
-0xc1,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x5c,0x7d]
+0x6f,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x40,0x7d]
-0xf0,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x5c,0x7d]
+0x7b,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x40,0x7d]
-0xf7,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5c,0x7d]
+0x7c,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x40,0x7d]
-0xfd,0x00,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5c,0x7d]
+0x7e,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x40,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x40,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_ge_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5c,0x7d]
+0x7f,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x40,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x40,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_ge_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5c,0x7d]
+0x80,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x40,0x7d]
-0x00,0x01,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5c,0x7d]
+0xc1,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x40,0x7d]
-0xff,0x01,0x40,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5c,0x7d]
+0xf0,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x41,0x7d]
-0x00,0xfe,0x41,0x7d
+# CHECK: v_cmp_ge_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5c,0x7d]
+0xf7,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5c,0x7d]
+0xfd,0x04,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x5c,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x5c,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x5c,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x5c,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5c,0x7d]
+0x01,0x05,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5c,0x7d]
+0xff,0x05,0x5c,0x7d
-# CHECK: v_cmp_f_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5d,0x7d]
+0x01,0xfe,0x5d,0x7d
-# CHECK: v_cmp_f_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xa0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xae,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xa0,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xa0,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xae,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xa0,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xa0,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xae,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xa0,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xa0,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xa0,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xa0,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xae,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xa0,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xa0,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xae,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xa0,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xa0,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xae,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xa0,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xa0,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ge_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xae,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xa0,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xa0,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xae,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xa0,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xa0,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xae,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xa0,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xa0,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xae,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xa0,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xa0,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xae,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xa0,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xa0,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xa0,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xa0,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_f_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xa0,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xa0,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x42,0x7d]
-0x00,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x42,0x7d]
-0x65,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x42,0x7d]
-0x66,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x42,0x7d]
-0x67,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x42,0x7d]
-0x6a,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x42,0x7d]
-0x6b,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x42,0x7d]
-0x6c,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x42,0x7d]
-0x6d,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x42,0x7d]
-0x6e,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x42,0x7d]
-0x6f,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x42,0x7d]
-0x7b,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x42,0x7d]
-0x7c,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x42,0x7d]
-0x7e,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x42,0x7d]
-0x7f,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x42,0x7d]
-0x80,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x42,0x7d]
-0xc1,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x42,0x7d]
-0xf0,0x00,0x42,0x7d
+# CHECK: v_cmp_ge_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xae,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xae,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_lt_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x42,0x7d]
-0xf7,0x00,0x42,0x7d
+# CHECK: v_cmp_t_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x5e,0x7d]
+0x01,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x42,0x7d]
-0xfd,0x00,0x42,0x7d
+# CHECK: v_cmp_t_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x5e,0x7d]
+0x65,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x42,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x42,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x5e,0x7d]
+0x66,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x42,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x42,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x5e,0x7d]
+0x67,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x42,0x7d]
-0x00,0x01,0x42,0x7d
+# CHECK: v_cmp_t_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x5e,0x7d]
+0x6a,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x42,0x7d]
-0xff,0x01,0x42,0x7d
+# CHECK: v_cmp_t_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x5e,0x7d]
+0x6b,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x43,0x7d]
-0x00,0xfe,0x43,0x7d
+# CHECK: v_cmp_t_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x5e,0x7d]
+0x6c,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x5e,0x7d]
+0x6d,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x5e,0x7d]
+0x6e,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x5e,0x7d]
+0x6f,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x5e,0x7d]
+0x7b,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x5e,0x7d]
+0x7c,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x5e,0x7d]
+0x7e,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x5e,0x7d]
+0x7f,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xa1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x5e,0x7d]
+0x80,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xa1,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xa1,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x5e,0x7d]
+0xc1,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xa1,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xa1,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x5e,0x7d]
+0xf0,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xa1,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xa1,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x5e,0x7d]
+0xf7,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xa1,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xa1,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x5e,0x7d]
+0xfd,0x04,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xa1,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xa1,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x5e,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x5e,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_lt_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xa1,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xa1,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x5e,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x5e,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_lt_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xa1,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xa1,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x5e,0x7d]
+0x01,0x05,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xa1,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xa1,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x5e,0x7d]
+0xff,0x05,0x5e,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xa1,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xa1,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_t_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x5f,0x7d]
+0x01,0xfe,0x5f,0x7d
-# CHECK: v_cmp_lt_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xa1,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xa1,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xa1,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xa1,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_t_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xa1,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xa1,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_t_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xa1,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xa1,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_t_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xa1,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xa1,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_t_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x44,0x7d]
-0x00,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x44,0x7d]
-0x65,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x44,0x7d]
-0x66,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xaf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x44,0x7d]
-0x67,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x44,0x7d]
-0x6a,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x44,0x7d]
-0x6b,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x44,0x7d]
-0x6c,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x44,0x7d]
-0x6d,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xaf,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x44,0x7d]
-0x6e,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x44,0x7d]
-0x6f,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x44,0x7d]
-0x7b,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x44,0x7d]
-0x7c,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x44,0x7d]
-0x7e,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x44,0x7d]
-0x7f,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x44,0x7d]
-0x80,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x44,0x7d]
-0xc1,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x44,0x7d]
-0xf0,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x44,0x7d]
-0xf7,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x44,0x7d]
-0xfd,0x00,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x44,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x44,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x44,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x44,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x44,0x7d]
-0x00,0x01,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x44,0x7d]
-0xff,0x01,0x44,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_eq_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x45,0x7d]
-0x00,0xfe,0x45,0x7d
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_eq_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_eq_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_eq_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_eq_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xaf,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xaf,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_eq_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x60,0x7d]
+0x01,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x60,0x7d]
+0x65,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x60,0x7d]
+0x66,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xa2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x60,0x7d]
+0x67,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xa2,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xa2,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x60,0x7d]
+0x6a,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xa2,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xa2,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x60,0x7d]
+0x6b,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xa2,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xa2,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x60,0x7d]
+0x6c,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xa2,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xa2,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x60,0x7d]
+0x6d,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xa2,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xa2,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x60,0x7d]
+0x6e,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xa2,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xa2,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x60,0x7d]
+0x6f,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xa2,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xa2,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x60,0x7d]
+0x7b,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xa2,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xa2,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x60,0x7d]
+0x7c,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xa2,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xa2,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x60,0x7d]
+0x7e,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xa2,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xa2,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x60,0x7d]
+0x7f,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xa2,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xa2,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x60,0x7d]
+0x80,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xa2,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xa2,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x60,0x7d]
+0xc1,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xa2,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xa2,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x60,0x7d]
+0xf0,0x04,0x60,0x7d
-# CHECK: v_cmp_eq_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xa2,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xa2,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_f_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x60,0x7d]
+0xf7,0x04,0x60,0x7d
-# CHECK: v_cmp_le_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x46,0x7d]
-0x00,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x60,0x7d]
+0xfd,0x04,0x60,0x7d
-# CHECK: v_cmp_le_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x46,0x7d]
-0x65,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x60,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x60,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x46,0x7d]
-0x66,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x60,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x60,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x46,0x7d]
-0x67,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x60,0x7d]
+0x01,0x05,0x60,0x7d
-# CHECK: v_cmp_le_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x46,0x7d]
-0x6a,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x60,0x7d]
+0xff,0x05,0x60,0x7d
-# CHECK: v_cmp_le_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x46,0x7d]
-0x6b,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x61,0x7d]
+0x01,0xfe,0x61,0x7d
-# CHECK: v_cmp_le_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x46,0x7d]
-0x6c,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x46,0x7d]
-0x6d,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x46,0x7d]
-0x6e,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x46,0x7d]
-0x6f,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x46,0x7d]
-0x7b,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x46,0x7d]
-0x7c,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x46,0x7d]
-0x7e,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x46,0x7d]
-0x7f,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xb0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x46,0x7d]
-0x80,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x46,0x7d]
-0xc1,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x46,0x7d]
-0xf0,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x46,0x7d]
-0xf7,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x46,0x7d]
-0xfd,0x00,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xb0,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x46,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x46,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x46,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x46,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x46,0x7d]
-0x00,0x01,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x46,0x7d]
-0xff,0x01,0x46,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_le_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x47,0x7d]
-0x00,0xfe,0x47,0x7d
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_le_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_le_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_le_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_le_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_le_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_le_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_le_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_le_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xa3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_le_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xa3,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xa3,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_le_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xa3,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xa3,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_le_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xa3,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xa3,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_le_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xa3,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xa3,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_le_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xa3,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xa3,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_le_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xa3,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xa3,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_le_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xa3,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xa3,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_f_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xb0,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xb0,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_le_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xa3,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xa3,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x62,0x7d]
+0x01,0x04,0x62,0x7d
-# CHECK: v_cmp_le_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xa3,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xa3,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x62,0x7d]
+0x65,0x04,0x62,0x7d
-# CHECK: v_cmp_le_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xa3,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xa3,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x62,0x7d]
+0x66,0x04,0x62,0x7d
-# CHECK: v_cmp_le_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xa3,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xa3,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x62,0x7d]
+0x67,0x04,0x62,0x7d
-# CHECK: v_cmp_le_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xa3,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xa3,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lt_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x62,0x7d]
+0x6a,0x04,0x62,0x7d
-# CHECK: v_cmp_le_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xa3,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xa3,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x62,0x7d]
+0x6b,0x04,0x62,0x7d
-# CHECK: v_cmp_le_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xa3,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xa3,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lt_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x62,0x7d]
+0x6c,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x48,0x7d]
-0x00,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x62,0x7d]
+0x6d,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x48,0x7d]
-0x65,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x62,0x7d]
+0x6e,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x48,0x7d]
-0x66,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x62,0x7d]
+0x6f,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x48,0x7d]
-0x67,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x62,0x7d]
+0x7b,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x48,0x7d]
-0x6a,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x62,0x7d]
+0x7c,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x48,0x7d]
-0x6b,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x62,0x7d]
+0x7e,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x48,0x7d]
-0x6c,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x62,0x7d]
+0x7f,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x48,0x7d]
-0x6d,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x62,0x7d]
+0x80,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x48,0x7d]
-0x6e,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x62,0x7d]
+0xc1,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x48,0x7d]
-0x6f,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x62,0x7d]
+0xf0,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x48,0x7d]
-0x7b,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x62,0x7d]
+0xf7,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x48,0x7d]
-0x7c,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x62,0x7d]
+0xfd,0x04,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x48,0x7d]
-0x7e,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x62,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x62,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_gt_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x48,0x7d]
-0x7f,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x62,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x62,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_gt_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x48,0x7d]
-0x80,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x62,0x7d]
+0x01,0x05,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x48,0x7d]
-0xc1,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x62,0x7d]
+0xff,0x05,0x62,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x48,0x7d]
-0xf0,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x63,0x7d]
+0x01,0xfe,0x63,0x7d
-# CHECK: v_cmp_gt_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x48,0x7d]
-0xf7,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x48,0x7d]
-0xfd,0x00,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x48,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x48,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x48,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x48,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x48,0x7d]
-0x00,0x01,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x48,0x7d]
-0xff,0x01,0x48,0x7d
+# CHECK: v_cmpx_lt_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x49,0x7d]
-0x00,0xfe,0x49,0x7d
+# CHECK: v_cmpx_lt_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xb1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xb1,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xa4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xa4,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xa4,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xa4,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xa4,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xa4,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xa4,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xa4,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xa4,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xa4,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xa4,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xa4,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xa4,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xa4,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xa4,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xa4,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xa4,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xa4,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xa4,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xa4,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xa4,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xa4,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xa4,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_gt_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xa4,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xa4,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ne_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x4a,0x7d]
-0x00,0x00,0x4a,0x7d
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ne_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x4a,0x7d]
-0x65,0x00,0x4a,0x7d
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ne_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x4a,0x7d]
-0x66,0x00,0x4a,0x7d
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ne_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x4a,0x7d]
-0x67,0x00,0x4a,0x7d
+# CHECK: v_cmpx_lt_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xb1,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xb1,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_ne_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x4a,0x7d]
-0x6a,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x64,0x7d]
+0x01,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x4a,0x7d]
-0x6b,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x64,0x7d]
+0x65,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x4a,0x7d]
-0x6c,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x64,0x7d]
+0x66,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x4a,0x7d]
-0x6d,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x64,0x7d]
+0x67,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x4a,0x7d]
-0x6e,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x64,0x7d]
+0x6a,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x4a,0x7d]
-0x6f,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x64,0x7d]
+0x6b,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x4a,0x7d]
-0x7b,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x64,0x7d]
+0x6c,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x4a,0x7d]
-0x7c,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x64,0x7d]
+0x6d,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x4a,0x7d]
-0x7e,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x64,0x7d]
+0x6e,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x4a,0x7d]
-0x7f,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x64,0x7d]
+0x6f,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x4a,0x7d]
-0x80,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x64,0x7d]
+0x7b,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x4a,0x7d]
-0xc1,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x64,0x7d]
+0x7c,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x4a,0x7d]
-0xf0,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x64,0x7d]
+0x7e,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x4a,0x7d]
-0xf7,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x64,0x7d]
+0x7f,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x4a,0x7d]
-0xfd,0x00,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x64,0x7d]
+0x80,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x4a,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x4a,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x64,0x7d]
+0xc1,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x4a,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x4a,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x64,0x7d]
+0xf0,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x4a,0x7d]
-0x00,0x01,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x64,0x7d]
+0xf7,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x4a,0x7d]
-0xff,0x01,0x4a,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x64,0x7d]
+0xfd,0x04,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x4b,0x7d]
-0x00,0xfe,0x4b,0x7d
+# CHECK: v_cmpx_eq_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x64,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x64,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x64,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x64,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x64,0x7d]
+0x01,0x05,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x64,0x7d]
+0xff,0x05,0x64,0x7d
-# CHECK: v_cmp_ne_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x65,0x7d]
+0x01,0xfe,0x65,0x7d
-# CHECK: v_cmp_ne_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xa5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xa5,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xa5,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xa5,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xa5,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xa5,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xa5,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xa5,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xa5,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xb2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xa5,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xa5,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xa5,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xa5,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xa5,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xa5,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xa5,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xa5,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xa5,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xa5,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xb2,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xa5,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xa5,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xa5,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xa5,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xa5,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xa5,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xa5,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xa5,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_ne_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xa5,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xa5,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x4c,0x7d]
-0x00,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x4c,0x7d]
-0x65,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x4c,0x7d]
-0x66,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x4c,0x7d]
-0x67,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x4c,0x7d]
-0x6a,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x4c,0x7d]
-0x6b,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x4c,0x7d]
-0x6c,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x4c,0x7d]
-0x6d,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x4c,0x7d]
-0x6e,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x4c,0x7d]
-0x6f,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x4c,0x7d]
-0x7b,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x4c,0x7d]
-0x7c,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x4c,0x7d]
-0x7e,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x4c,0x7d]
-0x7f,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x4c,0x7d]
-0x80,0x00,0x4c,0x7d
+# CHECK: v_cmpx_eq_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xb2,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xb2,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_ge_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x4c,0x7d]
-0xc1,0x00,0x4c,0x7d
+# CHECK: v_cmpx_le_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x66,0x7d]
+0x01,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x4c,0x7d]
-0xf0,0x00,0x4c,0x7d
+# CHECK: v_cmpx_le_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x66,0x7d]
+0x65,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x4c,0x7d]
-0xf7,0x00,0x4c,0x7d
+# CHECK: v_cmpx_le_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x66,0x7d]
+0x66,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x4c,0x7d]
-0xfd,0x00,0x4c,0x7d
+# CHECK: v_cmpx_le_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x66,0x7d]
+0x67,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x4c,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x4c,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x66,0x7d]
+0x6a,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x4c,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x4c,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x66,0x7d]
+0x6b,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x4c,0x7d]
-0x00,0x01,0x4c,0x7d
+# CHECK: v_cmpx_le_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x66,0x7d]
+0x6c,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x4c,0x7d]
-0xff,0x01,0x4c,0x7d
+# CHECK: v_cmpx_le_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x66,0x7d]
+0x6d,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x4d,0x7d]
-0x00,0xfe,0x4d,0x7d
+# CHECK: v_cmpx_le_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x66,0x7d]
+0x6e,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x66,0x7d]
+0x6f,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x66,0x7d]
+0x7b,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x66,0x7d]
+0x7c,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x66,0x7d]
+0x7e,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x66,0x7d]
+0x7f,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x66,0x7d]
+0x80,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x66,0x7d]
+0xc1,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xa6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x66,0x7d]
+0xf0,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xa6,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xa6,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x66,0x7d]
+0xf7,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xa6,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xa6,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x66,0x7d]
+0xfd,0x04,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xa6,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xa6,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x66,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x66,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_ge_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xa6,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xa6,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x66,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x66,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_ge_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xa6,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xa6,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x66,0x7d]
+0x01,0x05,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xa6,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xa6,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x66,0x7d]
+0xff,0x05,0x66,0x7d
-# CHECK: v_cmp_ge_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xa6,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xa6,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_le_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x67,0x7d]
+0x01,0xfe,0x67,0x7d
-# CHECK: v_cmp_ge_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xa6,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xa6,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xa6,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xa6,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xa6,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xa6,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xa6,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xa6,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xa6,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xa6,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_le_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xa6,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xa6,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xa6,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xa6,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_le_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x4e,0x7d]
-0x00,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xb3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x4e,0x7d]
-0x65,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x4e,0x7d]
-0x66,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x4e,0x7d]
-0x67,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x4e,0x7d]
-0x6a,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x4e,0x7d]
-0x6b,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xb3,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x4e,0x7d]
-0x6c,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x4e,0x7d]
-0x6d,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x4e,0x7d]
-0x6e,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x4e,0x7d]
-0x6f,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x4e,0x7d]
-0x7b,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x4e,0x7d]
-0x7c,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x4e,0x7d]
-0x7e,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x4e,0x7d]
-0x7f,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x4e,0x7d]
-0x80,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x4e,0x7d]
-0xc1,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x4e,0x7d]
-0xf0,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x4e,0x7d]
-0xf7,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x4e,0x7d]
-0xfd,0x00,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x4e,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x4e,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x4e,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x4e,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x4e,0x7d]
-0x00,0x01,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x4e,0x7d]
-0xff,0x01,0x4e,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_t_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x4f,0x7d]
-0x00,0xfe,0x4f,0x7d
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_t_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_t_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xb3,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xb3,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_t_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x68,0x7d]
+0x01,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x68,0x7d]
+0x65,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x68,0x7d]
+0x66,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x68,0x7d]
+0x67,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x68,0x7d]
+0x6a,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xa7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x68,0x7d]
+0x6b,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xa7,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xa7,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x68,0x7d]
+0x6c,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xa7,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xa7,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x68,0x7d]
+0x6d,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xa7,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xa7,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x68,0x7d]
+0x6e,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xa7,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xa7,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x68,0x7d]
+0x6f,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xa7,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xa7,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x68,0x7d]
+0x7b,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xa7,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xa7,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x68,0x7d]
+0x7c,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xa7,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xa7,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x68,0x7d]
+0x7e,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xa7,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xa7,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x68,0x7d]
+0x7f,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xa7,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xa7,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x68,0x7d]
+0x80,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xa7,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xa7,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x68,0x7d]
+0xc1,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xa7,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xa7,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x68,0x7d]
+0xf0,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xa7,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xa7,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x68,0x7d]
+0xf7,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xa7,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xa7,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x68,0x7d]
+0xfd,0x04,0x68,0x7d
-# CHECK: v_cmp_t_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xa7,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xa7,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_gt_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x68,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x68,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x50,0x7d]
-0x00,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x68,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x68,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x50,0x7d]
-0x65,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x68,0x7d]
+0x01,0x05,0x68,0x7d
-# CHECK: v_cmp_f_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x50,0x7d]
-0x66,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x68,0x7d]
+0xff,0x05,0x68,0x7d
-# CHECK: v_cmp_f_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x50,0x7d]
-0x67,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x69,0x7d]
+0x01,0xfe,0x69,0x7d
-# CHECK: v_cmp_f_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x50,0x7d]
-0x6a,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x50,0x7d]
-0x6b,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x50,0x7d]
-0x6c,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x50,0x7d]
-0x6d,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x50,0x7d]
-0x6e,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x50,0x7d]
-0x6f,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x50,0x7d]
-0x7b,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x50,0x7d]
-0x7c,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xb4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x50,0x7d]
-0x7e,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x50,0x7d]
-0x7f,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x50,0x7d]
-0x80,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x50,0x7d]
-0xc1,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x50,0x7d]
-0xf0,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xb4,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x50,0x7d]
-0xf7,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x50,0x7d]
-0xfd,0x00,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x50,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x50,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x50,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x50,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x50,0x7d]
-0x00,0x01,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x50,0x7d]
-0xff,0x01,0x50,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_f_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x51,0x7d]
-0x00,0xfe,0x51,0x7d
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_f_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_f_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_f_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_f_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_f_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_f_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_f_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_f_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xa8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_f_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xa8,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xa8,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_f_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xa8,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xa8,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_f_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xa8,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xa8,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_f_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xa8,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xa8,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_f_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xa8,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xa8,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xb4,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xb4,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_f_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xa8,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xa8,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6a,0x7d]
+0x01,0x04,0x6a,0x7d
-# CHECK: v_cmp_f_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xa8,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xa8,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6a,0x7d]
+0x65,0x04,0x6a,0x7d
-# CHECK: v_cmp_f_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xa8,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xa8,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ne_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6a,0x7d]
+0x66,0x04,0x6a,0x7d
-# CHECK: v_cmp_f_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xa8,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xa8,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ne_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6a,0x7d]
+0x67,0x04,0x6a,0x7d
-# CHECK: v_cmp_f_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xa8,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xa8,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ne_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6a,0x7d]
+0x6a,0x04,0x6a,0x7d
-# CHECK: v_cmp_f_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xa8,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xa8,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ne_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6a,0x7d]
+0x6b,0x04,0x6a,0x7d
-# CHECK: v_cmp_f_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xa8,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xa8,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ne_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x6a,0x7d]
+0x6c,0x04,0x6a,0x7d
-# CHECK: v_cmp_f_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xa8,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xa8,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ne_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x6a,0x7d]
+0x6d,0x04,0x6a,0x7d
-# CHECK: v_cmp_f_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xa8,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xa8,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ne_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x6a,0x7d]
+0x6e,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x52,0x7d]
-0x00,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x6a,0x7d]
+0x6f,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x52,0x7d]
-0x65,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x6a,0x7d]
+0x7b,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x52,0x7d]
-0x66,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6a,0x7d]
+0x7c,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x52,0x7d]
-0x67,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6a,0x7d]
+0x7e,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x52,0x7d]
-0x6a,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6a,0x7d]
+0x7f,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x52,0x7d]
-0x6b,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6a,0x7d]
+0x80,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x52,0x7d]
-0x6c,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6a,0x7d]
+0xc1,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x52,0x7d]
-0x6d,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6a,0x7d]
+0xf0,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x52,0x7d]
-0x6e,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6a,0x7d]
+0xf7,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x52,0x7d]
-0x6f,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6a,0x7d]
+0xfd,0x04,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x52,0x7d]
-0x7b,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x6a,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x6a,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x52,0x7d]
-0x7c,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x6a,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x6a,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x52,0x7d]
-0x7e,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6a,0x7d]
+0x01,0x05,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x52,0x7d]
-0x7f,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6a,0x7d]
+0xff,0x05,0x6a,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x52,0x7d]
-0x80,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6b,0x7d]
+0x01,0xfe,0x6b,0x7d
-# CHECK: v_cmp_lt_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x52,0x7d]
-0xc1,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x52,0x7d]
-0xf0,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x52,0x7d]
-0xf7,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x52,0x7d]
-0xfd,0x00,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x52,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x52,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x52,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x52,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x52,0x7d]
-0x00,0x01,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x52,0x7d]
-0xff,0x01,0x52,0x7d
+# CHECK: v_cmpx_ne_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xb5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x53,0x7d]
-0x00,0xfe,0x53,0x7d
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xb5,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xa9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xa9,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xa9,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xa9,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xa9,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xa9,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xa9,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xa9,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xa9,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xa9,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xa9,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xa9,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xa9,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xa9,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xa9,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xa9,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xa9,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xa9,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xa9,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xa9,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xa9,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xa9,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xa9,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xa9,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xa9,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xa9,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xa9,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_lt_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xa9,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xa9,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_eq_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x54,0x7d]
-0x00,0x00,0x54,0x7d
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_eq_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x54,0x7d]
-0x65,0x00,0x54,0x7d
+# CHECK: v_cmpx_ne_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xb5,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xb5,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_eq_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x54,0x7d]
-0x66,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6c,0x7d]
+0x01,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x54,0x7d]
-0x67,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6c,0x7d]
+0x65,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x54,0x7d]
-0x6a,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6c,0x7d]
+0x66,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x54,0x7d]
-0x6b,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6c,0x7d]
+0x67,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x54,0x7d]
-0x6c,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6c,0x7d]
+0x6a,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x54,0x7d]
-0x6d,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6c,0x7d]
+0x6b,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x54,0x7d]
-0x6e,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x6c,0x7d]
+0x6c,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x54,0x7d]
-0x6f,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x6c,0x7d]
+0x6d,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x54,0x7d]
-0x7b,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x6c,0x7d]
+0x6e,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x54,0x7d]
-0x7c,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x6c,0x7d]
+0x6f,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x54,0x7d]
-0x7e,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x6c,0x7d]
+0x7b,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x54,0x7d]
-0x7f,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6c,0x7d]
+0x7c,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x54,0x7d]
-0x80,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6c,0x7d]
+0x7e,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x54,0x7d]
-0xc1,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6c,0x7d]
+0x7f,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x54,0x7d]
-0xf0,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6c,0x7d]
+0x80,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x54,0x7d]
-0xf7,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6c,0x7d]
+0xc1,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x54,0x7d]
-0xfd,0x00,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6c,0x7d]
+0xf0,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x54,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x54,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6c,0x7d]
+0xf7,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x54,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x54,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6c,0x7d]
+0xfd,0x04,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x54,0x7d]
-0x00,0x01,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x6c,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x6c,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_eq_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x54,0x7d]
-0xff,0x01,0x54,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x6c,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x6c,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_eq_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x55,0x7d]
-0x00,0xfe,0x55,0x7d
+# CHECK: v_cmpx_ge_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6c,0x7d]
+0x01,0x05,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6c,0x7d]
+0xff,0x05,0x6c,0x7d
-# CHECK: v_cmp_eq_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6d,0x7d]
+0x01,0xfe,0x6d,0x7d
-# CHECK: v_cmp_eq_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xaa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xaa,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xaa,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xaa,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xaa,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xb6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xaa,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xaa,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xaa,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xaa,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xaa,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xaa,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xaa,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xaa,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xaa,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xaa,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xb6,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xaa,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xaa,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xaa,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xaa,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xaa,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xaa,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xaa,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xaa,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xaa,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xaa,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xaa,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xaa,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_eq_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xaa,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xaa,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x56,0x7d]
-0x00,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x56,0x7d]
-0x65,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x56,0x7d]
-0x66,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x56,0x7d]
-0x67,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x56,0x7d]
-0x6a,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x56,0x7d]
-0x6b,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x56,0x7d]
-0x6c,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x56,0x7d]
-0x6d,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x56,0x7d]
-0x6e,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x56,0x7d]
-0x6f,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x56,0x7d]
-0x7b,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x56,0x7d]
-0x7c,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x56,0x7d]
-0x7e,0x00,0x56,0x7d
+# CHECK: v_cmpx_ge_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xb6,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xb6,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_le_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x56,0x7d]
-0x7f,0x00,0x56,0x7d
+# CHECK: v_cmpx_t_i16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x6e,0x7d]
+0x01,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x56,0x7d]
-0x80,0x00,0x56,0x7d
+# CHECK: v_cmpx_t_i16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x6e,0x7d]
+0x65,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x56,0x7d]
-0xc1,0x00,0x56,0x7d
+# CHECK: v_cmpx_t_i16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x6e,0x7d]
+0x66,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x56,0x7d]
-0xf0,0x00,0x56,0x7d
+# CHECK: v_cmpx_t_i16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x6e,0x7d]
+0x67,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x56,0x7d]
-0xf7,0x00,0x56,0x7d
+# CHECK: v_cmpx_t_i16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x6e,0x7d]
+0x6a,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x56,0x7d]
-0xfd,0x00,0x56,0x7d
+# CHECK: v_cmpx_t_i16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x6e,0x7d]
+0x6b,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x56,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x56,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x6e,0x7d]
+0x6c,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x56,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x56,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x6e,0x7d]
+0x6d,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x56,0x7d]
-0x00,0x01,0x56,0x7d
+# CHECK: v_cmpx_t_i16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x6e,0x7d]
+0x6e,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x56,0x7d]
-0xff,0x01,0x56,0x7d
+# CHECK: v_cmpx_t_i16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x6e,0x7d]
+0x6f,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x57,0x7d]
-0x00,0xfe,0x57,0x7d
+# CHECK: v_cmpx_t_i16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x6e,0x7d]
+0x7b,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xab,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xab,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x6e,0x7d]
+0x7c,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xab,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xab,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x6e,0x7d]
+0x7e,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xab,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xab,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x6e,0x7d]
+0x7f,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xab,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xab,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x6e,0x7d]
+0x80,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xab,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xab,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x6e,0x7d]
+0xc1,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xab,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xab,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x6e,0x7d]
+0xf0,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xab,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xab,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x6e,0x7d]
+0xf7,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xab,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xab,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x6e,0x7d]
+0xfd,0x04,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xab,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xab,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x6e,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x6e,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_le_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xab,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xab,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x6e,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x6e,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_le_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xab,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xab,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x6e,0x7d]
+0x01,0x05,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xab,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xab,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x6e,0x7d]
+0xff,0x05,0x6e,0x7d
-# CHECK: v_cmp_le_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xab,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xab,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x6f,0x7d]
+0x01,0xfe,0x6f,0x7d
-# CHECK: v_cmp_le_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xab,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xab,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xab,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xab,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_t_i16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xab,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xab,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_t_i16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xab,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xab,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_t_i16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xab,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xab,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_t_i16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xab,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xab,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_t_i16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xab,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xab,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_t_i16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xab,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xab,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_t_i16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xb7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xab,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xab,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_t_i16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x58,0x7d]
-0x00,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x58,0x7d]
-0x65,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x58,0x7d]
-0x66,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x58,0x7d]
-0x67,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xb7,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x58,0x7d]
-0x6a,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x58,0x7d]
-0x6b,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x58,0x7d]
-0x6c,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x58,0x7d]
-0x6d,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x58,0x7d]
-0x6e,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x58,0x7d]
-0x6f,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x58,0x7d]
-0x7b,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x58,0x7d]
-0x7c,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x58,0x7d]
-0x7e,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x58,0x7d]
-0x7f,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x58,0x7d]
-0x80,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x58,0x7d]
-0xc1,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x58,0x7d]
-0xf0,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x58,0x7d]
-0xf7,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x58,0x7d]
-0xfd,0x00,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x58,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x58,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x58,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x58,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x58,0x7d]
-0x00,0x01,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x58,0x7d]
-0xff,0x01,0x58,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_gt_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x59,0x7d]
-0x00,0xfe,0x59,0x7d
+# CHECK: v_cmpx_t_i16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xb7,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xb7,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_gt_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xac,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xac,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x70,0x7d]
+0x01,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xac,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xac,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x70,0x7d]
+0x65,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xac,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xac,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x70,0x7d]
+0x66,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xac,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xac,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x70,0x7d]
+0x67,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xac,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xac,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x70,0x7d]
+0x6a,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xac,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xac,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x70,0x7d]
+0x6b,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xac,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xac,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x70,0x7d]
+0x6c,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xac,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xac,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x70,0x7d]
+0x6d,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xac,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xac,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x70,0x7d]
+0x6e,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xac,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xac,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x70,0x7d]
+0x6f,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xac,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xac,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x70,0x7d]
+0x7b,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xac,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xac,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x70,0x7d]
+0x7c,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xac,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xac,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x70,0x7d]
+0x7e,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xac,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xac,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x70,0x7d]
+0x7f,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xac,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xac,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x70,0x7d]
+0x80,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xac,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xac,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x70,0x7d]
+0xc1,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xac,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xac,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x70,0x7d]
+0xf0,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xac,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xac,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x70,0x7d]
+0xf7,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xac,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xac,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x70,0x7d]
+0xfd,0x04,0x70,0x7d
-# CHECK: v_cmp_gt_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xac,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xac,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x70,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x70,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_gt_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xac,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xac,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x70,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x70,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_gt_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xac,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xac,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_f_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x70,0x7d]
+0x01,0x05,0x70,0x7d
-# CHECK: v_cmp_ne_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x5a,0x7d]
-0x00,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x70,0x7d]
+0xff,0x05,0x70,0x7d
-# CHECK: v_cmp_ne_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x5a,0x7d]
-0x65,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x71,0x7d]
+0x01,0xfe,0x71,0x7d
-# CHECK: v_cmp_ne_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x5a,0x7d]
-0x66,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x5a,0x7d]
-0x67,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x5a,0x7d]
-0x6a,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x5a,0x7d]
-0x6b,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x5a,0x7d]
-0x6c,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x5a,0x7d]
-0x6d,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x5a,0x7d]
-0x6e,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x5a,0x7d]
-0x6f,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xb8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x5a,0x7d]
-0x7b,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x5a,0x7d]
-0x7c,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x5a,0x7d]
-0x7e,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x5a,0x7d]
-0x7f,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x5a,0x7d]
-0x80,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xb8,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x5a,0x7d]
-0xc1,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x5a,0x7d]
-0xf0,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x5a,0x7d]
-0xf7,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x5a,0x7d]
-0xfd,0x00,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x5a,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x5a,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x5a,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x5a,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x5a,0x7d]
-0x00,0x01,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x5a,0x7d]
-0xff,0x01,0x5a,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_ne_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x5b,0x7d]
-0x00,0xfe,0x5b,0x7d
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_ne_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xad,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xad,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_ne_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xad,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xad,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_ne_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xad,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xad,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_ne_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xad,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xad,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_ne_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xad,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xad,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_ne_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xad,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xad,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_ne_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xad,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xad,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ne_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xad,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xad,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ne_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xad,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xad,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ne_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xad,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xad,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ne_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xad,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xad,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xb8,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xb8,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_ne_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xad,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xad,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x72,0x7d]
+0x01,0x04,0x72,0x7d
-# CHECK: v_cmp_ne_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xad,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xad,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x72,0x7d]
+0x65,0x04,0x72,0x7d
-# CHECK: v_cmp_ne_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xad,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xad,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x72,0x7d]
+0x66,0x04,0x72,0x7d
-# CHECK: v_cmp_ne_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xad,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xad,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x72,0x7d]
+0x67,0x04,0x72,0x7d
-# CHECK: v_cmp_ne_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xad,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xad,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x72,0x7d]
+0x6a,0x04,0x72,0x7d
-# CHECK: v_cmp_ne_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xad,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xad,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x72,0x7d]
+0x6b,0x04,0x72,0x7d
-# CHECK: v_cmp_ne_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xad,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xad,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x72,0x7d]
+0x6c,0x04,0x72,0x7d
-# CHECK: v_cmp_ne_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xad,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xad,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x72,0x7d]
+0x6d,0x04,0x72,0x7d
-# CHECK: v_cmp_ne_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xad,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xad,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x72,0x7d]
+0x6e,0x04,0x72,0x7d
-# CHECK: v_cmp_ne_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xad,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xad,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x72,0x7d]
+0x6f,0x04,0x72,0x7d
-# CHECK: v_cmp_ne_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xad,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xad,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lt_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x72,0x7d]
+0x7b,0x04,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x5c,0x7d]
-0x00,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x72,0x7d]
+0x7c,0x04,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x5c,0x7d]
-0x65,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x72,0x7d]
+0x7e,0x04,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x5c,0x7d]
-0x66,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x72,0x7d]
+0x7f,0x04,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x5c,0x7d]
-0x67,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x72,0x7d]
+0x80,0x04,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x5c,0x7d]
-0x6a,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x72,0x7d]
+0xc1,0x04,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x5c,0x7d]
-0x6b,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x72,0x7d]
+0xf0,0x04,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x5c,0x7d]
-0x6c,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x72,0x7d]
+0xf7,0x04,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x5c,0x7d]
-0x6d,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x72,0x7d]
+0xfd,0x04,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x5c,0x7d]
-0x6e,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x72,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x72,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x5c,0x7d]
-0x6f,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x72,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x72,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x5c,0x7d]
-0x7b,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x72,0x7d]
+0x01,0x05,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x5c,0x7d]
-0x7c,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x72,0x7d]
+0xff,0x05,0x72,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x5c,0x7d]
-0x7e,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x73,0x7d]
+0x01,0xfe,0x73,0x7d
-# CHECK: v_cmp_ge_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x5c,0x7d]
-0x7f,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x5c,0x7d]
-0x80,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x5c,0x7d]
-0xc1,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x5c,0x7d]
-0xf0,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x5c,0x7d]
-0xf7,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x5c,0x7d]
-0xfd,0x00,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x5c,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x5c,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x5c,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x5c,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xb9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x5c,0x7d]
-0x00,0x01,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x5c,0x7d]
-0xff,0x01,0x5c,0x7d
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x5d,0x7d]
-0x00,0xfe,0x5d,0x7d
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xae,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xae,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xae,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xae,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xb9,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xae,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xae,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xae,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xae,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xae,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xae,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xae,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xae,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xae,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xae,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xae,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xae,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xae,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xae,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xae,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xae,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xae,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xae,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xae,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xae,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xae,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xae,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xae,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xae,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xae,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xae,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xae,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xae,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xae,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xae,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xae,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xae,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xae,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xae,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xae,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xae,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xae,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xae,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ge_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xae,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xae,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lt_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xb9,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xb9,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_t_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x5e,0x7d]
-0x00,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x74,0x7d]
+0x01,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x5e,0x7d]
-0x65,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x74,0x7d]
+0x65,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x5e,0x7d]
-0x66,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x74,0x7d]
+0x66,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x5e,0x7d]
-0x67,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x74,0x7d]
+0x67,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x5e,0x7d]
-0x6a,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x74,0x7d]
+0x6a,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x5e,0x7d]
-0x6b,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x74,0x7d]
+0x6b,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x5e,0x7d]
-0x6c,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x74,0x7d]
+0x6c,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x5e,0x7d]
-0x6d,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x74,0x7d]
+0x6d,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x5e,0x7d]
-0x6e,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x74,0x7d]
+0x6e,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x5e,0x7d]
-0x6f,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x74,0x7d]
+0x6f,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x5e,0x7d]
-0x7b,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x74,0x7d]
+0x7b,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x5e,0x7d]
-0x7c,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x74,0x7d]
+0x7c,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x5e,0x7d]
-0x7e,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x74,0x7d]
+0x7e,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x5e,0x7d]
-0x7f,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x74,0x7d]
+0x7f,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x5e,0x7d]
-0x80,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x74,0x7d]
+0x80,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x5e,0x7d]
-0xc1,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x74,0x7d]
+0xc1,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x5e,0x7d]
-0xf0,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x74,0x7d]
+0xf0,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x5e,0x7d]
-0xf7,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x74,0x7d]
+0xf7,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x5e,0x7d]
-0xfd,0x00,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x74,0x7d]
+0xfd,0x04,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x5e,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x5e,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x74,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x74,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmp_t_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x5e,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x5e,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x74,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x74,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmp_t_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x5e,0x7d]
-0x00,0x01,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x74,0x7d]
+0x01,0x05,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x5e,0x7d]
-0xff,0x01,0x5e,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x74,0x7d]
+0xff,0x05,0x74,0x7d
-# CHECK: v_cmp_t_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x5f,0x7d]
-0x00,0xfe,0x5f,0x7d
+# CHECK: v_cmpx_eq_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x75,0x7d]
+0x01,0xfe,0x75,0x7d
-# CHECK: v_cmp_t_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xba,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xba,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xba,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xba,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xba,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xaf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xba,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xaf,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xaf,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xba,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xaf,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xaf,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xba,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xaf,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xaf,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xba,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xaf,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xaf,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xba,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xaf,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xaf,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xba,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xaf,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xaf,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xaf,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xaf,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xaf,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xaf,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xaf,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xaf,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xaf,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xaf,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xaf,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xaf,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xaf,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xaf,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xaf,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xaf,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_t_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xaf,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xaf,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x60,0x7d]
-0x00,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x60,0x7d]
-0x65,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x60,0x7d]
-0x66,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x60,0x7d]
-0x67,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x60,0x7d]
-0x6a,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x60,0x7d]
-0x6b,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x60,0x7d]
-0x6c,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x60,0x7d]
-0x6d,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x60,0x7d]
-0x6e,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x60,0x7d]
-0x6f,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x60,0x7d]
-0x7b,0x00,0x60,0x7d
+# CHECK: v_cmpx_eq_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xba,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xba,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_f_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x60,0x7d]
-0x7c,0x00,0x60,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x76,0x7d]
+0x01,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x60,0x7d]
-0x7e,0x00,0x60,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x76,0x7d]
+0x65,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x60,0x7d]
-0x7f,0x00,0x60,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x76,0x7d]
+0x66,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x60,0x7d]
-0x80,0x00,0x60,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x76,0x7d]
+0x67,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x60,0x7d]
-0xc1,0x00,0x60,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x76,0x7d]
+0x6a,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x60,0x7d]
-0xf0,0x00,0x60,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x76,0x7d]
+0x6b,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x60,0x7d]
-0xf7,0x00,0x60,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x76,0x7d]
+0x6c,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x60,0x7d]
-0xfd,0x00,0x60,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x76,0x7d]
+0x6d,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x60,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x60,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x76,0x7d]
+0x6e,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x60,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x60,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x76,0x7d]
+0x6f,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x60,0x7d]
-0x00,0x01,0x60,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x76,0x7d]
+0x7b,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x60,0x7d]
-0xff,0x01,0x60,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x76,0x7d]
+0x7c,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x61,0x7d]
-0x00,0xfe,0x61,0x7d
+# CHECK: v_cmpx_le_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x76,0x7d]
+0x7e,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x76,0x7d]
+0x7f,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x76,0x7d]
+0x80,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x76,0x7d]
+0xc1,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x76,0x7d]
+0xf0,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x76,0x7d]
+0xf7,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x76,0x7d]
+0xfd,0x04,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x76,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x76,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xb0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x76,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x76,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xb0,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xb0,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x76,0x7d]
+0x01,0x05,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xb0,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xb0,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x76,0x7d]
+0xff,0x05,0x76,0x7d
-# CHECK: v_cmpx_f_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xb0,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xb0,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x77,0x7d]
+0x01,0xfe,0x77,0x7d
-# CHECK: v_cmpx_f_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xb0,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xb0,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xb0,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xb0,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xb0,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xb0,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xb0,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xb0,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_le_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xb0,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xb0,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xb0,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xb0,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xb0,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xb0,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xb0,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xb0,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xbb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xb0,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xb0,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_le_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xb0,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xb0,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_f_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xb0,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xb0,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_le_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x62,0x7d]
-0x00,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x62,0x7d]
-0x65,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xbb,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x62,0x7d]
-0x66,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x62,0x7d]
-0x67,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x62,0x7d]
-0x6a,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x62,0x7d]
-0x6b,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x62,0x7d]
-0x6c,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x62,0x7d]
-0x6d,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x62,0x7d]
-0x6e,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x62,0x7d]
-0x6f,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x62,0x7d]
-0x7b,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x62,0x7d]
-0x7c,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x62,0x7d]
-0x7e,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x62,0x7d]
-0x7f,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x62,0x7d]
-0x80,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x62,0x7d]
-0xc1,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x62,0x7d]
-0xf0,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x62,0x7d]
-0xf7,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x62,0x7d]
-0xfd,0x00,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x62,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x62,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x62,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x62,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x62,0x7d]
-0x00,0x01,0x62,0x7d
+# CHECK: v_cmpx_le_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xbb,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xbb,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_lt_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x62,0x7d]
-0xff,0x01,0x62,0x7d
+# CHECK: v_cmpx_gt_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x78,0x7d]
+0x01,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x63,0x7d]
-0x00,0xfe,0x63,0x7d
+# CHECK: v_cmpx_gt_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x78,0x7d]
+0x65,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x78,0x7d]
+0x66,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x78,0x7d]
+0x67,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x78,0x7d]
+0x6a,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x78,0x7d]
+0x6b,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x78,0x7d]
+0x6c,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x78,0x7d]
+0x6d,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x78,0x7d]
+0x6e,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xb1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x78,0x7d]
+0x6f,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xb1,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xb1,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x78,0x7d]
+0x7b,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xb1,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xb1,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x78,0x7d]
+0x7c,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xb1,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xb1,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x78,0x7d]
+0x7e,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xb1,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xb1,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x78,0x7d]
+0x7f,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xb1,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xb1,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x78,0x7d]
+0x80,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xb1,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xb1,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x78,0x7d]
+0xc1,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xb1,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xb1,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x78,0x7d]
+0xf0,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xb1,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xb1,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x78,0x7d]
+0xf7,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xb1,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xb1,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x78,0x7d]
+0xfd,0x04,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xb1,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xb1,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x78,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x78,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xb1,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xb1,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x78,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x78,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xb1,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xb1,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x78,0x7d]
+0x01,0x05,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xb1,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xb1,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x78,0x7d]
+0xff,0x05,0x78,0x7d
-# CHECK: v_cmpx_lt_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xb1,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xb1,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_gt_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x79,0x7d]
+0x01,0xfe,0x79,0x7d
-# CHECK: v_cmpx_eq_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x64,0x7d]
-0x00,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x64,0x7d]
-0x65,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x64,0x7d]
-0x66,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x64,0x7d]
-0x67,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x64,0x7d]
-0x6a,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x64,0x7d]
-0x6b,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x64,0x7d]
-0x6c,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x64,0x7d]
-0x6d,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xbc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x64,0x7d]
-0x6e,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x64,0x7d]
-0x6f,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x64,0x7d]
-0x7b,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x64,0x7d]
-0x7c,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x64,0x7d]
-0x7e,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xbc,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x64,0x7d]
-0x7f,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x64,0x7d]
-0x80,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x64,0x7d]
-0xc1,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x64,0x7d]
-0xf0,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x64,0x7d]
-0xf7,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x64,0x7d]
-0xfd,0x00,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x64,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x64,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x64,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x64,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x64,0x7d]
-0x00,0x01,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x64,0x7d]
-0xff,0x01,0x64,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x65,0x7d]
-0x00,0xfe,0x65,0x7d
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_eq_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_eq_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_eq_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_eq_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_eq_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_eq_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xb2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xb2,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xb2,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xbc,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xbc,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xb2,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xb2,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7a,0x7d]
+0x01,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xb2,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xb2,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7a,0x7d]
+0x65,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xb2,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xb2,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7a,0x7d]
+0x66,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xb2,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xb2,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7a,0x7d]
+0x67,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xb2,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xb2,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7a,0x7d]
+0x6a,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xb2,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xb2,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7a,0x7d]
+0x6b,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xb2,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xb2,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x7a,0x7d]
+0x6c,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xb2,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xb2,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x7a,0x7d]
+0x6d,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xb2,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xb2,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x7a,0x7d]
+0x6e,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xb2,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xb2,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x7a,0x7d]
+0x6f,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xb2,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xb2,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x7a,0x7d]
+0x7b,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xb2,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xb2,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7a,0x7d]
+0x7c,0x04,0x7a,0x7d
-# CHECK: v_cmpx_eq_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xb2,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xb2,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ne_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7a,0x7d]
+0x7e,0x04,0x7a,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x66,0x7d]
-0x00,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7a,0x7d]
+0x7f,0x04,0x7a,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x66,0x7d]
-0x65,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7a,0x7d]
+0x80,0x04,0x7a,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x66,0x7d]
-0x66,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7a,0x7d]
+0xc1,0x04,0x7a,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x66,0x7d]
-0x67,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7a,0x7d]
+0xf0,0x04,0x7a,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x66,0x7d]
-0x6a,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7a,0x7d]
+0xf7,0x04,0x7a,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x66,0x7d]
-0x6b,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7a,0x7d]
+0xfd,0x04,0x7a,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x66,0x7d]
-0x6c,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x7a,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x7a,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x66,0x7d]
-0x6d,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x7a,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x7a,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x66,0x7d]
-0x6e,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7a,0x7d]
+0x01,0x05,0x7a,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x66,0x7d]
-0x6f,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7a,0x7d]
+0xff,0x05,0x7a,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x66,0x7d]
-0x7b,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7b,0x7d]
+0x01,0xfe,0x7b,0x7d
-# CHECK: v_cmpx_le_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x66,0x7d]
-0x7c,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x66,0x7d]
-0x7e,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x66,0x7d]
-0x7f,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x66,0x7d]
-0x80,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x66,0x7d]
-0xc1,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x66,0x7d]
-0xf0,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x66,0x7d]
-0xf7,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x66,0x7d]
-0xfd,0x00,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xbd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x66,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x66,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x66,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x66,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x66,0x7d]
-0x00,0x01,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x66,0x7d]
-0xff,0x01,0x66,0x7d
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_le_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x67,0x7d]
-0x00,0xfe,0x67,0x7d
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xbd,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xb3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xb3,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xb3,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xb3,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xb3,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xb3,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xb3,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xb3,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xb3,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xb3,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xb3,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xb3,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xb3,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xb3,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xb3,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xb3,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xb3,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xb3,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xb3,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xb3,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xb3,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xb3,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xb3,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xb3,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xb3,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ne_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xbd,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xbd,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_le_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xb3,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xb3,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7c,0x7d]
+0x01,0x04,0x7c,0x7d
-# CHECK: v_cmpx_le_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xb3,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xb3,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ge_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7c,0x7d]
+0x65,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x68,0x7d]
-0x00,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7c,0x7d]
+0x66,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x68,0x7d]
-0x65,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7c,0x7d]
+0x67,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x68,0x7d]
-0x66,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7c,0x7d]
+0x6a,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x68,0x7d]
-0x67,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7c,0x7d]
+0x6b,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x68,0x7d]
-0x6a,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x7c,0x7d]
+0x6c,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x68,0x7d]
-0x6b,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x7c,0x7d]
+0x6d,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x68,0x7d]
-0x6c,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x7c,0x7d]
+0x6e,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x68,0x7d]
-0x6d,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x7c,0x7d]
+0x6f,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x68,0x7d]
-0x6e,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x7c,0x7d]
+0x7b,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x68,0x7d]
-0x6f,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7c,0x7d]
+0x7c,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x68,0x7d]
-0x7b,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7c,0x7d]
+0x7e,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x68,0x7d]
-0x7c,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7c,0x7d]
+0x7f,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x68,0x7d]
-0x7e,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7c,0x7d]
+0x80,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x68,0x7d]
-0x7f,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7c,0x7d]
+0xc1,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x68,0x7d]
-0x80,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7c,0x7d]
+0xf0,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x68,0x7d]
-0xc1,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7c,0x7d]
+0xf7,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x68,0x7d]
-0xf0,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7c,0x7d]
+0xfd,0x04,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x68,0x7d]
-0xf7,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x7c,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x7c,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x68,0x7d]
-0xfd,0x00,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x7c,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x7c,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x68,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x68,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7c,0x7d]
+0x01,0x05,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x68,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x68,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7c,0x7d]
+0xff,0x05,0x7c,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x68,0x7d]
-0x00,0x01,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7d,0x7d]
+0x01,0xfe,0x7d,0x7d
-# CHECK: v_cmpx_gt_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x68,0x7d]
-0xff,0x01,0x68,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x69,0x7d]
-0x00,0xfe,0x69,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xbe,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xb4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xb4,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xb4,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xb4,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xb4,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xb4,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xb4,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xbe,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xb4,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xb4,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xb4,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xb4,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xb4,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xb4,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xb4,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xb4,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xb4,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xb4,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xb4,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xb4,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xb4,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xb4,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xb4,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xb4,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xb4,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xb4,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xb4,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xb4,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_gt_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xb4,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xb4,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x6a,0x7d]
-0x00,0x00,0x6a,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x6a,0x7d]
-0x65,0x00,0x6a,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x6a,0x7d]
-0x66,0x00,0x6a,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x6a,0x7d]
-0x67,0x00,0x6a,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x6a,0x7d]
-0x6a,0x00,0x6a,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x6a,0x7d]
-0x6b,0x00,0x6a,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x6a,0x7d]
-0x6c,0x00,0x6a,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x6a,0x7d]
-0x6d,0x00,0x6a,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x6a,0x7d]
-0x6e,0x00,0x6a,0x7d
+# CHECK: v_cmpx_ge_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xbe,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xbe,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_ne_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x6a,0x7d]
-0x6f,0x00,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x7e,0x7d]
+0x01,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x6a,0x7d]
-0x7b,0x00,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x7e,0x7d]
+0x65,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x6a,0x7d]
-0x7c,0x00,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x7e,0x7d]
+0x66,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x6a,0x7d]
-0x7e,0x00,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x7e,0x7d]
+0x67,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x6a,0x7d]
-0x7f,0x00,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x7e,0x7d]
+0x6a,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x6a,0x7d]
-0x80,0x00,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x7e,0x7d]
+0x6b,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x6a,0x7d]
-0xc1,0x00,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x7e,0x7d]
+0x6c,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x6a,0x7d]
-0xf0,0x00,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x7e,0x7d]
+0x6d,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x6a,0x7d]
-0xf7,0x00,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x7e,0x7d]
+0x6e,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x6a,0x7d]
-0xfd,0x00,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x7e,0x7d]
+0x6f,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x6a,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x6a,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x7e,0x7d]
+0x7b,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x6a,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x6a,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x7e,0x7d]
+0x7c,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x6a,0x7d]
-0x00,0x01,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x7e,0x7d]
+0x7e,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x6a,0x7d]
-0xff,0x01,0x6a,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x7e,0x7d]
+0x7f,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x6b,0x7d]
-0x00,0xfe,0x6b,0x7d
+# CHECK: v_cmpx_t_u16_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x7e,0x7d]
+0x80,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x7e,0x7d]
+0xc1,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x7e,0x7d]
+0xf0,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x7e,0x7d]
+0xf7,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x7e,0x7d]
+0xfd,0x04,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, 0xfe0b, v2 ; encoding: [0xff,0x04,0x7e,0x7d,0x0b,0xfe,0x00,0x00]
+0xff,0x04,0x7e,0x7d,0x0b,0xfe,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, 0x3456, v2 ; encoding: [0xff,0x04,0x7e,0x7d,0x56,0x34,0x00,0x00]
+0xff,0x04,0x7e,0x7d,0x56,0x34,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x7e,0x7d]
+0x01,0x05,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xb5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x7e,0x7d]
+0xff,0x05,0x7e,0x7d
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xb5,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xb5,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x7f,0x7d]
+0x01,0xfe,0x7f,0x7d
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xb5,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xb5,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xb5,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xb5,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xb5,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xb5,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xb5,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xb5,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u16_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xb5,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xb5,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_t_u16_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xb5,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xb5,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_t_u16_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xb5,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xb5,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_t_u16_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xb5,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xb5,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_t_u16_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xbf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xb5,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xb5,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_t_u16_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xb5,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xb5,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xb5,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xb5,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_t_u16_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xb5,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xb5,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_ne_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xb5,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xb5,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_t_u16_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xbf,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x6c,0x7d]
-0x00,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x6c,0x7d]
-0x65,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x6c,0x7d]
-0x66,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x6c,0x7d]
-0x67,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x6c,0x7d]
-0x6a,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x6c,0x7d]
-0x6b,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x6c,0x7d]
-0x6c,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x6c,0x7d]
-0x6d,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x6c,0x7d]
-0x6e,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x6c,0x7d]
-0x6f,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x6c,0x7d]
-0x7b,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x6c,0x7d]
-0x7c,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x6c,0x7d]
-0x7e,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x6c,0x7d]
-0x7f,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x6c,0x7d]
-0x80,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x6c,0x7d]
-0xc1,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x6c,0x7d]
-0xf0,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x6c,0x7d]
-0xf7,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x6c,0x7d]
-0xfd,0x00,0x6c,0x7d
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x6c,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x6c,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmpx_t_u16_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xbf,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xbf,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_ge_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x6c,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x6c,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x80,0x7d]
+0x01,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x6c,0x7d]
-0x00,0x01,0x6c,0x7d
+# CHECK: v_cmp_f_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x80,0x7d]
+0x65,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x6c,0x7d]
-0xff,0x01,0x6c,0x7d
+# CHECK: v_cmp_f_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x80,0x7d]
+0x66,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x6d,0x7d]
-0x00,0xfe,0x6d,0x7d
+# CHECK: v_cmp_f_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x80,0x7d]
+0x67,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x80,0x7d]
+0x6a,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x80,0x7d]
+0x6b,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x80,0x7d]
+0x6c,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x80,0x7d]
+0x6d,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x80,0x7d]
+0x6e,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x80,0x7d]
+0x6f,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x80,0x7d]
+0x7b,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xb6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x80,0x7d]
+0x7c,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xb6,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xb6,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x80,0x7d]
+0x7e,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xb6,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xb6,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x80,0x7d]
+0x7f,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xb6,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xb6,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x80,0x7d]
+0x80,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xb6,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xb6,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x80,0x7d]
+0xc1,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xb6,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xb6,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x80,0x7d]
+0xf0,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xb6,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xb6,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x80,0x7d]
+0xf7,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xb6,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xb6,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x80,0x7d]
+0xfd,0x04,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xb6,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xb6,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x80,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x80,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xb6,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xb6,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x80,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x80,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xb6,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xb6,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x80,0x7d]
+0x01,0x05,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xb6,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xb6,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x80,0x7d]
+0xff,0x05,0x80,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xb6,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xb6,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_f_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x81,0x7d]
+0x01,0xfe,0x81,0x7d
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xb6,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xb6,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xb6,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xb6,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_f_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x6e,0x7d]
-0x00,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x6e,0x7d]
-0x65,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x6e,0x7d]
-0x66,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x6e,0x7d]
-0x67,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x6e,0x7d]
-0x6a,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x6e,0x7d]
-0x6b,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xc0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x6e,0x7d]
-0x6c,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x6e,0x7d]
-0x6d,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x6e,0x7d]
-0x6e,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x6e,0x7d]
-0x6f,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x6e,0x7d]
-0x7b,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xc0,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x6e,0x7d]
-0x7c,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x6e,0x7d]
-0x7e,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x6e,0x7d]
-0x7f,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x6e,0x7d]
-0x80,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x6e,0x7d]
-0xc1,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x6e,0x7d]
-0xf0,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x6e,0x7d]
-0xf7,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x6e,0x7d]
-0xfd,0x00,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x6e,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x6e,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x6e,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x6e,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x6e,0x7d]
-0x00,0x01,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x6e,0x7d]
-0xff,0x01,0x6e,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_t_i16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x6f,0x7d]
-0x00,0xfe,0x6f,0x7d
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_t_i16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_t_i16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_t_i16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_t_i16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_t_i16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_t_i16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_t_i16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xc0,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xc0,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_t_i16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xb7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x82,0x7d]
+0x01,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xb7,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xb7,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x82,0x7d]
+0x65,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xb7,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xb7,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x82,0x7d]
+0x66,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xb7,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xb7,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x82,0x7d]
+0x67,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xb7,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xb7,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x82,0x7d]
+0x6a,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xb7,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xb7,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x82,0x7d]
+0x6b,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xb7,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xb7,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x82,0x7d]
+0x6c,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xb7,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xb7,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x82,0x7d]
+0x6d,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xb7,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xb7,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x82,0x7d]
+0x6e,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xb7,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xb7,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x82,0x7d]
+0x6f,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xb7,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xb7,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x82,0x7d]
+0x7b,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xb7,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xb7,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x82,0x7d]
+0x7c,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xb7,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xb7,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x82,0x7d]
+0x7e,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xb7,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xb7,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x82,0x7d]
+0x7f,0x04,0x82,0x7d
-# CHECK: v_cmpx_t_i16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xb7,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xb7,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_lt_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x82,0x7d]
+0x80,0x04,0x82,0x7d
-# CHECK: v_cmpx_f_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x70,0x7d]
-0x00,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x82,0x7d]
+0xc1,0x04,0x82,0x7d
-# CHECK: v_cmpx_f_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x70,0x7d]
-0x65,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x82,0x7d]
+0xf0,0x04,0x82,0x7d
-# CHECK: v_cmpx_f_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x70,0x7d]
-0x66,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x82,0x7d]
+0xf7,0x04,0x82,0x7d
-# CHECK: v_cmpx_f_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x70,0x7d]
-0x67,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x82,0x7d]
+0xfd,0x04,0x82,0x7d
-# CHECK: v_cmpx_f_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x70,0x7d]
-0x6a,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x82,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x82,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_f_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x70,0x7d]
-0x6b,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x82,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x82,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_f_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x70,0x7d]
-0x6c,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x82,0x7d]
+0x01,0x05,0x82,0x7d
-# CHECK: v_cmpx_f_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x70,0x7d]
-0x6d,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x82,0x7d]
+0xff,0x05,0x82,0x7d
-# CHECK: v_cmpx_f_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x70,0x7d]
-0x6e,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x83,0x7d]
+0x01,0xfe,0x83,0x7d
-# CHECK: v_cmpx_f_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x70,0x7d]
-0x6f,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x70,0x7d]
-0x7b,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x70,0x7d]
-0x7c,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x70,0x7d]
-0x7e,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x70,0x7d]
-0x7f,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x70,0x7d]
-0x80,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x70,0x7d]
-0xc1,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x70,0x7d]
-0xf0,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xc1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x70,0x7d]
-0xf7,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x70,0x7d]
-0xfd,0x00,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x70,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x70,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x70,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x70,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x70,0x7d]
-0x00,0x01,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xc1,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x70,0x7d]
-0xff,0x01,0x70,0x7d
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_f_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x71,0x7d]
-0x00,0xfe,0x71,0x7d
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xb8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xb8,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xb8,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xb8,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xb8,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xb8,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xb8,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xb8,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xb8,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xb8,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xb8,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xb8,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xb8,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xb8,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xb8,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xb8,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xb8,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xb8,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xb8,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xb8,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xb8,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xc1,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xc1,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_f_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xb8,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xb8,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x84,0x7d]
+0x01,0x04,0x84,0x7d
-# CHECK: v_cmpx_f_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xb8,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xb8,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_eq_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x84,0x7d]
+0x65,0x04,0x84,0x7d
-# CHECK: v_cmpx_f_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xb8,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xb8,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x84,0x7d]
+0x66,0x04,0x84,0x7d
-# CHECK: v_cmpx_f_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xb8,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xb8,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_eq_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x84,0x7d]
+0x67,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x72,0x7d]
-0x00,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x84,0x7d]
+0x6a,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x72,0x7d]
-0x65,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x84,0x7d]
+0x6b,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x72,0x7d]
-0x66,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x84,0x7d]
+0x6c,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x72,0x7d]
-0x67,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x84,0x7d]
+0x6d,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x72,0x7d]
-0x6a,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x84,0x7d]
+0x6e,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x72,0x7d]
-0x6b,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x84,0x7d]
+0x6f,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x72,0x7d]
-0x6c,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x84,0x7d]
+0x7b,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x72,0x7d]
-0x6d,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x84,0x7d]
+0x7c,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x72,0x7d]
-0x6e,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x84,0x7d]
+0x7e,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x72,0x7d]
-0x6f,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x84,0x7d]
+0x7f,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x72,0x7d]
-0x7b,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x84,0x7d]
+0x80,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x72,0x7d]
-0x7c,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x84,0x7d]
+0xc1,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x72,0x7d]
-0x7e,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x84,0x7d]
+0xf0,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x72,0x7d]
-0x7f,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x84,0x7d]
+0xf7,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x72,0x7d]
-0x80,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x84,0x7d]
+0xfd,0x04,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x72,0x7d]
-0xc1,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x84,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x84,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_lt_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x72,0x7d]
-0xf0,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x84,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x84,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_lt_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x72,0x7d]
-0xf7,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x84,0x7d]
+0x01,0x05,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x72,0x7d]
-0xfd,0x00,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x84,0x7d]
+0xff,0x05,0x84,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x72,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x72,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_eq_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x85,0x7d]
+0x01,0xfe,0x85,0x7d
-# CHECK: v_cmpx_lt_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x72,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x72,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x72,0x7d]
-0x00,0x01,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x72,0x7d]
-0xff,0x01,0x72,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x73,0x7d]
-0x00,0xfe,0x73,0x7d
+# CHECK: v_cmp_eq_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xc2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xb9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xb9,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xb9,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xc2,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xb9,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xb9,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xb9,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xb9,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xb9,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xb9,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xb9,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xb9,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xb9,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xb9,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xb9,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xb9,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xb9,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xb9,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xb9,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xb9,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xb9,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xb9,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xb9,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xb9,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xb9,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xb9,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xb9,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xb9,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_lt_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xb9,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xb9,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x74,0x7d]
-0x00,0x00,0x74,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_eq_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x74,0x7d]
-0x65,0x00,0x74,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_eq_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x74,0x7d]
-0x66,0x00,0x74,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_eq_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x74,0x7d]
-0x67,0x00,0x74,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_eq_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x74,0x7d]
-0x6a,0x00,0x74,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_eq_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x74,0x7d]
-0x6b,0x00,0x74,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_eq_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x74,0x7d]
-0x6c,0x00,0x74,0x7d
+# CHECK: v_cmp_eq_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xc2,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xc2,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_eq_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x74,0x7d]
-0x6d,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x86,0x7d]
+0x01,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x74,0x7d]
-0x6e,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x86,0x7d]
+0x65,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x74,0x7d]
-0x6f,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x86,0x7d]
+0x66,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x74,0x7d]
-0x7b,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x86,0x7d]
+0x67,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x74,0x7d]
-0x7c,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x86,0x7d]
+0x6a,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x74,0x7d]
-0x7e,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x86,0x7d]
+0x6b,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x74,0x7d]
-0x7f,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x86,0x7d]
+0x6c,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x74,0x7d]
-0x80,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x86,0x7d]
+0x6d,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x74,0x7d]
-0xc1,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x86,0x7d]
+0x6e,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x74,0x7d]
-0xf0,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x86,0x7d]
+0x6f,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x74,0x7d]
-0xf7,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x86,0x7d]
+0x7b,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x74,0x7d]
-0xfd,0x00,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x86,0x7d]
+0x7c,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x74,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x74,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_le_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x86,0x7d]
+0x7e,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x74,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x74,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_le_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x86,0x7d]
+0x7f,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x74,0x7d]
-0x00,0x01,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x86,0x7d]
+0x80,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x74,0x7d]
-0xff,0x01,0x74,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x86,0x7d]
+0xc1,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x75,0x7d]
-0x00,0xfe,0x75,0x7d
+# CHECK: v_cmp_le_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x86,0x7d]
+0xf0,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xba,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xba,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x86,0x7d]
+0xf7,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xba,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xba,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x86,0x7d]
+0xfd,0x04,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xba,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xba,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x86,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x86,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_eq_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xba,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xba,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x86,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x86,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_eq_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xba,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xba,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x86,0x7d]
+0x01,0x05,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xba,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xba,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x86,0x7d]
+0xff,0x05,0x86,0x7d
-# CHECK: v_cmpx_eq_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xba,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xba,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x87,0x7d]
+0x01,0xfe,0x87,0x7d
-# CHECK: v_cmpx_eq_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xba,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xba,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xba,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xba,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xba,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xba,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xba,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xba,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xba,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xba,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xba,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xba,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_le_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xba,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xba,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xba,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xba,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_le_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xc3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xba,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xba,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xba,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xba,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xba,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xba,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xba,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xba,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xba,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xba,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_le_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xc3,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xba,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xba,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_eq_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xba,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xba,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x76,0x7d]
-0x00,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x76,0x7d]
-0x65,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x76,0x7d]
-0x66,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x76,0x7d]
-0x67,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x76,0x7d]
-0x6a,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x76,0x7d]
-0x6b,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x76,0x7d]
-0x6c,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x76,0x7d]
-0x6d,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x76,0x7d]
-0x6e,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x76,0x7d]
-0x6f,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x76,0x7d]
-0x7b,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x76,0x7d]
-0x7c,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x76,0x7d]
-0x7e,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x76,0x7d]
-0x7f,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x76,0x7d]
-0x80,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x76,0x7d]
-0xc1,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x76,0x7d]
-0xf0,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x76,0x7d]
-0xf7,0x00,0x76,0x7d
+# CHECK: v_cmp_le_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xc3,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xc3,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_le_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x76,0x7d]
-0xfd,0x00,0x76,0x7d
+# CHECK: v_cmp_gt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x88,0x7d]
+0x01,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x76,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x76,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x88,0x7d]
+0x65,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x76,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x76,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x88,0x7d]
+0x66,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x76,0x7d]
-0x00,0x01,0x76,0x7d
+# CHECK: v_cmp_gt_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x88,0x7d]
+0x67,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x76,0x7d]
-0xff,0x01,0x76,0x7d
+# CHECK: v_cmp_gt_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x88,0x7d]
+0x6a,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x77,0x7d]
-0x00,0xfe,0x77,0x7d
+# CHECK: v_cmp_gt_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x88,0x7d]
+0x6b,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x88,0x7d]
+0x6c,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x88,0x7d]
+0x6d,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x88,0x7d]
+0x6e,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x88,0x7d]
+0x6f,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x88,0x7d]
+0x7b,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x88,0x7d]
+0x7c,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x88,0x7d]
+0x7e,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xbb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x88,0x7d]
+0x7f,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xbb,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xbb,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x88,0x7d]
+0x80,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xbb,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xbb,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x88,0x7d]
+0xc1,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xbb,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xbb,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x88,0x7d]
+0xf0,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xbb,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xbb,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x88,0x7d]
+0xf7,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xbb,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xbb,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x88,0x7d]
+0xfd,0x04,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xbb,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xbb,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x88,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x88,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_le_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xbb,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xbb,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x88,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x88,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_le_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xbb,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xbb,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x88,0x7d]
+0x01,0x05,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xbb,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xbb,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x88,0x7d]
+0xff,0x05,0x88,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xbb,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xbb,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x89,0x7d]
+0x01,0xfe,0x89,0x7d
-# CHECK: v_cmpx_le_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xbb,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xbb,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xbb,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xbb,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_gt_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xbb,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xbb,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xbb,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xbb,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_gt_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x78,0x7d]
-0x00,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x78,0x7d]
-0x65,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x78,0x7d]
-0x66,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x78,0x7d]
-0x67,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xc4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x78,0x7d]
-0x6a,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x78,0x7d]
-0x6b,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x78,0x7d]
-0x6c,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x78,0x7d]
-0x6d,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x78,0x7d]
-0x6e,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xc4,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x78,0x7d]
-0x6f,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x78,0x7d]
-0x7b,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x78,0x7d]
-0x7c,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x78,0x7d]
-0x7e,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x78,0x7d]
-0x7f,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x78,0x7d]
-0x80,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x78,0x7d]
-0xc1,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x78,0x7d]
-0xf0,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x78,0x7d]
-0xf7,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x78,0x7d]
-0xfd,0x00,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x78,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x78,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x78,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x78,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x78,0x7d]
-0x00,0x01,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x78,0x7d]
-0xff,0x01,0x78,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_gt_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x79,0x7d]
-0x00,0xfe,0x79,0x7d
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_gt_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_gt_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_gt_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_gt_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xc4,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xc4,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_gt_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8a,0x7d]
+0x01,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8a,0x7d]
+0x65,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xbc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8a,0x7d]
+0x66,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xbc,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xbc,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8a,0x7d]
+0x67,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xbc,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xbc,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8a,0x7d]
+0x6a,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xbc,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xbc,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8a,0x7d]
+0x6b,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xbc,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xbc,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x8a,0x7d]
+0x6c,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xbc,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xbc,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x8a,0x7d]
+0x6d,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xbc,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xbc,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x8a,0x7d]
+0x6e,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xbc,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xbc,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x8a,0x7d]
+0x6f,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xbc,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xbc,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x8a,0x7d]
+0x7b,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xbc,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xbc,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8a,0x7d]
+0x7c,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xbc,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xbc,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8a,0x7d]
+0x7e,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xbc,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xbc,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8a,0x7d]
+0x7f,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xbc,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xbc,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8a,0x7d]
+0x80,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xbc,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xbc,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8a,0x7d]
+0xc1,0x04,0x8a,0x7d
-# CHECK: v_cmpx_gt_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xbc,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xbc,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ne_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8a,0x7d]
+0xf0,0x04,0x8a,0x7d
-# CHECK: v_cmpx_ne_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x7a,0x7d]
-0x00,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8a,0x7d]
+0xf7,0x04,0x8a,0x7d
-# CHECK: v_cmpx_ne_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x7a,0x7d]
-0x65,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8a,0x7d]
+0xfd,0x04,0x8a,0x7d
-# CHECK: v_cmpx_ne_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x7a,0x7d]
-0x66,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x8a,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8a,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ne_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x7a,0x7d]
-0x67,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x8a,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8a,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ne_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x7a,0x7d]
-0x6a,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8a,0x7d]
+0x01,0x05,0x8a,0x7d
-# CHECK: v_cmpx_ne_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x7a,0x7d]
-0x6b,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8a,0x7d]
+0xff,0x05,0x8a,0x7d
-# CHECK: v_cmpx_ne_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x7a,0x7d]
-0x6c,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8b,0x7d]
+0x01,0xfe,0x8b,0x7d
-# CHECK: v_cmpx_ne_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x7a,0x7d]
-0x6d,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x7a,0x7d]
-0x6e,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x7a,0x7d]
-0x6f,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x7a,0x7d]
-0x7b,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x7a,0x7d]
-0x7c,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x7a,0x7d]
-0x7e,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x7a,0x7d]
-0x7f,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x7a,0x7d]
-0x80,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xc5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x7a,0x7d]
-0xc1,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x7a,0x7d]
-0xf0,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x7a,0x7d]
-0xf7,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x7a,0x7d]
-0xfd,0x00,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x7a,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x7a,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xc5,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x7a,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x7a,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x7a,0x7d]
-0x00,0x01,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x7a,0x7d]
-0xff,0x01,0x7a,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x7b,0x7d]
-0x00,0xfe,0x7b,0x7d
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xbd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xbd,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xbd,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xbd,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xbd,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xbd,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xbd,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xbd,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xbd,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xbd,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xbd,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xbd,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xbd,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xbd,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xbd,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xbd,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xbd,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ne_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xc5,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xc5,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xbd,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xbd,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8c,0x7d]
+0x01,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xbd,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xbd,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8c,0x7d]
+0x65,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xbd,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xbd,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8c,0x7d]
+0x66,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xbd,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xbd,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ge_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8c,0x7d]
+0x67,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xbd,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xbd,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8c,0x7d]
+0x6a,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ne_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xbd,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xbd,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ge_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8c,0x7d]
+0x6b,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x7c,0x7d]
-0x00,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x8c,0x7d]
+0x6c,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x7c,0x7d]
-0x65,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x8c,0x7d]
+0x6d,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x7c,0x7d]
-0x66,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x8c,0x7d]
+0x6e,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x7c,0x7d]
-0x67,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x8c,0x7d]
+0x6f,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x7c,0x7d]
-0x6a,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x8c,0x7d]
+0x7b,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x7c,0x7d]
-0x6b,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8c,0x7d]
+0x7c,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x7c,0x7d]
-0x6c,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8c,0x7d]
+0x7e,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x7c,0x7d]
-0x6d,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8c,0x7d]
+0x7f,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x7c,0x7d]
-0x6e,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8c,0x7d]
+0x80,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x7c,0x7d]
-0x6f,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8c,0x7d]
+0xc1,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x7c,0x7d]
-0x7b,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8c,0x7d]
+0xf0,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x7c,0x7d]
-0x7c,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8c,0x7d]
+0xf7,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x7c,0x7d]
-0x7e,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8c,0x7d]
+0xfd,0x04,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x7c,0x7d]
-0x7f,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x8c,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8c,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ge_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x7c,0x7d]
-0x80,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x8c,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8c,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ge_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x7c,0x7d]
-0xc1,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8c,0x7d]
+0x01,0x05,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x7c,0x7d]
-0xf0,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8c,0x7d]
+0xff,0x05,0x8c,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x7c,0x7d]
-0xf7,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8d,0x7d]
+0x01,0xfe,0x8d,0x7d
-# CHECK: v_cmpx_ge_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x7c,0x7d]
-0xfd,0x00,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x7c,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x7c,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x7c,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x7c,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x7c,0x7d]
-0x00,0x01,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x7c,0x7d]
-0xff,0x01,0x7c,0x7d
+# CHECK: v_cmp_ge_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x7d,0x7d]
-0x00,0xfe,0x7d,0x7d
+# CHECK: v_cmp_ge_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xc6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xc6,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xbe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xbe,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xbe,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xbe,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xbe,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xbe,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xbe,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xbe,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xbe,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xbe,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xbe,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xbe,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xbe,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xbe,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xbe,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xbe,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xbe,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xbe,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xbe,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xbe,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xbe,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xbe,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xbe,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xbe,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xbe,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xbe,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xbe,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ge_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xbe,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xbe,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_t_u16_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x7e,0x7d]
-0x00,0x00,0x7e,0x7d
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_t_u16_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x7e,0x7d]
-0x65,0x00,0x7e,0x7d
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_t_u16_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x7e,0x7d]
-0x66,0x00,0x7e,0x7d
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_t_u16_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x7e,0x7d]
-0x67,0x00,0x7e,0x7d
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_t_u16_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x7e,0x7d]
-0x6a,0x00,0x7e,0x7d
+# CHECK: v_cmp_ge_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xc6,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xc6,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_t_u16_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x7e,0x7d]
-0x6b,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x8e,0x7d]
+0x01,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x7e,0x7d]
-0x6c,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x8e,0x7d]
+0x65,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x7e,0x7d]
-0x6d,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x8e,0x7d]
+0x66,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x7e,0x7d]
-0x6e,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x8e,0x7d]
+0x67,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x7e,0x7d]
-0x6f,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x8e,0x7d]
+0x6a,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x7e,0x7d]
-0x7b,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x8e,0x7d]
+0x6b,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x7e,0x7d]
-0x7c,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x8e,0x7d]
+0x6c,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x7e,0x7d]
-0x7e,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x8e,0x7d]
+0x6d,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x7e,0x7d]
-0x7f,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x8e,0x7d]
+0x6e,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x7e,0x7d]
-0x80,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x8e,0x7d]
+0x6f,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x7e,0x7d]
-0xc1,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x8e,0x7d]
+0x7b,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x7e,0x7d]
-0xf0,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x8e,0x7d]
+0x7c,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x7e,0x7d]
-0xf7,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x8e,0x7d]
+0x7e,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x7e,0x7d]
-0xfd,0x00,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x8e,0x7d]
+0x7f,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, 0xfe0b, v0 ; encoding: [0xff,0x00,0x7e,0x7d,0x0b,0xfe,0x00,0x00]
-0xff,0x00,0x7e,0x7d,0x0b,0xfe,0x00,0x00
+# CHECK: v_cmp_t_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x8e,0x7d]
+0x80,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, 0x3456, v0 ; encoding: [0xff,0x00,0x7e,0x7d,0x56,0x34,0x00,0x00]
-0xff,0x00,0x7e,0x7d,0x56,0x34,0x00,0x00
+# CHECK: v_cmp_t_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x8e,0x7d]
+0xc1,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x7e,0x7d]
-0x00,0x01,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x8e,0x7d]
+0xf0,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x7e,0x7d]
-0xff,0x01,0x7e,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x8e,0x7d]
+0xf7,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x7f,0x7d]
-0x00,0xfe,0x7f,0x7d
+# CHECK: v_cmp_t_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x8e,0x7d]
+0xfd,0x04,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x8e,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x8e,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_t_u16_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x8e,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x8e,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_t_u16_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x8e,0x7d]
+0x01,0x05,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x8e,0x7d]
+0xff,0x05,0x8e,0x7d
-# CHECK: v_cmpx_t_u16_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x8f,0x7d]
+0x01,0xfe,0x8f,0x7d
-# CHECK: v_cmpx_t_u16_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xbf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xbf,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xbf,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xbf,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xbf,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xbf,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xbf,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xbf,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xbf,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xbf,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xbf,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_t_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xc7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xbf,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xbf,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_t_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xbf,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xbf,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xbf,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xbf,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_t_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xbf,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xbf,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_t_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xbf,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xbf,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_t_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xc7,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xbf,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xbf,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xbf,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xbf,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xbf,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xbf,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_t_u16_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xbf,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xbf,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x80,0x7d]
-0x00,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x80,0x7d]
-0x65,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x80,0x7d]
-0x66,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x80,0x7d]
-0x67,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x80,0x7d]
-0x6a,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x80,0x7d]
-0x6b,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x80,0x7d]
-0x6c,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x80,0x7d]
-0x6d,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x80,0x7d]
-0x6e,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x80,0x7d]
-0x6f,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x80,0x7d]
-0x7b,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x80,0x7d]
-0x7c,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x80,0x7d]
-0x7e,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x80,0x7d]
-0x7f,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x80,0x7d]
-0x80,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x80,0x7d]
-0xc1,0x00,0x80,0x7d
+# CHECK: v_cmp_t_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xc7,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xc7,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_f_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x80,0x7d]
-0xf0,0x00,0x80,0x7d
+# CHECK: v_cmp_f_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x90,0x7d]
+0x01,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x80,0x7d]
-0xf7,0x00,0x80,0x7d
+# CHECK: v_cmp_f_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x90,0x7d]
+0x65,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x80,0x7d]
-0xfd,0x00,0x80,0x7d
+# CHECK: v_cmp_f_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x90,0x7d]
+0x66,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x80,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x80,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_f_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x90,0x7d]
+0x67,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x80,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x80,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_f_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x90,0x7d]
+0x6a,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x80,0x7d]
-0x00,0x01,0x80,0x7d
+# CHECK: v_cmp_f_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x90,0x7d]
+0x6b,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x80,0x7d]
-0xff,0x01,0x80,0x7d
+# CHECK: v_cmp_f_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x90,0x7d]
+0x6c,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x81,0x7d]
-0x00,0xfe,0x81,0x7d
+# CHECK: v_cmp_f_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x90,0x7d]
+0x6d,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x90,0x7d]
+0x6e,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x90,0x7d]
+0x6f,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x90,0x7d]
+0x7b,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x90,0x7d]
+0x7c,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x90,0x7d]
+0x7e,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x90,0x7d]
+0x7f,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x90,0x7d]
+0x80,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xc0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x90,0x7d]
+0xc1,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xc0,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x90,0x7d]
+0xf0,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xc0,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x90,0x7d]
+0xf7,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xc0,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x90,0x7d]
+0xfd,0x04,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xc0,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x90,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x90,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_f_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xc0,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc0,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x90,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x90,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_f_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xc0,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc0,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x90,0x7d]
+0x01,0x05,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xc0,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc0,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x90,0x7d]
+0xff,0x05,0x90,0x7d
-# CHECK: v_cmp_f_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xc0,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc0,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_f_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x91,0x7d]
+0x01,0xfe,0x91,0x7d
-# CHECK: v_cmp_f_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xc0,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc0,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xc0,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc0,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_f_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xc0,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc0,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_f_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xc0,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc0,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_f_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xc0,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc0,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_f_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xc0,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc0,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_f_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x82,0x7d]
-0x00,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x82,0x7d]
-0x65,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xc8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x82,0x7d]
-0x66,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x82,0x7d]
-0x67,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x82,0x7d]
-0x6a,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x82,0x7d]
-0x6b,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x82,0x7d]
-0x6c,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xc8,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x82,0x7d]
-0x6d,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x82,0x7d]
-0x6e,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x82,0x7d]
-0x6f,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x82,0x7d]
-0x7b,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x82,0x7d]
-0x7c,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x82,0x7d]
-0x7e,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x82,0x7d]
-0x7f,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x82,0x7d]
-0x80,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x82,0x7d]
-0xc1,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x82,0x7d]
-0xf0,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x82,0x7d]
-0xf7,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x82,0x7d]
-0xfd,0x00,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x82,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x82,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x82,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x82,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x82,0x7d]
-0x00,0x01,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x82,0x7d]
-0xff,0x01,0x82,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_lt_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x83,0x7d]
-0x00,0xfe,0x83,0x7d
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_lt_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_lt_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_lt_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xc8,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xc8,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_lt_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x92,0x7d]
+0x01,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x92,0x7d]
+0x65,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x92,0x7d]
+0x66,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x92,0x7d]
+0x67,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xc1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x92,0x7d]
+0x6a,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xc1,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x92,0x7d]
+0x6b,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xc1,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x92,0x7d]
+0x6c,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xc1,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x92,0x7d]
+0x6d,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xc1,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x92,0x7d]
+0x6e,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xc1,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc1,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x92,0x7d]
+0x6f,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xc1,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc1,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x92,0x7d]
+0x7b,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xc1,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc1,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x92,0x7d]
+0x7c,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xc1,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc1,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x92,0x7d]
+0x7e,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xc1,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc1,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x92,0x7d]
+0x7f,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xc1,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc1,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x92,0x7d]
+0x80,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xc1,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc1,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x92,0x7d]
+0xc1,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xc1,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc1,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x92,0x7d]
+0xf0,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xc1,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc1,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x92,0x7d]
+0xf7,0x04,0x92,0x7d
-# CHECK: v_cmp_lt_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xc1,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc1,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_lt_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x92,0x7d]
+0xfd,0x04,0x92,0x7d
-# CHECK: v_cmp_eq_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x84,0x7d]
-0x00,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x92,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x92,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_eq_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x84,0x7d]
-0x65,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x92,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x92,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_eq_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x84,0x7d]
-0x66,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x92,0x7d]
+0x01,0x05,0x92,0x7d
-# CHECK: v_cmp_eq_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x84,0x7d]
-0x67,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x92,0x7d]
+0xff,0x05,0x92,0x7d
-# CHECK: v_cmp_eq_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x84,0x7d]
-0x6a,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x93,0x7d]
+0x01,0xfe,0x93,0x7d
-# CHECK: v_cmp_eq_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x84,0x7d]
-0x6b,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x84,0x7d]
-0x6c,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x84,0x7d]
-0x6d,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x84,0x7d]
-0x6e,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x84,0x7d]
-0x6f,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x84,0x7d]
-0x7b,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x84,0x7d]
-0x7c,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x84,0x7d]
-0x7e,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xc9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x84,0x7d]
-0x7f,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x84,0x7d]
-0x80,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x84,0x7d]
-0xc1,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x84,0x7d]
-0xf0,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x84,0x7d]
-0xf7,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xc9,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x84,0x7d]
-0xfd,0x00,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x84,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x84,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x84,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x84,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x84,0x7d]
-0x00,0x01,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x84,0x7d]
-0xff,0x01,0x84,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_eq_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x85,0x7d]
-0x00,0xfe,0x85,0x7d
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_eq_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_eq_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_eq_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_eq_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_eq_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_eq_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_eq_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_eq_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xc2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_eq_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xc2,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_eq_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xc2,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_eq_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xc2,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_eq_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xc2,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_eq_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xc2,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc2,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_eq_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xc2,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc2,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xc9,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xc9,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_eq_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xc2,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc2,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_eq_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x94,0x7d]
+0x01,0x04,0x94,0x7d
-# CHECK: v_cmp_eq_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xc2,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc2,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x94,0x7d]
+0x65,0x04,0x94,0x7d
-# CHECK: v_cmp_eq_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xc2,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc2,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x94,0x7d]
+0x66,0x04,0x94,0x7d
-# CHECK: v_cmp_eq_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xc2,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc2,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x94,0x7d]
+0x67,0x04,0x94,0x7d
-# CHECK: v_cmp_eq_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xc2,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc2,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x94,0x7d]
+0x6a,0x04,0x94,0x7d
-# CHECK: v_cmp_eq_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xc2,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc2,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_eq_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x94,0x7d]
+0x6b,0x04,0x94,0x7d
-# CHECK: v_cmp_eq_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xc2,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc2,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x94,0x7d]
+0x6c,0x04,0x94,0x7d
-# CHECK: v_cmp_eq_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xc2,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc2,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_eq_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x94,0x7d]
+0x6d,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x86,0x7d]
-0x00,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x94,0x7d]
+0x6e,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x86,0x7d]
-0x65,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x94,0x7d]
+0x6f,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x86,0x7d]
-0x66,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x94,0x7d]
+0x7b,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x86,0x7d]
-0x67,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x94,0x7d]
+0x7c,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x86,0x7d]
-0x6a,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x94,0x7d]
+0x7e,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x86,0x7d]
-0x6b,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x94,0x7d]
+0x7f,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x86,0x7d]
-0x6c,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x94,0x7d]
+0x80,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x86,0x7d]
-0x6d,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x94,0x7d]
+0xc1,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x86,0x7d]
-0x6e,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x94,0x7d]
+0xf0,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x86,0x7d]
-0x6f,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x94,0x7d]
+0xf7,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x86,0x7d]
-0x7b,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x94,0x7d]
+0xfd,0x04,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x86,0x7d]
-0x7c,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x94,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x94,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_le_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x86,0x7d]
-0x7e,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x94,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x94,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_le_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x86,0x7d]
-0x7f,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x94,0x7d]
+0x01,0x05,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x86,0x7d]
-0x80,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x94,0x7d]
+0xff,0x05,0x94,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x86,0x7d]
-0xc1,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x95,0x7d]
+0x01,0xfe,0x95,0x7d
-# CHECK: v_cmp_le_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x86,0x7d]
-0xf0,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x86,0x7d]
-0xf7,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xca,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x86,0x7d]
-0xfd,0x00,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xca,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x86,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x86,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_eq_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xca,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x86,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x86,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_eq_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xca,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x86,0x7d]
-0x00,0x01,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xca,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x86,0x7d]
-0xff,0x01,0x86,0x7d
+# CHECK: v_cmp_eq_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xca,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x87,0x7d]
-0x00,0xfe,0x87,0x7d
+# CHECK: v_cmp_eq_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xca,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xca,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xca,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xca,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xca,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xca,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xca,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xc3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xc3,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xc3,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xc3,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xc3,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xc3,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc3,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xc3,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc3,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xc3,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc3,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xc3,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc3,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xc3,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc3,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xc3,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc3,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xc3,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc3,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xc3,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc3,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xc3,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc3,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_le_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xc3,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc3,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_gt_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x88,0x7d]
-0x00,0x00,0x88,0x7d
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_gt_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x88,0x7d]
-0x65,0x00,0x88,0x7d
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_gt_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x88,0x7d]
-0x66,0x00,0x88,0x7d
+# CHECK: v_cmp_eq_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xca,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xca,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_gt_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x88,0x7d]
-0x67,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x96,0x7d]
+0x01,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x88,0x7d]
-0x6a,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x96,0x7d]
+0x65,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x88,0x7d]
-0x6b,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x96,0x7d]
+0x66,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x88,0x7d]
-0x6c,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x96,0x7d]
+0x67,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x88,0x7d]
-0x6d,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x96,0x7d]
+0x6a,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x88,0x7d]
-0x6e,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x96,0x7d]
+0x6b,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x88,0x7d]
-0x6f,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x96,0x7d]
+0x6c,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x88,0x7d]
-0x7b,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x96,0x7d]
+0x6d,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x88,0x7d]
-0x7c,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x96,0x7d]
+0x6e,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x88,0x7d]
-0x7e,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x96,0x7d]
+0x6f,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x88,0x7d]
-0x7f,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x96,0x7d]
+0x7b,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x88,0x7d]
-0x80,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x96,0x7d]
+0x7c,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x88,0x7d]
-0xc1,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x96,0x7d]
+0x7e,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x88,0x7d]
-0xf0,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x96,0x7d]
+0x7f,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x88,0x7d]
-0xf7,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x96,0x7d]
+0x80,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x88,0x7d]
-0xfd,0x00,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x96,0x7d]
+0xc1,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x88,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x88,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_le_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x96,0x7d]
+0xf0,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x88,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x88,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_le_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x96,0x7d]
+0xf7,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x88,0x7d]
-0x00,0x01,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x96,0x7d]
+0xfd,0x04,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x88,0x7d]
-0xff,0x01,0x88,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x96,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x96,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_gt_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x89,0x7d]
-0x00,0xfe,0x89,0x7d
+# CHECK: v_cmp_le_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x96,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x96,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_gt_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x96,0x7d]
+0x01,0x05,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x96,0x7d]
+0xff,0x05,0x96,0x7d
-# CHECK: v_cmp_gt_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x97,0x7d]
+0x01,0xfe,0x97,0x7d
-# CHECK: v_cmp_gt_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xc4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xc4,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xc4,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xc4,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xcb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xc4,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xc4,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc4,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xc4,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc4,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xc4,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc4,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xc4,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc4,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xcb,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xc4,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc4,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xc4,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc4,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xc4,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc4,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xc4,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc4,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xc4,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc4,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_gt_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xc4,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc4,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x8a,0x7d]
-0x00,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x8a,0x7d]
-0x65,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x8a,0x7d]
-0x66,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x8a,0x7d]
-0x67,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x8a,0x7d]
-0x6a,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x8a,0x7d]
-0x6b,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x8a,0x7d]
-0x6c,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x8a,0x7d]
-0x6d,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x8a,0x7d]
-0x6e,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x8a,0x7d]
-0x6f,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x8a,0x7d]
-0x7b,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x8a,0x7d]
-0x7c,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x8a,0x7d]
-0x7e,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x8a,0x7d]
-0x7f,0x00,0x8a,0x7d
+# CHECK: v_cmp_le_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xcb,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xcb,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_ne_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x8a,0x7d]
-0x80,0x00,0x8a,0x7d
+# CHECK: v_cmp_gt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x98,0x7d]
+0x01,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x8a,0x7d]
-0xc1,0x00,0x8a,0x7d
+# CHECK: v_cmp_gt_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x98,0x7d]
+0x65,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x8a,0x7d]
-0xf0,0x00,0x8a,0x7d
+# CHECK: v_cmp_gt_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x98,0x7d]
+0x66,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x8a,0x7d]
-0xf7,0x00,0x8a,0x7d
+# CHECK: v_cmp_gt_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x98,0x7d]
+0x67,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x8a,0x7d]
-0xfd,0x00,0x8a,0x7d
+# CHECK: v_cmp_gt_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x98,0x7d]
+0x6a,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x8a,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x8a,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_gt_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x98,0x7d]
+0x6b,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x8a,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x8a,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_gt_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x98,0x7d]
+0x6c,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x8a,0x7d]
-0x00,0x01,0x8a,0x7d
+# CHECK: v_cmp_gt_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x98,0x7d]
+0x6d,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x8a,0x7d]
-0xff,0x01,0x8a,0x7d
+# CHECK: v_cmp_gt_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x98,0x7d]
+0x6e,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x8b,0x7d]
-0x00,0xfe,0x8b,0x7d
+# CHECK: v_cmp_gt_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x98,0x7d]
+0x6f,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x98,0x7d]
+0x7b,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x98,0x7d]
+0x7c,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x98,0x7d]
+0x7e,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x98,0x7d]
+0x7f,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x98,0x7d]
+0x80,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x98,0x7d]
+0xc1,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x98,0x7d]
+0xf0,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xc5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x98,0x7d]
+0xf7,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xc5,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x98,0x7d]
+0xfd,0x04,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xc5,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x98,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x98,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ne_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xc5,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x98,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x98,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ne_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xc5,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x98,0x7d]
+0x01,0x05,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xc5,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc5,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x98,0x7d]
+0xff,0x05,0x98,0x7d
-# CHECK: v_cmp_ne_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xc5,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc5,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x99,0x7d]
+0x01,0xfe,0x99,0x7d
-# CHECK: v_cmp_ne_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xc5,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc5,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xc5,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc5,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xc5,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc5,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xc5,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc5,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xc5,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc5,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xc5,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc5,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_gt_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xc5,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc5,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xc5,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc5,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_gt_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xcc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x8c,0x7d]
-0x00,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x8c,0x7d]
-0x65,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x8c,0x7d]
-0x66,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x8c,0x7d]
-0x67,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x8c,0x7d]
-0x6a,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xcc,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x8c,0x7d]
-0x6b,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x8c,0x7d]
-0x6c,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x8c,0x7d]
-0x6d,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x8c,0x7d]
-0x6e,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x8c,0x7d]
-0x6f,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x8c,0x7d]
-0x7b,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x8c,0x7d]
-0x7c,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x8c,0x7d]
-0x7e,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x8c,0x7d]
-0x7f,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x8c,0x7d]
-0x80,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x8c,0x7d]
-0xc1,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x8c,0x7d]
-0xf0,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x8c,0x7d]
-0xf7,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x8c,0x7d]
-0xfd,0x00,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x8c,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x8c,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x8c,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x8c,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x8c,0x7d]
-0x00,0x01,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x8c,0x7d]
-0xff,0x01,0x8c,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ge_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x8d,0x7d]
-0x00,0xfe,0x8d,0x7d
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ge_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xcc,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xcc,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_ge_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9a,0x7d]
+0x01,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9a,0x7d]
+0x65,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9a,0x7d]
+0x66,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9a,0x7d]
+0x67,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9a,0x7d]
+0x6a,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9a,0x7d]
+0x6b,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xc6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x9a,0x7d]
+0x6c,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xc6,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x9a,0x7d]
+0x6d,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xc6,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x9a,0x7d]
+0x6e,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xc6,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x9a,0x7d]
+0x6f,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xc6,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x9a,0x7d]
+0x7b,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xc6,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc6,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9a,0x7d]
+0x7c,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xc6,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc6,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9a,0x7d]
+0x7e,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xc6,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc6,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9a,0x7d]
+0x7f,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xc6,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc6,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9a,0x7d]
+0x80,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xc6,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc6,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9a,0x7d]
+0xc1,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xc6,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc6,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9a,0x7d]
+0xf0,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xc6,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc6,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9a,0x7d]
+0xf7,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xc6,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc6,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9a,0x7d]
+0xfd,0x04,0x9a,0x7d
-# CHECK: v_cmp_ge_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xc6,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc6,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x9a,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x9a,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ge_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xc6,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc6,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ne_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x9a,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x9a,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_t_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x8e,0x7d]
-0x00,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9a,0x7d]
+0x01,0x05,0x9a,0x7d
-# CHECK: v_cmp_t_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x8e,0x7d]
-0x65,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9a,0x7d]
+0xff,0x05,0x9a,0x7d
-# CHECK: v_cmp_t_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x8e,0x7d]
-0x66,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9b,0x7d]
+0x01,0xfe,0x9b,0x7d
-# CHECK: v_cmp_t_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x8e,0x7d]
-0x67,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x8e,0x7d]
-0x6a,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x8e,0x7d]
-0x6b,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x8e,0x7d]
-0x6c,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x8e,0x7d]
-0x6d,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x8e,0x7d]
-0x6e,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x8e,0x7d]
-0x6f,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x8e,0x7d]
-0x7b,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xcd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x8e,0x7d]
-0x7c,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x8e,0x7d]
-0x7e,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x8e,0x7d]
-0x7f,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x8e,0x7d]
-0x80,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x8e,0x7d]
-0xc1,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xcd,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x8e,0x7d]
-0xf0,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x8e,0x7d]
-0xf7,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x8e,0x7d]
-0xfd,0x00,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x8e,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x8e,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x8e,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x8e,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x8e,0x7d]
-0x00,0x01,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x8e,0x7d]
-0xff,0x01,0x8e,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_t_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x8f,0x7d]
-0x00,0xfe,0x8f,0x7d
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_t_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_t_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_t_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_t_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_t_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_t_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_t_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_t_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xc7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_t_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xc7,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_t_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xc7,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_t_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xc7,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_t_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xc7,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xcd,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xcd,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_t_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xc7,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc7,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9c,0x7d]
+0x01,0x04,0x9c,0x7d
-# CHECK: v_cmp_t_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xc7,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc7,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9c,0x7d]
+0x65,0x04,0x9c,0x7d
-# CHECK: v_cmp_t_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xc7,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc7,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ge_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9c,0x7d]
+0x66,0x04,0x9c,0x7d
-# CHECK: v_cmp_t_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xc7,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc7,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9c,0x7d]
+0x67,0x04,0x9c,0x7d
-# CHECK: v_cmp_t_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xc7,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc7,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9c,0x7d]
+0x6a,0x04,0x9c,0x7d
-# CHECK: v_cmp_t_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xc7,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc7,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9c,0x7d]
+0x6b,0x04,0x9c,0x7d
-# CHECK: v_cmp_t_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xc7,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc7,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x9c,0x7d]
+0x6c,0x04,0x9c,0x7d
-# CHECK: v_cmp_t_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xc7,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc7,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ge_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x9c,0x7d]
+0x6d,0x04,0x9c,0x7d
-# CHECK: v_cmp_t_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xc7,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc7,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x9c,0x7d]
+0x6e,0x04,0x9c,0x7d
-# CHECK: v_cmp_t_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xc7,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc7,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ge_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x9c,0x7d]
+0x6f,0x04,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x90,0x7d]
-0x00,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x9c,0x7d]
+0x7b,0x04,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x90,0x7d]
-0x65,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9c,0x7d]
+0x7c,0x04,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x90,0x7d]
-0x66,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9c,0x7d]
+0x7e,0x04,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x90,0x7d]
-0x67,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9c,0x7d]
+0x7f,0x04,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x90,0x7d]
-0x6a,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9c,0x7d]
+0x80,0x04,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x90,0x7d]
-0x6b,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9c,0x7d]
+0xc1,0x04,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x90,0x7d]
-0x6c,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9c,0x7d]
+0xf0,0x04,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x90,0x7d]
-0x6d,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9c,0x7d]
+0xf7,0x04,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x90,0x7d]
-0x6e,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9c,0x7d]
+0xfd,0x04,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x90,0x7d]
-0x6f,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x9c,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x9c,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_f_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x90,0x7d]
-0x7b,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x9c,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x9c,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_f_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x90,0x7d]
-0x7c,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9c,0x7d]
+0x01,0x05,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x90,0x7d]
-0x7e,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9c,0x7d]
+0xff,0x05,0x9c,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x90,0x7d]
-0x7f,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9d,0x7d]
+0x01,0xfe,0x9d,0x7d
-# CHECK: v_cmp_f_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x90,0x7d]
-0x80,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x90,0x7d]
-0xc1,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xce,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x90,0x7d]
-0xf0,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xce,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x90,0x7d]
-0xf7,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xce,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x90,0x7d]
-0xfd,0x00,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xce,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x90,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x90,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ge_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xce,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x90,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x90,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ge_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xce,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x90,0x7d]
-0x00,0x01,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xce,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xce,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x90,0x7d]
-0xff,0x01,0x90,0x7d
+# CHECK: v_cmp_ge_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xce,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x91,0x7d]
-0x00,0xfe,0x91,0x7d
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xce,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xce,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xce,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xce,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xc8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xc8,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xc8,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xc8,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xc8,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xc8,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc8,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xc8,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc8,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xc8,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc8,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xc8,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc8,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xc8,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc8,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xc8,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc8,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xc8,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc8,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xc8,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc8,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xc8,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc8,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_f_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xc8,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc8,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_lt_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x92,0x7d]
-0x00,0x00,0x92,0x7d
+# CHECK: v_cmp_ge_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xce,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xce,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_lt_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x92,0x7d]
-0x65,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0x9e,0x7d]
+0x01,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x92,0x7d]
-0x66,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0x9e,0x7d]
+0x65,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x92,0x7d]
-0x67,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x9e,0x7d]
+0x66,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x92,0x7d]
-0x6a,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x9e,0x7d]
+0x67,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x92,0x7d]
-0x6b,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x9e,0x7d]
+0x6a,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x92,0x7d]
-0x6c,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x9e,0x7d]
+0x6b,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x92,0x7d]
-0x6d,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0x9e,0x7d]
+0x6c,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x92,0x7d]
-0x6e,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0x9e,0x7d]
+0x6d,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x92,0x7d]
-0x6f,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0x9e,0x7d]
+0x6e,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x92,0x7d]
-0x7b,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0x9e,0x7d]
+0x6f,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x92,0x7d]
-0x7c,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0x9e,0x7d]
+0x7b,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x92,0x7d]
-0x7e,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0x9e,0x7d]
+0x7c,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x92,0x7d]
-0x7f,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x9e,0x7d]
+0x7e,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x92,0x7d]
-0x80,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x9e,0x7d]
+0x7f,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x92,0x7d]
-0xc1,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0x9e,0x7d]
+0x80,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x92,0x7d]
-0xf0,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0x9e,0x7d]
+0xc1,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x92,0x7d]
-0xf7,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x9e,0x7d]
+0xf0,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x92,0x7d]
-0xfd,0x00,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x9e,0x7d]
+0xf7,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x92,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x92,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_t_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0x9e,0x7d]
+0xfd,0x04,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x92,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x92,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_t_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x9e,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0x9e,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_lt_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x92,0x7d]
-0x00,0x01,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x9e,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0x9e,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_lt_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x92,0x7d]
-0xff,0x01,0x92,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0x9e,0x7d]
+0x01,0x05,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x93,0x7d]
-0x00,0xfe,0x93,0x7d
+# CHECK: v_cmp_t_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0x9e,0x7d]
+0xff,0x05,0x9e,0x7d
-# CHECK: v_cmp_lt_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0x9f,0x7d]
+0x01,0xfe,0x9f,0x7d
-# CHECK: v_cmp_lt_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xc9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xc9,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xcf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xc9,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xc9,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xc9,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xc9,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xc9,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xc9,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xc9,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xcf,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xc9,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xc9,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xc9,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xc9,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xc9,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xc9,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xc9,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xc9,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xc9,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xc9,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xc9,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xc9,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xc9,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xc9,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_lt_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xc9,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xc9,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x94,0x7d]
-0x00,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x94,0x7d]
-0x65,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x94,0x7d]
-0x66,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x94,0x7d]
-0x67,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x94,0x7d]
-0x6a,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x94,0x7d]
-0x6b,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x94,0x7d]
-0x6c,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x94,0x7d]
-0x6d,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x94,0x7d]
-0x6e,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x94,0x7d]
-0x6f,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x94,0x7d]
-0x7b,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x94,0x7d]
-0x7c,0x00,0x94,0x7d
+# CHECK: v_cmp_t_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xcf,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xcf,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_eq_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x94,0x7d]
-0x7e,0x00,0x94,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa0,0x7d]
+0x01,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x94,0x7d]
-0x7f,0x00,0x94,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa0,0x7d]
+0x65,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x94,0x7d]
-0x80,0x00,0x94,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa0,0x7d]
+0x66,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x94,0x7d]
-0xc1,0x00,0x94,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa0,0x7d]
+0x67,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x94,0x7d]
-0xf0,0x00,0x94,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa0,0x7d]
+0x6a,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x94,0x7d]
-0xf7,0x00,0x94,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa0,0x7d]
+0x6b,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x94,0x7d]
-0xfd,0x00,0x94,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xa0,0x7d]
+0x6c,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x94,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x94,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_f_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xa0,0x7d]
+0x6d,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x94,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x94,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_f_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xa0,0x7d]
+0x6e,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x94,0x7d]
-0x00,0x01,0x94,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xa0,0x7d]
+0x6f,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x94,0x7d]
-0xff,0x01,0x94,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xa0,0x7d]
+0x7b,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x95,0x7d]
-0x00,0xfe,0x95,0x7d
+# CHECK: v_cmpx_f_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa0,0x7d]
+0x7c,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xca,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa0,0x7d]
+0x7e,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xca,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xca,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa0,0x7d]
+0x7f,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xca,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xca,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa0,0x7d]
+0x80,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xca,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xca,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa0,0x7d]
+0xc1,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xca,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xca,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa0,0x7d]
+0xf0,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xca,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xca,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa0,0x7d]
+0xf7,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xca,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xca,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa0,0x7d]
+0xfd,0x04,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xca,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xca,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xa0,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xa0,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_eq_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xca,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xa0,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xa0,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_eq_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xca,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa0,0x7d]
+0x01,0x05,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xca,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa0,0x7d]
+0xff,0x05,0xa0,0x7d
-# CHECK: v_cmp_eq_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xca,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa1,0x7d]
+0x01,0xfe,0xa1,0x7d
-# CHECK: v_cmp_eq_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xca,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xca,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xca,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xca,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xca,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xca,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_f_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xca,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xca,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xca,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xca,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xca,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xca,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xca,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xca,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xca,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xca,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_f_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xd0,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xca,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xca,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_eq_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xca,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xca,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x96,0x7d]
-0x00,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x96,0x7d]
-0x65,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x96,0x7d]
-0x66,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xd0,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x96,0x7d]
-0x67,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x96,0x7d]
-0x6a,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x96,0x7d]
-0x6b,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x96,0x7d]
-0x6c,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x96,0x7d]
-0x6d,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x96,0x7d]
-0x6e,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x96,0x7d]
-0x6f,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x96,0x7d]
-0x7b,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x96,0x7d]
-0x7c,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x96,0x7d]
-0x7e,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x96,0x7d]
-0x7f,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x96,0x7d]
-0x80,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x96,0x7d]
-0xc1,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x96,0x7d]
-0xf0,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x96,0x7d]
-0xf7,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x96,0x7d]
-0xfd,0x00,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x96,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x96,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x96,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x96,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x96,0x7d]
-0x00,0x01,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x96,0x7d]
-0xff,0x01,0x96,0x7d
+# CHECK: v_cmpx_f_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xd0,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xd0,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_le_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x97,0x7d]
-0x00,0xfe,0x97,0x7d
+# CHECK: v_cmpx_lt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa2,0x7d]
+0x01,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa2,0x7d]
+0x65,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa2,0x7d]
+0x66,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa2,0x7d]
+0x67,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa2,0x7d]
+0x6a,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa2,0x7d]
+0x6b,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xa2,0x7d]
+0x6c,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xa2,0x7d]
+0x6d,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xcb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xa2,0x7d]
+0x6e,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xcb,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xa2,0x7d]
+0x6f,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xcb,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xa2,0x7d]
+0x7b,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xcb,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa2,0x7d]
+0x7c,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xcb,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa2,0x7d]
+0x7e,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xcb,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xcb,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa2,0x7d]
+0x7f,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xcb,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xcb,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa2,0x7d]
+0x80,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xcb,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xcb,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa2,0x7d]
+0xc1,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xcb,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xcb,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa2,0x7d]
+0xf0,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xcb,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xcb,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa2,0x7d]
+0xf7,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xcb,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xcb,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa2,0x7d]
+0xfd,0x04,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xcb,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xcb,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xa2,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xa2,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_le_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xcb,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xcb,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xa2,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xa2,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_le_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xcb,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xcb,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa2,0x7d]
+0x01,0x05,0xa2,0x7d
-# CHECK: v_cmp_le_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xcb,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xcb,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa2,0x7d]
+0xff,0x05,0xa2,0x7d
-# CHECK: v_cmp_gt_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x98,0x7d]
-0x00,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa3,0x7d]
+0x01,0xfe,0xa3,0x7d
-# CHECK: v_cmp_gt_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x98,0x7d]
-0x65,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x98,0x7d]
-0x66,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x98,0x7d]
-0x67,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x98,0x7d]
-0x6a,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x98,0x7d]
-0x6b,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x98,0x7d]
-0x6c,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x98,0x7d]
-0x6d,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x98,0x7d]
-0x6e,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xd1,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x98,0x7d]
-0x6f,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x98,0x7d]
-0x7b,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x98,0x7d]
-0x7c,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x98,0x7d]
-0x7e,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x98,0x7d]
-0x7f,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xd1,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x98,0x7d]
-0x80,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x98,0x7d]
-0xc1,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x98,0x7d]
-0xf0,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x98,0x7d]
-0xf7,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x98,0x7d]
-0xfd,0x00,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x98,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x98,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x98,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x98,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x98,0x7d]
-0x00,0x01,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x98,0x7d]
-0xff,0x01,0x98,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_gt_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x99,0x7d]
-0x00,0xfe,0x99,0x7d
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_gt_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_gt_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_gt_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_gt_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_gt_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_gt_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_gt_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_gt_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xcc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_gt_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xcc,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_gt_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xcc,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xd1,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xd1,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_gt_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xcc,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa4,0x7d]
+0x01,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xcc,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa4,0x7d]
+0x65,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xcc,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xcc,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa4,0x7d]
+0x66,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xcc,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xcc,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa4,0x7d]
+0x67,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xcc,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xcc,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa4,0x7d]
+0x6a,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xcc,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xcc,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa4,0x7d]
+0x6b,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xcc,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xcc,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xa4,0x7d]
+0x6c,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xcc,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xcc,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xa4,0x7d]
+0x6d,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xcc,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xcc,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xa4,0x7d]
+0x6e,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xcc,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xcc,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xa4,0x7d]
+0x6f,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xcc,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xcc,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xa4,0x7d]
+0x7b,0x04,0xa4,0x7d
-# CHECK: v_cmp_gt_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xcc,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xcc,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_eq_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa4,0x7d]
+0x7c,0x04,0xa4,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x9a,0x7d]
-0x00,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa4,0x7d]
+0x7e,0x04,0xa4,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x9a,0x7d]
-0x65,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa4,0x7d]
+0x7f,0x04,0xa4,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x9a,0x7d]
-0x66,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa4,0x7d]
+0x80,0x04,0xa4,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x9a,0x7d]
-0x67,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa4,0x7d]
+0xc1,0x04,0xa4,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x9a,0x7d]
-0x6a,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa4,0x7d]
+0xf0,0x04,0xa4,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x9a,0x7d]
-0x6b,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa4,0x7d]
+0xf7,0x04,0xa4,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x9a,0x7d]
-0x6c,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa4,0x7d]
+0xfd,0x04,0xa4,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x9a,0x7d]
-0x6d,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xa4,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xa4,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ne_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x9a,0x7d]
-0x6e,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xa4,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xa4,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ne_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x9a,0x7d]
-0x6f,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa4,0x7d]
+0x01,0x05,0xa4,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x9a,0x7d]
-0x7b,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa4,0x7d]
+0xff,0x05,0xa4,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x9a,0x7d]
-0x7c,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa5,0x7d]
+0x01,0xfe,0xa5,0x7d
-# CHECK: v_cmp_ne_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x9a,0x7d]
-0x7e,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x9a,0x7d]
-0x7f,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x9a,0x7d]
-0x80,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x9a,0x7d]
-0xc1,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x9a,0x7d]
-0xf0,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x9a,0x7d]
-0xf7,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x9a,0x7d]
-0xfd,0x00,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x9a,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x9a,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_eq_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xd2,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x9a,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x9a,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x9a,0x7d]
-0x00,0x01,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x9a,0x7d]
-0xff,0x01,0x9a,0x7d
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_ne_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x9b,0x7d]
-0x00,0xfe,0x9b,0x7d
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xd2,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xcd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xcd,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xcd,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xcd,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xcd,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xcd,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xcd,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xcd,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xcd,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xcd,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xcd,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xcd,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xcd,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xcd,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xcd,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xcd,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xcd,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xcd,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xcd,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xcd,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xcd,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xcd,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xcd,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xd2,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xd2,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_ne_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xcd,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xcd,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_le_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa6,0x7d]
+0x01,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x9c,0x7d]
-0x00,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa6,0x7d]
+0x65,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x9c,0x7d]
-0x65,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa6,0x7d]
+0x66,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x9c,0x7d]
-0x66,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa6,0x7d]
+0x67,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x9c,0x7d]
-0x67,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa6,0x7d]
+0x6a,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x9c,0x7d]
-0x6a,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa6,0x7d]
+0x6b,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x9c,0x7d]
-0x6b,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xa6,0x7d]
+0x6c,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x9c,0x7d]
-0x6c,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xa6,0x7d]
+0x6d,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x9c,0x7d]
-0x6d,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xa6,0x7d]
+0x6e,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x9c,0x7d]
-0x6e,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xa6,0x7d]
+0x6f,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x9c,0x7d]
-0x6f,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xa6,0x7d]
+0x7b,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x9c,0x7d]
-0x7b,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa6,0x7d]
+0x7c,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x9c,0x7d]
-0x7c,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa6,0x7d]
+0x7e,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x9c,0x7d]
-0x7e,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa6,0x7d]
+0x7f,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x9c,0x7d]
-0x7f,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa6,0x7d]
+0x80,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x9c,0x7d]
-0x80,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa6,0x7d]
+0xc1,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x9c,0x7d]
-0xc1,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa6,0x7d]
+0xf0,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x9c,0x7d]
-0xf0,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa6,0x7d]
+0xf7,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x9c,0x7d]
-0xf7,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa6,0x7d]
+0xfd,0x04,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x9c,0x7d]
-0xfd,0x00,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xa6,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xa6,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ge_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x9c,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x9c,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_le_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xa6,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xa6,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ge_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x9c,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x9c,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_le_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa6,0x7d]
+0x01,0x05,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x9c,0x7d]
-0x00,0x01,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa6,0x7d]
+0xff,0x05,0xa6,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x9c,0x7d]
-0xff,0x01,0x9c,0x7d
+# CHECK: v_cmpx_le_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa7,0x7d]
+0x01,0xfe,0xa7,0x7d
-# CHECK: v_cmp_ge_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x9d,0x7d]
-0x00,0xfe,0x9d,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xce,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xce,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xce,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xce,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xce,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xce,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xce,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xce,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xce,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xce,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xce,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xce,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xce,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xd3,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xce,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xce,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xce,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xce,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xce,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xce,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xd3,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xce,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xce,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xce,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xce,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xce,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xce,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xce,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xce,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xce,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xce,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xce,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xce,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xce,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xce,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xce,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xce,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xce,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xce,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmp_ge_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xce,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xce,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x9e,0x7d]
-0x00,0x00,0x9e,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0x9e,0x7d]
-0x65,0x00,0x9e,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0x9e,0x7d]
-0x66,0x00,0x9e,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0x9e,0x7d]
-0x67,0x00,0x9e,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0x9e,0x7d]
-0x6a,0x00,0x9e,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0x9e,0x7d]
-0x6b,0x00,0x9e,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0x9e,0x7d]
-0x6c,0x00,0x9e,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0x9e,0x7d]
-0x6d,0x00,0x9e,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0x9e,0x7d]
-0x6e,0x00,0x9e,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0x9e,0x7d]
-0x6f,0x00,0x9e,0x7d
+# CHECK: v_cmpx_le_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xd3,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xd3,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmp_t_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0x9e,0x7d]
-0x7b,0x00,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xa8,0x7d]
+0x01,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0x9e,0x7d]
-0x7c,0x00,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xa8,0x7d]
+0x65,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0x9e,0x7d]
-0x7e,0x00,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xa8,0x7d]
+0x66,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0x9e,0x7d]
-0x7f,0x00,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xa8,0x7d]
+0x67,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0x9e,0x7d]
-0x80,0x00,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xa8,0x7d]
+0x6a,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0x9e,0x7d]
-0xc1,0x00,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xa8,0x7d]
+0x6b,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0x9e,0x7d]
-0xf0,0x00,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xa8,0x7d]
+0x6c,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0x9e,0x7d]
-0xf7,0x00,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xa8,0x7d]
+0x6d,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0x9e,0x7d]
-0xfd,0x00,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xa8,0x7d]
+0x6e,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0x9e,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0x9e,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_gt_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xa8,0x7d]
+0x6f,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0x9e,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0x9e,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_gt_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xa8,0x7d]
+0x7b,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0x9e,0x7d]
-0x00,0x01,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xa8,0x7d]
+0x7c,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0x9e,0x7d]
-0xff,0x01,0x9e,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xa8,0x7d]
+0x7e,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0x9f,0x7d]
-0x00,0xfe,0x9f,0x7d
+# CHECK: v_cmpx_gt_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xa8,0x7d]
+0x7f,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xa8,0x7d]
+0x80,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xa8,0x7d]
+0xc1,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xa8,0x7d]
+0xf0,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xa8,0x7d]
+0xf7,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xa8,0x7d]
+0xfd,0x04,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xa8,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xa8,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_t_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xa8,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xa8,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_t_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xcf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xa8,0x7d]
+0x01,0x05,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xcf,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xa8,0x7d]
+0xff,0x05,0xa8,0x7d
-# CHECK: v_cmp_t_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xcf,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xa9,0x7d]
+0x01,0xfe,0xa9,0x7d
-# CHECK: v_cmp_t_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xcf,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xcf,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xcf,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xcf,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xcf,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xcf,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xcf,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xcf,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xcf,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xcf,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_gt_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xcf,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xcf,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_gt_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xcf,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xcf,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_gt_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xd4,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xcf,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xcf,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xcf,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xcf,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xcf,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xcf,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmp_t_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xcf,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xcf,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xa0,0x7d]
-0x00,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xd4,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xa0,0x7d]
-0x65,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xa0,0x7d]
-0x66,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xa0,0x7d]
-0x67,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xa0,0x7d]
-0x6a,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xa0,0x7d]
-0x6b,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xa0,0x7d]
-0x6c,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xa0,0x7d]
-0x6d,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xa0,0x7d]
-0x6e,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xa0,0x7d]
-0x6f,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xa0,0x7d]
-0x7b,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xa0,0x7d]
-0x7c,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xa0,0x7d]
-0x7e,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xa0,0x7d]
-0x7f,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xa0,0x7d]
-0x80,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xa0,0x7d]
-0xc1,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xa0,0x7d]
-0xf0,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xa0,0x7d]
-0xf7,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xa0,0x7d]
-0xfd,0x00,0xa0,0x7d
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xa0,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xa0,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xa0,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xa0,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_gt_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xd4,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xd4,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_f_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xa0,0x7d]
-0x00,0x01,0xa0,0x7d
+# CHECK: v_cmpx_ne_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xaa,0x7d]
+0x01,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xa0,0x7d]
-0xff,0x01,0xa0,0x7d
+# CHECK: v_cmpx_ne_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xaa,0x7d]
+0x65,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xa1,0x7d]
-0x00,0xfe,0xa1,0x7d
+# CHECK: v_cmpx_ne_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xaa,0x7d]
+0x66,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xaa,0x7d]
+0x67,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xaa,0x7d]
+0x6a,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xaa,0x7d]
+0x6b,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xaa,0x7d]
+0x6c,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xaa,0x7d]
+0x6d,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xaa,0x7d]
+0x6e,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xaa,0x7d]
+0x6f,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xd0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xaa,0x7d]
+0x7b,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xd0,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xaa,0x7d]
+0x7c,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xd0,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xaa,0x7d]
+0x7e,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xd0,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xaa,0x7d]
+0x7f,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xd0,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xaa,0x7d]
+0x80,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xd0,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd0,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xaa,0x7d]
+0xc1,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xd0,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd0,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xaa,0x7d]
+0xf0,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xd0,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd0,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xaa,0x7d]
+0xf7,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xd0,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd0,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xaa,0x7d]
+0xfd,0x04,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xd0,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd0,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xaa,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xaa,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_f_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xd0,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd0,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xaa,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xaa,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_f_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xd0,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd0,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xaa,0x7d]
+0x01,0x05,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xd0,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd0,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xaa,0x7d]
+0xff,0x05,0xaa,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xd0,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd0,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ne_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xab,0x7d]
+0x01,0xfe,0xab,0x7d
-# CHECK: v_cmpx_f_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xd0,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd0,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xa2,0x7d]
-0x00,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xa2,0x7d]
-0x65,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xa2,0x7d]
-0x66,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xa2,0x7d]
-0x67,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xa2,0x7d]
-0x6a,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xa2,0x7d]
-0x6b,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xa2,0x7d]
-0x6c,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xd5,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xa2,0x7d]
-0x6d,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xa2,0x7d]
-0x6e,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xa2,0x7d]
-0x6f,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xa2,0x7d]
-0x7b,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xa2,0x7d]
-0x7c,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xd5,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xa2,0x7d]
-0x7e,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xa2,0x7d]
-0x7f,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xa2,0x7d]
-0x80,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xa2,0x7d]
-0xc1,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xa2,0x7d]
-0xf0,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xa2,0x7d]
-0xf7,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xa2,0x7d]
-0xfd,0x00,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xa2,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xa2,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xa2,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xa2,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xa2,0x7d]
-0x00,0x01,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xa2,0x7d]
-0xff,0x01,0xa2,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xa3,0x7d]
-0x00,0xfe,0xa3,0x7d
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_lt_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_lt_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_lt_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_lt_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_lt_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_lt_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_lt_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xd1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xd5,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xd5,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xd1,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xac,0x7d]
+0x01,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xd1,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xac,0x7d]
+0x65,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xd1,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xac,0x7d]
+0x66,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xd1,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xac,0x7d]
+0x67,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xd1,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd1,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xac,0x7d]
+0x6a,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xd1,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd1,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xac,0x7d]
+0x6b,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xd1,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd1,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xac,0x7d]
+0x6c,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xd1,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd1,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xac,0x7d]
+0x6d,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xd1,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd1,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xac,0x7d]
+0x6e,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xd1,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd1,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xac,0x7d]
+0x6f,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xd1,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd1,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xac,0x7d]
+0x7b,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xd1,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd1,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xac,0x7d]
+0x7c,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xd1,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd1,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xac,0x7d]
+0x7e,0x04,0xac,0x7d
-# CHECK: v_cmpx_lt_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xd1,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd1,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ge_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xac,0x7d]
+0x7f,0x04,0xac,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xa4,0x7d]
-0x00,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xac,0x7d]
+0x80,0x04,0xac,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xa4,0x7d]
-0x65,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xac,0x7d]
+0xc1,0x04,0xac,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xa4,0x7d]
-0x66,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xac,0x7d]
+0xf0,0x04,0xac,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xa4,0x7d]
-0x67,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xac,0x7d]
+0xf7,0x04,0xac,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xa4,0x7d]
-0x6a,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xac,0x7d]
+0xfd,0x04,0xac,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xa4,0x7d]
-0x6b,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xac,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xac,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_eq_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xa4,0x7d]
-0x6c,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xac,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xac,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_eq_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xa4,0x7d]
-0x6d,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xac,0x7d]
+0x01,0x05,0xac,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xa4,0x7d]
-0x6e,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xac,0x7d]
+0xff,0x05,0xac,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xa4,0x7d]
-0x6f,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xad,0x7d]
+0x01,0xfe,0xad,0x7d
-# CHECK: v_cmpx_eq_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xa4,0x7d]
-0x7b,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xa4,0x7d]
-0x7c,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xa4,0x7d]
-0x7e,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xa4,0x7d]
-0x7f,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xa4,0x7d]
-0x80,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xa4,0x7d]
-0xc1,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xa4,0x7d]
-0xf0,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xa4,0x7d]
-0xf7,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xd6,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xa4,0x7d]
-0xfd,0x00,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xa4,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xa4,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xa4,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xa4,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xa4,0x7d]
-0x00,0x01,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xa4,0x7d]
-0xff,0x01,0xa4,0x7d
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xd6,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xa5,0x7d]
-0x00,0xfe,0xa5,0x7d
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xd2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xd2,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xd2,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xd2,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xd2,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xd2,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd2,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xd2,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd2,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xd2,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd2,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xd2,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd2,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xd2,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd2,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xd2,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd2,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xd2,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd2,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xd6,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xd6,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xd2,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd2,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_t_i32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xae,0x7d]
+0x01,0x04,0xae,0x7d
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xd2,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd2,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_t_i32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xae,0x7d]
+0x65,0x04,0xae,0x7d
-# CHECK: v_cmpx_eq_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xd2,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd2,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_t_i32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xae,0x7d]
+0x66,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xa6,0x7d]
-0x00,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xae,0x7d]
+0x67,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xa6,0x7d]
-0x65,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xae,0x7d]
+0x6a,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xa6,0x7d]
-0x66,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xae,0x7d]
+0x6b,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xa6,0x7d]
-0x67,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xae,0x7d]
+0x6c,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xa6,0x7d]
-0x6a,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xae,0x7d]
+0x6d,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xa6,0x7d]
-0x6b,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xae,0x7d]
+0x6e,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xa6,0x7d]
-0x6c,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xae,0x7d]
+0x6f,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xa6,0x7d]
-0x6d,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xae,0x7d]
+0x7b,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xa6,0x7d]
-0x6e,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xae,0x7d]
+0x7c,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xa6,0x7d]
-0x6f,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xae,0x7d]
+0x7e,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xa6,0x7d]
-0x7b,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xae,0x7d]
+0x7f,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xa6,0x7d]
-0x7c,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xae,0x7d]
+0x80,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xa6,0x7d]
-0x7e,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xae,0x7d]
+0xc1,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xa6,0x7d]
-0x7f,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xae,0x7d]
+0xf0,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xa6,0x7d]
-0x80,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xae,0x7d]
+0xf7,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xa6,0x7d]
-0xc1,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xae,0x7d]
+0xfd,0x04,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xa6,0x7d]
-0xf0,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xae,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xae,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_le_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xa6,0x7d]
-0xf7,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xae,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xae,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_le_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xa6,0x7d]
-0xfd,0x00,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xae,0x7d]
+0x01,0x05,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xa6,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xa6,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_t_i32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xae,0x7d]
+0xff,0x05,0xae,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xa6,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xa6,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_t_i32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xaf,0x7d]
+0x01,0xfe,0xaf,0x7d
-# CHECK: v_cmpx_le_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xa6,0x7d]
-0x00,0x01,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xa6,0x7d]
-0xff,0x01,0xa6,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xa7,0x7d]
-0x00,0xfe,0xa7,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xd7,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xd3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xd3,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xd3,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xd7,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xd3,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xd3,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xd3,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd3,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xd3,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd3,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xd3,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd3,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xd3,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd3,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xd3,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd3,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xd3,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd3,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xd3,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd3,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xd3,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd3,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xd3,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd3,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_le_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xd3,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd3,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xa8,0x7d]
-0x00,0x00,0xa8,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xa8,0x7d]
-0x65,0x00,0xa8,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_gt_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xa8,0x7d]
-0x66,0x00,0xa8,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_gt_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xa8,0x7d]
-0x67,0x00,0xa8,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_gt_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xa8,0x7d]
-0x6a,0x00,0xa8,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_gt_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xa8,0x7d]
-0x6b,0x00,0xa8,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_gt_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xa8,0x7d]
-0x6c,0x00,0xa8,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_gt_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xa8,0x7d]
-0x6d,0x00,0xa8,0x7d
+# CHECK: v_cmpx_t_i32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xd7,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xd7,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_gt_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xa8,0x7d]
-0x6e,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb0,0x7d]
+0x01,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xa8,0x7d]
-0x6f,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb0,0x7d]
+0x65,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xa8,0x7d]
-0x7b,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb0,0x7d]
+0x66,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xa8,0x7d]
-0x7c,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb0,0x7d]
+0x67,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xa8,0x7d]
-0x7e,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb0,0x7d]
+0x6a,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xa8,0x7d]
-0x7f,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb0,0x7d]
+0x6b,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xa8,0x7d]
-0x80,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xb0,0x7d]
+0x6c,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xa8,0x7d]
-0xc1,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xb0,0x7d]
+0x6d,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xa8,0x7d]
-0xf0,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xb0,0x7d]
+0x6e,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xa8,0x7d]
-0xf7,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xb0,0x7d]
+0x6f,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xa8,0x7d]
-0xfd,0x00,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xb0,0x7d]
+0x7b,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xa8,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xa8,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_f_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb0,0x7d]
+0x7c,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xa8,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xa8,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_f_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb0,0x7d]
+0x7e,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xa8,0x7d]
-0x00,0x01,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb0,0x7d]
+0x7f,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xa8,0x7d]
-0xff,0x01,0xa8,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb0,0x7d]
+0x80,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xa9,0x7d]
-0x00,0xfe,0xa9,0x7d
+# CHECK: v_cmpx_f_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb0,0x7d]
+0xc1,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb0,0x7d]
+0xf0,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb0,0x7d]
+0xf7,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb0,0x7d]
+0xfd,0x04,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xb0,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xb0,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_gt_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xb0,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xb0,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_gt_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb0,0x7d]
+0x01,0x05,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb0,0x7d]
+0xff,0x05,0xb0,0x7d
-# CHECK: v_cmpx_gt_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xd4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb1,0x7d]
+0x01,0xfe,0xb1,0x7d
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xd4,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xd4,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xd4,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xd4,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xd4,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd4,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xd4,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd4,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xd4,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd4,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_f_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xd4,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd4,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xd8,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xd4,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd4,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xd4,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd4,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xd4,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd4,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xd4,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd4,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xd4,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd4,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xd8,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xd4,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd4,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xaa,0x7d]
-0x00,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xaa,0x7d]
-0x65,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xaa,0x7d]
-0x66,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xaa,0x7d]
-0x67,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xaa,0x7d]
-0x6a,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xaa,0x7d]
-0x6b,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xaa,0x7d]
-0x6c,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xaa,0x7d]
-0x6d,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xaa,0x7d]
-0x6e,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xaa,0x7d]
-0x6f,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xaa,0x7d]
-0x7b,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xaa,0x7d]
-0x7c,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xaa,0x7d]
-0x7e,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xaa,0x7d]
-0x7f,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xaa,0x7d]
-0x80,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xaa,0x7d]
-0xc1,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xaa,0x7d]
-0xf0,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xaa,0x7d]
-0xf7,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xaa,0x7d]
-0xfd,0x00,0xaa,0x7d
+# CHECK: v_cmpx_f_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xd8,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xd8,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_ne_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xaa,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xaa,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_lt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb2,0x7d]
+0x01,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xaa,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xaa,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_lt_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb2,0x7d]
+0x65,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xaa,0x7d]
-0x00,0x01,0xaa,0x7d
+# CHECK: v_cmpx_lt_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb2,0x7d]
+0x66,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xaa,0x7d]
-0xff,0x01,0xaa,0x7d
+# CHECK: v_cmpx_lt_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb2,0x7d]
+0x67,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xab,0x7d]
-0x00,0xfe,0xab,0x7d
+# CHECK: v_cmpx_lt_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb2,0x7d]
+0x6a,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb2,0x7d]
+0x6b,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xb2,0x7d]
+0x6c,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xb2,0x7d]
+0x6d,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xb2,0x7d]
+0x6e,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xb2,0x7d]
+0x6f,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xb2,0x7d]
+0x7b,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb2,0x7d]
+0x7c,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xd5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb2,0x7d]
+0x7e,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xd5,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb2,0x7d]
+0x7f,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xd5,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb2,0x7d]
+0x80,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xd5,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb2,0x7d]
+0xc1,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xd5,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb2,0x7d]
+0xf0,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xd5,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd5,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb2,0x7d]
+0xf7,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xd5,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd5,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb2,0x7d]
+0xfd,0x04,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xd5,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd5,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xb2,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xb2,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xd5,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd5,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xb2,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xb2,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xd5,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd5,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb2,0x7d]
+0x01,0x05,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xd5,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd5,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb2,0x7d]
+0xff,0x05,0xb2,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xd5,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd5,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb3,0x7d]
+0x01,0xfe,0xb3,0x7d
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xd5,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd5,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xd5,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd5,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xd5,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd5,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_lt_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xac,0x7d]
-0x00,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xac,0x7d]
-0x65,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xac,0x7d]
-0x66,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xac,0x7d]
-0x67,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xac,0x7d]
-0x6a,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xd9,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xac,0x7d]
-0x6b,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xac,0x7d]
-0x6c,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xac,0x7d]
-0x6d,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xac,0x7d]
-0x6e,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xac,0x7d]
-0x6f,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xd9,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xac,0x7d]
-0x7b,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xac,0x7d]
-0x7c,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xac,0x7d]
-0x7e,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xac,0x7d]
-0x7f,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xac,0x7d]
-0x80,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xac,0x7d]
-0xc1,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xac,0x7d]
-0xf0,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xac,0x7d]
-0xf7,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xac,0x7d]
-0xfd,0x00,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xac,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xac,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xac,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xac,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xac,0x7d]
-0x00,0x01,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xac,0x7d]
-0xff,0x01,0xac,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ge_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xad,0x7d]
-0x00,0xfe,0xad,0x7d
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_ge_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_ge_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_ge_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_ge_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_ge_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xd9,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xd9,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_ge_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb4,0x7d]
+0x01,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xd6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb4,0x7d]
+0x65,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xd6,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb4,0x7d]
+0x66,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xd6,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb4,0x7d]
+0x67,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xd6,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb4,0x7d]
+0x6a,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xd6,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb4,0x7d]
+0x6b,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xd6,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd6,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xb4,0x7d]
+0x6c,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xd6,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd6,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xb4,0x7d]
+0x6d,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xd6,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd6,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xb4,0x7d]
+0x6e,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xd6,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd6,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xb4,0x7d]
+0x6f,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xd6,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd6,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xb4,0x7d]
+0x7b,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xd6,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd6,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb4,0x7d]
+0x7c,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xd6,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd6,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb4,0x7d]
+0x7e,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xd6,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd6,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb4,0x7d]
+0x7f,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xd6,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd6,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb4,0x7d]
+0x80,0x04,0xb4,0x7d
-# CHECK: v_cmpx_ge_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xd6,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd6,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_eq_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb4,0x7d]
+0xc1,0x04,0xb4,0x7d
-# CHECK: v_cmpx_t_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xae,0x7d]
-0x00,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb4,0x7d]
+0xf0,0x04,0xb4,0x7d
-# CHECK: v_cmpx_t_i32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xae,0x7d]
-0x65,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb4,0x7d]
+0xf7,0x04,0xb4,0x7d
-# CHECK: v_cmpx_t_i32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xae,0x7d]
-0x66,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb4,0x7d]
+0xfd,0x04,0xb4,0x7d
-# CHECK: v_cmpx_t_i32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xae,0x7d]
-0x67,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xb4,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xb4,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_t_i32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xae,0x7d]
-0x6a,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xb4,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xb4,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_t_i32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xae,0x7d]
-0x6b,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb4,0x7d]
+0x01,0x05,0xb4,0x7d
-# CHECK: v_cmpx_t_i32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xae,0x7d]
-0x6c,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb4,0x7d]
+0xff,0x05,0xb4,0x7d
-# CHECK: v_cmpx_t_i32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xae,0x7d]
-0x6d,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb5,0x7d]
+0x01,0xfe,0xb5,0x7d
-# CHECK: v_cmpx_t_i32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xae,0x7d]
-0x6e,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xae,0x7d]
-0x6f,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xda,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xae,0x7d]
-0x7b,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xda,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xae,0x7d]
-0x7c,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xda,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xae,0x7d]
-0x7e,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xae,0x7d]
-0x7f,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xda,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xae,0x7d]
-0x80,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xda,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xae,0x7d]
-0xc1,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xda,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xae,0x7d]
-0xf0,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xda,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xae,0x7d]
-0xf7,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xda,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xae,0x7d]
-0xfd,0x00,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xda,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xae,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xae,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xda,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xae,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xae,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xda,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xae,0x7d]
-0x00,0x01,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xae,0x7d]
-0xff,0x01,0xae,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_t_i32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xaf,0x7d]
-0x00,0xfe,0xaf,0x7d
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xd7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xd7,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xd7,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xd7,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xd7,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xd7,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd7,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xd7,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd7,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xd7,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd7,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xd7,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd7,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xd7,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd7,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xda,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xda,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_t_i32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xd7,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd7,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb6,0x7d]
+0x01,0x04,0xb6,0x7d
-# CHECK: v_cmpx_t_i32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xd7,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd7,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb6,0x7d]
+0x65,0x04,0xb6,0x7d
-# CHECK: v_cmpx_t_i32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xd7,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd7,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_le_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb6,0x7d]
+0x66,0x04,0xb6,0x7d
-# CHECK: v_cmpx_t_i32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xd7,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd7,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb6,0x7d]
+0x67,0x04,0xb6,0x7d
-# CHECK: v_cmpx_t_i32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xd7,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd7,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_le_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb6,0x7d]
+0x6a,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xb0,0x7d]
-0x00,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb6,0x7d]
+0x6b,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xb0,0x7d]
-0x65,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xb6,0x7d]
+0x6c,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xb0,0x7d]
-0x66,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xb6,0x7d]
+0x6d,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xb0,0x7d]
-0x67,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xb6,0x7d]
+0x6e,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xb0,0x7d]
-0x6a,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xb6,0x7d]
+0x6f,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xb0,0x7d]
-0x6b,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xb6,0x7d]
+0x7b,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xb0,0x7d]
-0x6c,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb6,0x7d]
+0x7c,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xb0,0x7d]
-0x6d,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb6,0x7d]
+0x7e,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xb0,0x7d]
-0x6e,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb6,0x7d]
+0x7f,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xb0,0x7d]
-0x6f,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb6,0x7d]
+0x80,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xb0,0x7d]
-0x7b,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb6,0x7d]
+0xc1,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xb0,0x7d]
-0x7c,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb6,0x7d]
+0xf0,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xb0,0x7d]
-0x7e,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb6,0x7d]
+0xf7,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xb0,0x7d]
-0x7f,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb6,0x7d]
+0xfd,0x04,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xb0,0x7d]
-0x80,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xb6,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xb6,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_f_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xb0,0x7d]
-0xc1,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xb6,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xb6,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_f_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xb0,0x7d]
-0xf0,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb6,0x7d]
+0x01,0x05,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xb0,0x7d]
-0xf7,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb6,0x7d]
+0xff,0x05,0xb6,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xb0,0x7d]
-0xfd,0x00,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb7,0x7d]
+0x01,0xfe,0xb7,0x7d
-# CHECK: v_cmpx_f_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xb0,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xb0,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xb0,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xb0,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_le_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xb0,0x7d]
-0x00,0x01,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xb0,0x7d]
-0xff,0x01,0xb0,0x7d
+# CHECK: v_cmpx_le_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xb1,0x7d]
-0x00,0xfe,0xb1,0x7d
+# CHECK: v_cmpx_le_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xdb,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xd8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xdb,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xd8,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xd8,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xd8,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xd8,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xd8,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd8,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xd8,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd8,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xd8,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd8,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xd8,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd8,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xd8,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd8,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xd8,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd8,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xd8,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd8,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xd8,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd8,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xd8,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd8,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_f_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xd8,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd8,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_lt_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xb2,0x7d]
-0x00,0x00,0xb2,0x7d
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_lt_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xb2,0x7d]
-0x65,0x00,0xb2,0x7d
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_lt_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xb2,0x7d]
-0x66,0x00,0xb2,0x7d
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_lt_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xb2,0x7d]
-0x67,0x00,0xb2,0x7d
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_lt_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xb2,0x7d]
-0x6a,0x00,0xb2,0x7d
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_lt_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xb2,0x7d]
-0x6b,0x00,0xb2,0x7d
+# CHECK: v_cmpx_le_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xdb,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xdb,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_lt_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xb2,0x7d]
-0x6c,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xb8,0x7d]
+0x01,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xb2,0x7d]
-0x6d,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xb8,0x7d]
+0x65,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xb2,0x7d]
-0x6e,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xb8,0x7d]
+0x66,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xb2,0x7d]
-0x6f,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xb8,0x7d]
+0x67,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xb2,0x7d]
-0x7b,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xb8,0x7d]
+0x6a,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xb2,0x7d]
-0x7c,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xb8,0x7d]
+0x6b,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xb2,0x7d]
-0x7e,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xb8,0x7d]
+0x6c,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xb2,0x7d]
-0x7f,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xb8,0x7d]
+0x6d,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xb2,0x7d]
-0x80,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xb8,0x7d]
+0x6e,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xb2,0x7d]
-0xc1,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xb8,0x7d]
+0x6f,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xb2,0x7d]
-0xf0,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xb8,0x7d]
+0x7b,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xb2,0x7d]
-0xf7,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xb8,0x7d]
+0x7c,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xb2,0x7d]
-0xfd,0x00,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xb8,0x7d]
+0x7e,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xb2,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xb2,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_gt_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xb8,0x7d]
+0x7f,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xb2,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xb2,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_gt_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xb8,0x7d]
+0x80,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xb2,0x7d]
-0x00,0x01,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xb8,0x7d]
+0xc1,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xb2,0x7d]
-0xff,0x01,0xb2,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xb8,0x7d]
+0xf0,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xb3,0x7d]
-0x00,0xfe,0xb3,0x7d
+# CHECK: v_cmpx_gt_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xb8,0x7d]
+0xf7,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xb8,0x7d]
+0xfd,0x04,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xb8,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xb8,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_lt_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xb8,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xb8,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_lt_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xb8,0x7d]
+0x01,0x05,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xb8,0x7d]
+0xff,0x05,0xb8,0x7d
-# CHECK: v_cmpx_lt_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xb9,0x7d]
+0x01,0xfe,0xb9,0x7d
-# CHECK: v_cmpx_lt_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xd9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xd9,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xd9,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xd9,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xd9,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xd9,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xd9,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xd9,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xd9,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xdc,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xd9,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xd9,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xd9,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xd9,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xd9,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xd9,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xd9,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xd9,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xd9,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xd9,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xdc,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xd9,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xd9,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xd9,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xd9,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_lt_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xd9,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xd9,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xb4,0x7d]
-0x00,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xb4,0x7d]
-0x65,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xb4,0x7d]
-0x66,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xb4,0x7d]
-0x67,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xb4,0x7d]
-0x6a,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xb4,0x7d]
-0x6b,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xb4,0x7d]
-0x6c,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xb4,0x7d]
-0x6d,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xb4,0x7d]
-0x6e,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xb4,0x7d]
-0x6f,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xb4,0x7d]
-0x7b,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xb4,0x7d]
-0x7c,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xb4,0x7d]
-0x7e,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xb4,0x7d]
-0x7f,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xb4,0x7d]
-0x80,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xb4,0x7d]
-0xc1,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xb4,0x7d]
-0xf0,0x00,0xb4,0x7d
+# CHECK: v_cmpx_gt_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xdc,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xdc,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_eq_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xb4,0x7d]
-0xf7,0x00,0xb4,0x7d
+# CHECK: v_cmpx_ne_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xba,0x7d]
+0x01,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xb4,0x7d]
-0xfd,0x00,0xb4,0x7d
+# CHECK: v_cmpx_ne_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xba,0x7d]
+0x65,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xb4,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xb4,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ne_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xba,0x7d]
+0x66,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xb4,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xb4,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ne_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xba,0x7d]
+0x67,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xb4,0x7d]
-0x00,0x01,0xb4,0x7d
+# CHECK: v_cmpx_ne_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xba,0x7d]
+0x6a,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xb4,0x7d]
-0xff,0x01,0xb4,0x7d
+# CHECK: v_cmpx_ne_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xba,0x7d]
+0x6b,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xb5,0x7d]
-0x00,0xfe,0xb5,0x7d
+# CHECK: v_cmpx_ne_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xba,0x7d]
+0x6c,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xda,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xba,0x7d]
+0x6d,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xda,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xda,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xba,0x7d]
+0x6e,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xda,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xda,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xba,0x7d]
+0x6f,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xda,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xda,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xba,0x7d]
+0x7b,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xda,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xda,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xba,0x7d]
+0x7c,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xda,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xda,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xba,0x7d]
+0x7e,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xda,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xda,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xba,0x7d]
+0x7f,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xda,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xda,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xba,0x7d]
+0x80,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xda,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xba,0x7d]
+0xc1,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xda,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xba,0x7d]
+0xf0,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xda,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xba,0x7d]
+0xf7,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xda,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xba,0x7d]
+0xfd,0x04,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xda,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xda,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xba,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xba,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xda,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xda,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xba,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xba,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xda,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xda,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xba,0x7d]
+0x01,0x05,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xda,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xda,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xba,0x7d]
+0xff,0x05,0xba,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xda,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xda,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ne_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbb,0x7d]
+0x01,0xfe,0xbb,0x7d
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xda,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xda,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xda,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xda,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ne_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xda,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xda,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ne_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xda,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xda,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ne_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_eq_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xda,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xda,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ne_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xb6,0x7d]
-0x00,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xb6,0x7d]
-0x65,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xb6,0x7d]
-0x66,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xdd,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xb6,0x7d]
-0x67,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xb6,0x7d]
-0x6a,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xb6,0x7d]
-0x6b,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xb6,0x7d]
-0x6c,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xb6,0x7d]
-0x6d,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xdd,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xb6,0x7d]
-0x6e,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xb6,0x7d]
-0x6f,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xb6,0x7d]
-0x7b,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xb6,0x7d]
-0x7c,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xb6,0x7d]
-0x7e,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xb6,0x7d]
-0x7f,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xb6,0x7d]
-0x80,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xb6,0x7d]
-0xc1,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xb6,0x7d]
-0xf0,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xb6,0x7d]
-0xf7,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xb6,0x7d]
-0xfd,0x00,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xb6,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xb6,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xb6,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xb6,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xb6,0x7d]
-0x00,0x01,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xb6,0x7d]
-0xff,0x01,0xb6,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_le_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xb7,0x7d]
-0x00,0xfe,0xb7,0x7d
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_le_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_le_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_le_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_le_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xdd,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xdd,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_le_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbc,0x7d]
+0x01,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xbc,0x7d]
+0x65,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xbc,0x7d]
+0x66,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xdb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xbc,0x7d]
+0x67,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xdb,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xbc,0x7d]
+0x6a,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xdb,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xbc,0x7d]
+0x6b,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xdb,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xbc,0x7d]
+0x6c,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xdb,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xbc,0x7d]
+0x6d,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xdb,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xdb,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xbc,0x7d]
+0x6e,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xdb,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xdb,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xbc,0x7d]
+0x6f,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xdb,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xdb,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xbc,0x7d]
+0x7b,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xdb,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xdb,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xbc,0x7d]
+0x7c,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xdb,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xdb,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xbc,0x7d]
+0x7e,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xdb,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xdb,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xbc,0x7d]
+0x7f,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xdb,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xdb,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xbc,0x7d]
+0x80,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xdb,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xdb,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xbc,0x7d]
+0xc1,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xdb,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xdb,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xbc,0x7d]
+0xf0,0x04,0xbc,0x7d
-# CHECK: v_cmpx_le_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xdb,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xdb,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_ge_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbc,0x7d]
+0xf7,0x04,0xbc,0x7d
-# CHECK: v_cmpx_gt_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xb8,0x7d]
-0x00,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xbc,0x7d]
+0xfd,0x04,0xbc,0x7d
-# CHECK: v_cmpx_gt_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xb8,0x7d]
-0x65,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xbc,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xbc,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_gt_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xb8,0x7d]
-0x66,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xbc,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xbc,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_gt_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xb8,0x7d]
-0x67,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbc,0x7d]
+0x01,0x05,0xbc,0x7d
-# CHECK: v_cmpx_gt_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xb8,0x7d]
-0x6a,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbc,0x7d]
+0xff,0x05,0xbc,0x7d
-# CHECK: v_cmpx_gt_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xb8,0x7d]
-0x6b,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbd,0x7d]
+0x01,0xfe,0xbd,0x7d
-# CHECK: v_cmpx_gt_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xb8,0x7d]
-0x6c,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xb8,0x7d]
-0x6d,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xde,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xb8,0x7d]
-0x6e,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xde,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xb8,0x7d]
-0x6f,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xde,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xb8,0x7d]
-0x7b,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xb8,0x7d]
-0x7c,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xde,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xb8,0x7d]
-0x7e,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xde,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xb8,0x7d]
-0x7f,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xde,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xb8,0x7d]
-0x80,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xde,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xb8,0x7d]
-0xc1,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xde,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xb8,0x7d]
-0xf0,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xde,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xb8,0x7d]
-0xf7,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xde,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xb8,0x7d]
-0xfd,0x00,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xde,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xb8,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xb8,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xb8,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xb8,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xb8,0x7d]
-0x00,0x01,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xb8,0x7d]
-0xff,0x01,0xb8,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xb9,0x7d]
-0x00,0xfe,0xb9,0x7d
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xdc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xdc,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xdc,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xdc,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xdc,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xdc,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xdc,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xdc,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xdc,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xdc,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xdc,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xde,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xde,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xdc,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xdc,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_t_u32_e32 vcc, s1, v2 ; encoding: [0x01,0x04,0xbe,0x7d]
+0x01,0x04,0xbe,0x7d
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xdc,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xdc,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_t_u32_e32 vcc, s101, v2 ; encoding: [0x65,0x04,0xbe,0x7d]
+0x65,0x04,0xbe,0x7d
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xdc,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xdc,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_t_u32_e32 vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0xbe,0x7d]
+0x66,0x04,0xbe,0x7d
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xdc,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xdc,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_t_u32_e32 vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0xbe,0x7d]
+0x67,0x04,0xbe,0x7d
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xdc,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xdc,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_t_u32_e32 vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0xbe,0x7d]
+0x6a,0x04,0xbe,0x7d
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xdc,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xdc,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_t_u32_e32 vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0xbe,0x7d]
+0x6b,0x04,0xbe,0x7d
-# CHECK: v_cmpx_gt_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xdc,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xdc,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_t_u32_e32 vcc, tba_lo, v2 ; encoding: [0x6c,0x04,0xbe,0x7d]
+0x6c,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xba,0x7d]
-0x00,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, tba_hi, v2 ; encoding: [0x6d,0x04,0xbe,0x7d]
+0x6d,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xba,0x7d]
-0x65,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, tma_lo, v2 ; encoding: [0x6e,0x04,0xbe,0x7d]
+0x6e,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xba,0x7d]
-0x66,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, tma_hi, v2 ; encoding: [0x6f,0x04,0xbe,0x7d]
+0x6f,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xba,0x7d]
-0x67,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, ttmp11, v2 ; encoding: [0x7b,0x04,0xbe,0x7d]
+0x7b,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xba,0x7d]
-0x6a,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, m0, v2 ; encoding: [0x7c,0x04,0xbe,0x7d]
+0x7c,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xba,0x7d]
-0x6b,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0xbe,0x7d]
+0x7e,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xba,0x7d]
-0x6c,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0xbe,0x7d]
+0x7f,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xba,0x7d]
-0x6d,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, 0, v2 ; encoding: [0x80,0x04,0xbe,0x7d]
+0x80,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xba,0x7d]
-0x6e,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, -1, v2 ; encoding: [0xc1,0x04,0xbe,0x7d]
+0xc1,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xba,0x7d]
-0x6f,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, 0.5, v2 ; encoding: [0xf0,0x04,0xbe,0x7d]
+0xf0,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xba,0x7d]
-0x7b,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, -4.0, v2 ; encoding: [0xf7,0x04,0xbe,0x7d]
+0xf7,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xba,0x7d]
-0x7c,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, scc, v2 ; encoding: [0xfd,0x04,0xbe,0x7d]
+0xfd,0x04,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xba,0x7d]
-0x7e,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0xbe,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xbe,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ne_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xba,0x7d]
-0x7f,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0xbe,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xbe,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ne_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xba,0x7d]
-0x80,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, v1, v2 ; encoding: [0x01,0x05,0xbe,0x7d]
+0x01,0x05,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xba,0x7d]
-0xc1,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, v255, v2 ; encoding: [0xff,0x05,0xbe,0x7d]
+0xff,0x05,0xbe,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xba,0x7d]
-0xf0,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e32 vcc, s1, v255 ; encoding: [0x01,0xfe,0xbf,0x7d]
+0x01,0xfe,0xbf,0x7d
-# CHECK: v_cmpx_ne_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xba,0x7d]
-0xf7,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, s2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xba,0x7d]
-0xfd,0x00,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e64 s[12:13], 0, s2 ; encoding: [0x0c,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+0x0c,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xba,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xba,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_t_u32_e64 s[100:101], 0, s2 ; encoding: [0x64,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+0x64,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xba,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xba,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_t_u32_e64 flat_scratch, 0, s2 ; encoding: [0x66,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+0x66,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xba,0x7d]
-0x00,0x01,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e64 vcc, 0, s2 ; encoding: [0x6a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+0x6a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xba,0x7d]
-0xff,0x01,0xba,0x7d
+# CHECK: v_cmpx_t_u32_e64 tba, 0, s2 ; encoding: [0x6c,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+0x6c,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xbb,0x7d]
-0x00,0xfe,0xbb,0x7d
+# CHECK: v_cmpx_t_u32_e64 tma, 0, s2 ; encoding: [0x6e,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+0x6e,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 ttmp[10:11], 0, s2 ; encoding: [0x7a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00]
+0x7a,0x00,0xdf,0xd0,0x80,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], -1, s2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xc1,0x04,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0xc1,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0.5, s2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xf0,0x04,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0xf0,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], -4.0, s2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xf7,0x04,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0xf7,0x04,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v1, s2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x01,0x05,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x01,0x05,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], v255, s2 ; encoding: [0x0a,0x00,0xdf,0xd0,0xff,0x05,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0xff,0x05,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, s101 ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xca,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xca,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xdd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, flat_scratch_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xcc,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xcc,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xdd,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, flat_scratch_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xce,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xce,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xdd,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, vcc_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xd4,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xd4,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xdd,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, vcc_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xd6,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xd6,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xdd,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, tba_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xd8,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xd8,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xdd,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xdd,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, tba_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xda,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xda,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xdd,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xdd,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, tma_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xdc,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xdc,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xdd,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xdd,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, tma_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xde,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xde,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xdd,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xdd,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, ttmp11 ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xf6,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xf6,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xdd,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xdd,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, m0 ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xf8,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xf8,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xdd,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xdd,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, exec_lo ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xfc,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xfc,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xdd,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xdd,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, exec_hi ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xfe,0x00,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xfe,0x00,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xdd,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xdd,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, 0 ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0x00,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0x00,0x01,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xdd,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xdd,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, -1 ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0x82,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0x82,0x01,0x00
-# CHECK: v_cmpx_ne_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xdd,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xdd,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, 0.5 ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xe0,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xe0,0x01,0x00
-# CHECK: v_cmpx_ge_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xbc,0x7d]
-0x00,0x00,0xbc,0x7d
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, -4.0 ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xee,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xee,0x01,0x00
-# CHECK: v_cmpx_ge_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xbc,0x7d]
-0x65,0x00,0xbc,0x7d
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, scc ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xfa,0x01,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xfa,0x01,0x00
-# CHECK: v_cmpx_ge_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xbc,0x7d]
-0x66,0x00,0xbc,0x7d
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, v2 ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0x04,0x02,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0x04,0x02,0x00
-# CHECK: v_cmpx_ge_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xbc,0x7d]
-0x67,0x00,0xbc,0x7d
+# CHECK: v_cmpx_t_u32_e64 s[10:11], 0, v255 ; encoding: [0x0a,0x00,0xdf,0xd0,0x80,0xfe,0x03,0x00]
+0x0a,0x00,0xdf,0xd0,0x80,0xfe,0x03,0x00
-# CHECK: v_cmpx_ge_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xbc,0x7d]
-0x6a,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc0,0x7d]
+0x02,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xbc,0x7d]
-0x6b,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc0,0x7d]
+0x04,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xbc,0x7d]
-0x6c,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc0,0x7d]
+0x64,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xbc,0x7d]
-0x6d,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc0,0x7d]
+0x66,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xbc,0x7d]
-0x6e,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc0,0x7d]
+0x6a,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xbc,0x7d]
-0x6f,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xc0,0x7d]
+0x6c,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xbc,0x7d]
-0x7b,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xc0,0x7d]
+0x6e,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xbc,0x7d]
-0x7c,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xc0,0x7d]
+0x7a,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xbc,0x7d]
-0x7e,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc0,0x7d]
+0x7e,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xbc,0x7d]
-0x7f,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc0,0x7d]
+0x80,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xbc,0x7d]
-0x80,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc0,0x7d]
+0xc1,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xbc,0x7d]
-0xc1,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc0,0x7d]
+0xf0,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xbc,0x7d]
-0xf0,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc0,0x7d]
+0xf7,0x04,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xbc,0x7d]
-0xf7,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xc0,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xc0,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ge_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xbc,0x7d]
-0xfd,0x00,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xc0,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xc0,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ge_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xbc,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xbc,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_f_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc0,0x7d]
+0x01,0x05,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xbc,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xbc,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_f_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc0,0x7d]
+0xfe,0x05,0xc0,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xbc,0x7d]
-0x00,0x01,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc1,0x7d]
+0x02,0xfc,0xc1,0x7d
-# CHECK: v_cmpx_ge_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xbc,0x7d]
-0xff,0x01,0xbc,0x7d
+# CHECK: v_cmp_f_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xbd,0x7d]
-0x00,0xfe,0xbd,0x7d
+# CHECK: v_cmp_f_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xde,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xde,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xde,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xde,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xde,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xde,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xde,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xde,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xde,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xde,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xde,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xe0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xde,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xde,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xe0,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xde,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xde,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xe0,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xde,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xe0,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xde,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xe0,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xde,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xe0,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xde,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xe0,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xe0,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xde,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xde,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xe0,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xde,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xde,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xe0,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xde,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xde,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xe0,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xde,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xde,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xe0,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xe0,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xde,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xde,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xe0,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xe0,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xde,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xde,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_f_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xe0,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xe0,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xde,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xde,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lt_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc2,0x7d]
+0x02,0x04,0xc2,0x7d
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xde,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xde,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_lt_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc2,0x7d]
+0x04,0x04,0xc2,0x7d
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xde,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xde,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lt_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc2,0x7d]
+0x64,0x04,0xc2,0x7d
-# CHECK: v_cmpx_ge_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xde,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xde,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_lt_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc2,0x7d]
+0x66,0x04,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0xbe,0x7d]
-0x00,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc2,0x7d]
+0x6a,0x04,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, s101, v0 ; encoding: [0x65,0x00,0xbe,0x7d]
-0x65,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xc2,0x7d]
+0x6c,0x04,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, flat_scratch_lo, v0 ; encoding: [0x66,0x00,0xbe,0x7d]
-0x66,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xc2,0x7d]
+0x6e,0x04,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, flat_scratch_hi, v0 ; encoding: [0x67,0x00,0xbe,0x7d]
-0x67,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xc2,0x7d]
+0x7a,0x04,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, vcc_lo, v0 ; encoding: [0x6a,0x00,0xbe,0x7d]
-0x6a,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc2,0x7d]
+0x7e,0x04,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, vcc_hi, v0 ; encoding: [0x6b,0x00,0xbe,0x7d]
-0x6b,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc2,0x7d]
+0x80,0x04,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, tba_lo, v0 ; encoding: [0x6c,0x00,0xbe,0x7d]
-0x6c,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc2,0x7d]
+0xc1,0x04,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, tba_hi, v0 ; encoding: [0x6d,0x00,0xbe,0x7d]
-0x6d,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc2,0x7d]
+0xf0,0x04,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, tma_lo, v0 ; encoding: [0x6e,0x00,0xbe,0x7d]
-0x6e,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc2,0x7d]
+0xf7,0x04,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, tma_hi, v0 ; encoding: [0x6f,0x00,0xbe,0x7d]
-0x6f,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xc2,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xc2,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_t_u32_e32 vcc, ttmp11, v0 ; encoding: [0x7b,0x00,0xbe,0x7d]
-0x7b,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xc2,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xc2,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_t_u32_e32 vcc, m0, v0 ; encoding: [0x7c,0x00,0xbe,0x7d]
-0x7c,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc2,0x7d]
+0x01,0x05,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, exec_lo, v0 ; encoding: [0x7e,0x00,0xbe,0x7d]
-0x7e,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc2,0x7d]
+0xfe,0x05,0xc2,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, exec_hi, v0 ; encoding: [0x7f,0x00,0xbe,0x7d]
-0x7f,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc3,0x7d]
+0x02,0xfc,0xc3,0x7d
-# CHECK: v_cmpx_t_u32_e32 vcc, 0, v0 ; encoding: [0x80,0x00,0xbe,0x7d]
-0x80,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e32 vcc, -1, v0 ; encoding: [0xc1,0x00,0xbe,0x7d]
-0xc1,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e32 vcc, 0.5, v0 ; encoding: [0xf0,0x00,0xbe,0x7d]
-0xf0,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e32 vcc, -4.0, v0 ; encoding: [0xf7,0x00,0xbe,0x7d]
-0xf7,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e32 vcc, scc, v0 ; encoding: [0xfd,0x00,0xbe,0x7d]
-0xfd,0x00,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e32 vcc, 0xaf123456, v0 ; encoding: [0xff,0x00,0xbe,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xbe,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_lt_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e32 vcc, 0x3f717273, v0 ; encoding: [0xff,0x00,0xbe,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xbe,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_lt_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e32 vcc, v0, v0 ; encoding: [0x00,0x01,0xbe,0x7d]
-0x00,0x01,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xe1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e32 vcc, v255, v0 ; encoding: [0xff,0x01,0xbe,0x7d]
-0xff,0x01,0xbe,0x7d
+# CHECK: v_cmp_lt_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xe1,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e32 vcc, s0, v255 ; encoding: [0x00,0xfe,0xbf,0x7d]
-0x00,0xfe,0xbf,0x7d
+# CHECK: v_cmp_lt_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xe1,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e64 s[0:1], s0, s0 ; encoding: [0x00,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xe1,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e64 s[2:3], s0, s0 ; encoding: [0x02,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xe1,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_t_u32_e64 s[100:101], s0, s0 ; encoding: [0x64,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xe1,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_t_u32_e64 flat_scratch, s0, s0 ; encoding: [0x66,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xe1,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xe1,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_t_u32_e64 vcc, s0, s0 ; encoding: [0x6a,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xe1,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_t_u32_e64 tba, s0, s0 ; encoding: [0x6c,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xe1,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_t_u32_e64 tma, s0, s0 ; encoding: [0x6e,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xe1,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_t_u32_e64 ttmp[10:11], s0, s0 ; encoding: [0x7a,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xdf,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xe1,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xe1,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_t_u32_e64 s[0:1], 0, s0 ; encoding: [0x00,0x00,0xdf,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xe1,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xe1,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_t_u32_e64 s[0:1], -1, s0 ; encoding: [0x00,0x00,0xdf,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xe1,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xe1,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_t_u32_e64 s[0:1], 0.5, s0 ; encoding: [0x00,0x00,0xdf,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc4,0x7d]
+0x02,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], -4.0, s0 ; encoding: [0x00,0x00,0xdf,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc4,0x7d]
+0x04,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], scc, s0 ; encoding: [0x00,0x00,0xdf,0xd0,0xfd,0x00,0x00,0x00]
-0x00,0x00,0xdf,0xd0,0xfd,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc4,0x7d]
+0x64,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], v0, s0 ; encoding: [0x00,0x00,0xdf,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xdf,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc4,0x7d]
+0x66,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], v255, s0 ; encoding: [0x00,0x00,0xdf,0xd0,0xff,0x01,0x00,0x00]
-0x00,0x00,0xdf,0xd0,0xff,0x01,0x00,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc4,0x7d]
+0x6a,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], s0, 0 ; encoding: [0x00,0x00,0xdf,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xdf,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xc4,0x7d]
+0x6c,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], s0, -1 ; encoding: [0x00,0x00,0xdf,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xdf,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xc4,0x7d]
+0x6e,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], s0, 0.5 ; encoding: [0x00,0x00,0xdf,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xdf,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xc4,0x7d]
+0x7a,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], s0, -4.0 ; encoding: [0x00,0x00,0xdf,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xdf,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc4,0x7d]
+0x7e,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], s0, scc ; encoding: [0x00,0x00,0xdf,0xd0,0x00,0xfa,0x01,0x00]
-0x00,0x00,0xdf,0xd0,0x00,0xfa,0x01,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc4,0x7d]
+0x80,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], s0, v0 ; encoding: [0x00,0x00,0xdf,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xdf,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc4,0x7d]
+0xc1,0x04,0xc4,0x7d
-# CHECK: v_cmpx_t_u32_e64 s[0:1], s0, v255 ; encoding: [0x00,0x00,0xdf,0xd0,0x00,0xfe,0x03,0x00]
-0x00,0x00,0xdf,0xd0,0x00,0xfe,0x03,0x00
+# CHECK: v_cmp_eq_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc4,0x7d]
+0xf0,0x04,0xc4,0x7d
-# CHECK: v_cmp_f_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xc0,0x7d]
-0x00,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc4,0x7d]
+0xf7,0x04,0xc4,0x7d
-# CHECK: v_cmp_f_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xc0,0x7d]
-0x02,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xc4,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xc4,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_f_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xc0,0x7d]
-0x64,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xc4,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xc4,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_f_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xc0,0x7d]
-0x66,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc4,0x7d]
+0x01,0x05,0xc4,0x7d
-# CHECK: v_cmp_f_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xc0,0x7d]
-0x6a,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc4,0x7d]
+0xfe,0x05,0xc4,0x7d
-# CHECK: v_cmp_f_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xc0,0x7d]
-0x6c,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc5,0x7d]
+0x02,0xfc,0xc5,0x7d
-# CHECK: v_cmp_f_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xc0,0x7d]
-0x6e,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xc0,0x7d]
-0x7a,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xc0,0x7d]
-0x7e,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xc0,0x7d]
-0x80,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xc0,0x7d]
-0xc1,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xc0,0x7d]
-0xf0,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xc0,0x7d]
-0xf7,0x00,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xc0,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xc0,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_eq_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xe2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xc0,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xc0,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_eq_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xe2,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xc0,0x7d]
-0x00,0x01,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xe2,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xc0,0x7d]
-0xfe,0x01,0xc0,0x7d
+# CHECK: v_cmp_eq_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xe2,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xc1,0x7d]
-0x00,0xfc,0xc1,0x7d
+# CHECK: v_cmp_eq_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xe2,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_f_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xe2,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_f_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xe2,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xe2,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_f_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xe2,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_f_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xe2,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_f_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xe2,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_f_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xe2,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xe2,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_f_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xe2,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xe2,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_f_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xe0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xe2,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xe2,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_f_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe0,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe0,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc6,0x7d]
+0x02,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe0,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe0,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc6,0x7d]
+0x04,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe0,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe0,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc6,0x7d]
+0x64,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe0,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe0,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc6,0x7d]
+0x66,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe0,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe0,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc6,0x7d]
+0x6a,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe0,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe0,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xc6,0x7d]
+0x6c,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe0,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe0,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xc6,0x7d]
+0x6e,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe0,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe0,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xc6,0x7d]
+0x7a,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe0,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe0,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc6,0x7d]
+0x7e,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe0,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe0,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc6,0x7d]
+0x80,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe0,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe0,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc6,0x7d]
+0xc1,0x04,0xc6,0x7d
-# CHECK: v_cmp_f_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe0,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe0,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_le_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc6,0x7d]
+0xf0,0x04,0xc6,0x7d
-# CHECK: v_cmp_lt_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xc2,0x7d]
-0x00,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc6,0x7d]
+0xf7,0x04,0xc6,0x7d
-# CHECK: v_cmp_lt_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xc2,0x7d]
-0x02,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xc6,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xc6,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_lt_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xc2,0x7d]
-0x64,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xc6,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xc6,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_lt_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xc2,0x7d]
-0x66,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc6,0x7d]
+0x01,0x05,0xc6,0x7d
-# CHECK: v_cmp_lt_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xc2,0x7d]
-0x6a,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc6,0x7d]
+0xfe,0x05,0xc6,0x7d
-# CHECK: v_cmp_lt_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xc2,0x7d]
-0x6c,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc7,0x7d]
+0x02,0xfc,0xc7,0x7d
-# CHECK: v_cmp_lt_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xc2,0x7d]
-0x6e,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xc2,0x7d]
-0x7a,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xc2,0x7d]
-0x7e,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xc2,0x7d]
-0x80,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xc2,0x7d]
-0xc1,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xc2,0x7d]
-0xf0,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xc2,0x7d]
-0xf7,0x00,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xc2,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xc2,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_le_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xe3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xc2,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xc2,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_le_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xe3,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xc2,0x7d]
-0x00,0x01,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xe3,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xc2,0x7d]
-0xfe,0x01,0xc2,0x7d
+# CHECK: v_cmp_le_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xe3,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xc3,0x7d]
-0x00,0xfc,0xc3,0x7d
+# CHECK: v_cmp_le_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xe3,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_lt_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xe3,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_lt_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xe3,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xe3,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_lt_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xe3,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_lt_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xe3,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_lt_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xe3,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_lt_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xe3,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xe3,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_lt_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xe3,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xe3,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_lt_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xe1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xe3,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xe3,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_lt_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe1,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe1,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xc8,0x7d]
+0x02,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe1,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe1,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xc8,0x7d]
+0x04,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe1,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe1,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xc8,0x7d]
+0x64,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe1,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe1,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xc8,0x7d]
+0x66,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe1,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe1,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xc8,0x7d]
+0x6a,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe1,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe1,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xc8,0x7d]
+0x6c,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe1,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe1,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xc8,0x7d]
+0x6e,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe1,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe1,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xc8,0x7d]
+0x7a,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe1,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe1,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xc8,0x7d]
+0x7e,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe1,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe1,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xc8,0x7d]
+0x80,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe1,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe1,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xc8,0x7d]
+0xc1,0x04,0xc8,0x7d
-# CHECK: v_cmp_lt_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe1,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe1,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_gt_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xc8,0x7d]
+0xf0,0x04,0xc8,0x7d
-# CHECK: v_cmp_eq_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xc4,0x7d]
-0x00,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xc8,0x7d]
+0xf7,0x04,0xc8,0x7d
-# CHECK: v_cmp_eq_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xc4,0x7d]
-0x02,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xc8,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xc8,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_eq_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xc4,0x7d]
-0x64,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xc8,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xc8,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_eq_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xc4,0x7d]
-0x66,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xc8,0x7d]
+0x01,0x05,0xc8,0x7d
-# CHECK: v_cmp_eq_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xc4,0x7d]
-0x6a,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xc8,0x7d]
+0xfe,0x05,0xc8,0x7d
-# CHECK: v_cmp_eq_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xc4,0x7d]
-0x6c,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xc9,0x7d]
+0x02,0xfc,0xc9,0x7d
-# CHECK: v_cmp_eq_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xc4,0x7d]
-0x6e,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xc4,0x7d]
-0x7a,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xc4,0x7d]
-0x7e,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xc4,0x7d]
-0x80,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xc4,0x7d]
-0xc1,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xc4,0x7d]
-0xf0,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xc4,0x7d]
-0xf7,0x00,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xc4,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xc4,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_gt_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xe4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xc4,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xc4,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_gt_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xe4,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xc4,0x7d]
-0x00,0x01,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xe4,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xc4,0x7d]
-0xfe,0x01,0xc4,0x7d
+# CHECK: v_cmp_gt_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xe4,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xc5,0x7d]
-0x00,0xfc,0xc5,0x7d
+# CHECK: v_cmp_gt_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xe4,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_eq_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xe4,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_eq_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xe4,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xe4,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_eq_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xe4,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_eq_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xe4,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_eq_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xe4,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_eq_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xe4,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xe4,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_eq_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xe4,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xe4,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_eq_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xe2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xe4,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xe4,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_eq_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe2,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xca,0x7d]
+0x02,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe2,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xca,0x7d]
+0x04,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe2,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xca,0x7d]
+0x64,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe2,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe2,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xca,0x7d]
+0x66,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe2,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe2,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xca,0x7d]
+0x6a,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe2,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe2,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xca,0x7d]
+0x6c,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe2,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe2,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xca,0x7d]
+0x6e,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe2,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe2,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xca,0x7d]
+0x7a,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe2,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe2,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xca,0x7d]
+0x7e,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe2,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe2,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xca,0x7d]
+0x80,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe2,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe2,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xca,0x7d]
+0xc1,0x04,0xca,0x7d
-# CHECK: v_cmp_eq_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe2,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe2,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_ne_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xca,0x7d]
+0xf0,0x04,0xca,0x7d
-# CHECK: v_cmp_le_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xc6,0x7d]
-0x00,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xca,0x7d]
+0xf7,0x04,0xca,0x7d
-# CHECK: v_cmp_le_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xc6,0x7d]
-0x02,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xca,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xca,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_le_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xc6,0x7d]
-0x64,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xca,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xca,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_le_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xc6,0x7d]
-0x66,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xca,0x7d]
+0x01,0x05,0xca,0x7d
-# CHECK: v_cmp_le_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xc6,0x7d]
-0x6a,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xca,0x7d]
+0xfe,0x05,0xca,0x7d
-# CHECK: v_cmp_le_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xc6,0x7d]
-0x6c,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xcb,0x7d]
+0x02,0xfc,0xcb,0x7d
-# CHECK: v_cmp_le_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xc6,0x7d]
-0x6e,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xc6,0x7d]
-0x7a,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xc6,0x7d]
-0x7e,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xc6,0x7d]
-0x80,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xc6,0x7d]
-0xc1,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xc6,0x7d]
-0xf0,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xc6,0x7d]
-0xf7,0x00,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xc6,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xc6,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ne_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xe5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xc6,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xc6,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ne_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xe5,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xc6,0x7d]
-0x00,0x01,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xe5,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xc6,0x7d]
-0xfe,0x01,0xc6,0x7d
+# CHECK: v_cmp_ne_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xe5,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xc7,0x7d]
-0x00,0xfc,0xc7,0x7d
+# CHECK: v_cmp_ne_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xe5,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_le_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xe5,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_le_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xe5,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xe5,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_le_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xe5,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_le_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xe5,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_le_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xe5,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_le_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xe5,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xe5,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_le_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xe5,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xe5,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_le_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xe3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xe5,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xe5,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_le_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe3,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe3,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xcc,0x7d]
+0x02,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe3,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe3,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xcc,0x7d]
+0x04,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe3,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe3,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xcc,0x7d]
+0x64,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe3,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe3,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xcc,0x7d]
+0x66,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe3,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xcc,0x7d]
+0x6a,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe3,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe3,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xcc,0x7d]
+0x6c,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe3,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe3,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xcc,0x7d]
+0x6e,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe3,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe3,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xcc,0x7d]
+0x7a,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe3,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe3,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xcc,0x7d]
+0x7e,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe3,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe3,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xcc,0x7d]
+0x80,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe3,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe3,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xcc,0x7d]
+0xc1,0x04,0xcc,0x7d
-# CHECK: v_cmp_le_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe3,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe3,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_ge_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xcc,0x7d]
+0xf0,0x04,0xcc,0x7d
-# CHECK: v_cmp_gt_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xc8,0x7d]
-0x00,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xcc,0x7d]
+0xf7,0x04,0xcc,0x7d
-# CHECK: v_cmp_gt_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xc8,0x7d]
-0x02,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xcc,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xcc,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_gt_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xc8,0x7d]
-0x64,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xcc,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xcc,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_gt_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xc8,0x7d]
-0x66,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xcc,0x7d]
+0x01,0x05,0xcc,0x7d
-# CHECK: v_cmp_gt_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xc8,0x7d]
-0x6a,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xcc,0x7d]
+0xfe,0x05,0xcc,0x7d
-# CHECK: v_cmp_gt_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xc8,0x7d]
-0x6c,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xcd,0x7d]
+0x02,0xfc,0xcd,0x7d
-# CHECK: v_cmp_gt_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xc8,0x7d]
-0x6e,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xc8,0x7d]
-0x7a,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xc8,0x7d]
-0x7e,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xc8,0x7d]
-0x80,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xc8,0x7d]
-0xc1,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xc8,0x7d]
-0xf0,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xc8,0x7d]
-0xf7,0x00,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xc8,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xc8,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ge_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xe6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xc8,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xc8,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ge_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xe6,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xc8,0x7d]
-0x00,0x01,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xe6,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xc8,0x7d]
-0xfe,0x01,0xc8,0x7d
+# CHECK: v_cmp_ge_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xe6,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xc9,0x7d]
-0x00,0xfc,0xc9,0x7d
+# CHECK: v_cmp_ge_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xe6,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_gt_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xe6,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_gt_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xe6,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xe6,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_gt_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xe6,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_gt_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xe6,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_gt_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xe6,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_gt_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xe6,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xe6,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_gt_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xe6,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xe6,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_gt_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xe4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xe6,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xe6,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_gt_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe4,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xce,0x7d]
+0x02,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe4,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xce,0x7d]
+0x04,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe4,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xce,0x7d]
+0x64,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe4,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe4,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xce,0x7d]
+0x66,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe4,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe4,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xce,0x7d]
+0x6a,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe4,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe4,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xce,0x7d]
+0x6c,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe4,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe4,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xce,0x7d]
+0x6e,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe4,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe4,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xce,0x7d]
+0x7a,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe4,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe4,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xce,0x7d]
+0x7e,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe4,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe4,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xce,0x7d]
+0x80,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe4,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe4,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xce,0x7d]
+0xc1,0x04,0xce,0x7d
-# CHECK: v_cmp_gt_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe4,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe4,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_t_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xce,0x7d]
+0xf0,0x04,0xce,0x7d
-# CHECK: v_cmp_ne_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xca,0x7d]
-0x00,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xce,0x7d]
+0xf7,0x04,0xce,0x7d
-# CHECK: v_cmp_ne_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xca,0x7d]
-0x02,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xce,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xce,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ne_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xca,0x7d]
-0x64,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xce,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xce,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ne_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xca,0x7d]
-0x66,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xce,0x7d]
+0x01,0x05,0xce,0x7d
-# CHECK: v_cmp_ne_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xca,0x7d]
-0x6a,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xce,0x7d]
+0xfe,0x05,0xce,0x7d
-# CHECK: v_cmp_ne_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xca,0x7d]
-0x6c,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xcf,0x7d]
+0x02,0xfc,0xcf,0x7d
-# CHECK: v_cmp_ne_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xca,0x7d]
-0x6e,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xca,0x7d]
-0x7a,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xca,0x7d]
-0x7e,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xca,0x7d]
-0x80,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xca,0x7d]
-0xc1,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xca,0x7d]
-0xf0,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xca,0x7d]
-0xf7,0x00,0xca,0x7d
+# CHECK: v_cmp_t_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xca,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xca,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_t_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xe7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xca,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xca,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_t_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xe7,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xca,0x7d]
-0x00,0x01,0xca,0x7d
+# CHECK: v_cmp_t_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xe7,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xca,0x7d]
-0xfe,0x01,0xca,0x7d
+# CHECK: v_cmp_t_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xe7,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xcb,0x7d]
-0x00,0xfc,0xcb,0x7d
+# CHECK: v_cmp_t_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xe7,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_ne_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xe7,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_ne_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xe7,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xe7,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_ne_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xe7,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_ne_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xe7,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_ne_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xe7,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_ne_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xe7,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xe7,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_ne_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xe7,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xe7,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_ne_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xe5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xe7,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xe7,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_ne_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe5,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd0,0x7d]
+0x02,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe5,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd0,0x7d]
+0x04,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe5,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd0,0x7d]
+0x64,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe5,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe5,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd0,0x7d]
+0x66,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe5,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe5,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd0,0x7d]
+0x6a,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe5,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe5,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xd0,0x7d]
+0x6c,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe5,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe5,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xd0,0x7d]
+0x6e,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe5,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe5,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xd0,0x7d]
+0x7a,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe5,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe5,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd0,0x7d]
+0x7e,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe5,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe5,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd0,0x7d]
+0x80,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe5,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe5,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd0,0x7d]
+0xc1,0x04,0xd0,0x7d
-# CHECK: v_cmp_ne_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe5,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe5,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_f_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd0,0x7d]
+0xf0,0x04,0xd0,0x7d
-# CHECK: v_cmp_ge_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xcc,0x7d]
-0x00,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd0,0x7d]
+0xf7,0x04,0xd0,0x7d
-# CHECK: v_cmp_ge_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xcc,0x7d]
-0x02,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xd0,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xd0,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ge_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xcc,0x7d]
-0x64,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xd0,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xd0,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ge_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xcc,0x7d]
-0x66,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd0,0x7d]
+0x01,0x05,0xd0,0x7d
-# CHECK: v_cmp_ge_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xcc,0x7d]
-0x6a,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd0,0x7d]
+0xfe,0x05,0xd0,0x7d
-# CHECK: v_cmp_ge_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xcc,0x7d]
-0x6c,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd1,0x7d]
+0x02,0xfc,0xd1,0x7d
-# CHECK: v_cmp_ge_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xcc,0x7d]
-0x6e,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xcc,0x7d]
-0x7a,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xcc,0x7d]
-0x7e,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xcc,0x7d]
-0x80,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xcc,0x7d]
-0xc1,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xcc,0x7d]
-0xf0,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xcc,0x7d]
-0xf7,0x00,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xcc,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xcc,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_f_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xe8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xcc,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xcc,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_f_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xe8,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xcc,0x7d]
-0x00,0x01,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xe8,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xcc,0x7d]
-0xfe,0x01,0xcc,0x7d
+# CHECK: v_cmp_f_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xe8,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xcd,0x7d]
-0x00,0xfc,0xcd,0x7d
+# CHECK: v_cmp_f_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xe8,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_ge_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xe8,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_ge_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xe8,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xe8,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_ge_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xe8,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_ge_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xe8,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_ge_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xe8,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_ge_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xe8,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xe8,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_ge_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xe8,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xe8,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_ge_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xe6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_f_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xe8,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xe8,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_ge_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd2,0x7d]
+0x02,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd2,0x7d]
+0x04,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd2,0x7d]
+0x64,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe6,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe6,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd2,0x7d]
+0x66,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe6,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe6,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd2,0x7d]
+0x6a,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe6,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe6,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xd2,0x7d]
+0x6c,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe6,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe6,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xd2,0x7d]
+0x6e,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe6,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe6,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xd2,0x7d]
+0x7a,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe6,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe6,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd2,0x7d]
+0x7e,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe6,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe6,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd2,0x7d]
+0x80,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe6,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe6,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd2,0x7d]
+0xc1,0x04,0xd2,0x7d
-# CHECK: v_cmp_ge_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe6,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe6,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_lt_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd2,0x7d]
+0xf0,0x04,0xd2,0x7d
-# CHECK: v_cmp_t_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xce,0x7d]
-0x00,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd2,0x7d]
+0xf7,0x04,0xd2,0x7d
-# CHECK: v_cmp_t_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xce,0x7d]
-0x02,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xd2,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xd2,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_t_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xce,0x7d]
-0x64,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xd2,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xd2,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_t_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xce,0x7d]
-0x66,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd2,0x7d]
+0x01,0x05,0xd2,0x7d
-# CHECK: v_cmp_t_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xce,0x7d]
-0x6a,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd2,0x7d]
+0xfe,0x05,0xd2,0x7d
-# CHECK: v_cmp_t_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xce,0x7d]
-0x6c,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd3,0x7d]
+0x02,0xfc,0xd3,0x7d
-# CHECK: v_cmp_t_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xce,0x7d]
-0x6e,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xce,0x7d]
-0x7a,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xce,0x7d]
-0x7e,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xce,0x7d]
-0x80,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xce,0x7d]
-0xc1,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xce,0x7d]
-0xf0,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xce,0x7d]
-0xf7,0x00,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xce,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xce,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_lt_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xe9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xce,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xce,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_lt_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xe9,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xce,0x7d]
-0x00,0x01,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xe9,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xce,0x7d]
-0xfe,0x01,0xce,0x7d
+# CHECK: v_cmp_lt_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xe9,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xcf,0x7d]
-0x00,0xfc,0xcf,0x7d
+# CHECK: v_cmp_lt_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xe9,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_t_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xe9,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_t_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xe9,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xe9,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_t_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xe9,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_t_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xe9,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_t_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xe9,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_t_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xe9,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xe9,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_t_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xe9,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xe9,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_t_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xe7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_lt_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xe9,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xe9,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_t_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe7,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe7,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd4,0x7d]
+0x02,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe7,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe7,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd4,0x7d]
+0x04,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe7,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe7,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd4,0x7d]
+0x64,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe7,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe7,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd4,0x7d]
+0x66,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe7,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe7,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd4,0x7d]
+0x6a,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe7,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe7,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xd4,0x7d]
+0x6c,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe7,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe7,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xd4,0x7d]
+0x6e,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe7,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe7,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xd4,0x7d]
+0x7a,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe7,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe7,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd4,0x7d]
+0x7e,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe7,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe7,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd4,0x7d]
+0x80,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe7,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe7,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd4,0x7d]
+0xc1,0x04,0xd4,0x7d
-# CHECK: v_cmp_t_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe7,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe7,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_eq_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd4,0x7d]
+0xf0,0x04,0xd4,0x7d
-# CHECK: v_cmp_f_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xd0,0x7d]
-0x00,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd4,0x7d]
+0xf7,0x04,0xd4,0x7d
-# CHECK: v_cmp_f_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xd0,0x7d]
-0x02,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xd4,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xd4,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_f_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xd0,0x7d]
-0x64,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xd4,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xd4,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_f_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xd0,0x7d]
-0x66,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd4,0x7d]
+0x01,0x05,0xd4,0x7d
-# CHECK: v_cmp_f_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xd0,0x7d]
-0x6a,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd4,0x7d]
+0xfe,0x05,0xd4,0x7d
-# CHECK: v_cmp_f_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xd0,0x7d]
-0x6c,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd5,0x7d]
+0x02,0xfc,0xd5,0x7d
-# CHECK: v_cmp_f_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xd0,0x7d]
-0x6e,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xd0,0x7d]
-0x7a,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xea,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xd0,0x7d]
-0x7e,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xea,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xd0,0x7d]
-0x80,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xea,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xd0,0x7d]
-0xc1,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xd0,0x7d]
-0xf0,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xea,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xd0,0x7d]
-0xf7,0x00,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xea,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xd0,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xd0,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_eq_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xea,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xd0,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xd0,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_eq_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xea,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xd0,0x7d]
-0x00,0x01,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xea,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xd0,0x7d]
-0xfe,0x01,0xd0,0x7d
+# CHECK: v_cmp_eq_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xea,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xd1,0x7d]
-0x00,0xfc,0xd1,0x7d
+# CHECK: v_cmp_eq_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xea,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_f_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xea,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_f_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xea,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xea,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_f_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xea,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_f_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xea,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_f_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xea,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_f_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xea,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xea,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_f_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xea,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xea,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_f_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xe8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_eq_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xea,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xea,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_f_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe8,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe8,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd6,0x7d]
+0x02,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe8,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe8,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd6,0x7d]
+0x04,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe8,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe8,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd6,0x7d]
+0x64,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe8,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe8,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd6,0x7d]
+0x66,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe8,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe8,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd6,0x7d]
+0x6a,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe8,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe8,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xd6,0x7d]
+0x6c,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe8,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe8,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xd6,0x7d]
+0x6e,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe8,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe8,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xd6,0x7d]
+0x7a,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe8,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe8,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd6,0x7d]
+0x7e,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe8,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe8,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd6,0x7d]
+0x80,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe8,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe8,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd6,0x7d]
+0xc1,0x04,0xd6,0x7d
-# CHECK: v_cmp_f_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe8,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe8,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_le_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd6,0x7d]
+0xf0,0x04,0xd6,0x7d
-# CHECK: v_cmp_lt_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xd2,0x7d]
-0x00,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd6,0x7d]
+0xf7,0x04,0xd6,0x7d
-# CHECK: v_cmp_lt_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xd2,0x7d]
-0x02,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xd6,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xd6,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_lt_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xd2,0x7d]
-0x64,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xd6,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xd6,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_lt_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xd2,0x7d]
-0x66,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd6,0x7d]
+0x01,0x05,0xd6,0x7d
-# CHECK: v_cmp_lt_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xd2,0x7d]
-0x6a,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd6,0x7d]
+0xfe,0x05,0xd6,0x7d
-# CHECK: v_cmp_lt_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xd2,0x7d]
-0x6c,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd7,0x7d]
+0x02,0xfc,0xd7,0x7d
-# CHECK: v_cmp_lt_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xd2,0x7d]
-0x6e,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xd2,0x7d]
-0x7a,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xd2,0x7d]
-0x7e,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xd2,0x7d]
-0x80,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xd2,0x7d]
-0xc1,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xd2,0x7d]
-0xf0,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xd2,0x7d]
-0xf7,0x00,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xd2,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xd2,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_le_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xeb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xd2,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xd2,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_le_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xeb,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xd2,0x7d]
-0x00,0x01,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xeb,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xd2,0x7d]
-0xfe,0x01,0xd2,0x7d
+# CHECK: v_cmp_le_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xeb,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xd3,0x7d]
-0x00,0xfc,0xd3,0x7d
+# CHECK: v_cmp_le_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xeb,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_lt_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xeb,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_lt_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xeb,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xeb,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_lt_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xeb,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_lt_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xeb,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_lt_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xeb,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_lt_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xeb,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xeb,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_lt_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xeb,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xeb,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_lt_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xe9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_le_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xeb,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xeb,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_lt_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xe9,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xe9,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xd8,0x7d]
+0x02,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xe9,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xe9,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xd8,0x7d]
+0x04,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xe9,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xe9,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xd8,0x7d]
+0x64,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xe9,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xe9,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xd8,0x7d]
+0x66,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xe9,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xe9,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xd8,0x7d]
+0x6a,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xe9,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xe9,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xd8,0x7d]
+0x6c,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xe9,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xe9,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xd8,0x7d]
+0x6e,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xe9,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xe9,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xd8,0x7d]
+0x7a,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xe9,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xe9,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xd8,0x7d]
+0x7e,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xe9,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xe9,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xd8,0x7d]
+0x80,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe9,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xe9,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xd8,0x7d]
+0xc1,0x04,0xd8,0x7d
-# CHECK: v_cmp_lt_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xe9,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xe9,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_gt_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xd8,0x7d]
+0xf0,0x04,0xd8,0x7d
-# CHECK: v_cmp_eq_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xd4,0x7d]
-0x00,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xd8,0x7d]
+0xf7,0x04,0xd8,0x7d
-# CHECK: v_cmp_eq_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xd4,0x7d]
-0x02,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xd8,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xd8,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_eq_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xd4,0x7d]
-0x64,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xd8,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xd8,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_eq_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xd4,0x7d]
-0x66,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xd8,0x7d]
+0x01,0x05,0xd8,0x7d
-# CHECK: v_cmp_eq_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xd4,0x7d]
-0x6a,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xd8,0x7d]
+0xfe,0x05,0xd8,0x7d
-# CHECK: v_cmp_eq_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xd4,0x7d]
-0x6c,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xd9,0x7d]
+0x02,0xfc,0xd9,0x7d
-# CHECK: v_cmp_eq_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xd4,0x7d]
-0x6e,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xd4,0x7d]
-0x7a,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xec,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xd4,0x7d]
-0x7e,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xec,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xd4,0x7d]
-0x80,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xec,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xd4,0x7d]
-0xc1,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xd4,0x7d]
-0xf0,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xec,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xd4,0x7d]
-0xf7,0x00,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xec,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xd4,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xd4,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_gt_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xec,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xd4,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xd4,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_gt_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xec,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xd4,0x7d]
-0x00,0x01,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xec,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xd4,0x7d]
-0xfe,0x01,0xd4,0x7d
+# CHECK: v_cmp_gt_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xec,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xd5,0x7d]
-0x00,0xfc,0xd5,0x7d
+# CHECK: v_cmp_gt_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xec,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_eq_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xec,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_eq_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xea,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xea,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xec,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xec,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_eq_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xea,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xea,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xec,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_eq_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xea,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xea,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xec,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_eq_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xea,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xea,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xec,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_eq_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xea,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xea,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xec,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xec,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_eq_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xea,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xea,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xec,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xec,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_eq_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xea,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xea,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_gt_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xec,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xec,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_eq_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xea,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xda,0x7d]
+0x02,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xea,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xda,0x7d]
+0x04,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xea,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xda,0x7d]
+0x64,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xea,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xea,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xda,0x7d]
+0x66,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xea,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xea,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xda,0x7d]
+0x6a,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xea,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xea,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xda,0x7d]
+0x6c,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xea,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xea,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xda,0x7d]
+0x6e,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xea,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xea,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xda,0x7d]
+0x7a,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xea,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xea,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xda,0x7d]
+0x7e,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xea,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xea,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xda,0x7d]
+0x80,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xea,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xea,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xda,0x7d]
+0xc1,0x04,0xda,0x7d
-# CHECK: v_cmp_eq_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xea,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xea,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_ne_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xda,0x7d]
+0xf0,0x04,0xda,0x7d
-# CHECK: v_cmp_le_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xd6,0x7d]
-0x00,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xda,0x7d]
+0xf7,0x04,0xda,0x7d
-# CHECK: v_cmp_le_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xd6,0x7d]
-0x02,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xda,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xda,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_le_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xd6,0x7d]
-0x64,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xda,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xda,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_le_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xd6,0x7d]
-0x66,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xda,0x7d]
+0x01,0x05,0xda,0x7d
-# CHECK: v_cmp_le_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xd6,0x7d]
-0x6a,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xda,0x7d]
+0xfe,0x05,0xda,0x7d
-# CHECK: v_cmp_le_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xd6,0x7d]
-0x6c,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xdb,0x7d]
+0x02,0xfc,0xdb,0x7d
-# CHECK: v_cmp_le_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xd6,0x7d]
-0x6e,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xd6,0x7d]
-0x7a,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xed,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xd6,0x7d]
-0x7e,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xed,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xd6,0x7d]
-0x80,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xed,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xd6,0x7d]
-0xc1,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xed,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xd6,0x7d]
-0xf0,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xed,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xd6,0x7d]
-0xf7,0x00,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xed,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xd6,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xd6,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ne_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xed,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xed,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xd6,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xd6,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ne_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xed,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xd6,0x7d]
-0x00,0x01,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xed,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xd6,0x7d]
-0xfe,0x01,0xd6,0x7d
+# CHECK: v_cmp_ne_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xed,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xd7,0x7d]
-0x00,0xfc,0xd7,0x7d
+# CHECK: v_cmp_ne_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xed,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_le_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xed,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_le_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xed,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xed,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_le_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xed,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_le_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xed,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_le_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xed,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_le_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xed,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xed,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_le_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xed,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xed,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_le_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xeb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ne_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xed,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xed,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_le_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xeb,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xdc,0x7d]
+0x02,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xeb,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xdc,0x7d]
+0x04,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xeb,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xdc,0x7d]
+0x64,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xeb,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xeb,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xdc,0x7d]
+0x66,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xeb,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xeb,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xdc,0x7d]
+0x6a,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xeb,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xeb,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xdc,0x7d]
+0x6c,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xeb,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xeb,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xdc,0x7d]
+0x6e,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xeb,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xeb,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xdc,0x7d]
+0x7a,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xeb,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xeb,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xdc,0x7d]
+0x7e,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xeb,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xeb,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xdc,0x7d]
+0x80,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xeb,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xeb,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xdc,0x7d]
+0xc1,0x04,0xdc,0x7d
-# CHECK: v_cmp_le_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xeb,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xeb,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_ge_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xdc,0x7d]
+0xf0,0x04,0xdc,0x7d
-# CHECK: v_cmp_gt_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xd8,0x7d]
-0x00,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xdc,0x7d]
+0xf7,0x04,0xdc,0x7d
-# CHECK: v_cmp_gt_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xd8,0x7d]
-0x02,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xdc,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xdc,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_gt_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xd8,0x7d]
-0x64,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xdc,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xdc,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_gt_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xd8,0x7d]
-0x66,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xdc,0x7d]
+0x01,0x05,0xdc,0x7d
-# CHECK: v_cmp_gt_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xd8,0x7d]
-0x6a,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xdc,0x7d]
+0xfe,0x05,0xdc,0x7d
-# CHECK: v_cmp_gt_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xd8,0x7d]
-0x6c,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xdd,0x7d]
+0x02,0xfc,0xdd,0x7d
-# CHECK: v_cmp_gt_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xd8,0x7d]
-0x6e,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xd8,0x7d]
-0x7a,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xee,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xd8,0x7d]
-0x7e,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xee,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xd8,0x7d]
-0x80,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xee,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xd8,0x7d]
-0xc1,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xd8,0x7d]
-0xf0,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xee,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xd8,0x7d]
-0xf7,0x00,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xee,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xd8,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xd8,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_ge_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xee,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xd8,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xd8,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_ge_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xee,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xd8,0x7d]
-0x00,0x01,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xee,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xd8,0x7d]
-0xfe,0x01,0xd8,0x7d
+# CHECK: v_cmp_ge_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xee,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xd9,0x7d]
-0x00,0xfc,0xd9,0x7d
+# CHECK: v_cmp_ge_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xee,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_gt_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xee,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_gt_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xec,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xec,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xee,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xee,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_gt_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xec,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xec,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xee,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_gt_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xec,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xec,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xee,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_gt_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xec,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xec,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xee,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_gt_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xec,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xec,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xee,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xee,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_gt_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xec,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xec,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xee,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xee,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_gt_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xec,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xec,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_ge_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xee,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xee,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_gt_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xec,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xde,0x7d]
+0x02,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xec,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xde,0x7d]
+0x04,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xec,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xde,0x7d]
+0x64,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xec,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xec,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xde,0x7d]
+0x66,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xec,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xec,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xde,0x7d]
+0x6a,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xec,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xec,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xde,0x7d]
+0x6c,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xec,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xec,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xde,0x7d]
+0x6e,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xec,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xec,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xde,0x7d]
+0x7a,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xec,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xec,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xde,0x7d]
+0x7e,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xec,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xec,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xde,0x7d]
+0x80,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xec,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xec,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xde,0x7d]
+0xc1,0x04,0xde,0x7d
-# CHECK: v_cmp_gt_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xec,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xec,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmp_t_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xde,0x7d]
+0xf0,0x04,0xde,0x7d
-# CHECK: v_cmp_ne_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xda,0x7d]
-0x00,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xde,0x7d]
+0xf7,0x04,0xde,0x7d
-# CHECK: v_cmp_ne_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xda,0x7d]
-0x02,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xde,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xde,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ne_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xda,0x7d]
-0x64,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xde,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xde,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ne_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xda,0x7d]
-0x66,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xde,0x7d]
+0x01,0x05,0xde,0x7d
-# CHECK: v_cmp_ne_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xda,0x7d]
-0x6a,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xde,0x7d]
+0xfe,0x05,0xde,0x7d
-# CHECK: v_cmp_ne_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xda,0x7d]
-0x6c,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xdf,0x7d]
+0x02,0xfc,0xdf,0x7d
-# CHECK: v_cmp_ne_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xda,0x7d]
-0x6e,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xda,0x7d]
-0x7a,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xef,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xda,0x7d]
-0x7e,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xef,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xda,0x7d]
-0x80,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xef,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xda,0x7d]
-0xc1,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xef,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xda,0x7d]
-0xf0,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xef,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xda,0x7d]
-0xf7,0x00,0xda,0x7d
+# CHECK: v_cmp_t_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xef,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xda,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xda,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmp_t_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xef,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xef,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xda,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xda,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmp_t_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xef,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xda,0x7d]
-0x00,0x01,0xda,0x7d
+# CHECK: v_cmp_t_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xef,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xda,0x7d]
-0xfe,0x01,0xda,0x7d
+# CHECK: v_cmp_t_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xef,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xdb,0x7d]
-0x00,0xfc,0xdb,0x7d
+# CHECK: v_cmp_t_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xef,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_ne_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xed,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xed,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xef,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_ne_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xed,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xed,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xef,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xef,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_ne_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xed,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xed,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xef,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_ne_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xed,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xed,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xef,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_ne_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xed,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xed,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xef,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_ne_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xed,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xed,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xef,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xef,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_ne_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xed,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xed,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xef,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xef,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_ne_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xed,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xed,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmp_t_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xef,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xef,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_ne_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xed,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xed,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe0,0x7d]
+0x02,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xed,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xed,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe0,0x7d]
+0x04,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xed,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xed,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe0,0x7d]
+0x64,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xed,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xed,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe0,0x7d]
+0x66,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xed,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xed,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe0,0x7d]
+0x6a,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xed,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xed,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xe0,0x7d]
+0x6c,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xed,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xed,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xe0,0x7d]
+0x6e,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xed,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xed,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xe0,0x7d]
+0x7a,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xed,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xed,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe0,0x7d]
+0x7e,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xed,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xed,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe0,0x7d]
+0x80,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xed,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xed,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe0,0x7d]
+0xc1,0x04,0xe0,0x7d
-# CHECK: v_cmp_ne_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xed,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xed,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_f_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe0,0x7d]
+0xf0,0x04,0xe0,0x7d
-# CHECK: v_cmp_ge_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xdc,0x7d]
-0x00,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe0,0x7d]
+0xf7,0x04,0xe0,0x7d
-# CHECK: v_cmp_ge_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xdc,0x7d]
-0x02,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xe0,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xe0,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_ge_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xdc,0x7d]
-0x64,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xe0,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xe0,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_ge_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xdc,0x7d]
-0x66,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe0,0x7d]
+0x01,0x05,0xe0,0x7d
-# CHECK: v_cmp_ge_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xdc,0x7d]
-0x6a,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe0,0x7d]
+0xfe,0x05,0xe0,0x7d
-# CHECK: v_cmp_ge_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xdc,0x7d]
-0x6c,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe1,0x7d]
+0x02,0xfc,0xe1,0x7d
-# CHECK: v_cmp_ge_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xdc,0x7d]
-0x6e,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xdc,0x7d]
-0x7a,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xdc,0x7d]
-0x7e,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xdc,0x7d]
-0x80,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xdc,0x7d]
-0xc1,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xdc,0x7d]
-0xf0,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xdc,0x7d]
-0xf7,0x00,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xdc,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xdc,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_f_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xf0,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xdc,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xdc,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_f_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xf0,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xdc,0x7d]
-0x00,0x01,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xf0,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xdc,0x7d]
-0xfe,0x01,0xdc,0x7d
+# CHECK: v_cmpx_f_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xf0,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xdd,0x7d]
-0x00,0xfc,0xdd,0x7d
+# CHECK: v_cmpx_f_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xf0,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_ge_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xf0,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_ge_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xee,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xee,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xf0,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xf0,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_ge_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xee,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xee,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xf0,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_ge_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xee,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xee,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xf0,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_ge_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xee,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xee,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xf0,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_ge_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xee,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xee,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xf0,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xf0,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_ge_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xee,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xee,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xf0,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xf0,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_ge_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xee,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xee,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xf0,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xf0,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_ge_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xee,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe2,0x7d]
+0x02,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xee,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe2,0x7d]
+0x04,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xee,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe2,0x7d]
+0x64,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xee,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xee,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe2,0x7d]
+0x66,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xee,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xee,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe2,0x7d]
+0x6a,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xee,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xee,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xe2,0x7d]
+0x6c,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xee,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xee,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xe2,0x7d]
+0x6e,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xee,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xee,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xe2,0x7d]
+0x7a,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xee,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xee,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe2,0x7d]
+0x7e,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xee,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xee,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe2,0x7d]
+0x80,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xee,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xee,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe2,0x7d]
+0xc1,0x04,0xe2,0x7d
-# CHECK: v_cmp_ge_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xee,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xee,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_lt_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe2,0x7d]
+0xf0,0x04,0xe2,0x7d
-# CHECK: v_cmp_t_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xde,0x7d]
-0x00,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe2,0x7d]
+0xf7,0x04,0xe2,0x7d
-# CHECK: v_cmp_t_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xde,0x7d]
-0x02,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xe2,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xe2,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmp_t_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xde,0x7d]
-0x64,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xe2,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xe2,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmp_t_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xde,0x7d]
-0x66,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe2,0x7d]
+0x01,0x05,0xe2,0x7d
-# CHECK: v_cmp_t_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xde,0x7d]
-0x6a,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe2,0x7d]
+0xfe,0x05,0xe2,0x7d
-# CHECK: v_cmp_t_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xde,0x7d]
-0x6c,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe3,0x7d]
+0x02,0xfc,0xe3,0x7d
-# CHECK: v_cmp_t_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xde,0x7d]
-0x6e,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xde,0x7d]
-0x7a,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xde,0x7d]
-0x7e,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xde,0x7d]
-0x80,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xde,0x7d]
-0xc1,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xde,0x7d]
-0xf0,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xde,0x7d]
-0xf7,0x00,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xde,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xde,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_lt_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xf1,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xde,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xde,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xf1,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xde,0x7d]
-0x00,0x01,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xf1,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xde,0x7d]
-0xfe,0x01,0xde,0x7d
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xf1,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xdf,0x7d]
-0x00,0xfc,0xdf,0x7d
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xf1,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmp_t_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xef,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xf1,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmp_t_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xef,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xef,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xf1,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xf1,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmp_t_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xef,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xef,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xf1,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmp_t_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xef,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xef,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xf1,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmp_t_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xef,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xef,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xf1,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmp_t_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xef,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xef,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xf1,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xf1,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmp_t_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xef,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xef,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xf1,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xf1,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmp_t_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xef,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xef,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xf1,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xf1,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmp_t_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xef,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe4,0x7d]
+0x02,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xef,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe4,0x7d]
+0x04,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xef,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe4,0x7d]
+0x64,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xef,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xef,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe4,0x7d]
+0x66,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xef,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xef,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe4,0x7d]
+0x6a,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xef,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xef,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xe4,0x7d]
+0x6c,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xef,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xef,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xe4,0x7d]
+0x6e,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xef,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xef,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xe4,0x7d]
+0x7a,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xef,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xef,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe4,0x7d]
+0x7e,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xef,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xef,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe4,0x7d]
+0x80,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xef,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xef,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe4,0x7d]
+0xc1,0x04,0xe4,0x7d
-# CHECK: v_cmp_t_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xef,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xef,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_eq_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe4,0x7d]
+0xf0,0x04,0xe4,0x7d
-# CHECK: v_cmpx_f_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe0,0x7d]
-0x00,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe4,0x7d]
+0xf7,0x04,0xe4,0x7d
-# CHECK: v_cmpx_f_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xe0,0x7d]
-0x02,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xe4,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xe4,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_f_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xe0,0x7d]
-0x64,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xe4,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xe4,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_f_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xe0,0x7d]
-0x66,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe4,0x7d]
+0x01,0x05,0xe4,0x7d
-# CHECK: v_cmpx_f_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xe0,0x7d]
-0x6a,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe4,0x7d]
+0xfe,0x05,0xe4,0x7d
-# CHECK: v_cmpx_f_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xe0,0x7d]
-0x6c,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe5,0x7d]
+0x02,0xfc,0xe5,0x7d
-# CHECK: v_cmpx_f_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xe0,0x7d]
-0x6e,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xe0,0x7d]
-0x7a,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xe0,0x7d]
-0x7e,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xe0,0x7d]
-0x80,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xe0,0x7d]
-0xc1,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xe0,0x7d]
-0xf0,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xe0,0x7d]
-0xf7,0x00,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xe0,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xe0,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_eq_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xf2,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xe0,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xe0,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xf2,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xe0,0x7d]
-0x00,0x01,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xf2,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xe0,0x7d]
-0xfe,0x01,0xe0,0x7d
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xf2,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xe1,0x7d]
-0x00,0xfc,0xe1,0x7d
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xf2,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_f_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xf2,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_f_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xf2,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xf2,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_f_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xf2,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_f_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xf2,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_f_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xf2,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_f_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xf2,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xf2,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_f_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xf2,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xf2,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_f_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xf0,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xf2,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xf2,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_f_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xf0,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xf0,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe6,0x7d]
+0x02,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xf0,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xf0,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe6,0x7d]
+0x04,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xf0,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xf0,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe6,0x7d]
+0x64,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xf0,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xf0,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe6,0x7d]
+0x66,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xf0,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xf0,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe6,0x7d]
+0x6a,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xf0,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xf0,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xe6,0x7d]
+0x6c,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xf0,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xf0,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xe6,0x7d]
+0x6e,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xf0,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xf0,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xe6,0x7d]
+0x7a,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xf0,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xf0,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe6,0x7d]
+0x7e,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xf0,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xf0,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe6,0x7d]
+0x80,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf0,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xf0,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe6,0x7d]
+0xc1,0x04,0xe6,0x7d
-# CHECK: v_cmpx_f_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xf0,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xf0,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_le_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe6,0x7d]
+0xf0,0x04,0xe6,0x7d
-# CHECK: v_cmpx_lt_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe2,0x7d]
-0x00,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe6,0x7d]
+0xf7,0x04,0xe6,0x7d
-# CHECK: v_cmpx_lt_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xe2,0x7d]
-0x02,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xe6,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xe6,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_lt_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xe2,0x7d]
-0x64,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xe6,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xe6,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_lt_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xe2,0x7d]
-0x66,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe6,0x7d]
+0x01,0x05,0xe6,0x7d
-# CHECK: v_cmpx_lt_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xe2,0x7d]
-0x6a,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe6,0x7d]
+0xfe,0x05,0xe6,0x7d
-# CHECK: v_cmpx_lt_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xe2,0x7d]
-0x6c,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe7,0x7d]
+0x02,0xfc,0xe7,0x7d
-# CHECK: v_cmpx_lt_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xe2,0x7d]
-0x6e,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xe2,0x7d]
-0x7a,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xe2,0x7d]
-0x7e,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xe2,0x7d]
-0x80,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xe2,0x7d]
-0xc1,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xe2,0x7d]
-0xf0,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xe2,0x7d]
-0xf7,0x00,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xe2,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xe2,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_le_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xf3,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xe2,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xe2,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_le_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xf3,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xe2,0x7d]
-0x00,0x01,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xf3,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xe2,0x7d]
-0xfe,0x01,0xe2,0x7d
+# CHECK: v_cmpx_le_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xf3,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xe3,0x7d]
-0x00,0xfc,0xe3,0x7d
+# CHECK: v_cmpx_le_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xf3,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xf3,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xf3,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xf3,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_lt_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xf3,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_lt_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xf3,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_lt_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xf3,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_lt_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xf3,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xf3,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_lt_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xf3,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xf3,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_lt_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xf1,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xf3,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xf3,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xf1,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xf1,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xe8,0x7d]
+0x02,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xf1,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xf1,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xe8,0x7d]
+0x04,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xf1,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xf1,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xe8,0x7d]
+0x64,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xf1,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xf1,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xe8,0x7d]
+0x66,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xf1,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xf1,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xe8,0x7d]
+0x6a,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xf1,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xf1,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xe8,0x7d]
+0x6c,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xf1,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xf1,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xe8,0x7d]
+0x6e,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xf1,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xf1,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xe8,0x7d]
+0x7a,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xf1,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xf1,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xe8,0x7d]
+0x7e,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xf1,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xf1,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xe8,0x7d]
+0x80,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf1,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xf1,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xe8,0x7d]
+0xc1,0x04,0xe8,0x7d
-# CHECK: v_cmpx_lt_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xf1,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xf1,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_gt_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xe8,0x7d]
+0xf0,0x04,0xe8,0x7d
-# CHECK: v_cmpx_eq_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe4,0x7d]
-0x00,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xe8,0x7d]
+0xf7,0x04,0xe8,0x7d
-# CHECK: v_cmpx_eq_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xe4,0x7d]
-0x02,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xe8,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xe8,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_eq_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xe4,0x7d]
-0x64,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xe8,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xe8,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_eq_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xe4,0x7d]
-0x66,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xe8,0x7d]
+0x01,0x05,0xe8,0x7d
-# CHECK: v_cmpx_eq_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xe4,0x7d]
-0x6a,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xe8,0x7d]
+0xfe,0x05,0xe8,0x7d
-# CHECK: v_cmpx_eq_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xe4,0x7d]
-0x6c,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xe9,0x7d]
+0x02,0xfc,0xe9,0x7d
-# CHECK: v_cmpx_eq_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xe4,0x7d]
-0x6e,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xe4,0x7d]
-0x7a,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xe4,0x7d]
-0x7e,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xe4,0x7d]
-0x80,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xe4,0x7d]
-0xc1,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xe4,0x7d]
-0xf0,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xe4,0x7d]
-0xf7,0x00,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xe4,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xe4,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_gt_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xf4,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xe4,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xe4,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xf4,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xe4,0x7d]
-0x00,0x01,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xf4,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xe4,0x7d]
-0xfe,0x01,0xe4,0x7d
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xf4,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xe5,0x7d]
-0x00,0xfc,0xe5,0x7d
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xf4,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xf4,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xf4,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xf4,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_eq_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xf4,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_eq_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xf4,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_eq_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xf4,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_eq_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xf4,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xf4,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_eq_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xf4,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xf4,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_eq_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xf2,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xf4,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xf4,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xf2,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xf2,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xea,0x7d]
+0x02,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xf2,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xf2,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xea,0x7d]
+0x04,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xf2,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xf2,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xea,0x7d]
+0x64,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xf2,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xf2,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xea,0x7d]
+0x66,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xf2,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xf2,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xea,0x7d]
+0x6a,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xf2,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xf2,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xea,0x7d]
+0x6c,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xf2,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xf2,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xea,0x7d]
+0x6e,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xf2,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xf2,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xea,0x7d]
+0x7a,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xf2,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xf2,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xea,0x7d]
+0x7e,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xf2,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xf2,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xea,0x7d]
+0x80,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf2,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xf2,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xea,0x7d]
+0xc1,0x04,0xea,0x7d
-# CHECK: v_cmpx_eq_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xf2,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xf2,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_ne_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xea,0x7d]
+0xf0,0x04,0xea,0x7d
-# CHECK: v_cmpx_le_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe6,0x7d]
-0x00,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xea,0x7d]
+0xf7,0x04,0xea,0x7d
-# CHECK: v_cmpx_le_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xe6,0x7d]
-0x02,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xea,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xea,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_le_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xe6,0x7d]
-0x64,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xea,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xea,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_le_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xe6,0x7d]
-0x66,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xea,0x7d]
+0x01,0x05,0xea,0x7d
-# CHECK: v_cmpx_le_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xe6,0x7d]
-0x6a,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xea,0x7d]
+0xfe,0x05,0xea,0x7d
-# CHECK: v_cmpx_le_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xe6,0x7d]
-0x6c,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xeb,0x7d]
+0x02,0xfc,0xeb,0x7d
-# CHECK: v_cmpx_le_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xe6,0x7d]
-0x6e,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xe6,0x7d]
-0x7a,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xe6,0x7d]
-0x7e,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xe6,0x7d]
-0x80,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xe6,0x7d]
-0xc1,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xe6,0x7d]
-0xf0,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xe6,0x7d]
-0xf7,0x00,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xe6,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xe6,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ne_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xf5,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xe6,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xe6,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xf5,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xe6,0x7d]
-0x00,0x01,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xf5,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xe6,0x7d]
-0xfe,0x01,0xe6,0x7d
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xf5,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xe7,0x7d]
-0x00,0xfc,0xe7,0x7d
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xf5,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_le_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xf5,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_le_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xf5,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xf5,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_le_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xf5,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_le_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xf5,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_le_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xf5,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_le_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xf5,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xf5,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_le_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xf5,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xf5,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_le_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xf3,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xf5,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xf5,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_le_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xf3,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xf3,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xec,0x7d]
+0x02,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xf3,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xf3,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xec,0x7d]
+0x04,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xf3,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xf3,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xec,0x7d]
+0x64,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xf3,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xf3,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xec,0x7d]
+0x66,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xf3,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xf3,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xec,0x7d]
+0x6a,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xf3,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xf3,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xec,0x7d]
+0x6c,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xf3,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xf3,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xec,0x7d]
+0x6e,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xf3,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xf3,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xec,0x7d]
+0x7a,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xf3,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xf3,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xec,0x7d]
+0x7e,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xf3,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xf3,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xec,0x7d]
+0x80,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf3,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xf3,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xec,0x7d]
+0xc1,0x04,0xec,0x7d
-# CHECK: v_cmpx_le_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xf3,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xf3,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_ge_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xec,0x7d]
+0xf0,0x04,0xec,0x7d
-# CHECK: v_cmpx_gt_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xe8,0x7d]
-0x00,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xec,0x7d]
+0xf7,0x04,0xec,0x7d
-# CHECK: v_cmpx_gt_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xe8,0x7d]
-0x02,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xec,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xec,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_gt_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xe8,0x7d]
-0x64,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xec,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xec,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_gt_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xe8,0x7d]
-0x66,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xec,0x7d]
+0x01,0x05,0xec,0x7d
-# CHECK: v_cmpx_gt_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xe8,0x7d]
-0x6a,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xec,0x7d]
+0xfe,0x05,0xec,0x7d
-# CHECK: v_cmpx_gt_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xe8,0x7d]
-0x6c,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xed,0x7d]
+0x02,0xfc,0xed,0x7d
-# CHECK: v_cmpx_gt_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xe8,0x7d]
-0x6e,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xe8,0x7d]
-0x7a,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xe8,0x7d]
-0x7e,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xe8,0x7d]
-0x80,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xe8,0x7d]
-0xc1,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xe8,0x7d]
-0xf0,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xe8,0x7d]
-0xf7,0x00,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xe8,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xe8,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ge_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xf6,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xe8,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xe8,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xf6,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xe8,0x7d]
-0x00,0x01,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xf6,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xe8,0x7d]
-0xfe,0x01,0xe8,0x7d
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xf6,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xe9,0x7d]
-0x00,0xfc,0xe9,0x7d
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xf6,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xf6,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xf6,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xf6,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_gt_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xf6,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_gt_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xf6,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_gt_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xf6,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_gt_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xf6,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xf6,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_gt_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xf6,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xf6,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_gt_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xf4,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xf6,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xf6,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xf4,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xf4,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xee,0x7d]
+0x02,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xf4,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xf4,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xee,0x7d]
+0x04,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xf4,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xf4,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xee,0x7d]
+0x64,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xf4,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xf4,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xee,0x7d]
+0x66,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xf4,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xf4,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xee,0x7d]
+0x6a,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xf4,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xf4,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xee,0x7d]
+0x6c,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xf4,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xf4,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xee,0x7d]
+0x6e,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xf4,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xf4,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xee,0x7d]
+0x7a,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xf4,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xf4,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xee,0x7d]
+0x7e,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xf4,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xf4,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xee,0x7d]
+0x80,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf4,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xf4,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xee,0x7d]
+0xc1,0x04,0xee,0x7d
-# CHECK: v_cmpx_gt_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xf4,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xf4,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_t_i64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xee,0x7d]
+0xf0,0x04,0xee,0x7d
-# CHECK: v_cmpx_ne_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xea,0x7d]
-0x00,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xee,0x7d]
+0xf7,0x04,0xee,0x7d
-# CHECK: v_cmpx_ne_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xea,0x7d]
-0x02,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xee,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xee,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ne_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xea,0x7d]
-0x64,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xee,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xee,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ne_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xea,0x7d]
-0x66,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xee,0x7d]
+0x01,0x05,0xee,0x7d
-# CHECK: v_cmpx_ne_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xea,0x7d]
-0x6a,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xee,0x7d]
+0xfe,0x05,0xee,0x7d
-# CHECK: v_cmpx_ne_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xea,0x7d]
-0x6c,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xef,0x7d]
+0x02,0xfc,0xef,0x7d
-# CHECK: v_cmpx_ne_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xea,0x7d]
-0x6e,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xea,0x7d]
-0x7a,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xea,0x7d]
-0x7e,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xea,0x7d]
-0x80,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xea,0x7d]
-0xc1,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xea,0x7d]
-0xf0,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xea,0x7d]
-0xf7,0x00,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xea,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xea,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_t_i64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xf7,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xea,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xea,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_t_i64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xf7,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xea,0x7d]
-0x00,0x01,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xf7,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xea,0x7d]
-0xfe,0x01,0xea,0x7d
+# CHECK: v_cmpx_t_i64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xf7,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xeb,0x7d]
-0x00,0xfc,0xeb,0x7d
+# CHECK: v_cmpx_t_i64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xf7,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xf7,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xf7,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xf7,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_ne_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xf7,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_ne_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xf7,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_ne_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xf7,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_ne_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xf7,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xf7,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_ne_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xf7,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xf7,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_ne_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xf5,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_i64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xf7,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xf7,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xf5,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xf5,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf0,0x7d]
+0x02,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xf5,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xf5,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf0,0x7d]
+0x04,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xf5,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xf5,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xf0,0x7d]
+0x64,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xf5,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xf5,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf0,0x7d]
+0x66,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xf5,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xf5,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf0,0x7d]
+0x6a,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xf5,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xf5,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xf0,0x7d]
+0x6c,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xf5,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xf5,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xf0,0x7d]
+0x6e,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xf5,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xf5,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xf0,0x7d]
+0x7a,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xf5,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xf5,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf0,0x7d]
+0x7e,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xf5,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xf5,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf0,0x7d]
+0x80,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf5,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xf5,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf0,0x7d]
+0xc1,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ne_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xf5,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xf5,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_f_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf0,0x7d]
+0xf0,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ge_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xec,0x7d]
-0x00,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf0,0x7d]
+0xf7,0x04,0xf0,0x7d
-# CHECK: v_cmpx_ge_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xec,0x7d]
-0x02,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xf0,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xf0,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ge_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xec,0x7d]
-0x64,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xf0,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xf0,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ge_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xec,0x7d]
-0x66,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf0,0x7d]
+0x01,0x05,0xf0,0x7d
-# CHECK: v_cmpx_ge_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xec,0x7d]
-0x6a,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf0,0x7d]
+0xfe,0x05,0xf0,0x7d
-# CHECK: v_cmpx_ge_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xec,0x7d]
-0x6c,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xf1,0x7d]
+0x02,0xfc,0xf1,0x7d
-# CHECK: v_cmpx_ge_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xec,0x7d]
-0x6e,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xec,0x7d]
-0x7a,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xec,0x7d]
-0x7e,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xec,0x7d]
-0x80,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xec,0x7d]
-0xc1,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xec,0x7d]
-0xf0,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xec,0x7d]
-0xf7,0x00,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xec,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xec,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_f_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xf8,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xec,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xec,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_f_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xf8,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xec,0x7d]
-0x00,0x01,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xf8,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xec,0x7d]
-0xfe,0x01,0xec,0x7d
+# CHECK: v_cmpx_f_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xf8,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xed,0x7d]
-0x00,0xfc,0xed,0x7d
+# CHECK: v_cmpx_f_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xf8,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xf8,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xf8,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xf8,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_ge_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xf8,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_ge_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xf8,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_ge_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xf8,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_ge_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xf8,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xf8,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_ge_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xf8,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xf8,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_ge_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xf6,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_f_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xf8,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xf8,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xf6,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xf6,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf2,0x7d]
+0x02,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xf6,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xf6,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf2,0x7d]
+0x04,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xf6,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xf6,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xf2,0x7d]
+0x64,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xf6,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xf6,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf2,0x7d]
+0x66,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xf6,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xf6,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf2,0x7d]
+0x6a,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xf6,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xf6,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xf2,0x7d]
+0x6c,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xf6,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xf6,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xf2,0x7d]
+0x6e,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xf6,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xf6,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xf2,0x7d]
+0x7a,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xf6,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xf6,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf2,0x7d]
+0x7e,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xf6,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xf6,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf2,0x7d]
+0x80,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf6,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xf6,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf2,0x7d]
+0xc1,0x04,0xf2,0x7d
-# CHECK: v_cmpx_ge_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xf6,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xf6,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_lt_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf2,0x7d]
+0xf0,0x04,0xf2,0x7d
-# CHECK: v_cmpx_t_i64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xee,0x7d]
-0x00,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf2,0x7d]
+0xf7,0x04,0xf2,0x7d
-# CHECK: v_cmpx_t_i64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xee,0x7d]
-0x02,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xf2,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xf2,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_t_i64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xee,0x7d]
-0x64,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xf2,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xf2,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_t_i64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xee,0x7d]
-0x66,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf2,0x7d]
+0x01,0x05,0xf2,0x7d
-# CHECK: v_cmpx_t_i64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xee,0x7d]
-0x6a,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf2,0x7d]
+0xfe,0x05,0xf2,0x7d
-# CHECK: v_cmpx_t_i64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xee,0x7d]
-0x6c,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xf3,0x7d]
+0x02,0xfc,0xf3,0x7d
-# CHECK: v_cmpx_t_i64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xee,0x7d]
-0x6e,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xee,0x7d]
-0x7a,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xee,0x7d]
-0x7e,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xee,0x7d]
-0x80,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xee,0x7d]
-0xc1,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xee,0x7d]
-0xf0,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xee,0x7d]
-0xf7,0x00,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xee,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xee,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_lt_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xf9,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xee,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xee,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xf9,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xee,0x7d]
-0x00,0x01,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xf9,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xee,0x7d]
-0xfe,0x01,0xee,0x7d
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xf9,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xef,0x7d]
-0x00,0xfc,0xef,0x7d
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xf9,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_t_i64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xf9,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_t_i64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xf9,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xf9,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_t_i64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xf9,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_t_i64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xf9,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_t_i64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xf9,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_t_i64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xf9,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xf9,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_t_i64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xf9,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xf9,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_t_i64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xf7,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_lt_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xf9,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xf9,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_t_i64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xf7,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xf7,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf4,0x7d]
+0x02,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xf7,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xf7,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf4,0x7d]
+0x04,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xf7,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xf7,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xf4,0x7d]
+0x64,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xf7,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xf7,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf4,0x7d]
+0x66,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xf7,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xf7,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf4,0x7d]
+0x6a,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xf7,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xf7,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xf4,0x7d]
+0x6c,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xf7,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xf7,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xf4,0x7d]
+0x6e,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xf7,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xf7,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xf4,0x7d]
+0x7a,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xf7,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xf7,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf4,0x7d]
+0x7e,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xf7,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xf7,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf4,0x7d]
+0x80,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf7,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xf7,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf4,0x7d]
+0xc1,0x04,0xf4,0x7d
-# CHECK: v_cmpx_t_i64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xf7,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xf7,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_eq_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf4,0x7d]
+0xf0,0x04,0xf4,0x7d
-# CHECK: v_cmpx_f_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf0,0x7d]
-0x00,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf4,0x7d]
+0xf7,0x04,0xf4,0x7d
-# CHECK: v_cmpx_f_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xf0,0x7d]
-0x02,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xf4,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xf4,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_f_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xf0,0x7d]
-0x64,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xf4,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xf4,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_f_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xf0,0x7d]
-0x66,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf4,0x7d]
+0x01,0x05,0xf4,0x7d
-# CHECK: v_cmpx_f_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xf0,0x7d]
-0x6a,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf4,0x7d]
+0xfe,0x05,0xf4,0x7d
-# CHECK: v_cmpx_f_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xf0,0x7d]
-0x6c,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xf5,0x7d]
+0x02,0xfc,0xf5,0x7d
-# CHECK: v_cmpx_f_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xf0,0x7d]
-0x6e,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xf0,0x7d]
-0x7a,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xf0,0x7d]
-0x7e,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xf0,0x7d]
-0x80,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xf0,0x7d]
-0xc1,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xf0,0x7d]
-0xf0,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xf0,0x7d]
-0xf7,0x00,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xf0,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xf0,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_eq_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xfa,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xf0,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xf0,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xfa,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xf0,0x7d]
-0x00,0x01,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xfa,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xf0,0x7d]
-0xfe,0x01,0xf0,0x7d
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xfa,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xf1,0x7d]
-0x00,0xfc,0xf1,0x7d
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xfa,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_f_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xfa,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_f_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xfa,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xfa,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_f_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xfa,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_f_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xfa,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_f_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xfa,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_f_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xfa,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xfa,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_f_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xfa,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xfa,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_f_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xf8,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_eq_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xfa,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xfa,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_f_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xf8,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xf8,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf6,0x7d]
+0x02,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xf8,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xf8,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf6,0x7d]
+0x04,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xf8,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xf8,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xf6,0x7d]
+0x64,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xf8,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xf8,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf6,0x7d]
+0x66,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xf8,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xf8,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf6,0x7d]
+0x6a,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xf8,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xf8,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xf6,0x7d]
+0x6c,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xf8,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xf8,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xf6,0x7d]
+0x6e,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xf8,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xf8,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xf6,0x7d]
+0x7a,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xf8,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xf8,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf6,0x7d]
+0x7e,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xf8,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xf8,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf6,0x7d]
+0x80,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf8,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xf8,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf6,0x7d]
+0xc1,0x04,0xf6,0x7d
-# CHECK: v_cmpx_f_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xf8,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xf8,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_le_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf6,0x7d]
+0xf0,0x04,0xf6,0x7d
-# CHECK: v_cmpx_lt_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf2,0x7d]
-0x00,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf6,0x7d]
+0xf7,0x04,0xf6,0x7d
-# CHECK: v_cmpx_lt_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xf2,0x7d]
-0x02,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xf6,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xf6,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_lt_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xf2,0x7d]
-0x64,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xf6,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xf6,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_lt_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xf2,0x7d]
-0x66,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf6,0x7d]
+0x01,0x05,0xf6,0x7d
-# CHECK: v_cmpx_lt_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xf2,0x7d]
-0x6a,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf6,0x7d]
+0xfe,0x05,0xf6,0x7d
-# CHECK: v_cmpx_lt_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xf2,0x7d]
-0x6c,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xf7,0x7d]
+0x02,0xfc,0xf7,0x7d
-# CHECK: v_cmpx_lt_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xf2,0x7d]
-0x6e,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xf2,0x7d]
-0x7a,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xf2,0x7d]
-0x7e,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xf2,0x7d]
-0x80,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xf2,0x7d]
-0xc1,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xf2,0x7d]
-0xf0,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xf2,0x7d]
-0xf7,0x00,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xf2,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xf2,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_le_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xfb,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xf2,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xf2,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_le_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xfb,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xf2,0x7d]
-0x00,0x01,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xfb,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xf2,0x7d]
-0xfe,0x01,0xf2,0x7d
+# CHECK: v_cmpx_le_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xfb,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xf3,0x7d]
-0x00,0xfc,0xf3,0x7d
+# CHECK: v_cmpx_le_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xfb,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xfb,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xfb,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xfb,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_lt_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xfb,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_lt_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xfb,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_lt_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xfb,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_lt_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xfb,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xfb,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_lt_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xfb,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xfb,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_lt_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xf9,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_le_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xfb,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xfb,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xf9,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xf9,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xf8,0x7d]
+0x02,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xf9,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xf9,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xf8,0x7d]
+0x04,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xf9,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xf9,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xf8,0x7d]
+0x64,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xf9,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xf9,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xf8,0x7d]
+0x66,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xf9,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xf9,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xf8,0x7d]
+0x6a,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xf9,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xf9,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xf8,0x7d]
+0x6c,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xf9,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xf9,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xf8,0x7d]
+0x6e,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xf9,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xf9,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xf8,0x7d]
+0x7a,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xf9,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xf9,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xf8,0x7d]
+0x7e,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xf9,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xf9,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xf8,0x7d]
+0x80,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf9,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xf9,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xf8,0x7d]
+0xc1,0x04,0xf8,0x7d
-# CHECK: v_cmpx_lt_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xf9,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xf9,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_gt_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xf8,0x7d]
+0xf0,0x04,0xf8,0x7d
-# CHECK: v_cmpx_eq_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf4,0x7d]
-0x00,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xf8,0x7d]
+0xf7,0x04,0xf8,0x7d
-# CHECK: v_cmpx_eq_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xf4,0x7d]
-0x02,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xf8,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xf8,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_eq_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xf4,0x7d]
-0x64,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xf8,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xf8,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_eq_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xf4,0x7d]
-0x66,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xf8,0x7d]
+0x01,0x05,0xf8,0x7d
-# CHECK: v_cmpx_eq_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xf4,0x7d]
-0x6a,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xf8,0x7d]
+0xfe,0x05,0xf8,0x7d
-# CHECK: v_cmpx_eq_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xf4,0x7d]
-0x6c,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xf9,0x7d]
+0x02,0xfc,0xf9,0x7d
-# CHECK: v_cmpx_eq_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xf4,0x7d]
-0x6e,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xf4,0x7d]
-0x7a,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xf4,0x7d]
-0x7e,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xf4,0x7d]
-0x80,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xf4,0x7d]
-0xc1,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xf4,0x7d]
-0xf0,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xf4,0x7d]
-0xf7,0x00,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xf4,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xf4,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_gt_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xfc,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xf4,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xf4,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xfc,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xf4,0x7d]
-0x00,0x01,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xfc,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xf4,0x7d]
-0xfe,0x01,0xf4,0x7d
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xfc,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xf5,0x7d]
-0x00,0xfc,0xf5,0x7d
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xfc,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xfc,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xfc,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xfc,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_eq_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xfc,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_eq_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xfc,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_eq_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xfc,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_eq_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xfc,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xfc,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_eq_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xfc,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xfc,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_eq_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xfa,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_gt_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xfc,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xfc,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xfa,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xfa,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfa,0x7d]
+0x02,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xfa,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xfa,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfa,0x7d]
+0x04,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xfa,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xfa,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xfa,0x7d]
+0x64,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xfa,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xfa,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfa,0x7d]
+0x66,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xfa,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xfa,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfa,0x7d]
+0x6a,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xfa,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xfa,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xfa,0x7d]
+0x6c,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xfa,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xfa,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xfa,0x7d]
+0x6e,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xfa,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xfa,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xfa,0x7d]
+0x7a,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xfa,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xfa,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfa,0x7d]
+0x7e,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xfa,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xfa,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfa,0x7d]
+0x80,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfa,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xfa,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfa,0x7d]
+0xc1,0x04,0xfa,0x7d
-# CHECK: v_cmpx_eq_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xfa,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xfa,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_ne_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfa,0x7d]
+0xf0,0x04,0xfa,0x7d
-# CHECK: v_cmpx_le_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf6,0x7d]
-0x00,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xfa,0x7d]
+0xf7,0x04,0xfa,0x7d
-# CHECK: v_cmpx_le_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xf6,0x7d]
-0x02,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xfa,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xfa,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_le_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xf6,0x7d]
-0x64,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xfa,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xfa,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_le_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xf6,0x7d]
-0x66,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfa,0x7d]
+0x01,0x05,0xfa,0x7d
-# CHECK: v_cmpx_le_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xf6,0x7d]
-0x6a,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfa,0x7d]
+0xfe,0x05,0xfa,0x7d
-# CHECK: v_cmpx_le_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xf6,0x7d]
-0x6c,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xfb,0x7d]
+0x02,0xfc,0xfb,0x7d
-# CHECK: v_cmpx_le_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xf6,0x7d]
-0x6e,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xf6,0x7d]
-0x7a,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xf6,0x7d]
-0x7e,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xf6,0x7d]
-0x80,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xf6,0x7d]
-0xc1,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xf6,0x7d]
-0xf0,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xf6,0x7d]
-0xf7,0x00,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xf6,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xf6,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ne_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xfd,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xf6,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xf6,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xfd,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xf6,0x7d]
-0x00,0x01,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xfd,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xf6,0x7d]
-0xfe,0x01,0xf6,0x7d
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xfd,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xf7,0x7d]
-0x00,0xfc,0xf7,0x7d
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xfd,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_le_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xfd,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_le_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xfd,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xfd,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_le_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xfd,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_le_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xfd,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_le_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xfd,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_le_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xfd,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xfd,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_le_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xfd,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xfd,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_le_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xfb,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ne_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xfd,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xfd,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_le_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xfb,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xfb,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfc,0x7d]
+0x02,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xfb,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xfb,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfc,0x7d]
+0x04,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xfb,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xfb,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xfc,0x7d]
+0x64,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xfb,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xfb,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfc,0x7d]
+0x66,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xfb,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xfb,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfc,0x7d]
+0x6a,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xfb,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xfb,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xfc,0x7d]
+0x6c,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xfb,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xfb,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xfc,0x7d]
+0x6e,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xfb,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xfb,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xfc,0x7d]
+0x7a,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xfb,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xfb,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfc,0x7d]
+0x7e,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xfb,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xfb,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfc,0x7d]
+0x80,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfb,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xfb,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfc,0x7d]
+0xc1,0x04,0xfc,0x7d
-# CHECK: v_cmpx_le_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xfb,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xfb,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_ge_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfc,0x7d]
+0xf0,0x04,0xfc,0x7d
-# CHECK: v_cmpx_gt_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xf8,0x7d]
-0x00,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xfc,0x7d]
+0xf7,0x04,0xfc,0x7d
-# CHECK: v_cmpx_gt_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xf8,0x7d]
-0x02,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xfc,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xfc,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_gt_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xf8,0x7d]
-0x64,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xfc,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xfc,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_gt_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xf8,0x7d]
-0x66,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfc,0x7d]
+0x01,0x05,0xfc,0x7d
-# CHECK: v_cmpx_gt_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xf8,0x7d]
-0x6a,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfc,0x7d]
+0xfe,0x05,0xfc,0x7d
-# CHECK: v_cmpx_gt_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xf8,0x7d]
-0x6c,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xfd,0x7d]
+0x02,0xfc,0xfd,0x7d
-# CHECK: v_cmpx_gt_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xf8,0x7d]
-0x6e,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xf8,0x7d]
-0x7a,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xf8,0x7d]
-0x7e,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xf8,0x7d]
-0x80,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xf8,0x7d]
-0xc1,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xf8,0x7d]
-0xf0,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xf8,0x7d]
-0xf7,0x00,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xf8,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xf8,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_ge_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xfe,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xf8,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xf8,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xfe,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xf8,0x7d]
-0x00,0x01,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xfe,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xf8,0x7d]
-0xfe,0x01,0xf8,0x7d
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xfe,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xf9,0x7d]
-0x00,0xfc,0xf9,0x7d
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xfe,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xfe,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xfe,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xfe,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_gt_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xfe,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_gt_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xfe,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_gt_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xfe,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_gt_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xfe,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xfe,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_gt_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xfe,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xfe,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_gt_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xfc,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_ge_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xfe,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xfe,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xfc,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xfc,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, s[2:3], v[2:3] ; encoding: [0x02,0x04,0xfe,0x7d]
+0x02,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xfc,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xfc,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, s[4:5], v[2:3] ; encoding: [0x04,0x04,0xfe,0x7d]
+0x04,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xfc,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xfc,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, s[100:101], v[2:3] ; encoding: [0x64,0x04,0xfe,0x7d]
+0x64,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xfc,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xfc,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, flat_scratch, v[2:3] ; encoding: [0x66,0x04,0xfe,0x7d]
+0x66,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xfc,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xfc,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, vcc, v[2:3] ; encoding: [0x6a,0x04,0xfe,0x7d]
+0x6a,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xfc,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xfc,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, tba, v[2:3] ; encoding: [0x6c,0x04,0xfe,0x7d]
+0x6c,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xfc,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xfc,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, tma, v[2:3] ; encoding: [0x6e,0x04,0xfe,0x7d]
+0x6e,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xfc,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xfc,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, ttmp[10:11], v[2:3] ; encoding: [0x7a,0x04,0xfe,0x7d]
+0x7a,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xfc,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xfc,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, exec, v[2:3] ; encoding: [0x7e,0x04,0xfe,0x7d]
+0x7e,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xfc,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xfc,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, 0, v[2:3] ; encoding: [0x80,0x04,0xfe,0x7d]
+0x80,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfc,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xfc,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, -1, v[2:3] ; encoding: [0xc1,0x04,0xfe,0x7d]
+0xc1,0x04,0xfe,0x7d
-# CHECK: v_cmpx_gt_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xfc,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xfc,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cmpx_t_u64_e32 vcc, 0.5, v[2:3] ; encoding: [0xf0,0x04,0xfe,0x7d]
+0xf0,0x04,0xfe,0x7d
-# CHECK: v_cmpx_ne_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfa,0x7d]
-0x00,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e32 vcc, -4.0, v[2:3] ; encoding: [0xf7,0x04,0xfe,0x7d]
+0xf7,0x04,0xfe,0x7d
-# CHECK: v_cmpx_ne_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xfa,0x7d]
-0x02,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e32 vcc, 0xaf123456, v[2:3] ; encoding: [0xff,0x04,0xfe,0x7d,0x56,0x34,0x12,0xaf]
+0xff,0x04,0xfe,0x7d,0x56,0x34,0x12,0xaf
-# CHECK: v_cmpx_ne_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xfa,0x7d]
-0x64,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e32 vcc, 0x3f717273, v[2:3] ; encoding: [0xff,0x04,0xfe,0x7d,0x73,0x72,0x71,0x3f]
+0xff,0x04,0xfe,0x7d,0x73,0x72,0x71,0x3f
-# CHECK: v_cmpx_ne_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xfa,0x7d]
-0x66,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e32 vcc, v[1:2], v[2:3] ; encoding: [0x01,0x05,0xfe,0x7d]
+0x01,0x05,0xfe,0x7d
-# CHECK: v_cmpx_ne_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xfa,0x7d]
-0x6a,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e32 vcc, v[254:255], v[2:3] ; encoding: [0xfe,0x05,0xfe,0x7d]
+0xfe,0x05,0xfe,0x7d
-# CHECK: v_cmpx_ne_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xfa,0x7d]
-0x6c,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e32 vcc, s[2:3], v[254:255] ; encoding: [0x02,0xfc,0xff,0x7d]
+0x02,0xfc,0xff,0x7d
-# CHECK: v_cmpx_ne_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xfa,0x7d]
-0x6e,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e64 s[10:11], s[4:5], s[4:5] ; encoding: [0x0a,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xfa,0x7d]
-0x7a,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e64 s[12:13], s[4:5], s[4:5] ; encoding: [0x0c,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+0x0c,0x00,0xff,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xfa,0x7d]
-0x7e,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e64 s[100:101], s[4:5], s[4:5] ; encoding: [0x64,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+0x64,0x00,0xff,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xfa,0x7d]
-0x80,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e64 flat_scratch, s[4:5], s[4:5] ; encoding: [0x66,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+0x66,0x00,0xff,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xfa,0x7d]
-0xc1,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e64 vcc, s[4:5], s[4:5] ; encoding: [0x6a,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+0x6a,0x00,0xff,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xfa,0x7d]
-0xf0,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e64 tba, s[4:5], s[4:5] ; encoding: [0x6c,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+0x6c,0x00,0xff,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xfa,0x7d]
-0xf7,0x00,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e64 tma, s[4:5], s[4:5] ; encoding: [0x6e,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+0x6e,0x00,0xff,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xfa,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xfa,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cmpx_t_u64_e64 ttmp[10:11], s[4:5], s[4:5] ; encoding: [0x7a,0x00,0xff,0xd0,0x04,0x08,0x00,0x00]
+0x7a,0x00,0xff,0xd0,0x04,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xfa,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xfa,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cmpx_t_u64_e64 s[10:11], 0, s[4:5] ; encoding: [0x0a,0x00,0xff,0xd0,0x80,0x08,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x80,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xfa,0x7d]
-0x00,0x01,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e64 s[10:11], -1, s[4:5] ; encoding: [0x0a,0x00,0xff,0xd0,0xc1,0x08,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0xc1,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xfa,0x7d]
-0xfe,0x01,0xfa,0x7d
+# CHECK: v_cmpx_t_u64_e64 s[10:11], 0.5, s[4:5] ; encoding: [0x0a,0x00,0xff,0xd0,0xf0,0x08,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0xf0,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xfb,0x7d]
-0x00,0xfc,0xfb,0x7d
+# CHECK: v_cmpx_t_u64_e64 s[10:11], -4.0, s[4:5] ; encoding: [0x0a,0x00,0xff,0xd0,0xf7,0x08,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0xf7,0x08,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[1:2], s[4:5] ; encoding: [0x0a,0x00,0xff,0xd0,0x01,0x09,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0x01,0x09,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e64 s[10:11], v[254:255], s[4:5] ; encoding: [0x0a,0x00,0xff,0xd0,0xfe,0x09,0x00,0x00]
+0x0a,0x00,0xff,0xd0,0xfe,0x09,0x00,0x00
-# CHECK: v_cmpx_ne_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e64 s[10:11], s[4:5], 0 ; encoding: [0x0a,0x00,0xff,0xd0,0x04,0x00,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x04,0x00,0x01,0x00
-# CHECK: v_cmpx_ne_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e64 s[10:11], s[4:5], -1 ; encoding: [0x0a,0x00,0xff,0xd0,0x04,0x82,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x04,0x82,0x01,0x00
-# CHECK: v_cmpx_ne_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e64 s[10:11], s[4:5], 0.5 ; encoding: [0x0a,0x00,0xff,0xd0,0x04,0xe0,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x04,0xe0,0x01,0x00
-# CHECK: v_cmpx_ne_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e64 s[10:11], s[4:5], -4.0 ; encoding: [0x0a,0x00,0xff,0xd0,0x04,0xee,0x01,0x00]
+0x0a,0x00,0xff,0xd0,0x04,0xee,0x01,0x00
-# CHECK: v_cmpx_ne_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e64 s[10:11], s[4:5], v[2:3] ; encoding: [0x0a,0x00,0xff,0xd0,0x04,0x04,0x02,0x00]
+0x0a,0x00,0xff,0xd0,0x04,0x04,0x02,0x00
-# CHECK: v_cmpx_ne_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xfd,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cmpx_t_u64_e64 s[10:11], s[4:5], v[254:255] ; encoding: [0x0a,0x00,0xff,0xd0,0x04,0xfc,0x03,0x00]
+0x0a,0x00,0xff,0xd0,0x04,0xfc,0x03,0x00
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xfd,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xfd,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xfd,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xfd,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_mov_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x02,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xfd,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xfd,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_mov_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x02,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xfd,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xfd,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xfd,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xfd,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xfd,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xfd,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xfd,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xfd,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xfd,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xfd,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xfd,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xfd,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xfd,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xfd,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfd,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xfd,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xfd,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xfd,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cmpx_ge_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfc,0x7d]
-0x00,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cmpx_ge_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xfc,0x7d]
-0x02,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cmpx_ge_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xfc,0x7d]
-0x64,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cmpx_ge_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xfc,0x7d]
-0x66,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cmpx_ge_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xfc,0x7d]
-0x6a,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cmpx_ge_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xfc,0x7d]
-0x6c,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x02,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_cmpx_ge_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xfc,0x7d]
-0x6e,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xfc,0x7d]
-0x7a,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x02,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xfc,0x7d]
-0x7e,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x02,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xfc,0x7d]
-0x80,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xfc,0x7d]
-0xc1,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xfc,0x7d]
-0xf0,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xfc,0x7d]
-0xf7,0x00,0xfc,0x7d
+# CHECK: v_mov_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xfc,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xfc,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_mov_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xfc,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xfc,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_mov_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xfc,0x7d]
-0x00,0x01,0xfc,0x7d
+# CHECK: v_mov_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xfc,0x7d]
-0xfe,0x01,0xfc,0x7d
+# CHECK: v_mov_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xfd,0x7d]
-0x00,0xfc,0xfd,0x7d
+# CHECK: v_mov_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cmpx_ge_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cmpx_ge_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xfe,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xfe,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xfe,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xfe,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xfe,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xfe,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xfe,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xfe,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xfe,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xfe,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xfe,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_mov_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x02,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xfe,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xfe,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xfe,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xfe,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cvt_f32_i32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x0a,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xfe,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xfe,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cvt_f32_i32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xfe,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xfe,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xfe,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xfe,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfe,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xfe,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cmpx_ge_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xfe,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xfe,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, s[0:1], v[0:1] ; encoding: [0x00,0x00,0xfe,0x7d]
-0x00,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, s[2:3], v[0:1] ; encoding: [0x02,0x00,0xfe,0x7d]
-0x02,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, s[100:101], v[0:1] ; encoding: [0x64,0x00,0xfe,0x7d]
-0x64,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, flat_scratch, v[0:1] ; encoding: [0x66,0x00,0xfe,0x7d]
-0x66,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, vcc, v[0:1] ; encoding: [0x6a,0x00,0xfe,0x7d]
-0x6a,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, tba, v[0:1] ; encoding: [0x6c,0x00,0xfe,0x7d]
-0x6c,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, tma, v[0:1] ; encoding: [0x6e,0x00,0xfe,0x7d]
-0x6e,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, ttmp[10:11], v[0:1] ; encoding: [0x7a,0x00,0xfe,0x7d]
-0x7a,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, exec, v[0:1] ; encoding: [0x7e,0x00,0xfe,0x7d]
-0x7e,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, 0, v[0:1] ; encoding: [0x80,0x00,0xfe,0x7d]
-0x80,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, -1, v[0:1] ; encoding: [0xc1,0x00,0xfe,0x7d]
-0xc1,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, 0.5, v[0:1] ; encoding: [0xf0,0x00,0xfe,0x7d]
-0xf0,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x0a,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_cmpx_t_u64_e32 vcc, -4.0, v[0:1] ; encoding: [0xf7,0x00,0xfe,0x7d]
-0xf7,0x00,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cmpx_t_u64_e32 vcc, 0xaf123456, v[0:1] ; encoding: [0xff,0x00,0xfe,0x7d,0x56,0x34,0x12,0xaf]
-0xff,0x00,0xfe,0x7d,0x56,0x34,0x12,0xaf
+# CHECK: v_cvt_f32_i32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x0a,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cmpx_t_u64_e32 vcc, 0x3f717273, v[0:1] ; encoding: [0xff,0x00,0xfe,0x7d,0x73,0x72,0x71,0x3f]
-0xff,0x00,0xfe,0x7d,0x73,0x72,0x71,0x3f
+# CHECK: v_cvt_f32_i32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x0a,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cmpx_t_u64_e32 vcc, v[0:1], v[0:1] ; encoding: [0x00,0x01,0xfe,0x7d]
-0x00,0x01,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cmpx_t_u64_e32 vcc, v[254:255], v[0:1] ; encoding: [0xfe,0x01,0xfe,0x7d]
-0xfe,0x01,0xfe,0x7d
+# CHECK: v_cvt_f32_i32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cmpx_t_u64_e32 vcc, s[0:1], v[254:255] ; encoding: [0x00,0xfc,0xff,0x7d]
-0x00,0xfc,0xff,0x7d
+# CHECK: v_cvt_f32_i32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 s[0:1], s[0:1], s[0:1] ; encoding: [0x00,0x00,0xff,0xd0,0x00,0x00,0x00,0x00]
-0x00,0x00,0xff,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 s[2:3], s[0:1], s[0:1] ; encoding: [0x02,0x00,0xff,0xd0,0x00,0x00,0x00,0x00]
-0x02,0x00,0xff,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 s[100:101], s[0:1], s[0:1] ; encoding: [0x64,0x00,0xff,0xd0,0x00,0x00,0x00,0x00]
-0x64,0x00,0xff,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 flat_scratch, s[0:1], s[0:1] ; encoding: [0x66,0x00,0xff,0xd0,0x00,0x00,0x00,0x00]
-0x66,0x00,0xff,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 vcc, s[0:1], s[0:1] ; encoding: [0x6a,0x00,0xff,0xd0,0x00,0x00,0x00,0x00]
-0x6a,0x00,0xff,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 tba, s[0:1], s[0:1] ; encoding: [0x6c,0x00,0xff,0xd0,0x00,0x00,0x00,0x00]
-0x6c,0x00,0xff,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 tma, s[0:1], s[0:1] ; encoding: [0x6e,0x00,0xff,0xd0,0x00,0x00,0x00,0x00]
-0x6e,0x00,0xff,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 ttmp[10:11], s[0:1], s[0:1] ; encoding: [0x7a,0x00,0xff,0xd0,0x00,0x00,0x00,0x00]
-0x7a,0x00,0xff,0xd0,0x00,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 s[0:1], 0, s[0:1] ; encoding: [0x00,0x00,0xff,0xd0,0x80,0x00,0x00,0x00]
-0x00,0x00,0xff,0xd0,0x80,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 s[0:1], -1, s[0:1] ; encoding: [0x00,0x00,0xff,0xd0,0xc1,0x00,0x00,0x00]
-0x00,0x00,0xff,0xd0,0xc1,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 s[0:1], 0.5, s[0:1] ; encoding: [0x00,0x00,0xff,0xd0,0xf0,0x00,0x00,0x00]
-0x00,0x00,0xff,0xd0,0xf0,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 s[0:1], -4.0, s[0:1] ; encoding: [0x00,0x00,0xff,0xd0,0xf7,0x00,0x00,0x00]
-0x00,0x00,0xff,0xd0,0xf7,0x00,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cmpx_t_u64_e64 s[0:1], v[0:1], s[0:1] ; encoding: [0x00,0x00,0xff,0xd0,0x00,0x01,0x00,0x00]
-0x00,0x00,0xff,0xd0,0x00,0x01,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cmpx_t_u64_e64 s[0:1], v[254:255], s[0:1] ; encoding: [0x00,0x00,0xff,0xd0,0xfe,0x01,0x00,0x00]
-0x00,0x00,0xff,0xd0,0xfe,0x01,0x00,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cmpx_t_u64_e64 s[0:1], s[0:1], 0 ; encoding: [0x00,0x00,0xff,0xd0,0x00,0x00,0x01,0x00]
-0x00,0x00,0xff,0xd0,0x00,0x00,0x01,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cmpx_t_u64_e64 s[0:1], s[0:1], -1 ; encoding: [0x00,0x00,0xff,0xd0,0x00,0x82,0x01,0x00]
-0x00,0x00,0xff,0xd0,0x00,0x82,0x01,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cmpx_t_u64_e64 s[0:1], s[0:1], 0.5 ; encoding: [0x00,0x00,0xff,0xd0,0x00,0xe0,0x01,0x00]
-0x00,0x00,0xff,0xd0,0x00,0xe0,0x01,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cmpx_t_u64_e64 s[0:1], s[0:1], -4.0 ; encoding: [0x00,0x00,0xff,0xd0,0x00,0xee,0x01,0x00]
-0x00,0x00,0xff,0xd0,0x00,0xee,0x01,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cmpx_t_u64_e64 s[0:1], s[0:1], v[0:1] ; encoding: [0x00,0x00,0xff,0xd0,0x00,0x00,0x02,0x00]
-0x00,0x00,0xff,0xd0,0x00,0x00,0x02,0x00
+# CHECK: v_cvt_f32_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x0a,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cmpx_t_u64_e64 s[0:1], s[0:1], v[254:255] ; encoding: [0x00,0x00,0xff,0xd0,0x00,0xfc,0x03,0x00]
-0x00,0x00,0xff,0xd0,0x00,0xfc,0x03,0x00
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x0c,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_mov_b32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x02,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x02,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_mov_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_mov_b32_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x02,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x02,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_cvt_f32_u32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x0c,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_mov_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_mov_b32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x02,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_u32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x0c,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_mov_b32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x02,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x0c,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_mov_b32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_mov_b32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_mov_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_mov_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_mov_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_mov_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_mov_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_mov_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x02,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_mov_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x02,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x02,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_f32_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x0c,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x0a,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x0e,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_f32_i32_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0a,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x0a,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_cvt_u32_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_f32_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_u32_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x0e,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_f32_i32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x0a,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x0a,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_u32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x0e,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x0e,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_u32_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_f32_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_f32_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_f32_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_f32_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_f32_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_f32_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x0a,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_u32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_f32_u32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x0c,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_u32_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cvt_f32_u32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_u32_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x0e,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x10,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_f32_u32_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0c,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x0c,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_f32_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_f32_u32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x0c,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_f32_u32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x0c,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_i32_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_f32_u32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_i32_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x10,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_f32_u32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x10,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x10,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_i32_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_i32_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_i32_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_i32_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_f32_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_f32_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_f32_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x0c,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_u32_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x0e,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_u32_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_i32_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_i32_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x10,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_f16_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x14,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_u32_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x0e,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_u32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_u32_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x0e,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_u32_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x0e,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_u32_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_f16_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_u32_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_f16_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_u32_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_f16_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x14,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_u32_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x14,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x14,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_f16_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_f16_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_f16_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_f16_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_f16_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_f16_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_u32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_u32_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_u32_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x0e,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_i32_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x10,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_i32_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_f16_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_f16_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_f16_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x14,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_f32_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x16,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_i32_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x10,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x10,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_i32_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x10,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_i32_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x10,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_i32_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_f32_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_i32_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_f32_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_i32_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_f32_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x16,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_i32_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x16,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x16,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_f32_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_f32_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_f32_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_f32_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_f32_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x10,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_f32_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_i32_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_i32_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x10,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x10,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_f16_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x14,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_f16_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_f32_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_f32_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_f32_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x16,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x18,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_f16_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x14,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x14,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_f16_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_f16_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x14,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_f16_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x14,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_f16_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_f16_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_f16_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x18,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_f16_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x18,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x18,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x14,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_f16_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_f16_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_f16_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x14,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x14,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_f32_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x16,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_f32_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_rpi_i32_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x18,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x1a,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_f32_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x16,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x16,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_f32_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_f32_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x16,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_f32_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x16,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_f32_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_f32_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_f32_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_f32_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_f32_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x1a,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_f32_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x1a,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x1a,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x16,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_f32_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x16,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x16,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x18,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_flr_i32_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x1a,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_off_f32_i4_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x1c,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x18,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x18,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x18,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x18,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x1c,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x1c,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x1c,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x18,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_rpi_i32_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x18,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x18,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_flr_i32_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x1a,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_off_f32_i4_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x1c,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x22,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_flr_i32_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1a,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x1a,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_flr_i32_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x1a,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x1a,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x22,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x22,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x22,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_flr_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_flr_i32_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_flr_i32_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x1a,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_off_f32_i4_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x1c,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_f32_ubyte0_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x22,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x24,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_off_f32_i4_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x1c,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x1c,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_off_f32_i4_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x1c,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_off_f32_i4_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x1c,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_f32_ubyte1_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x24,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x24,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x24,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_off_f32_i4_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x1c,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_f32_ubyte0_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x22,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_f32_ubyte1_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x24,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x26,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_f32_ubyte0_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x22,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x22,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_f32_ubyte0_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x22,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x22,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_f32_ubyte2_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x26,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x26,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x26,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x22,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_f32_ubyte0_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x22,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x22,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_f32_ubyte1_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x24,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_f32_ubyte2_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x26,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x28,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_f32_ubyte1_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x24,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x24,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_f32_ubyte1_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x24,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x24,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_f32_ubyte3_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x28,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x28,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x28,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x24,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_f32_ubyte1_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x24,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x24,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_f32_ubyte2_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x26,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_f32_ubyte3_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x28,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_fract_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x36,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_fract_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_f32_ubyte2_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x26,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x26,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_f32_ubyte2_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x26,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x26,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_fract_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_fract_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_fract_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x36,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_fract_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x36,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x36,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_fract_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_fract_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_fract_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_fract_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_fract_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_fract_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x26,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_f32_ubyte2_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x26,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x26,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_f32_ubyte3_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x28,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_fract_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_fract_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_fract_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x36,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_trunc_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x38,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_trunc_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_trunc_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x28,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x28,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_f32_ubyte3_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x28,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x28,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_trunc_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_trunc_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_trunc_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x38,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_trunc_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x38,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_trunc_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x38,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_trunc_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_trunc_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_trunc_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_trunc_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_trunc_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_trunc_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_trunc_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_trunc_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_trunc_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_trunc_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_trunc_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_trunc_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x28,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_trunc_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_f32_ubyte3_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x28,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x28,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_trunc_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_trunc_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_fract_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x36,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_fract_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_fract_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_trunc_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_trunc_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_trunc_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x38,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_ceil_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x3a,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_ceil_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_ceil_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_fract_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_fract_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_fract_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x36,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_fract_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_fract_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x36,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_fract_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x36,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_fract_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_fract_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_fract_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_fract_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_fract_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_ceil_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_fract_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_ceil_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_fract_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_ceil_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x3a,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_fract_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_fract_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_ceil_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x3a,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_fract_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_ceil_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x3a,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_fract_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_ceil_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_fract_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_ceil_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_ceil_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_ceil_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_ceil_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_ceil_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_ceil_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_ceil_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_ceil_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_ceil_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x36,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_ceil_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_ceil_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_ceil_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_fract_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x36,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x36,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_ceil_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_ceil_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_trunc_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x38,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_trunc_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_trunc_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_ceil_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_ceil_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_ceil_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x3a,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_rndne_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x3c,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_rndne_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_rndne_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_trunc_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_trunc_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_trunc_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x38,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x38,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_trunc_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_trunc_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x38,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_trunc_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x38,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_trunc_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_trunc_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_trunc_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_trunc_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_trunc_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_rndne_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_trunc_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_rndne_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_trunc_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_rndne_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x3c,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_trunc_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_rndne_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x3c,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_rndne_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x3c,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_rndne_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_rndne_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_rndne_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_rndne_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_rndne_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_rndne_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_rndne_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_rndne_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_rndne_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_rndne_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x38,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_rndne_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_rndne_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_rndne_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_trunc_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x38,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x38,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_rndne_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_rndne_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_ceil_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x3a,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_ceil_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_ceil_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_rndne_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_rndne_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_rndne_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x3c,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_floor_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x3e,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_floor_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_floor_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_ceil_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_ceil_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_ceil_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3a,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x3a,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_ceil_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_ceil_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x3a,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_ceil_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x3a,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_ceil_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_ceil_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_ceil_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_ceil_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_ceil_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_floor_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_ceil_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_floor_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_ceil_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_floor_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x3e,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_ceil_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_floor_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x3e,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_floor_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x3e,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_floor_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_floor_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_floor_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_floor_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_floor_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_floor_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_floor_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_floor_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_floor_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_floor_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_floor_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_floor_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_floor_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_ceil_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x3a,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_floor_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_floor_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_rndne_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x3c,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_rndne_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_rndne_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_floor_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_floor_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_floor_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x3e,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_exp_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x40,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_exp_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_exp_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_rndne_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_rndne_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_rndne_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3c,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x3c,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_rndne_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_rndne_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x3c,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_rndne_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x3c,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_rndne_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_rndne_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_rndne_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_rndne_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_rndne_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_exp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_rndne_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_exp_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_rndne_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_exp_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x40,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_rndne_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_exp_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x40,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_exp_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x40,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_exp_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_exp_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_exp_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_exp_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_exp_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_exp_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_exp_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_exp_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_exp_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_exp_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_exp_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_exp_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_exp_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_rndne_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x3c,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_exp_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_exp_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_floor_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x3e,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_floor_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_floor_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_exp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_exp_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_exp_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x40,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_log_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x42,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_log_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_log_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_floor_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_floor_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_floor_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x3e,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x3e,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_floor_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_floor_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x3e,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_floor_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x3e,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_floor_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_floor_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_floor_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_floor_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_floor_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_log_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_floor_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_log_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_floor_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_log_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x42,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_floor_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_floor_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_log_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x42,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_floor_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_log_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x42,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_floor_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_log_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_floor_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_log_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_log_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_log_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_log_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_log_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_log_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_log_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_log_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_log_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_log_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_log_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_log_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_floor_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x3e,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_log_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_log_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_exp_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x40,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_exp_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_exp_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_log_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_log_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_log_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x42,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_rcp_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x44,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_rcp_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_rcp_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_exp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_exp_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_exp_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x40,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x40,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_exp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_exp_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x40,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_exp_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x40,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_exp_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_exp_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_exp_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_exp_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_exp_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_rcp_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_exp_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_rcp_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_exp_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_rcp_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x44,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_exp_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_exp_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_rcp_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x44,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_exp_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_rcp_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x44,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_exp_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_rcp_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_exp_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_rcp_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_rcp_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_rcp_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_rcp_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_rcp_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_rcp_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_rcp_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_rcp_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_rcp_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x40,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_rcp_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_rcp_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_rcp_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_exp_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x40,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x40,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_rcp_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_rcp_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_log_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x42,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_log_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_log_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_rcp_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_rcp_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_rcp_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x44,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_rcp_iflag_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x46,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_rcp_iflag_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_log_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_log_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_log_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x42,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x42,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_log_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_log_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x42,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_log_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x42,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_log_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_log_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_log_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_log_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_log_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_rcp_iflag_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_log_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_rcp_iflag_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_log_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_rcp_iflag_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x46,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_log_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_log_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_rcp_iflag_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x46,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_log_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_rcp_iflag_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x46,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_log_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_log_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_log_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_log_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_log_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_log_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_log_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_log_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_log_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_log_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_log_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x42,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_log_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_log_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_log_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x42,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x42,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_rcp_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x44,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_rcp_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_rcp_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_rcp_iflag_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_rcp_iflag_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_rcp_iflag_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x46,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_rsq_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x48,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_rsq_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_rsq_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_rcp_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_rcp_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_rcp_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x44,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x44,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_rcp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_rcp_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x44,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_rcp_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x44,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_rcp_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_rcp_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_rcp_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_rcp_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_rcp_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_rsq_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_rcp_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_rsq_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_rcp_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_rsq_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x48,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_rcp_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_rsq_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x48,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_rsq_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x48,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_rsq_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_rsq_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_rsq_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_rsq_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_rsq_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_rsq_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_rsq_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_rsq_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_rsq_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_rsq_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x44,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_rsq_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_rsq_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_rsq_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_rcp_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x44,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x44,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_rsq_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_rsq_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_rcp_iflag_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x46,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_rcp_iflag_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_rsq_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_rsq_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_rsq_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x48,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_sqrt_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x4e,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_sqrt_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_sqrt_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_rcp_iflag_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_rcp_iflag_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_rcp_iflag_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x46,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x46,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_rcp_iflag_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x46,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_rcp_iflag_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x46,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_sqrt_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_sqrt_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_sqrt_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x4e,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_sqrt_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x4e,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_sqrt_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x4e,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_sqrt_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_sqrt_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_sqrt_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_sqrt_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_sqrt_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_sqrt_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_sqrt_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_sqrt_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_sqrt_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_sqrt_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x46,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_sqrt_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_sqrt_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_sqrt_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_rcp_iflag_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x46,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x46,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_sqrt_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_sqrt_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_rsq_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x48,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_rsq_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_rsq_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_sqrt_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_sqrt_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_sqrt_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x4e,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_sin_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x52,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_sin_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_sin_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_rsq_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_rsq_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_rsq_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x48,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x48,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_rsq_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_rsq_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x48,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_rsq_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x48,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_rsq_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_rsq_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_rsq_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_rsq_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_rsq_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_sin_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_rsq_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_sin_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_rsq_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_sin_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x52,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_rsq_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_sin_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x52,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_sin_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x52,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_sin_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_sin_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_sin_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_sin_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_sin_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_sin_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_sin_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_sin_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_sin_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_sin_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x48,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_sin_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_sin_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_sin_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_rsq_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x48,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x48,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_sin_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_sin_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_sqrt_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x4e,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_sqrt_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_sqrt_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_sin_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_sin_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_sin_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x52,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cos_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x54,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cos_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cos_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_sqrt_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_sqrt_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_sqrt_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x4e,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x4e,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_sqrt_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_sqrt_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x4e,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_sqrt_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x4e,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_sqrt_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_sqrt_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_sqrt_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_sqrt_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_sqrt_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cos_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_sqrt_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cos_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_sqrt_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cos_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x54,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_sqrt_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cos_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x54,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cos_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x54,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cos_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cos_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cos_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cos_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cos_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cos_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cos_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cos_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cos_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cos_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cos_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cos_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_cos_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_sqrt_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x4e,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_cos_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cos_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_sin_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x52,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_sin_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_sin_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cos_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cos_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cos_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x54,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_not_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x56,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_not_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x56,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_sin_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_sin_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x52,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_sin_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_sin_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x52,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_sin_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x52,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_sin_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_sin_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_sin_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_sin_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_not_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_sin_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_not_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x56,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_sin_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_sin_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_not_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x56,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_sin_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_not_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x56,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_sin_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_not_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_sin_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_not_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_not_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_not_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_not_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_not_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_not_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_not_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_not_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_not_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_not_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_not_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x52,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_not_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_not_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_not_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_sin_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x52,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x52,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cos_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x54,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cos_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cos_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_not_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x56,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_bfrev_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x58,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x58,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cos_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cos_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cos_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x54,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x54,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cos_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cos_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x54,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cos_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x54,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_bfrev_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cos_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_bfrev_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x58,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_cos_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cos_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x58,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cos_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x58,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cos_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cos_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_bfrev_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_bfrev_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_bfrev_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_bfrev_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cos_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cos_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x54,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cos_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cos_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cos_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x54,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x54,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_not_b32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x56,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_bfrev_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x58,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_not_b32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x56,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_ffbh_u32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x5a,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_not_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_not_b32_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x56,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x56,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_not_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_not_b32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x56,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_ffbh_u32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_not_b32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x56,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_ffbh_u32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x5a,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_not_b32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_not_b32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x5a,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_not_b32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x5a,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_not_b32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_not_b32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_ffbh_u32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_ffbh_u32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_ffbh_u32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_not_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_not_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_not_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x56,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_not_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x56,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x56,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_bfrev_b32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x58,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_bfrev_b32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x58,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_ffbh_u32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x5a,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_ffbl_b32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x5c,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x5c,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_bfrev_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_bfrev_b32_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x58,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x58,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_bfrev_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_bfrev_b32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x58,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_ffbl_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_bfrev_b32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x58,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_ffbl_b32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x5c,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_bfrev_b32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x5c,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x5c,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_ffbl_b32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_ffbl_b32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_ffbl_b32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_bfrev_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_bfrev_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_bfrev_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x58,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_bfrev_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x58,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x58,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_ffbh_u32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x5a,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_ffbh_u32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_ffbl_b32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x5c,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_ffbh_u32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_ffbh_i32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x5e,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_ffbh_u32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_ffbh_u32_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5a,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x5a,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_ffbh_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_ffbh_u32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x5a,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_ffbh_i32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_ffbh_u32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x5a,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_ffbh_i32_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x5e,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_ffbh_u32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x5e,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x5e,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_ffbh_i32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_ffbh_i32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_ffbh_i32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_ffbh_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_ffbh_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_ffbh_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_ffbh_u32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x5a,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_ffbl_b32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x5c,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_ffbl_b32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_ffbh_i32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x5e,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_ffbl_b32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x66,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_ffbl_b32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_ffbl_b32_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5c,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x5c,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_ffbl_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_ffbl_b32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x5c,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_ffbl_b32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x5c,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_ffbl_b32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_frexp_exp_i32_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x66,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_ffbl_b32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x66,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x66,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_ffbl_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_ffbl_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_ffbl_b32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x5c,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_ffbh_i32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x5e,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_ffbh_i32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_ffbh_i32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_frexp_exp_i32_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x66,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_frexp_mant_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x68,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_ffbh_i32_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x5e,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x5e,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_ffbh_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_ffbh_i32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x5e,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_ffbh_i32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x5e,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_ffbh_i32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_ffbh_i32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_frexp_mant_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_ffbh_i32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_frexp_mant_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_ffbh_i32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_frexp_mant_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x68,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_ffbh_i32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x68,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x68,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_frexp_mant_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_frexp_mant_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_frexp_mant_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_frexp_mant_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_frexp_mant_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_frexp_mant_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_ffbh_i32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x5e,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_frexp_mant_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_frexp_exp_i32_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x66,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_frexp_mant_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_frexp_mant_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_frexp_mant_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x68,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_f16_u16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x72,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_f16_u16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x66,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x66,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_frexp_exp_i32_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x66,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x66,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_f16_u16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_f16_u16_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x72,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_f16_u16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x72,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x72,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_f16_u16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_f16_u16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_f16_u16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_f16_u16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_f16_u16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x66,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_f16_u16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_frexp_exp_i32_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x66,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x66,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_frexp_mant_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x68,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_frexp_mant_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_f16_u16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x72,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_f16_i16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x74,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_frexp_mant_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x68,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x68,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_frexp_mant_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_frexp_mant_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x68,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_frexp_mant_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x68,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_frexp_mant_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_f16_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_frexp_mant_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_f16_i16_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x0a,0x7e,0x01,0x06,0x0e,0x06]
+0xf9,0x74,0x0a,0x7e,0x01,0x06,0x0e,0x06
-# CHECK: v_frexp_mant_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x74,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x74,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_f16_i16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_f16_i16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_f16_i16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_f16_i16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_f16_i16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_frexp_mant_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x68,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_frexp_mant_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_frexp_mant_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_frexp_mant_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x68,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x68,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_f16_u16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x72,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_f16_u16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_f16_i16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x74,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_u16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x76,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_f16_u16_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x72,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x72,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_f16_u16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_f16_u16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x72,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_f16_u16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x72,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_u16_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_f16_u16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_u16_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x76,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_f16_u16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x76,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x76,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_u16_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_u16_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_u16_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_u16_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_f16_u16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_f16_u16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x72,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_f16_u16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x72,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x72,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_f16_i16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x74,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_f16_i16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_u16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_u16_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_u16_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x76,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_i16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x78,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_f16_i16_sdwa v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x74,0x00,0x7e,0x00,0x06,0x0e,0x06]
-0xf9,0x74,0x00,0x7e,0x00,0x06,0x0e,0x06
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_f16_i16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_f16_i16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x74,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_f16_i16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x74,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_f16_i16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_f16_i16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cvt_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_f16_i16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cvt_i16_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_f16_i16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cvt_i16_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x78,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_f16_i16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x78,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x78,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cvt_i16_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cvt_i16_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cvt_i16_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cvt_i16_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cvt_i16_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x74,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cvt_i16_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_f16_i16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x74,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x74,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cvt_i16_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_u16_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x76,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_u16_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cvt_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cvt_i16_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cvt_i16_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x78,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_rcp_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x7a,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_rcp_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_rcp_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_u16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_u16_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_u16_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x76,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x76,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_u16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_u16_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x76,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_u16_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x76,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_u16_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_u16_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_u16_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_u16_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_rcp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_u16_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_rcp_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_u16_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_rcp_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x7a,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_u16_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_rcp_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x7a,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_rcp_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x7a,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_rcp_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_rcp_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_rcp_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_rcp_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_rcp_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_rcp_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_rcp_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_rcp_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_rcp_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_rcp_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_rcp_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x76,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_rcp_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_rcp_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_rcp_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_u16_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x76,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x76,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_rcp_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cvt_i16_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x78,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cvt_i16_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_rcp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_rcp_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_rcp_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x7a,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_sqrt_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x7c,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_sqrt_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_sqrt_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cvt_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cvt_i16_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cvt_i16_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x78,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x78,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cvt_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cvt_i16_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x78,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cvt_i16_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x78,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cvt_i16_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cvt_i16_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cvt_i16_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cvt_i16_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_sqrt_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cvt_i16_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_sqrt_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cvt_i16_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_sqrt_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x7c,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cvt_i16_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_sqrt_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x7c,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_sqrt_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x7c,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_sqrt_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_sqrt_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_sqrt_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_sqrt_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_sqrt_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_sqrt_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_sqrt_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_sqrt_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_sqrt_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_sqrt_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_sqrt_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x78,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_sqrt_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_sqrt_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_sqrt_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cvt_i16_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x78,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x78,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_sqrt_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_rcp_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x7a,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_rcp_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_rcp_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_sqrt_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_sqrt_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_sqrt_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x7c,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_rsq_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x7e,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_rsq_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_rsq_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_rcp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_rcp_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_rcp_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7a,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x7a,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_rcp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_rcp_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x7a,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_rcp_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x7a,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_rcp_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_rcp_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_rcp_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_rcp_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_rsq_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_rcp_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_rsq_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_rcp_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_rsq_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x7e,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_rcp_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_rsq_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x7e,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_rsq_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x7e,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_rsq_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_rsq_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_rsq_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_rsq_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_rsq_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_rsq_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_rsq_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_rsq_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_rsq_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_rsq_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_rsq_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_rsq_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_rsq_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_rsq_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_rcp_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x7a,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_rsq_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_sqrt_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x7c,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_sqrt_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_sqrt_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_rsq_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_rsq_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_rsq_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x7e,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_log_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x80,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_log_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_log_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_sqrt_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_sqrt_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_sqrt_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7c,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x7c,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_sqrt_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_sqrt_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x7c,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_sqrt_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x7c,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_sqrt_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_sqrt_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_sqrt_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_sqrt_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_log_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_sqrt_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_log_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_sqrt_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_log_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x80,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_sqrt_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_log_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x80,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_log_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x80,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_log_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_log_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_log_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_log_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_log_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_log_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_log_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_log_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_log_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_log_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_log_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_log_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_log_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_log_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_sqrt_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x7c,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_log_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_rsq_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x7e,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_rsq_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_rsq_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_log_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_log_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_log_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x80,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_exp_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x82,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_exp_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_exp_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_rsq_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_rsq_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_rsq_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x7e,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x7e,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_rsq_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_rsq_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x7e,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_rsq_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x7e,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_rsq_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_rsq_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_rsq_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_rsq_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_exp_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_rsq_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_exp_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_rsq_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_exp_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x82,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_rsq_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_exp_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x82,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_exp_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x82,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_exp_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_exp_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_exp_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_exp_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_exp_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_exp_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_exp_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_exp_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_exp_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_exp_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_exp_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_exp_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_exp_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_exp_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_rsq_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x7e,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_exp_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_log_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x80,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_log_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_log_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_exp_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_exp_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_exp_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x82,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_frexp_mant_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x84,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_frexp_mant_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_log_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_log_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_log_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x80,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x80,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_log_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_log_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x80,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_log_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x80,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_log_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_log_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_log_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_log_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_frexp_mant_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_log_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_frexp_mant_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_log_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_frexp_mant_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x84,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_log_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_log_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_frexp_mant_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x84,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_log_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x84,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_log_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_log_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_frexp_mant_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_frexp_mant_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_frexp_mant_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_frexp_mant_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_frexp_mant_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x80,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_frexp_mant_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_log_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_log_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_log_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x80,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x80,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_frexp_mant_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_exp_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x82,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_exp_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_exp_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_frexp_mant_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_frexp_mant_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_frexp_mant_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x84,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x86,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_exp_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_exp_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_exp_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x82,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x82,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_exp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_exp_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x82,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_exp_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x82,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_exp_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_exp_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_exp_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_exp_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_exp_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_exp_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x86,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_exp_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_exp_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x86,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_exp_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x86,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_exp_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_exp_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x82,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_exp_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x82,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x82,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_frexp_mant_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x84,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_frexp_mant_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_frexp_exp_i16_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x86,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_floor_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x88,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_floor_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_floor_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_frexp_mant_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_frexp_mant_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_frexp_mant_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x84,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x84,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_frexp_mant_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_frexp_mant_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x84,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_frexp_mant_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x84,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_frexp_mant_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_frexp_mant_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_frexp_mant_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_frexp_mant_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_floor_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_frexp_mant_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_floor_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_frexp_mant_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_floor_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x88,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_frexp_mant_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_floor_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x88,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_floor_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x88,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_floor_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_floor_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_floor_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_floor_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_floor_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_floor_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_floor_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_floor_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_floor_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_floor_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_floor_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x84,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_floor_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_floor_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_floor_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_frexp_mant_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x84,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x84,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_floor_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_frexp_exp_i16_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x86,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_floor_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_floor_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_floor_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x88,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_ceil_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x8a,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_ceil_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_ceil_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x86,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x86,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_frexp_exp_i16_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x86,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x86,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_ceil_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_ceil_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_ceil_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x8a,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_ceil_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x8a,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_ceil_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x8a,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_ceil_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_ceil_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_ceil_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_ceil_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_ceil_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_ceil_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_ceil_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_ceil_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_ceil_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_ceil_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_ceil_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x86,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_ceil_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_ceil_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_ceil_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_frexp_exp_i16_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x86,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x86,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_ceil_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_floor_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x88,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_floor_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_floor_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_ceil_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_ceil_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_ceil_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x8a,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_trunc_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x8c,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_trunc_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_trunc_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_floor_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_floor_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_floor_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x88,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x88,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_floor_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_floor_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x88,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_floor_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x88,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_floor_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_floor_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_floor_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_floor_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_trunc_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_floor_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_trunc_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_floor_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_trunc_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x8c,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_floor_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_floor_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_trunc_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x8c,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_floor_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_trunc_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x8c,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_floor_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_trunc_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_floor_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_trunc_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_trunc_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_trunc_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_trunc_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_trunc_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_trunc_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_trunc_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_trunc_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_trunc_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_trunc_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x88,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_trunc_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_trunc_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_trunc_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_floor_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x88,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x88,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_trunc_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_ceil_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x8a,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_ceil_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_ceil_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_trunc_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_trunc_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_trunc_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x8c,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_rndne_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x8e,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_rndne_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_rndne_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_ceil_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_ceil_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_ceil_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8a,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x8a,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_ceil_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_ceil_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x8a,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_ceil_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x8a,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_ceil_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_ceil_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_ceil_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_ceil_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_rndne_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_ceil_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_rndne_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_ceil_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_rndne_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x8e,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_ceil_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_rndne_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x8e,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_rndne_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x8e,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_rndne_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_rndne_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_rndne_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_rndne_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_rndne_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_rndne_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_rndne_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_rndne_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_rndne_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_rndne_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_rndne_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_rndne_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_rndne_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_rndne_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_ceil_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x8a,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_rndne_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_trunc_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x8c,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_trunc_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_trunc_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_rndne_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_rndne_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_rndne_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x8e,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_fract_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x90,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_fract_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_fract_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_trunc_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_trunc_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_trunc_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8c,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x8c,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_trunc_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_trunc_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x8c,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_trunc_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x8c,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_trunc_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_trunc_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_trunc_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_trunc_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_fract_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_trunc_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_fract_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_trunc_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_fract_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x90,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_trunc_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_fract_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x90,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_fract_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x90,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_fract_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_fract_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_fract_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_fract_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_fract_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_fract_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_fract_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_fract_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_fract_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_fract_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_fract_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_fract_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_fract_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_fract_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_trunc_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x8c,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_fract_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_rndne_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x8e,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_rndne_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_rndne_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_fract_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_fract_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_fract_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x90,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_sin_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x92,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_sin_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_sin_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_rndne_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_rndne_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_rndne_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x8e,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x8e,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_rndne_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_rndne_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x8e,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_rndne_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x8e,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_rndne_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_rndne_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_rndne_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_rndne_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_sin_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_rndne_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_sin_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_rndne_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_sin_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x92,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_rndne_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_sin_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x92,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_sin_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x92,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_sin_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_sin_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_sin_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_sin_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_sin_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_sin_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_sin_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_sin_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_sin_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_sin_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_sin_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_sin_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_sin_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_sin_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_rndne_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x8e,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_sin_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_fract_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x90,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_fract_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_fract_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_sin_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_sin_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_sin_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x92,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_cos_f16_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x94,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_cos_f16_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_cos_f16_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_fract_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_fract_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_fract_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x90,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x90,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_fract_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_fract_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x90,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_fract_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x90,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_fract_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_fract_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_fract_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_fract_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_cos_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_fract_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_cos_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_fract_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_cos_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x94,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_fract_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_fract_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_cos_f16_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x94,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_fract_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_cos_f16_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x94,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_fract_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_cos_f16_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_fract_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_cos_f16_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_cos_f16_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_cos_f16_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_cos_f16_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_cos_f16_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_cos_f16_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_cos_f16_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_cos_f16_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_cos_f16_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_cos_f16_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x90,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_cos_f16_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_cos_f16_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_cos_f16_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_fract_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x90,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x90,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_cos_f16_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_sin_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x92,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_sin_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_sin_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_cos_f16_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_cos_f16_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_cos_f16_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x94,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_exp_legacy_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x96,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_exp_legacy_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_sin_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_sin_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_sin_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x92,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x92,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_sin_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_sin_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x92,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_sin_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x92,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_sin_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_sin_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_sin_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_sin_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_exp_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_sin_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_exp_legacy_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_sin_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_exp_legacy_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x96,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_sin_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_sin_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_exp_legacy_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x96,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_sin_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x96,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_sin_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_sin_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_exp_legacy_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_exp_legacy_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_exp_legacy_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_exp_legacy_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_exp_legacy_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x92,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_exp_legacy_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_sin_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x92,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x92,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_exp_legacy_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_cos_f16_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x94,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_cos_f16_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_cos_f16_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_exp_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_exp_legacy_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_exp_legacy_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x96,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x06,0x06,0x06
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_log_legacy_f32_sdwa v255, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0xfe,0x7f,0x01,0x06,0x06,0x06]
+0xf9,0x98,0xfe,0x7f,0x01,0x06,0x06,0x06
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_log_legacy_f32_sdwa v5, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0xff,0x06,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0xff,0x06,0x06,0x06
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_log_legacy_f32_sdwa v5, v1 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x26,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x26,0x06,0x06
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x00,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x00,0x06,0x06
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x01,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x01,0x06,0x06
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x02,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x02,0x06,0x06
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x03,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x03,0x06,0x06
-# CHECK: v_cos_f16_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x04,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x04,0x06,0x06
-# CHECK: v_cos_f16_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x05,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x05,0x06,0x06
-# CHECK: v_cos_f16_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x94,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x94,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x0e,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x0e,0x06,0x06
-# CHECK: v_cos_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x16,0x06,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x16,0x06,0x06
-# CHECK: v_cos_f16_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x94,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x00,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x06,0x00,0x06
-# CHECK: v_cos_f16_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x94,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x01,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x06,0x01,0x06
-# CHECK: v_cos_f16_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x02,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x06,0x02,0x06
-# CHECK: v_cos_f16_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x03,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x06,0x03,0x06
-# CHECK: v_cos_f16_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x04,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x06,0x04,0x06
-# CHECK: v_cos_f16_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_log_legacy_f32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x05,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x06,0x05,0x06
-# CHECK: v_cos_f16_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_log_legacy_f32_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x16,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x06,0x16,0x06
-# CHECK: v_cos_f16_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_log_legacy_f32_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x0a,0x7e,0x01,0x06,0x26,0x06]
+0xf9,0x98,0x0a,0x7e,0x01,0x06,0x26,0x06
-# CHECK: v_cos_f16_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x00
-# CHECK: v_cos_f16_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_log_legacy_f32_dpp v255, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0xfe,0x7f,0x01,0xe4,0x00,0x00]
+0xfa,0x98,0xfe,0x7f,0x01,0xe4,0x00,0x00
-# CHECK: v_cos_f16_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0xff,0xe4,0x00,0x00]
+0xfa,0x98,0x0a,0x7e,0xff,0xe4,0x00,0x00
-# CHECK: v_cos_f16_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v1 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x1b,0x00,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x1b,0x00,0x00
-# CHECK: v_cos_f16_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v1 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x40,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x40,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v1 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x41,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x41,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v1 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x42,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x42,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v1 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x43,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x43,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v1 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x30,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x30,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_log_legacy_f32_dpp v5, v1 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x34,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x34,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_log_legacy_f32_dpp v5, v1 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x38,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x38,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_log_legacy_f32_dpp v5, v1 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x3c,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x3c,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_log_legacy_f32_dpp v5, v1 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x01,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x01,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_log_legacy_f32_dpp v5, v1 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x0f,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x0f,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x94,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_log_legacy_f32_dpp v5, v1 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x11,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x11,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v1 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x1f,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x1f,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v1 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x21,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x21,0x01,0x00
-# CHECK: v_cos_f16_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x94,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x94,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_log_legacy_f32_dpp v5, v1 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0x2f,0x01,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0x2f,0x01,0x00
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x10]
+0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x10
-# CHECK: v_exp_legacy_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x96,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x30]
+0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x30
-# CHECK: v_exp_legacy_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0xf0]
+0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0xf0
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x01]
+0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x01
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x03]
+0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x03
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x0f]
+0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x00,0x0f
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_log_legacy_f32_dpp v5, v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x08,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x08,0x00
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_log_legacy_f32_dpp v5, -v1 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x10,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x10,0x00
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_log_legacy_f32_dpp v5, |v1| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x20,0x00]
+0xfa,0x98,0x0a,0x7e,0x01,0xe4,0x20,0x00
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x06
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_add_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x03,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x03,0x01,0x06,0x06,0x06
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_add_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0xff,0x06,0x06,0x06
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_add_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x02,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x02,0x01,0x06,0x06,0x06
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_add_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x26,0x06,0x06
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x00,0x06,0x06
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x01,0x06,0x06
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x02,0x06,0x06
-# CHECK: v_exp_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x03,0x06,0x06
-# CHECK: v_exp_legacy_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x04,0x06,0x06
-# CHECK: v_exp_legacy_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x96,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x96,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x05,0x06,0x06
-# CHECK: v_exp_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x0e,0x06,0x06
-# CHECK: v_exp_legacy_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x96,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x16,0x06,0x06
-# CHECK: v_exp_legacy_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x96,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x00,0x06
-# CHECK: v_exp_legacy_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x01,0x06
-# CHECK: v_exp_legacy_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x02,0x06
-# CHECK: v_exp_legacy_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x03,0x06
-# CHECK: v_exp_legacy_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x04,0x06
-# CHECK: v_exp_legacy_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x05,0x06
-# CHECK: v_exp_legacy_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x16,0x06
-# CHECK: v_exp_legacy_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x26,0x06
-# CHECK: v_exp_legacy_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x00
-# CHECK: v_exp_legacy_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x01
-# CHECK: v_exp_legacy_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x02
-# CHECK: v_exp_legacy_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x03
-# CHECK: v_exp_legacy_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x04
-# CHECK: v_exp_legacy_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x05
-# CHECK: v_exp_legacy_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x16
-# CHECK: v_exp_legacy_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_add_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x02,0x01,0x06,0x06,0x26
-# CHECK: v_exp_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x00
-# CHECK: v_exp_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_add_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x03,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x03,0x01,0xe4,0x00,0x00
-# CHECK: v_exp_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_add_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x02,0xff,0xe4,0x00,0x00
-# CHECK: v_exp_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_add_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x02,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x02,0x01,0xe4,0x00,0x00
-# CHECK: v_exp_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_add_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x1b,0x00,0x00
-# CHECK: v_exp_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x96,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_add_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x40,0x01,0x00
-# CHECK: v_exp_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_add_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x41,0x01,0x00
-# CHECK: v_exp_legacy_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_add_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x42,0x01,0x00
-# CHECK: v_exp_legacy_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x96,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x96,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_add_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x43,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x06,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x06,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x30,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0xfe,0x7f,0x00,0x06,0x06,0x06]
-0xf9,0x98,0xfe,0x7f,0x00,0x06,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x34,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0xff,0x06,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0xff,0x06,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x38,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x26,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x26,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x3c,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x00,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x00,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x01,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x01,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x01,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x0f,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x02,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x02,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x11,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x03,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x03,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x1f,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x04,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x04,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x21,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x05,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x05,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0x2f,0x01,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x0e,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x0e,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x10
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x16,0x06,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x16,0x06,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x30
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x06,0x00,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x06,0x00,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0xf0
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x06,0x01,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x06,0x01,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x01
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x06,0x02,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x06,0x02,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x03
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x06,0x03,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x06,0x03,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x0f
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x06,0x04,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x06,0x04,0x06
+# CHECK: v_add_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x08,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x06,0x05,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x06,0x05,0x06
+# CHECK: v_add_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x10,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x06,0x16,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x06,0x16,0x06
+# CHECK: v_add_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x20,0x00
-# CHECK: v_log_legacy_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x98,0x00,0x7e,0x00,0x06,0x26,0x06]
-0xf9,0x98,0x00,0x7e,0x00,0x06,0x26,0x06
+# CHECK: v_add_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x40,0x00
-# CHECK: v_log_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x00
+# CHECK: v_add_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x02,0x01,0xe4,0x80,0x00
-# CHECK: v_log_legacy_f32_dpp v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0xfe,0x7f,0x00,0xe4,0x00,0x00]
-0xfa,0x98,0xfe,0x7f,0x00,0xe4,0x00,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0xff,0xe4,0x00,0x00]
-0xfa,0x98,0x00,0x7e,0xff,0xe4,0x00,0x00
+# CHECK: v_sub_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x05,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x05,0x01,0x06,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x1b,0x00,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x1b,0x00,0x00
+# CHECK: v_sub_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0xff,0x06,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x40,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x40,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x04,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x04,0x01,0x06,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x41,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x41,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x26,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x42,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x42,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x00,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x43,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x43,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x01,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x30,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x30,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x02,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x34,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x34,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x03,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x38,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x38,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x04,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x3c,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x3c,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x05,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x01,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x01,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x0e,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x0f,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x0f,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x16,0x06,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x11,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x11,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x00,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x1f,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x1f,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x01,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x21,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x21,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x02,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0x2f,0x01,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0x2f,0x01,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x03,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x10]
-0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x10
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x04,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x30]
-0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x30
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x05,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0xf0]
-0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0xf0
+# CHECK: v_sub_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x16,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x01]
-0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x01
+# CHECK: v_sub_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x26,0x06
-# CHECK: v_log_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x03]
-0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x03
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x00
-# CHECK: v_log_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x0f]
-0xfa,0x98,0x00,0x7e,0x00,0xe4,0x00,0x0f
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x01
-# CHECK: v_log_legacy_f32_dpp v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0xe4,0x08,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0xe4,0x08,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x02
-# CHECK: v_log_legacy_f32_dpp v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0xe4,0x10,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0xe4,0x10,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x03
-# CHECK: v_log_legacy_f32_dpp v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x98,0x00,0x7e,0x00,0xe4,0x20,0x00]
-0xfa,0x98,0x00,0x7e,0x00,0xe4,0x20,0x00
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x04
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x06
+# CHECK: v_sub_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x05
-# CHECK: v_add_f32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x03,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x03,0x00,0x06,0x06,0x06
+# CHECK: v_sub_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x16
-# CHECK: v_add_f32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x02,0xff,0x06,0x06,0x06
+# CHECK: v_sub_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x04,0x01,0x06,0x06,0x26
-# CHECK: v_add_f32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x02,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x02,0x00,0x06,0x06,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x26,0x06,0x06
+# CHECK: v_sub_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x05,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x05,0x01,0xe4,0x00,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x00,0x06,0x06
+# CHECK: v_sub_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x04,0xff,0xe4,0x00,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x01,0x06,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x04,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x04,0x01,0xe4,0x00,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x02,0x06,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x1b,0x00,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x03,0x06,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x40,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x04,0x06,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x41,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x05,0x06,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x42,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x0e,0x06,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x43,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x16,0x06,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x30,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x00,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x34,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x01,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x38,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x02,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x3c,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x03,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x01,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x04,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x0f,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x05,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x11,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x16,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x1f,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x26,0x06
+# CHECK: v_sub_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x21,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x00
+# CHECK: v_sub_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0x2f,0x01,0x00
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x01
+# CHECK: v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x10
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x02
+# CHECK: v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x30
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x03
+# CHECK: v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0xf0
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x04
+# CHECK: v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x01
-# CHECK: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x05
+# CHECK: v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x03
-# CHECK: v_add_f32_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x16
+# CHECK: v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x0f
-# CHECK: v_add_f32_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x02,0x00,0x06,0x06,0x26
+# CHECK: v_sub_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x08,0x00
-# CHECK: v_add_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x00
+# CHECK: v_sub_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x10,0x00
-# CHECK: v_add_f32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x03,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x03,0x00,0xe4,0x00,0x00
+# CHECK: v_sub_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x20,0x00
-# CHECK: v_add_f32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x02,0xff,0xe4,0x00,0x00
+# CHECK: v_sub_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x40,0x00
-# CHECK: v_add_f32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x02,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x02,0x00,0xe4,0x00,0x00
+# CHECK: v_sub_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x04,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x04,0x01,0xe4,0x80,0x00
-# CHECK: v_add_f32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x1b,0x00,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x40,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x07,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x07,0x01,0x06,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x41,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0xff,0x06,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x42,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x06,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x06,0x01,0x06,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x43,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x26,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x30,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x00,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x34,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x01,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x38,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x02,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x3c,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x03,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x01,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x04,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x0f,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x05,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x11,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x0e,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x1f,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x16,0x06,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x21,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x00,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x02,0x00,0x2f,0x01,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x01,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x10
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x02,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x30
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x03,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0xf0
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x04,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x01
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x05,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x03
+# CHECK: v_subrev_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x16,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x00,0x0f
+# CHECK: v_subrev_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x26,0x06
-# CHECK: v_add_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x08,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x00
-# CHECK: v_add_f32_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x10,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x01
-# CHECK: v_add_f32_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x20,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x02
-# CHECK: v_add_f32_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x40,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x03
-# CHECK: v_add_f32_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x02,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x02,0x00,0xe4,0x80,0x00
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x04
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x06
+# CHECK: v_subrev_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x05
-# CHECK: v_sub_f32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x05,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x05,0x00,0x06,0x06,0x06
+# CHECK: v_subrev_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x16
-# CHECK: v_sub_f32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x04,0xff,0x06,0x06,0x06
+# CHECK: v_subrev_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x06,0x01,0x06,0x06,0x26
-# CHECK: v_sub_f32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x04,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x04,0x00,0x06,0x06,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x26,0x06,0x06
+# CHECK: v_subrev_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x07,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x07,0x01,0xe4,0x00,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x00,0x06,0x06
+# CHECK: v_subrev_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x06,0xff,0xe4,0x00,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x01,0x06,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x06,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x06,0x01,0xe4,0x00,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x02,0x06,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x1b,0x00,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x03,0x06,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x40,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x04,0x06,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x41,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x05,0x06,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x42,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x0e,0x06,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x43,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x16,0x06,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x30,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x00,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x34,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x01,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x38,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x02,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x3c,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x03,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x01,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x04,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x0f,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x05,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x11,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x16,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x1f,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x26,0x06
+# CHECK: v_subrev_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x21,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x00
+# CHECK: v_subrev_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0x2f,0x01,0x00
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x01
+# CHECK: v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x10
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x02
+# CHECK: v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x30
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x03
+# CHECK: v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0xf0
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x04
+# CHECK: v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x01
-# CHECK: v_sub_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x05
+# CHECK: v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x03
-# CHECK: v_sub_f32_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x16
+# CHECK: v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x00,0x0f
-# CHECK: v_sub_f32_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x04,0x00,0x06,0x06,0x26
+# CHECK: v_subrev_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x08,0x00
-# CHECK: v_sub_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x00
+# CHECK: v_subrev_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x10,0x00
-# CHECK: v_sub_f32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x05,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x05,0x00,0xe4,0x00,0x00
+# CHECK: v_subrev_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x20,0x00
-# CHECK: v_sub_f32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x04,0xff,0xe4,0x00,0x00
+# CHECK: v_subrev_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x40,0x00
-# CHECK: v_sub_f32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x04,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x04,0x00,0xe4,0x00,0x00
+# CHECK: v_subrev_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x06,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x06,0x01,0xe4,0x80,0x00
-# CHECK: v_sub_f32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x1b,0x00,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x40,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x09,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x09,0x01,0x06,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x41,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0xff,0x06,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x42,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x08,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x08,0x01,0x06,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x43,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x26,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x30,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x00,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x34,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x01,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x38,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x02,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x3c,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x03,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x01,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x04,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x0f,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x05,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x11,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x0e,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x1f,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x16,0x06,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x21,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x00,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x04,0x00,0x2f,0x01,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x01,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x10
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x02,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x30
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x03,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0xf0
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x04,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x01
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x05,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x03
+# CHECK: v_mul_legacy_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x16,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x00,0x0f
+# CHECK: v_mul_legacy_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x26,0x06
-# CHECK: v_sub_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x08,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x00
-# CHECK: v_sub_f32_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x10,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x01
-# CHECK: v_sub_f32_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x20,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x02
-# CHECK: v_sub_f32_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x40,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x03
-# CHECK: v_sub_f32_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x04,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x04,0x00,0xe4,0x80,0x00
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x04
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x06
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x05
-# CHECK: v_subrev_f32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x07,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x07,0x00,0x06,0x06,0x06
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x16
-# CHECK: v_subrev_f32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x06,0xff,0x06,0x06,0x06
+# CHECK: v_mul_legacy_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x08,0x01,0x06,0x06,0x26
-# CHECK: v_subrev_f32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x06,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x06,0x00,0x06,0x06,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x26,0x06,0x06
+# CHECK: v_mul_legacy_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x09,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x09,0x01,0xe4,0x00,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x00,0x06,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x08,0xff,0xe4,0x00,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x01,0x06,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x08,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x08,0x01,0xe4,0x00,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x02,0x06,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x1b,0x00,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x03,0x06,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x40,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x04,0x06,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x41,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x05,0x06,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x42,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x0e,0x06,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x43,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x16,0x06,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x30,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x00,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x34,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x01,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x38,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x02,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x3c,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x03,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x01,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x04,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x0f,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x05,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x11,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x16,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x1f,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x26,0x06
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x21,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x00
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0x2f,0x01,0x00
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x01
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x10
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x02
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x30
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x03
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0xf0
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x04
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x01
-# CHECK: v_subrev_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x05
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x03
-# CHECK: v_subrev_f32_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x16
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x00,0x0f
-# CHECK: v_subrev_f32_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x06,0x00,0x06,0x06,0x26
+# CHECK: v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x08,0x00
-# CHECK: v_subrev_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_legacy_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x10,0x00
-# CHECK: v_subrev_f32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x07,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x07,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_legacy_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x20,0x00
-# CHECK: v_subrev_f32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x06,0xff,0xe4,0x00,0x00
+# CHECK: v_mul_legacy_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x40,0x00
-# CHECK: v_subrev_f32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x06,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x06,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_legacy_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x08,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x08,0x01,0xe4,0x80,0x00
-# CHECK: v_subrev_f32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x1b,0x00,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x40,0x01,0x00
+# CHECK: v_mul_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x0b,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x0b,0x01,0x06,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x41,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0xff,0x06,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x42,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x0a,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x0a,0x01,0x06,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x43,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x26,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x30,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x00,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x34,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x01,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x38,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x02,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x3c,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x03,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x01,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x04,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x0f,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x05,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x11,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x0e,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x1f,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x16,0x06,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x21,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x00,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x06,0x00,0x2f,0x01,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x01,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x10
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x02,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x30
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x03,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0xf0
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x04,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x01
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x05,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x03
+# CHECK: v_mul_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x16,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x00,0x0f
+# CHECK: v_mul_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x26,0x06
-# CHECK: v_subrev_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x08,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x00
-# CHECK: v_subrev_f32_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x10,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x01
-# CHECK: v_subrev_f32_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x20,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x02
-# CHECK: v_subrev_f32_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x40,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x03
-# CHECK: v_subrev_f32_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x06,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x06,0x00,0xe4,0x80,0x00
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x04
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x06
+# CHECK: v_mul_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x05
-# CHECK: v_mul_legacy_f32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x09,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x09,0x00,0x06,0x06,0x06
+# CHECK: v_mul_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x16
-# CHECK: v_mul_legacy_f32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x08,0xff,0x06,0x06,0x06
+# CHECK: v_mul_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x0a,0x01,0x06,0x06,0x26
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x08,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x08,0x00,0x06,0x06,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x26,0x06,0x06
+# CHECK: v_mul_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x0b,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x0b,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x00,0x06,0x06
+# CHECK: v_mul_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x0a,0xff,0xe4,0x00,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x01,0x06,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x0a,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x0a,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x02,0x06,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x1b,0x00,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x03,0x06,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x40,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x04,0x06,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x41,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x05,0x06,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x42,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x0e,0x06,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x43,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x16,0x06,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x30,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x00,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x34,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x01,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x38,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x02,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x3c,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x03,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x01,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x04,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x0f,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x05,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x11,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x16,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x1f,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x26,0x06
+# CHECK: v_mul_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x21,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x00
+# CHECK: v_mul_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0x2f,0x01,0x00
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x01
+# CHECK: v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x10
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x02
+# CHECK: v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x30
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x03
+# CHECK: v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0xf0
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x04
+# CHECK: v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x01
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x05
+# CHECK: v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x03
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x16
+# CHECK: v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x00,0x0f
-# CHECK: v_mul_legacy_f32_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x08,0x00,0x06,0x06,0x26
+# CHECK: v_mul_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x08,0x00
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x10,0x00
-# CHECK: v_mul_legacy_f32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x09,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x09,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x20,0x00
-# CHECK: v_mul_legacy_f32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x08,0xff,0xe4,0x00,0x00
+# CHECK: v_mul_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x40,0x00
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x08,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x08,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x0a,0x01,0xe4,0x80,0x00
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x1b,0x00,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x40,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x0d,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x0d,0x01,0x06,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x41,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0xff,0x06,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x42,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x0c,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x0c,0x01,0x06,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x43,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x26,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x30,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x00,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x34,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x01,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x38,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x02,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x3c,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x03,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x01,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x04,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x0f,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x05,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x11,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x0e,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x1f,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x16,0x06,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x21,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x00,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x08,0x00,0x2f,0x01,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x01,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x10
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x02,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x30
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x03,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0xf0
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x04,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x01
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x05,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x03
+# CHECK: v_mul_i32_i24_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x0e,0x06
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x00,0x0f
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x00
-# CHECK: v_mul_legacy_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x08,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x01
-# CHECK: v_mul_legacy_f32_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x10,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x02
-# CHECK: v_mul_legacy_f32_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x20,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x03
-# CHECK: v_mul_legacy_f32_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x40,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x04
-# CHECK: v_mul_legacy_f32_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x08,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x08,0x00,0xe4,0x80,0x00
+# CHECK: v_mul_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x05
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x06
+# CHECK: v_mul_i32_i24_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x0c,0x01,0x06,0x06,0x0e
-# CHECK: v_mul_f32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x0b,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x0b,0x00,0x06,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_f32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0xff,0x06,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x0d,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x0d,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x0a,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x0a,0x00,0x06,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x0c,0xff,0xe4,0x00,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x26,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x0c,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x0c,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x00,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x1b,0x00,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x01,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x40,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x02,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x41,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x03,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x42,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x04,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x43,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x05,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x30,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x0e,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x34,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x16,0x06,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x38,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x00,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x3c,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x01,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x01,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x02,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x0f,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x03,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x11,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x04,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x1f,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x05,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x21,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x16,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0x2f,0x01,0x00
-# CHECK: v_mul_f32_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x26,0x06
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x10
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x00
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x30
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x01
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0xf0
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x02
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x01
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x03
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x03
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x04
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x00,0x0f
-# CHECK: v_mul_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x05
+# CHECK: v_mul_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x0c,0x01,0xe4,0x08,0x00
-# CHECK: v_mul_f32_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x16
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x06
-# CHECK: v_mul_f32_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x0a,0x00,0x06,0x06,0x26
+# CHECK: v_mul_hi_i32_i24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x0f,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x0f,0x01,0x06,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0xff,0x06,0x06,0x06
-# CHECK: v_mul_f32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x0b,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x0b,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x0e,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x0e,0x01,0x06,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x0a,0xff,0xe4,0x00,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x26,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x0a,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x0a,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x00,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x1b,0x00,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x01,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x40,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x02,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x41,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x03,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x42,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x04,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x43,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x05,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x30,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x0e,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x34,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x16,0x06,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x38,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x00,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x3c,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x01,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x01,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x02,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x0f,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x03,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x11,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x04,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x1f,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x05,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x21,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x0e,0x06
-# CHECK: v_mul_f32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0x2f,0x01,0x00
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x00
-# CHECK: v_mul_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x10
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x01
-# CHECK: v_mul_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x30
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x02
-# CHECK: v_mul_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0xf0
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x03
-# CHECK: v_mul_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x01
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x04
-# CHECK: v_mul_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x03
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x05
-# CHECK: v_mul_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x00,0x0f
+# CHECK: v_mul_hi_i32_i24_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x0e,0x01,0x06,0x06,0x0e
-# CHECK: v_mul_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x08,0x00
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_f32_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x10,0x00
+# CHECK: v_mul_hi_i32_i24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x0f,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x0f,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_f32_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x20,0x00
+# CHECK: v_mul_hi_i32_i24_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x0e,0xff,0xe4,0x00,0x00
-# CHECK: v_mul_f32_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x40,0x00
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x0e,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x0e,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_f32_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0a,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x0a,0x00,0xe4,0x80,0x00
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x1b,0x00,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x40,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x0d,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x0d,0x00,0x06,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x41,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0xff,0x06,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x42,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x0c,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x0c,0x00,0x06,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x43,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x26,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x30,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x00,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x34,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x01,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x38,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x02,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x3c,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x03,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x01,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x04,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x0f,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x05,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x11,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x0e,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x1f,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x16,0x06,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x21,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x00,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0x2f,0x01,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x01,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x10
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x02,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x30
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x03,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0xf0
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x04,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x01
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x05,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x03
-# CHECK: v_mul_i32_i24_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x0e,0x06
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x00,0x0f
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x00
+# CHECK: v_mul_hi_i32_i24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x0e,0x01,0xe4,0x08,0x00
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x01
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x06
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x02
+# CHECK: v_mul_u32_u24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x11,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x11,0x01,0x06,0x06,0x06
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x03
+# CHECK: v_mul_u32_u24_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0xff,0x06,0x06,0x06
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x04
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x10,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x10,0x01,0x06,0x06,0x06
-# CHECK: v_mul_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x05
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x26,0x06,0x06
-# CHECK: v_mul_i32_i24_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x0c,0x00,0x06,0x06,0x0e
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x00,0x06,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x01,0x06,0x06
-# CHECK: v_mul_i32_i24_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x0d,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x0d,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x02,0x06,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x0c,0xff,0xe4,0x00,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x03,0x06,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x0c,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x0c,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x04,0x06,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x1b,0x00,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x05,0x06,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x40,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x0e,0x06,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x41,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x16,0x06,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x42,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x00,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x43,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x01,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x30,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x02,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x34,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x03,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x38,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x04,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x3c,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x05,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x01,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x0e,0x06
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x0f,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x00
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x11,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x01
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x1f,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x02
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x21,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x03
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0x2f,0x01,0x00
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x04
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x10
+# CHECK: v_mul_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x05
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x30
+# CHECK: v_mul_u32_u24_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x10,0x01,0x06,0x06,0x0e
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0xf0
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x01
+# CHECK: v_mul_u32_u24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x11,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x11,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x03
+# CHECK: v_mul_u32_u24_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x10,0xff,0xe4,0x00,0x00
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x0c,0x00,0xe4,0x00,0x0f
+# CHECK: v_mul_u32_u24_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x10,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x10,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x0c,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x0c,0x00,0xe4,0x08,0x00
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x1b,0x00,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x40,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x0f,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x0f,0x00,0x06,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x41,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0xff,0x06,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x42,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x0e,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x0e,0x00,0x06,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x43,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x26,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x30,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x00,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x34,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x01,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x38,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x02,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x3c,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x03,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x01,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x04,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x0f,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x05,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x11,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x0e,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x1f,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x16,0x06,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x21,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x00,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0x2f,0x01,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x01,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x10
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x02,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x30
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x03,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0xf0
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x04,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x01
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x05,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x03
-# CHECK: v_mul_hi_i32_i24_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x0e,0x06
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x10,0x01,0xe4,0x00,0x0f
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x00
+# CHECK: v_mul_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x10,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x10,0x01,0xe4,0x08,0x00
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x01
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x02
+# CHECK: v_mul_hi_u32_u24_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x13,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x13,0x01,0x06,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x03
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0xff,0x06,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x04
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x12,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x12,0x01,0x06,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x05
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x26,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x0e,0x00,0x06,0x06,0x0e
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x00,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x01,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x0f,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x0f,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x02,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x0e,0xff,0xe4,0x00,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x03,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x0e,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x0e,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x04,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x1b,0x00,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x05,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x40,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x0e,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x41,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x16,0x06,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x42,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x00,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x43,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x01,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x30,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x02,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x34,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x03,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x38,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x04,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x3c,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x05,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x01,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x0e,0x06
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x0f,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x00
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x11,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x01
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x1f,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x02
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x21,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x03
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0x2f,0x01,0x00
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x04
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x10
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x05
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x30
+# CHECK: v_mul_hi_u32_u24_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x12,0x01,0x06,0x06,0x0e
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0xf0
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x01
+# CHECK: v_mul_hi_u32_u24_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x13,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x13,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x03
+# CHECK: v_mul_hi_u32_u24_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x12,0xff,0xe4,0x00,0x00
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x0e,0x00,0xe4,0x00,0x0f
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x12,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x12,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_hi_i32_i24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x0e,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x0e,0x00,0xe4,0x08,0x00
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x1b,0x00,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x40,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x11,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x11,0x00,0x06,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x41,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x10,0xff,0x06,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x42,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x10,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x10,0x00,0x06,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x43,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x26,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x30,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x00,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x34,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x01,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x38,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x02,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x3c,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x03,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x01,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x04,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x0f,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x05,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x11,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x0e,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x1f,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x16,0x06,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x21,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x00,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0x2f,0x01,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x01,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x10
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x02,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x30
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x03,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0xf0
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x04,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x01
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x05,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x03
-# CHECK: v_mul_u32_u24_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x0e,0x06
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x12,0x01,0xe4,0x00,0x0f
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x00
+# CHECK: v_mul_hi_u32_u24_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x12,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x12,0x01,0xe4,0x08,0x00
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x01
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x06
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x02
+# CHECK: v_min_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x15,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x15,0x01,0x06,0x06,0x06
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x03
+# CHECK: v_min_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0xff,0x06,0x06,0x06
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x04
+# CHECK: v_min_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x14,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x14,0x01,0x06,0x06,0x06
-# CHECK: v_mul_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x05
+# CHECK: v_min_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x26,0x06,0x06
-# CHECK: v_mul_u32_u24_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x10,0x00,0x06,0x06,0x0e
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x00,0x06,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x01,0x06,0x06
-# CHECK: v_mul_u32_u24_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x11,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x11,0x00,0xe4,0x00,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x02,0x06,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x10,0xff,0xe4,0x00,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x03,0x06,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x10,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x10,0x00,0xe4,0x00,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x04,0x06,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x1b,0x00,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x05,0x06,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x40,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x0e,0x06,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x41,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x16,0x06,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x42,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x00,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x43,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x01,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x30,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x02,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x34,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x03,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x38,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x04,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x3c,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x05,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x01,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x16,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x0f,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x26,0x06
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x11,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x00
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x1f,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x01
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x21,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x02
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x10,0x00,0x2f,0x01,0x00
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x03
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x10
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x04
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x30
+# CHECK: v_min_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x05
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0xf0
+# CHECK: v_min_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x16
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x01
+# CHECK: v_min_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x14,0x01,0x06,0x06,0x26
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x03
+# CHECK: v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x10,0x00,0xe4,0x00,0x0f
+# CHECK: v_min_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x15,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x15,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x10,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x10,0x00,0xe4,0x08,0x00
+# CHECK: v_min_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x14,0xff,0xe4,0x00,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x14,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x14,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x13,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x13,0x00,0x06,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x1b,0x00,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x12,0xff,0x06,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x40,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x12,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x12,0x00,0x06,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x41,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x26,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x42,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x00,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x43,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x01,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x30,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x02,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x34,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x03,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x38,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x04,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x3c,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x05,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x01,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x0e,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x0f,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x16,0x06,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x11,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x00,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x1f,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x01,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x21,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x02,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0x2f,0x01,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x03,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x10
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x04,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x30
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x05,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0xf0
-# CHECK: v_mul_hi_u32_u24_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x0e,0x06
+# CHECK: v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x01
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x00
+# CHECK: v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x03
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x01
+# CHECK: v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x00,0x0f
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x02
+# CHECK: v_min_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x08,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x03
+# CHECK: v_min_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x10,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x04
+# CHECK: v_min_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x20,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x05
+# CHECK: v_min_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x40,0x00
-# CHECK: v_mul_hi_u32_u24_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x12,0x00,0x06,0x06,0x0e
+# CHECK: v_min_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x14,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x14,0x01,0xe4,0x80,0x00
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x13,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x13,0x00,0xe4,0x00,0x00
+# CHECK: v_max_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x17,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x17,0x01,0x06,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x12,0xff,0xe4,0x00,0x00
+# CHECK: v_max_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0xff,0x06,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x12,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x12,0x00,0xe4,0x00,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x16,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x16,0x01,0x06,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x1b,0x00,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x26,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x40,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x00,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x41,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x01,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x42,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x02,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x43,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x03,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x30,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x04,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x34,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x05,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x38,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x0e,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x3c,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x16,0x06,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x01,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x00,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x0f,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x01,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x11,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x02,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x1f,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x03,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x21,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x04,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x12,0x00,0x2f,0x01,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x05,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x10
+# CHECK: v_max_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x16,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x30
+# CHECK: v_max_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x26,0x06
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0xf0
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x00
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x01
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x01
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x03
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x02
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x12,0x00,0xe4,0x00,0x0f
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x03
-# CHECK: v_mul_hi_u32_u24_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x12,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x12,0x00,0xe4,0x08,0x00
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x04
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x06
+# CHECK: v_max_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x05
-# CHECK: v_min_f32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x15,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x15,0x00,0x06,0x06,0x06
+# CHECK: v_max_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x16
-# CHECK: v_min_f32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x14,0xff,0x06,0x06,0x06
+# CHECK: v_max_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x16,0x01,0x06,0x06,0x26
-# CHECK: v_min_f32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x14,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x14,0x00,0x06,0x06,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x26,0x06,0x06
+# CHECK: v_max_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x17,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x17,0x01,0xe4,0x00,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x00,0x06,0x06
+# CHECK: v_max_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x16,0xff,0xe4,0x00,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x01,0x06,0x06
+# CHECK: v_max_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x16,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x16,0x01,0xe4,0x00,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x02,0x06,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x1b,0x00,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x03,0x06,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x40,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x04,0x06,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x41,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x05,0x06,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x42,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x0e,0x06,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x43,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x16,0x06,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x30,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x00,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x34,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x01,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x38,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x02,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x3c,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x03,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x01,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x04,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x0f,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x05,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x11,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x16,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x1f,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x26,0x06
+# CHECK: v_max_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x21,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x00
+# CHECK: v_max_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0x2f,0x01,0x00
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x01
+# CHECK: v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x10
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x02
+# CHECK: v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x30
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x03
+# CHECK: v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0xf0
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x04
+# CHECK: v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x01
-# CHECK: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x05
+# CHECK: v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x03
-# CHECK: v_min_f32_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x16
+# CHECK: v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x00,0x0f
-# CHECK: v_min_f32_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x14,0x00,0x06,0x06,0x26
+# CHECK: v_max_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x08,0x00
-# CHECK: v_min_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x00
+# CHECK: v_max_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x10,0x00
-# CHECK: v_min_f32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x15,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x15,0x00,0xe4,0x00,0x00
+# CHECK: v_max_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x20,0x00
-# CHECK: v_min_f32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x14,0xff,0xe4,0x00,0x00
+# CHECK: v_max_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x40,0x00
-# CHECK: v_min_f32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x14,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x14,0x00,0xe4,0x00,0x00
+# CHECK: v_max_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x16,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x16,0x01,0xe4,0x80,0x00
-# CHECK: v_min_f32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x1b,0x00,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x40,0x01,0x00
+# CHECK: v_min_i32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x19,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x19,0x01,0x06,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x41,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0xff,0x06,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x42,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x18,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x18,0x01,0x06,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x43,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x26,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x30,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x00,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x34,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x01,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x38,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x02,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x3c,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x03,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x01,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x04,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x0f,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x05,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x11,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x0e,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x1f,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x16,0x06,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x21,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x00,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x14,0x00,0x2f,0x01,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x01,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x10
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x02,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x30
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x03,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0xf0
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x04,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x01
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x05,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x03
+# CHECK: v_min_i32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x0e,0x06
-# CHECK: v_min_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x00,0x0f
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x00
-# CHECK: v_min_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x08,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x01
-# CHECK: v_min_f32_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x10,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x02
-# CHECK: v_min_f32_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x20,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x03
-# CHECK: v_min_f32_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x40,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x04
-# CHECK: v_min_f32_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x14,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x14,0x00,0xe4,0x80,0x00
+# CHECK: v_min_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x05
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x06
+# CHECK: v_min_i32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x18,0x01,0x06,0x06,0x0e
-# CHECK: v_max_f32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x17,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x17,0x00,0x06,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x00
-# CHECK: v_max_f32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x16,0xff,0x06,0x06,0x06
+# CHECK: v_min_i32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x19,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x19,0x01,0xe4,0x00,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x16,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x16,0x00,0x06,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x18,0xff,0xe4,0x00,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x26,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x18,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x18,0x01,0xe4,0x00,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x00,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x1b,0x00,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x01,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x40,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x02,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x41,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x03,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x42,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x04,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x43,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x05,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x30,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x0e,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x34,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x16,0x06,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x38,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x00,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x3c,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x01,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x01,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x02,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x0f,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x03,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x11,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x04,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x1f,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x05,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x21,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x16,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0x2f,0x01,0x00
-# CHECK: v_max_f32_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x26,0x06
+# CHECK: v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x10
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x00
+# CHECK: v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x30
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x01
+# CHECK: v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0xf0
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x02
+# CHECK: v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x01
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x03
+# CHECK: v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x03
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x04
+# CHECK: v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x18,0x01,0xe4,0x00,0x0f
-# CHECK: v_max_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x05
+# CHECK: v_min_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x18,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x18,0x01,0xe4,0x08,0x00
-# CHECK: v_max_f32_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x16
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x06
-# CHECK: v_max_f32_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x16,0x00,0x06,0x06,0x26
+# CHECK: v_max_i32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x1b,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x1b,0x01,0x06,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x00
+# CHECK: v_max_i32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0xff,0x06,0x06,0x06
-# CHECK: v_max_f32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x17,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x17,0x00,0xe4,0x00,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x1a,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x1a,0x01,0x06,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x16,0xff,0xe4,0x00,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x26,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x16,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x16,0x00,0xe4,0x00,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x00,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x1b,0x00,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x01,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x40,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x02,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x41,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x03,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x42,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x04,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x43,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x05,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x30,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x0e,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x34,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x16,0x06,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x38,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x00,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x3c,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x01,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x01,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x02,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x0f,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x03,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x11,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x04,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x1f,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x05,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x21,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x0e,0x06
-# CHECK: v_max_f32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x16,0x00,0x2f,0x01,0x00
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x00
-# CHECK: v_max_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x10
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x01
-# CHECK: v_max_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x30
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x02
-# CHECK: v_max_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0xf0
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x03
-# CHECK: v_max_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x01
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x04
-# CHECK: v_max_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x03
+# CHECK: v_max_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x05
-# CHECK: v_max_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x00,0x0f
+# CHECK: v_max_i32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x1a,0x01,0x06,0x06,0x0e
-# CHECK: v_max_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x08,0x00
+# CHECK: v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x00
-# CHECK: v_max_f32_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x10,0x00
+# CHECK: v_max_i32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x1b,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x1b,0x01,0xe4,0x00,0x00
-# CHECK: v_max_f32_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x20,0x00
+# CHECK: v_max_i32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x1a,0xff,0xe4,0x00,0x00
-# CHECK: v_max_f32_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x40,0x00
+# CHECK: v_max_i32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x1a,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x1a,0x01,0xe4,0x00,0x00
-# CHECK: v_max_f32_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x16,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x16,0x00,0xe4,0x80,0x00
+# CHECK: v_max_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x1b,0x00,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x40,0x01,0x00
-# CHECK: v_min_i32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x19,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x19,0x00,0x06,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x41,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x18,0xff,0x06,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x42,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x18,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x18,0x00,0x06,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x43,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x26,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x30,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x00,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x34,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x01,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x38,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x02,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x3c,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x03,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x01,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x04,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x0f,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x05,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x11,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x0e,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x1f,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x16,0x06,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x21,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x00,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0x2f,0x01,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x01,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x10
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x02,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x30
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x03,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0xf0
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x04,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x01
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x05,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x03
-# CHECK: v_min_i32_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x0e,0x06
+# CHECK: v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x0f
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x00
+# CHECK: v_max_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x1a,0x01,0xe4,0x08,0x00
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x01
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x06
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x02
+# CHECK: v_min_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x1d,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x1d,0x01,0x06,0x06,0x06
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x03
+# CHECK: v_min_u32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0xff,0x06,0x06,0x06
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x04
+# CHECK: v_min_u32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x1c,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x1c,0x01,0x06,0x06,0x06
-# CHECK: v_min_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x05
+# CHECK: v_min_u32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x26,0x06,0x06
-# CHECK: v_min_i32_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x18,0x00,0x06,0x06,0x0e
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x00,0x06,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x01,0x06,0x06
-# CHECK: v_min_i32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x19,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x19,0x00,0xe4,0x00,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x02,0x06,0x06
-# CHECK: v_min_i32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x18,0xff,0xe4,0x00,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x03,0x06,0x06
-# CHECK: v_min_i32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x18,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x18,0x00,0xe4,0x00,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x04,0x06,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x1b,0x00,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x05,0x06,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x40,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x0e,0x06,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x41,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x16,0x06,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x42,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x00,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x43,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x01,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x30,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x02,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x34,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x03,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x38,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x04,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x3c,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x05,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x01,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x0e,0x06
-# CHECK: v_min_i32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x0f,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x00
-# CHECK: v_min_i32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x11,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x01
-# CHECK: v_min_i32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x1f,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x02
-# CHECK: v_min_i32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x21,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x03
-# CHECK: v_min_i32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x18,0x00,0x2f,0x01,0x00
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x04
-# CHECK: v_min_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x10
+# CHECK: v_min_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x05
-# CHECK: v_min_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x30
+# CHECK: v_min_u32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x1c,0x01,0x06,0x06,0x0e
-# CHECK: v_min_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0xf0
+# CHECK: v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x00
-# CHECK: v_min_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x01
+# CHECK: v_min_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x1d,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x1d,0x01,0xe4,0x00,0x00
-# CHECK: v_min_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x03
+# CHECK: v_min_u32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x1c,0xff,0xe4,0x00,0x00
-# CHECK: v_min_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x18,0x00,0xe4,0x00,0x0f
+# CHECK: v_min_u32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x1c,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x1c,0x01,0xe4,0x00,0x00
-# CHECK: v_min_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x18,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x18,0x00,0xe4,0x08,0x00
+# CHECK: v_min_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x1b,0x00,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x40,0x01,0x00
-# CHECK: v_max_i32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x1b,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x1b,0x00,0x06,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x41,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0xff,0x06,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x42,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x1a,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x1a,0x00,0x06,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x43,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x26,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x30,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x00,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x34,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x01,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x38,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x02,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x3c,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x03,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x01,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x04,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x0f,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x05,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x11,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x0e,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x1f,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x16,0x06,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x21,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x00,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0x2f,0x01,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x01,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x10
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x02,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x30
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x03,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0xf0
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x04,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x01
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x05,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x03
-# CHECK: v_max_i32_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x0e,0x06
+# CHECK: v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x00,0x0f
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x00
+# CHECK: v_min_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x1c,0x01,0xe4,0x08,0x00
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x01
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x06
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x02
+# CHECK: v_max_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x1f,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x1f,0x01,0x06,0x06,0x06
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x03
+# CHECK: v_max_u32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0xff,0x06,0x06,0x06
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x04
+# CHECK: v_max_u32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x1e,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x1e,0x01,0x06,0x06,0x06
-# CHECK: v_max_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x05
+# CHECK: v_max_u32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x26,0x06,0x06
-# CHECK: v_max_i32_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x1a,0x00,0x06,0x06,0x0e
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x00,0x06,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x01,0x06,0x06
-# CHECK: v_max_i32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x1b,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x1b,0x00,0xe4,0x00,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x02,0x06,0x06
-# CHECK: v_max_i32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x1a,0xff,0xe4,0x00,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x03,0x06,0x06
-# CHECK: v_max_i32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x1a,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x1a,0x00,0xe4,0x00,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x04,0x06,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x1b,0x00,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x05,0x06,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x40,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x0e,0x06,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x41,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x16,0x06,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x42,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x00,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x43,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x01,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x30,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x02,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x34,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x03,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x38,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x04,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x3c,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x05,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x01,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x0e,0x06
-# CHECK: v_max_i32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x0f,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x00
-# CHECK: v_max_i32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x11,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x01
-# CHECK: v_max_i32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x1f,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x02
-# CHECK: v_max_i32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x21,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x03
-# CHECK: v_max_i32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0x2f,0x01,0x00
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x04
-# CHECK: v_max_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x10
+# CHECK: v_max_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x05
-# CHECK: v_max_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x30
+# CHECK: v_max_u32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x1e,0x01,0x06,0x06,0x0e
-# CHECK: v_max_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0xf0
+# CHECK: v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x00
-# CHECK: v_max_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x01
+# CHECK: v_max_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x1f,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x1f,0x01,0xe4,0x00,0x00
-# CHECK: v_max_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x03
+# CHECK: v_max_u32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x1e,0xff,0xe4,0x00,0x00
-# CHECK: v_max_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x1a,0x00,0xe4,0x00,0x0f
+# CHECK: v_max_u32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x1e,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x1e,0x01,0xe4,0x00,0x00
-# CHECK: v_max_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x1a,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x1a,0x00,0xe4,0x08,0x00
+# CHECK: v_max_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x1b,0x00,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x40,0x01,0x00
-# CHECK: v_min_u32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x1d,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x1d,0x00,0x06,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x41,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0xff,0x06,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x42,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x1c,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x1c,0x00,0x06,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x43,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x26,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x30,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x00,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x34,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x01,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x38,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x02,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x3c,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x03,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x01,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x04,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x0f,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x05,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x11,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x0e,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x1f,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x16,0x06,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x21,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x00,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0x2f,0x01,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x01,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x10
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x02,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x30
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x03,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0xf0
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x04,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x01
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x05,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x03
-# CHECK: v_min_u32_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x0e,0x06
+# CHECK: v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x00,0x0f
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x00
+# CHECK: v_max_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x1e,0x01,0xe4,0x08,0x00
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x01
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x06
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x02
+# CHECK: v_lshrrev_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x21,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x21,0x01,0x06,0x06,0x06
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x03
+# CHECK: v_lshrrev_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x20,0xff,0x06,0x06,0x06
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x04
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x20,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x20,0x01,0x06,0x06,0x06
-# CHECK: v_min_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x05
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x00,0x06,0x06
-# CHECK: v_min_u32_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x1c,0x00,0x06,0x06,0x0e
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x01,0x06,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x02,0x06,0x06
-# CHECK: v_min_u32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x1d,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x1d,0x00,0xe4,0x00,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x03,0x06,0x06
-# CHECK: v_min_u32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x1c,0xff,0xe4,0x00,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x04,0x06,0x06
-# CHECK: v_min_u32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x1c,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x1c,0x00,0xe4,0x00,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x05,0x06,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x1b,0x00,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x0e,0x06,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x40,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x16,0x06,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x41,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x00,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x42,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x01,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x43,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x02,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x30,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x03,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x34,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x04,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x38,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x05,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x3c,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x0e,0x06
-# CHECK: v_min_u32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x01,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x00
-# CHECK: v_min_u32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x0f,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x01
-# CHECK: v_min_u32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x11,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x02
-# CHECK: v_min_u32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x1f,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x03
-# CHECK: v_min_u32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x21,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x04
-# CHECK: v_min_u32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0x2f,0x01,0x00
+# CHECK: v_lshrrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x05
-# CHECK: v_min_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x10
+# CHECK: v_lshrrev_b32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x20,0x01,0x06,0x06,0x0e
-# CHECK: v_min_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x30
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x00
-# CHECK: v_min_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0xf0
+# CHECK: v_lshrrev_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x21,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x21,0x01,0xe4,0x00,0x00
-# CHECK: v_min_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x01
+# CHECK: v_lshrrev_b32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x20,0xff,0xe4,0x00,0x00
-# CHECK: v_min_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x03
+# CHECK: v_lshrrev_b32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x20,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x20,0x01,0xe4,0x00,0x00
-# CHECK: v_min_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x1c,0x00,0xe4,0x00,0x0f
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x1b,0x00,0x00
-# CHECK: v_min_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x1c,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x1c,0x00,0xe4,0x08,0x00
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x40,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x41,0x01,0x00
-# CHECK: v_max_u32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x1f,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x1f,0x00,0x06,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x42,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0xff,0x06,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x43,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x1e,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x1e,0x00,0x06,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x30,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x26,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x34,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x00,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x38,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x01,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x3c,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x02,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x01,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x03,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x0f,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x04,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x11,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x05,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x1f,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x0e,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x21,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x16,0x06,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0x2f,0x01,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x00,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x10
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x01,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x30
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x02,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0xf0
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x03,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x01
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x04,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x03
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x05,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x20,0x01,0xe4,0x00,0x0f
-# CHECK: v_max_u32_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x0e,0x06
+# CHECK: v_lshrrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x20,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x20,0x01,0xe4,0x08,0x00
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x06
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x01
+# CHECK: v_ashrrev_i32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x23,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x23,0x01,0x06,0x06,0x06
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x02
+# CHECK: v_ashrrev_i32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0xff,0x06,0x06,0x06
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x03
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x22,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x22,0x01,0x06,0x06,0x06
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x04
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x26,0x06,0x06
-# CHECK: v_max_u32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x05
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x00,0x06,0x06
-# CHECK: v_max_u32_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x1e,0x00,0x06,0x06,0x0e
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x01,0x06,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x02,0x06,0x06
-# CHECK: v_max_u32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x1f,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x1f,0x00,0xe4,0x00,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x03,0x06,0x06
-# CHECK: v_max_u32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x1e,0xff,0xe4,0x00,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x04,0x06,0x06
-# CHECK: v_max_u32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x1e,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x1e,0x00,0xe4,0x00,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x05,0x06,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x1b,0x00,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x0e,0x06,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x40,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x16,0x06,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x41,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x00,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x42,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x01,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x43,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x02,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x30,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x03,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x34,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x04,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x38,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x05,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x3c,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x0e,0x06
-# CHECK: v_max_u32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x01,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x00
-# CHECK: v_max_u32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x0f,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x01
-# CHECK: v_max_u32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x11,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x02
-# CHECK: v_max_u32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x1f,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x03
-# CHECK: v_max_u32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x21,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x04
-# CHECK: v_max_u32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0x2f,0x01,0x00
+# CHECK: v_ashrrev_i32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x05
-# CHECK: v_max_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x10
+# CHECK: v_ashrrev_i32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x22,0x01,0x06,0x06,0x0e
-# CHECK: v_max_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x30
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x00
-# CHECK: v_max_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0xf0
+# CHECK: v_ashrrev_i32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x23,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x23,0x01,0xe4,0x00,0x00
-# CHECK: v_max_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x01
+# CHECK: v_ashrrev_i32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x22,0xff,0xe4,0x00,0x00
-# CHECK: v_max_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x03
+# CHECK: v_ashrrev_i32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x22,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x22,0x01,0xe4,0x00,0x00
-# CHECK: v_max_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x1e,0x00,0xe4,0x00,0x0f
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x1b,0x00,0x00
-# CHECK: v_max_u32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x1e,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x1e,0x00,0xe4,0x08,0x00
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x40,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x41,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x21,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x21,0x00,0x06,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x42,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x20,0xff,0x06,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x43,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x20,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x20,0x00,0x06,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x30,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x26,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x34,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x00,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x38,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x01,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x3c,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x02,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x01,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x03,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x0f,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x04,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x11,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x05,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x1f,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x0e,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x21,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x16,0x06,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0x2f,0x01,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x00,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x10
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x01,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x30
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x02,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0xf0
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x03,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x01
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x04,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x03
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x05,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x22,0x01,0xe4,0x00,0x0f
-# CHECK: v_lshrrev_b32_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x0e,0x06
+# CHECK: v_ashrrev_i32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x22,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x22,0x01,0xe4,0x08,0x00
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x06
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x01
+# CHECK: v_lshlrev_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x25,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x25,0x01,0x06,0x06,0x06
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x02
+# CHECK: v_lshlrev_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x24,0xff,0x06,0x06,0x06
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x03
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x24,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x24,0x01,0x06,0x06,0x06
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x04
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x00,0x06,0x06
-# CHECK: v_lshrrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x05
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x01,0x06,0x06
-# CHECK: v_lshrrev_b32_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x20,0x00,0x06,0x06,0x0e
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x02,0x06,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x03,0x06,0x06
-# CHECK: v_lshrrev_b32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x21,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x21,0x00,0xe4,0x00,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x04,0x06,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x20,0xff,0xe4,0x00,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x05,0x06,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x20,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x20,0x00,0xe4,0x00,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x0e,0x06,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x1b,0x00,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x16,0x06,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x40,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x00,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x41,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x01,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x42,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x02,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x43,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x03,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x30,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x04,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x34,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x05,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x38,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x0e,0x06
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x3c,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x00
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x01,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x01
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x0f,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x02
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x11,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x03
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x1f,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x04
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x21,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x05
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x20,0x00,0x2f,0x01,0x00
+# CHECK: v_lshlrev_b32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x24,0x01,0x06,0x06,0x0e
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x10
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x00
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x30
+# CHECK: v_lshlrev_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x25,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x25,0x01,0xe4,0x00,0x00
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0xf0
+# CHECK: v_lshlrev_b32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x24,0xff,0xe4,0x00,0x00
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x01
+# CHECK: v_lshlrev_b32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x24,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x24,0x01,0xe4,0x00,0x00
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x03
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x1b,0x00,0x00
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x20,0x00,0xe4,0x00,0x0f
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x40,0x01,0x00
-# CHECK: v_lshrrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x20,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x20,0x00,0xe4,0x08,0x00
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x41,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x42,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x23,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x23,0x00,0x06,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x43,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x22,0xff,0x06,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x30,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x22,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x22,0x00,0x06,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x34,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x26,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x38,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x00,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x3c,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x01,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x01,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x02,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x0f,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x03,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x11,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x04,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x1f,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x05,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x21,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x0e,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0x2f,0x01,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x16,0x06,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x10
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x00,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x30
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x01,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0xf0
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x02,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x01
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x03,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x03
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x04,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x24,0x01,0xe4,0x00,0x0f
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x05,0x06
+# CHECK: v_lshlrev_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x24,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x24,0x01,0xe4,0x08,0x00
-# CHECK: v_ashrrev_i32_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x0e,0x06
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x06
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x00
+# CHECK: v_and_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x27,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x27,0x01,0x06,0x06,0x06
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x01
+# CHECK: v_and_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x26,0xff,0x06,0x06,0x06
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x02
+# CHECK: v_and_b32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x26,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x26,0x01,0x06,0x06,0x06
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x03
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x00,0x06,0x06
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x04
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x01,0x06,0x06
-# CHECK: v_ashrrev_i32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x05
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x02,0x06,0x06
-# CHECK: v_ashrrev_i32_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x22,0x00,0x06,0x06,0x0e
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x03,0x06,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x04,0x06,0x06
-# CHECK: v_ashrrev_i32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x23,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x23,0x00,0xe4,0x00,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x05,0x06,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x22,0xff,0xe4,0x00,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x0e,0x06,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x22,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x22,0x00,0xe4,0x00,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x16,0x06,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x1b,0x00,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x00,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x40,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x01,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x41,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x02,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x42,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x03,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x43,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x04,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x30,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x05,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x34,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x0e,0x06
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x38,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x00
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x3c,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x01
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x01,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x02
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x0f,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x03
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x11,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x04
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x1f,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x05
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x21,0x01,0x00
+# CHECK: v_and_b32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x26,0x01,0x06,0x06,0x0e
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x22,0x00,0x2f,0x01,0x00
+# CHECK: v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x00
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x10
+# CHECK: v_and_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x27,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x27,0x01,0xe4,0x00,0x00
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x30
+# CHECK: v_and_b32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x26,0xff,0xe4,0x00,0x00
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0xf0
+# CHECK: v_and_b32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x26,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x26,0x01,0xe4,0x00,0x00
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x01
+# CHECK: v_and_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x1b,0x00,0x00
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x03
+# CHECK: v_and_b32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x40,0x01,0x00
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x22,0x00,0xe4,0x00,0x0f
+# CHECK: v_and_b32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x41,0x01,0x00
-# CHECK: v_ashrrev_i32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x22,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x22,0x00,0xe4,0x08,0x00
+# CHECK: v_and_b32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x42,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x43,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x25,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x25,0x00,0x06,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x30,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x24,0xff,0x06,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x34,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x24,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x24,0x00,0x06,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x38,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x26,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x3c,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x00,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x01,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x01,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x0f,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x02,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x11,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x03,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x1f,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x04,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x21,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x05,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0x2f,0x01,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x0e,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x10
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x16,0x06,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x30
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x00,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0xf0
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x01,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x01
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x02,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x03
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x03,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x26,0x01,0xe4,0x00,0x0f
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x04,0x06
+# CHECK: v_and_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x26,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x26,0x01,0xe4,0x08,0x00
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x05,0x06
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x06
-# CHECK: v_lshlrev_b32_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x0e,0x06
+# CHECK: v_or_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x29,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x29,0x01,0x06,0x06,0x06
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x00
+# CHECK: v_or_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x28,0xff,0x06,0x06,0x06
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x01
+# CHECK: v_or_b32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x28,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x28,0x01,0x06,0x06,0x06
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x02
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x00,0x06,0x06
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x03
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x01,0x06,0x06
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x04
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x02,0x06,0x06
-# CHECK: v_lshlrev_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x05
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x03,0x06,0x06
-# CHECK: v_lshlrev_b32_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x24,0x00,0x06,0x06,0x0e
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x04,0x06,0x06
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x05,0x06,0x06
-# CHECK: v_lshlrev_b32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x25,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x25,0x00,0xe4,0x00,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x0e,0x06,0x06
-# CHECK: v_lshlrev_b32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x24,0xff,0xe4,0x00,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x16,0x06,0x06
-# CHECK: v_lshlrev_b32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x24,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x24,0x00,0xe4,0x00,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x00,0x06
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x1b,0x00,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x01,0x06
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x40,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x02,0x06
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x41,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x03,0x06
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x42,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x04,0x06
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x43,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x05,0x06
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x30,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x0e,0x06
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x34,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x00
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x38,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x01
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x3c,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x02
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x01,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x03
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x0f,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x04
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x11,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x05
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x1f,0x01,0x00
+# CHECK: v_or_b32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x28,0x01,0x06,0x06,0x0e
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x21,0x01,0x00
+# CHECK: v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x00
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x24,0x00,0x2f,0x01,0x00
+# CHECK: v_or_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x29,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x29,0x01,0xe4,0x00,0x00
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x10
+# CHECK: v_or_b32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x28,0xff,0xe4,0x00,0x00
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x30
+# CHECK: v_or_b32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x28,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x28,0x01,0xe4,0x00,0x00
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0xf0
+# CHECK: v_or_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x1b,0x00,0x00
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x01
+# CHECK: v_or_b32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x40,0x01,0x00
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x03
+# CHECK: v_or_b32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x41,0x01,0x00
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x24,0x00,0xe4,0x00,0x0f
+# CHECK: v_or_b32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x42,0x01,0x00
-# CHECK: v_lshlrev_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x24,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x24,0x00,0xe4,0x08,0x00
+# CHECK: v_or_b32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x43,0x01,0x00
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x30,0x01,0x00
-# CHECK: v_and_b32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x27,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x27,0x00,0x06,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x34,0x01,0x00
-# CHECK: v_and_b32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x26,0xff,0x06,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x38,0x01,0x00
-# CHECK: v_and_b32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x26,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x26,0x00,0x06,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x3c,0x01,0x00
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x00,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x01,0x01,0x00
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x01,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x0f,0x01,0x00
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x02,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x11,0x01,0x00
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x03,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x1f,0x01,0x00
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x04,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x21,0x01,0x00
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x05,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0x2f,0x01,0x00
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x0e,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x10
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x16,0x06,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x30
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x00,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0xf0
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x01,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x01
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x02,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x03
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x03,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x28,0x01,0xe4,0x00,0x0f
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x04,0x06
+# CHECK: v_or_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x28,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x28,0x01,0xe4,0x08,0x00
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x05,0x06
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x06
-# CHECK: v_and_b32_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x0e,0x06
+# CHECK: v_xor_b32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x2b,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x2b,0x01,0x06,0x06,0x06
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x00
+# CHECK: v_xor_b32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x2a,0xff,0x06,0x06,0x06
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x01
+# CHECK: v_xor_b32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x2a,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x2a,0x01,0x06,0x06,0x06
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x02
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x00,0x06,0x06
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x03
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x01,0x06,0x06
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x04
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x02,0x06,0x06
-# CHECK: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x05
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x03,0x06,0x06
-# CHECK: v_and_b32_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x0e
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x04,0x06,0x06
-# CHECK: v_and_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x05,0x06,0x06
-# CHECK: v_and_b32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x27,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x27,0x00,0xe4,0x00,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x0e,0x06,0x06
-# CHECK: v_and_b32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x26,0xff,0xe4,0x00,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x16,0x06,0x06
-# CHECK: v_and_b32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x26,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x26,0x00,0xe4,0x00,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x00,0x06
-# CHECK: v_and_b32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x1b,0x00,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x01,0x06
-# CHECK: v_and_b32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x40,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x02,0x06
-# CHECK: v_and_b32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x41,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x03,0x06
-# CHECK: v_and_b32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x42,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x04,0x06
-# CHECK: v_and_b32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x43,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x05,0x06
-# CHECK: v_and_b32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x30,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x0e,0x06
-# CHECK: v_and_b32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x34,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x00
-# CHECK: v_and_b32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x38,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x01
-# CHECK: v_and_b32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x3c,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x02
-# CHECK: v_and_b32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x01,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x03
-# CHECK: v_and_b32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x0f,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x04
-# CHECK: v_and_b32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x11,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x05
-# CHECK: v_and_b32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x1f,0x01,0x00
+# CHECK: v_xor_b32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x2a,0x01,0x06,0x06,0x0e
-# CHECK: v_and_b32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x21,0x01,0x00
+# CHECK: v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x00
-# CHECK: v_and_b32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x26,0x00,0x2f,0x01,0x00
+# CHECK: v_xor_b32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x2b,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x2b,0x01,0xe4,0x00,0x00
-# CHECK: v_and_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x10
+# CHECK: v_xor_b32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x2a,0xff,0xe4,0x00,0x00
-# CHECK: v_and_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x30
+# CHECK: v_xor_b32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x2a,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x2a,0x01,0xe4,0x00,0x00
-# CHECK: v_and_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0xf0
+# CHECK: v_xor_b32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x1b,0x00,0x00
-# CHECK: v_and_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x01
+# CHECK: v_xor_b32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x40,0x01,0x00
-# CHECK: v_and_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x03
+# CHECK: v_xor_b32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x41,0x01,0x00
-# CHECK: v_and_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x26,0x00,0xe4,0x00,0x0f
+# CHECK: v_xor_b32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x42,0x01,0x00
-# CHECK: v_and_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x26,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x26,0x00,0xe4,0x08,0x00
+# CHECK: v_xor_b32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x43,0x01,0x00
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x30,0x01,0x00
-# CHECK: v_or_b32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x29,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x29,0x00,0x06,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x34,0x01,0x00
-# CHECK: v_or_b32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x28,0xff,0x06,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x38,0x01,0x00
-# CHECK: v_or_b32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x28,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x28,0x00,0x06,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x3c,0x01,0x00
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x00,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x01,0x01,0x00
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x01,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x0f,0x01,0x00
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x02,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x11,0x01,0x00
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x03,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x1f,0x01,0x00
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x04,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x21,0x01,0x00
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x05,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0x2f,0x01,0x00
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x0e,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x10
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x16,0x06,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x30
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x00,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0xf0
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x01,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x01
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x02,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x03
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x03,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x00,0x0f
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x04,0x06
+# CHECK: v_xor_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x2a,0x01,0xe4,0x08,0x00
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x05,0x06
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x06
-# CHECK: v_or_b32_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x0e,0x06
+# CHECK: v_mac_f32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x2d,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x2d,0x01,0x06,0x06,0x06
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x00
+# CHECK: v_mac_f32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x2c,0xff,0x06,0x06,0x06
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x01
+# CHECK: v_mac_f32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x2c,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x2c,0x01,0x06,0x06,0x06
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x02
+# CHECK: v_mac_f32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x26,0x06,0x06
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x03
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x0e,0x06,0x06
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x04
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x16,0x06,0x06
-# CHECK: v_or_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x05
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x00,0x06
-# CHECK: v_or_b32_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x28,0x00,0x06,0x06,0x0e
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x01,0x06
-# CHECK: v_or_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x02,0x06
-# CHECK: v_or_b32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x29,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x29,0x00,0xe4,0x00,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x03,0x06
-# CHECK: v_or_b32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x28,0xff,0xe4,0x00,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x04,0x06
-# CHECK: v_or_b32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x28,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x28,0x00,0xe4,0x00,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x05,0x06
-# CHECK: v_or_b32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x1b,0x00,0x00
+# CHECK: v_mac_f32_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x16,0x06
-# CHECK: v_or_b32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x40,0x01,0x00
+# CHECK: v_mac_f32_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x26,0x06
-# CHECK: v_or_b32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x41,0x01,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x42,0x01,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x01
-# CHECK: v_or_b32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x43,0x01,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x02
-# CHECK: v_or_b32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x30,0x01,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x03
-# CHECK: v_or_b32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x34,0x01,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x04
-# CHECK: v_or_b32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x38,0x01,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x05
-# CHECK: v_or_b32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x3c,0x01,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x16
-# CHECK: v_or_b32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x01,0x01,0x00
+# CHECK: v_mac_f32_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x2c,0x01,0x06,0x06,0x26
-# CHECK: v_or_b32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x0f,0x01,0x00
+# CHECK: v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x11,0x01,0x00
+# CHECK: v_mac_f32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x2d,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x2d,0x01,0xe4,0x00,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x1f,0x01,0x00
+# CHECK: v_mac_f32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x2c,0xff,0xe4,0x00,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x21,0x01,0x00
+# CHECK: v_mac_f32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x2c,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x2c,0x01,0xe4,0x00,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x28,0x00,0x2f,0x01,0x00
+# CHECK: v_mac_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x1b,0x00,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x10
+# CHECK: v_mac_f32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x40,0x01,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x30
+# CHECK: v_mac_f32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x41,0x01,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0xf0
+# CHECK: v_mac_f32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x42,0x01,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x01
+# CHECK: v_mac_f32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x43,0x01,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x03
+# CHECK: v_mac_f32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x30,0x01,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x28,0x00,0xe4,0x00,0x0f
+# CHECK: v_mac_f32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x34,0x01,0x00
-# CHECK: v_or_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x28,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x28,0x00,0xe4,0x08,0x00
+# CHECK: v_mac_f32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x38,0x01,0x00
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x3c,0x01,0x00
-# CHECK: v_xor_b32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x2b,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x2b,0x00,0x06,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x01,0x01,0x00
-# CHECK: v_xor_b32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x2a,0xff,0x06,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x0f,0x01,0x00
-# CHECK: v_xor_b32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x2a,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x2a,0x00,0x06,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x11,0x01,0x00
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x00,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x1f,0x01,0x00
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x01,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x21,0x01,0x00
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x02,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0x2f,0x01,0x00
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x03,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x10
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x04,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x30
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x05,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0xf0
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x0e,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x01
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x16,0x06,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x03
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x00,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x00,0x0f
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x01,0x06
+# CHECK: v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x08,0x00
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x02,0x06
+# CHECK: v_mac_f32_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x10,0x00
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x03,0x06
+# CHECK: v_mac_f32_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x20,0x00
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x04,0x06
+# CHECK: v_mac_f32_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x40,0x00
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x05,0x06
+# CHECK: v_mac_f32_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x2c,0x01,0xe4,0x80,0x00
-# CHECK: v_xor_b32_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x0e,0x06
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x00
+# CHECK: v_addc_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x39,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x39,0x01,0x06,0x06,0x06
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x01
+# CHECK: v_addc_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0xff,0x06,0x06,0x06
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x02
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x38,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x38,0x01,0x06,0x06,0x06
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x03
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x26,0x06,0x06
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x04
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x00,0x06,0x06
-# CHECK: v_xor_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x05
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x01,0x06,0x06
-# CHECK: v_xor_b32_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x2a,0x00,0x06,0x06,0x0e
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x02,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x03,0x06,0x06
-# CHECK: v_xor_b32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x2b,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x2b,0x00,0xe4,0x00,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x04,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x2a,0xff,0xe4,0x00,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x05,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x2a,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x2a,0x00,0xe4,0x00,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x0e,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x1b,0x00,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x16,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x40,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x00,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x41,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x01,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x42,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x02,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x43,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x03,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x30,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x04,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x34,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x05,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x38,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x0e,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x3c,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x00
-# CHECK: v_xor_b32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x01,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x01
-# CHECK: v_xor_b32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x0f,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x02
-# CHECK: v_xor_b32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x11,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x03
-# CHECK: v_xor_b32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x1f,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x04
-# CHECK: v_xor_b32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x21,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x05
-# CHECK: v_xor_b32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0x2f,0x01,0x00
+# CHECK: v_addc_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x0e
-# CHECK: v_xor_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x10
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x30
+# CHECK: v_subb_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x3b,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x3b,0x01,0x06,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0xf0
+# CHECK: v_subb_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0xff,0x06,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x01
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x3a,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x3a,0x01,0x06,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x03
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x26,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x2a,0x00,0xe4,0x00,0x0f
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x00,0x06,0x06
-# CHECK: v_xor_b32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x2a,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x2a,0x00,0xe4,0x08,0x00
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x01,0x06,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x02,0x06,0x06
-# CHECK: v_mac_f32_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x2d,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x2d,0x00,0x06,0x06,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x03,0x06,0x06
-# CHECK: v_mac_f32_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x2c,0xff,0x06,0x06,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x04,0x06,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x2c,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x2c,0x00,0x06,0x06,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x05,0x06,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x26,0x06,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x0e,0x06,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x0e,0x06,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x16,0x06,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x16,0x06,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x00,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x00,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x01,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x01,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x02,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x02,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x03,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x03,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x04,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x04,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x05,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x05,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x0e,0x06
-# CHECK: v_mac_f32_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x16,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x00
-# CHECK: v_mac_f32_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x26,0x06
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x01
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x00
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x02
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x01
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x03
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x02
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x04
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x03
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x05
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x04
+# CHECK: v_subb_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x0e
-# CHECK: v_mac_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x05
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x16
+# CHECK: v_subbrev_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x3d,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x3d,0x01,0x06,0x06,0x06
-# CHECK: v_mac_f32_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x2c,0x00,0x06,0x06,0x26
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0xff,0x06,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x3c,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x3c,0x01,0x06,0x06,0x06
-# CHECK: v_mac_f32_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x2d,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x2d,0x00,0xe4,0x00,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x26,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x2c,0xff,0xe4,0x00,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x00,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x2c,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x2c,0x00,0xe4,0x00,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x01,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x1b,0x00,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x02,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x40,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x03,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x41,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x04,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x42,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x05,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x43,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x0e,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x30,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x16,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x34,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x00,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x38,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x01,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x3c,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x02,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x01,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x03,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x0f,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x04,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x11,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x05,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x1f,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x0e,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x21,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x00
-# CHECK: v_mac_f32_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0x2f,0x01,0x00
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x01
-# CHECK: v_mac_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x10
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x02
-# CHECK: v_mac_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x30
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x03
-# CHECK: v_mac_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0xf0
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x04
-# CHECK: v_mac_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x01
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x05
-# CHECK: v_mac_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x03
+# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x0e
-# CHECK: v_mac_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x00,0x0f
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x08,0x00
+# CHECK: v_add_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x3f,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x3f,0x01,0x06,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x10,0x00
+# CHECK: v_add_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0xff,0x06,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x20,0x00
+# CHECK: v_add_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x3e,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x3e,0x01,0x06,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x40,0x00
+# CHECK: v_add_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x26,0x06,0x06
-# CHECK: v_mac_f32_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x2c,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x2c,0x00,0xe4,0x80,0x00
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x00,0x06,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x01,0x06,0x06
-# CHECK: v_add_f16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x3f,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x3f,0x00,0x06,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x02,0x06,0x06
-# CHECK: v_add_f16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0xff,0x06,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x03,0x06,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x3e,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x3e,0x00,0x06,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x04,0x06,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x26,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x05,0x06,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x00,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x0e,0x06,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x01,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x16,0x06,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x02,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x00,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x03,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x01,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x04,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x02,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x05,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x03,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x0e,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x04,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x16,0x06,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x05,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x00,0x06
+# CHECK: v_add_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x16,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x01,0x06
+# CHECK: v_add_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x26,0x06
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x02,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x00
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x03,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x01
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x04,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x02
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x05,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x03
-# CHECK: v_add_f16_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x16,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x04
-# CHECK: v_add_f16_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x26,0x06
+# CHECK: v_add_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x05
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x00
+# CHECK: v_add_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x16
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x01
+# CHECK: v_add_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x3e,0x01,0x06,0x06,0x26
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x02
+# CHECK: v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x00
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x03
+# CHECK: v_add_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x3f,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x3f,0x01,0xe4,0x00,0x00
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x04
+# CHECK: v_add_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x3e,0xff,0xe4,0x00,0x00
-# CHECK: v_add_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x05
+# CHECK: v_add_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x3e,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x3e,0x01,0xe4,0x00,0x00
-# CHECK: v_add_f16_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x16
+# CHECK: v_add_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x1b,0x00,0x00
-# CHECK: v_add_f16_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x3e,0x00,0x06,0x06,0x26
+# CHECK: v_add_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x40,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x41,0x01,0x00
-# CHECK: v_add_f16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x3f,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x3f,0x00,0xe4,0x00,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x42,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x3e,0xff,0xe4,0x00,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x43,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x3e,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x3e,0x00,0xe4,0x00,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x30,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x1b,0x00,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x34,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x40,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x38,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x41,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x3c,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x42,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x01,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x43,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x0f,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x30,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x11,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x34,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x1f,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x38,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x21,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x3c,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0x2f,0x01,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x01,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x10
-# CHECK: v_add_f16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x0f,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x30
-# CHECK: v_add_f16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x11,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0xf0
-# CHECK: v_add_f16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x1f,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x01
-# CHECK: v_add_f16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x21,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x03
-# CHECK: v_add_f16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0x2f,0x01,0x00
+# CHECK: v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x00,0x0f
-# CHECK: v_add_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x10
+# CHECK: v_add_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x08,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x30
+# CHECK: v_add_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x10,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0xf0
+# CHECK: v_add_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x20,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x01
+# CHECK: v_add_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x40,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x03
+# CHECK: v_add_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x3e,0x01,0xe4,0x80,0x00
-# CHECK: v_add_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x00,0x0f
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x06
-# CHECK: v_add_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x08,0x00
+# CHECK: v_sub_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x41,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x41,0x01,0x06,0x06,0x06
-# CHECK: v_add_f16_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x10,0x00
+# CHECK: v_sub_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0xff,0x06,0x06,0x06
-# CHECK: v_add_f16_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x20,0x00
+# CHECK: v_sub_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x40,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x40,0x01,0x06,0x06,0x06
-# CHECK: v_add_f16_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x40,0x00
+# CHECK: v_sub_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x26,0x06,0x06
-# CHECK: v_add_f16_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x3e,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x3e,0x00,0xe4,0x80,0x00
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x00,0x06,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x01,0x06,0x06
-# CHECK: v_sub_f16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x41,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x41,0x00,0x06,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x02,0x06,0x06
-# CHECK: v_sub_f16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x40,0xff,0x06,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x03,0x06,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x40,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x40,0x00,0x06,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x04,0x06,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x26,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x05,0x06,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x00,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x0e,0x06,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x01,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x16,0x06,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x02,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x00,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x03,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x01,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x04,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x02,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x05,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x03,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x0e,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x04,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x16,0x06,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x05,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x00,0x06
+# CHECK: v_sub_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x16,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x01,0x06
+# CHECK: v_sub_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x26,0x06
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x02,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x00
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x03,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x01
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x04,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x02
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x05,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x03
-# CHECK: v_sub_f16_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x16,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x04
-# CHECK: v_sub_f16_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x26,0x06
+# CHECK: v_sub_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x05
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x00
+# CHECK: v_sub_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x16
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x01
+# CHECK: v_sub_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x40,0x01,0x06,0x06,0x26
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x02
+# CHECK: v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x00
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x03
+# CHECK: v_sub_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x41,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x41,0x01,0xe4,0x00,0x00
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x04
+# CHECK: v_sub_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x40,0xff,0xe4,0x00,0x00
-# CHECK: v_sub_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x05
+# CHECK: v_sub_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x40,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x40,0x01,0xe4,0x00,0x00
-# CHECK: v_sub_f16_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x16
+# CHECK: v_sub_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x1b,0x00,0x00
-# CHECK: v_sub_f16_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x40,0x00,0x06,0x06,0x26
+# CHECK: v_sub_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x40,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x41,0x01,0x00
-# CHECK: v_sub_f16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x41,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x41,0x00,0xe4,0x00,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x42,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x40,0xff,0xe4,0x00,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x43,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x40,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x40,0x00,0xe4,0x00,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x30,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x1b,0x00,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x34,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x40,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x38,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x41,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x3c,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x42,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x01,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x43,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x0f,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x30,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x11,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x34,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x1f,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x38,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x21,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x3c,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0x2f,0x01,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x01,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x10
-# CHECK: v_sub_f16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x0f,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x30
-# CHECK: v_sub_f16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x11,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0xf0
-# CHECK: v_sub_f16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x1f,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x01
-# CHECK: v_sub_f16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x21,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x03
-# CHECK: v_sub_f16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x40,0x00,0x2f,0x01,0x00
+# CHECK: v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x00,0x0f
-# CHECK: v_sub_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x10
+# CHECK: v_sub_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x08,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x30
+# CHECK: v_sub_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x10,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0xf0
+# CHECK: v_sub_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x20,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x01
+# CHECK: v_sub_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x40,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x03
+# CHECK: v_sub_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x40,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x40,0x01,0xe4,0x80,0x00
-# CHECK: v_sub_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x00,0x0f
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x06
-# CHECK: v_sub_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x08,0x00
+# CHECK: v_subrev_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x43,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x43,0x01,0x06,0x06,0x06
-# CHECK: v_sub_f16_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x10,0x00
+# CHECK: v_subrev_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0xff,0x06,0x06,0x06
-# CHECK: v_sub_f16_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x20,0x00
+# CHECK: v_subrev_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x42,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x42,0x01,0x06,0x06,0x06
-# CHECK: v_sub_f16_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x40,0x00
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x26,0x06,0x06
-# CHECK: v_sub_f16_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x40,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x40,0x00,0xe4,0x80,0x00
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x00,0x06,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x01,0x06,0x06
-# CHECK: v_subrev_f16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x43,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x43,0x00,0x06,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x02,0x06,0x06
-# CHECK: v_subrev_f16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x42,0xff,0x06,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x03,0x06,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x42,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x42,0x00,0x06,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x04,0x06,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x26,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x05,0x06,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x00,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x0e,0x06,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x01,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x16,0x06,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x02,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x00,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x03,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x01,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x04,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x02,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x05,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x03,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x0e,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x04,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x16,0x06,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x05,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x00,0x06
+# CHECK: v_subrev_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x16,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x01,0x06
+# CHECK: v_subrev_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x26,0x06
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x02,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x00
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x03,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x01
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x04,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x02
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x05,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x03
-# CHECK: v_subrev_f16_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x16,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x04
-# CHECK: v_subrev_f16_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x26,0x06
+# CHECK: v_subrev_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x05
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x00
+# CHECK: v_subrev_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x16
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x01
+# CHECK: v_subrev_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x42,0x01,0x06,0x06,0x26
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x02
+# CHECK: v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x00
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x03
+# CHECK: v_subrev_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x43,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x43,0x01,0xe4,0x00,0x00
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x04
+# CHECK: v_subrev_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x42,0xff,0xe4,0x00,0x00
-# CHECK: v_subrev_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x05
+# CHECK: v_subrev_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x42,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x42,0x01,0xe4,0x00,0x00
-# CHECK: v_subrev_f16_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x16
+# CHECK: v_subrev_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x1b,0x00,0x00
-# CHECK: v_subrev_f16_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x42,0x00,0x06,0x06,0x26
+# CHECK: v_subrev_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x40,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x41,0x01,0x00
-# CHECK: v_subrev_f16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x43,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x43,0x00,0xe4,0x00,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x42,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x42,0xff,0xe4,0x00,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x43,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x42,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x42,0x00,0xe4,0x00,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x30,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x1b,0x00,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x34,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x40,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x38,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x41,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x3c,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x42,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x01,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x43,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x0f,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x30,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x11,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x34,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x1f,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x38,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x21,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x3c,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0x2f,0x01,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x01,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x10
-# CHECK: v_subrev_f16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x0f,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x30
-# CHECK: v_subrev_f16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x11,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0xf0
-# CHECK: v_subrev_f16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x1f,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x01
-# CHECK: v_subrev_f16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x21,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x03
-# CHECK: v_subrev_f16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x42,0x00,0x2f,0x01,0x00
+# CHECK: v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x00,0x0f
-# CHECK: v_subrev_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x10
+# CHECK: v_subrev_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x08,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x30
+# CHECK: v_subrev_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x10,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0xf0
+# CHECK: v_subrev_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x20,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x01
+# CHECK: v_subrev_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x40,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x03
+# CHECK: v_subrev_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x42,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x42,0x01,0xe4,0x80,0x00
-# CHECK: v_subrev_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x00,0x0f
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x06
-# CHECK: v_subrev_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x08,0x00
+# CHECK: v_mul_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x45,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x45,0x01,0x06,0x06,0x06
-# CHECK: v_subrev_f16_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x10,0x00
+# CHECK: v_mul_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0xff,0x06,0x06,0x06
-# CHECK: v_subrev_f16_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x20,0x00
+# CHECK: v_mul_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x44,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x44,0x01,0x06,0x06,0x06
-# CHECK: v_subrev_f16_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x40,0x00
+# CHECK: v_mul_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x26,0x06,0x06
-# CHECK: v_subrev_f16_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x42,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x42,0x00,0xe4,0x80,0x00
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x00,0x06,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x01,0x06,0x06
-# CHECK: v_mul_f16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x45,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x45,0x00,0x06,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x02,0x06,0x06
-# CHECK: v_mul_f16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x44,0xff,0x06,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x03,0x06,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x44,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x44,0x00,0x06,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x04,0x06,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x26,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x05,0x06,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x00,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x0e,0x06,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x01,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x16,0x06,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x02,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x00,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x03,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x01,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x04,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x02,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x05,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x03,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x0e,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x04,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x16,0x06,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x05,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x00,0x06
+# CHECK: v_mul_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x16,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x01,0x06
+# CHECK: v_mul_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x26,0x06
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x02,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x00
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x03,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x01
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x04,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x02
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x05,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x03
-# CHECK: v_mul_f16_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x16,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x04
-# CHECK: v_mul_f16_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x26,0x06
+# CHECK: v_mul_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x05
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x00
+# CHECK: v_mul_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x16
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x01
+# CHECK: v_mul_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x44,0x01,0x06,0x06,0x26
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x02
+# CHECK: v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x03
+# CHECK: v_mul_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x45,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x45,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x04
+# CHECK: v_mul_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x44,0xff,0xe4,0x00,0x00
-# CHECK: v_mul_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x05
+# CHECK: v_mul_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x44,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x44,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_f16_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x16
+# CHECK: v_mul_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x1b,0x00,0x00
-# CHECK: v_mul_f16_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x44,0x00,0x06,0x06,0x26
+# CHECK: v_mul_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x40,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x41,0x01,0x00
-# CHECK: v_mul_f16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x45,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x45,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x42,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x44,0xff,0xe4,0x00,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x43,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x44,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x44,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x30,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x1b,0x00,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x34,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x40,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x38,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x41,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x3c,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x42,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x01,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x43,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x0f,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x30,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x11,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x34,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x1f,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x38,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x21,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x3c,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0x2f,0x01,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x01,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x10
-# CHECK: v_mul_f16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x0f,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x30
-# CHECK: v_mul_f16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x11,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0xf0
-# CHECK: v_mul_f16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x1f,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x01
-# CHECK: v_mul_f16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x21,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x03
-# CHECK: v_mul_f16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x44,0x00,0x2f,0x01,0x00
+# CHECK: v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x00,0x0f
-# CHECK: v_mul_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x10
+# CHECK: v_mul_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x08,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x30
+# CHECK: v_mul_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x10,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0xf0
+# CHECK: v_mul_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x20,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x01
+# CHECK: v_mul_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x40,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x03
+# CHECK: v_mul_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x44,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x44,0x01,0xe4,0x80,0x00
-# CHECK: v_mul_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x00,0x0f
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x06
-# CHECK: v_mul_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x08,0x00
+# CHECK: v_mac_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x47,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x47,0x01,0x06,0x06,0x06
-# CHECK: v_mul_f16_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x10,0x00
+# CHECK: v_mac_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x46,0xff,0x06,0x06,0x06
-# CHECK: v_mul_f16_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x20,0x00
+# CHECK: v_mac_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x46,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x46,0x01,0x06,0x06,0x06
-# CHECK: v_mul_f16_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x40,0x00
+# CHECK: v_mac_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x26,0x06,0x06
-# CHECK: v_mul_f16_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x44,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x44,0x00,0xe4,0x80,0x00
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x0e,0x06,0x06
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x16,0x06,0x06
-# CHECK: v_mac_f16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x47,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x47,0x00,0x06,0x06,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x00,0x06
-# CHECK: v_mac_f16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x46,0xff,0x06,0x06,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x01,0x06
-# CHECK: v_mac_f16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x46,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x46,0x00,0x06,0x06,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x02,0x06
-# CHECK: v_mac_f16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x26,0x06,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x03,0x06
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x0e,0x06,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x04,0x06
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x16,0x06,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x05,0x06
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x00,0x06
+# CHECK: v_mac_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x16,0x06
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x01,0x06
+# CHECK: v_mac_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x26,0x06
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x02,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x00
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x03,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x01
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x04,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x02
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x05,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x03
-# CHECK: v_mac_f16_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x16,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x04
-# CHECK: v_mac_f16_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x26,0x06
+# CHECK: v_mac_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x05
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x00
+# CHECK: v_mac_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x16
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x01
+# CHECK: v_mac_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x46,0x01,0x06,0x06,0x26
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x02
+# CHECK: v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x00
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x03
+# CHECK: v_mac_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x47,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x47,0x01,0xe4,0x00,0x00
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x04
+# CHECK: v_mac_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x46,0xff,0xe4,0x00,0x00
-# CHECK: v_mac_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x05
+# CHECK: v_mac_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x46,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x46,0x01,0xe4,0x00,0x00
-# CHECK: v_mac_f16_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x16
+# CHECK: v_mac_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x1b,0x00,0x00
-# CHECK: v_mac_f16_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x46,0x00,0x06,0x06,0x26
+# CHECK: v_mac_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x40,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x41,0x01,0x00
-# CHECK: v_mac_f16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x47,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x47,0x00,0xe4,0x00,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x42,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x46,0xff,0xe4,0x00,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x43,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x46,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x46,0x00,0xe4,0x00,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x30,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x1b,0x00,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x34,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x40,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x38,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x41,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x3c,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x42,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x01,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x43,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x0f,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x30,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x11,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x34,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x1f,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x38,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x21,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x3c,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0x2f,0x01,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x01,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x10
-# CHECK: v_mac_f16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x0f,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x30
-# CHECK: v_mac_f16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x11,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0xf0
-# CHECK: v_mac_f16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x1f,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x01
-# CHECK: v_mac_f16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x21,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x03
-# CHECK: v_mac_f16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x46,0x00,0x2f,0x01,0x00
+# CHECK: v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x00,0x0f
-# CHECK: v_mac_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x10
+# CHECK: v_mac_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x08,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x30
+# CHECK: v_mac_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x10,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0xf0
+# CHECK: v_mac_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x20,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x01
+# CHECK: v_mac_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x40,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x03
+# CHECK: v_mac_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x46,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x46,0x01,0xe4,0x80,0x00
-# CHECK: v_mac_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x00,0x0f
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x06
-# CHECK: v_mac_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x08,0x00
+# CHECK: v_add_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x4d,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x4d,0x01,0x06,0x06,0x06
-# CHECK: v_mac_f16_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x10,0x00
+# CHECK: v_add_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0xff,0x06,0x06,0x06
-# CHECK: v_mac_f16_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x20,0x00
+# CHECK: v_add_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x4c,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x4c,0x01,0x06,0x06,0x06
-# CHECK: v_mac_f16_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x40,0x00
+# CHECK: v_add_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x26,0x06,0x06
-# CHECK: v_mac_f16_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x46,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x46,0x00,0xe4,0x80,0x00
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x00,0x06,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x01,0x06,0x06
-# CHECK: v_add_u16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x4d,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x4d,0x00,0x06,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x02,0x06,0x06
-# CHECK: v_add_u16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0xff,0x06,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x03,0x06,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x4c,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x4c,0x00,0x06,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x04,0x06,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x26,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x05,0x06,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x00,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x0e,0x06,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x01,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x16,0x06,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x02,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x00,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x03,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x01,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x04,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x02,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x05,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x03,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x0e,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x04,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x16,0x06,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x05,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x00,0x06
+# CHECK: v_add_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x0e,0x06
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x01,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x00
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x02,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x01
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x03,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x02
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x04,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x03
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x05,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x04
-# CHECK: v_add_u16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x0e,0x06
+# CHECK: v_add_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x05
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x00
+# CHECK: v_add_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x4c,0x01,0x06,0x06,0x0e
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x01
+# CHECK: v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x00
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x02
+# CHECK: v_add_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x4d,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x4d,0x01,0xe4,0x00,0x00
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x03
+# CHECK: v_add_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x4c,0xff,0xe4,0x00,0x00
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x04
+# CHECK: v_add_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x4c,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x4c,0x01,0xe4,0x00,0x00
-# CHECK: v_add_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x05
+# CHECK: v_add_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x1b,0x00,0x00
-# CHECK: v_add_u16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x4c,0x00,0x06,0x06,0x0e
+# CHECK: v_add_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x40,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x41,0x01,0x00
-# CHECK: v_add_u16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x4d,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x4d,0x00,0xe4,0x00,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x42,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x4c,0xff,0xe4,0x00,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x43,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x4c,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x4c,0x00,0xe4,0x00,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x30,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x1b,0x00,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x34,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x40,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x38,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x41,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x3c,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x42,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x01,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x43,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x0f,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x30,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x11,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x34,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x1f,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x38,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x21,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x3c,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0x2f,0x01,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x01,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x10
-# CHECK: v_add_u16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x0f,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x30
-# CHECK: v_add_u16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x11,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0xf0
-# CHECK: v_add_u16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x1f,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x01
-# CHECK: v_add_u16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x21,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x03
-# CHECK: v_add_u16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0x2f,0x01,0x00
+# CHECK: v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x00,0x0f
-# CHECK: v_add_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x10
+# CHECK: v_add_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x4c,0x01,0xe4,0x08,0x00
-# CHECK: v_add_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x30
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x06
-# CHECK: v_add_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0xf0
+# CHECK: v_sub_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x4f,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x4f,0x01,0x06,0x06,0x06
-# CHECK: v_add_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x01
+# CHECK: v_sub_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0xff,0x06,0x06,0x06
-# CHECK: v_add_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x03
+# CHECK: v_sub_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x4e,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x4e,0x01,0x06,0x06,0x06
-# CHECK: v_add_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x4c,0x00,0xe4,0x00,0x0f
+# CHECK: v_sub_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x26,0x06,0x06
-# CHECK: v_add_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x4c,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x4c,0x00,0xe4,0x08,0x00
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x00,0x06,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x01,0x06,0x06
-# CHECK: v_sub_u16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x4f,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x4f,0x00,0x06,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x02,0x06,0x06
-# CHECK: v_sub_u16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0xff,0x06,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x03,0x06,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x4e,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x4e,0x00,0x06,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x04,0x06,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x26,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x05,0x06,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x00,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x0e,0x06,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x01,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x16,0x06,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x02,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x00,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x03,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x01,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x04,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x02,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x05,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x03,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x0e,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x04,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x16,0x06,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x05,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x00,0x06
+# CHECK: v_sub_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x0e,0x06
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x01,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x00
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x02,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x01
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x03,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x02
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x04,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x03
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x05,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x04
-# CHECK: v_sub_u16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x0e,0x06
+# CHECK: v_sub_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x05
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x00
+# CHECK: v_sub_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x4e,0x01,0x06,0x06,0x0e
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x01
+# CHECK: v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x00
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x02
+# CHECK: v_sub_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x4f,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x4f,0x01,0xe4,0x00,0x00
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x03
+# CHECK: v_sub_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x4e,0xff,0xe4,0x00,0x00
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x04
+# CHECK: v_sub_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x4e,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x4e,0x01,0xe4,0x00,0x00
-# CHECK: v_sub_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x05
+# CHECK: v_sub_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x1b,0x00,0x00
-# CHECK: v_sub_u16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x4e,0x00,0x06,0x06,0x0e
+# CHECK: v_sub_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x40,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x41,0x01,0x00
-# CHECK: v_sub_u16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x4f,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x4f,0x00,0xe4,0x00,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x42,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x4e,0xff,0xe4,0x00,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x43,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x4e,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x4e,0x00,0xe4,0x00,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x30,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x1b,0x00,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x34,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x40,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x38,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x41,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x3c,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x42,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x01,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x43,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x0f,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x30,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x11,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x34,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x1f,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x38,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x21,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x3c,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0x2f,0x01,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x01,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x10
-# CHECK: v_sub_u16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x0f,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x30
-# CHECK: v_sub_u16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x11,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0xf0
-# CHECK: v_sub_u16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x1f,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x01
-# CHECK: v_sub_u16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x21,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x03
-# CHECK: v_sub_u16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0x2f,0x01,0x00
+# CHECK: v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x00,0x0f
-# CHECK: v_sub_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x10
+# CHECK: v_sub_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x4e,0x01,0xe4,0x08,0x00
-# CHECK: v_sub_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x30
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x06
-# CHECK: v_sub_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0xf0
+# CHECK: v_subrev_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x51,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x51,0x01,0x06,0x06,0x06
-# CHECK: v_sub_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x01
+# CHECK: v_subrev_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0xff,0x06,0x06,0x06
-# CHECK: v_sub_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x03
+# CHECK: v_subrev_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x50,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x50,0x01,0x06,0x06,0x06
-# CHECK: v_sub_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x4e,0x00,0xe4,0x00,0x0f
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x26,0x06,0x06
-# CHECK: v_sub_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x4e,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x4e,0x00,0xe4,0x08,0x00
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x00,0x06,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x01,0x06,0x06
-# CHECK: v_subrev_u16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x51,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x51,0x00,0x06,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x02,0x06,0x06
-# CHECK: v_subrev_u16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x50,0xff,0x06,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x03,0x06,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x50,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x50,0x00,0x06,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x04,0x06,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x26,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x05,0x06,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x00,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x0e,0x06,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x01,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x16,0x06,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x02,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x00,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x03,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x01,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x04,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x02,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x05,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x03,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x0e,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x04,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x16,0x06,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x05,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x00,0x06
+# CHECK: v_subrev_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x0e,0x06
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x01,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x00
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x02,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x01
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x03,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x02
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x04,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x03
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x05,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x04
-# CHECK: v_subrev_u16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x0e,0x06
+# CHECK: v_subrev_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x05
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x00
+# CHECK: v_subrev_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x50,0x01,0x06,0x06,0x0e
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x01
+# CHECK: v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x00
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x02
+# CHECK: v_subrev_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x51,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x51,0x01,0xe4,0x00,0x00
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x03
+# CHECK: v_subrev_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x50,0xff,0xe4,0x00,0x00
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x04
+# CHECK: v_subrev_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x50,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x50,0x01,0xe4,0x00,0x00
-# CHECK: v_subrev_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x05
+# CHECK: v_subrev_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x1b,0x00,0x00
-# CHECK: v_subrev_u16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x50,0x00,0x06,0x06,0x0e
+# CHECK: v_subrev_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x40,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x41,0x01,0x00
-# CHECK: v_subrev_u16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x51,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x51,0x00,0xe4,0x00,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x42,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x50,0xff,0xe4,0x00,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x43,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x50,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x50,0x00,0xe4,0x00,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x30,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x1b,0x00,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x34,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x40,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x38,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x41,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x3c,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x42,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x01,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x43,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x0f,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x30,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x11,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x34,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x1f,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x38,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x21,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x3c,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0x2f,0x01,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x01,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x10
-# CHECK: v_subrev_u16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x0f,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x30
-# CHECK: v_subrev_u16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x11,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0xf0
-# CHECK: v_subrev_u16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x1f,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x01
-# CHECK: v_subrev_u16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x21,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x03
-# CHECK: v_subrev_u16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x50,0x00,0x2f,0x01,0x00
+# CHECK: v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x0f
-# CHECK: v_subrev_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x10
+# CHECK: v_subrev_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x50,0x01,0xe4,0x08,0x00
-# CHECK: v_subrev_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x30
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x06
-# CHECK: v_subrev_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0xf0
+# CHECK: v_mul_lo_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x53,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x53,0x01,0x06,0x06,0x06
-# CHECK: v_subrev_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x01
+# CHECK: v_mul_lo_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0xff,0x06,0x06,0x06
-# CHECK: v_subrev_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x03
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x52,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x52,0x01,0x06,0x06,0x06
-# CHECK: v_subrev_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x50,0x00,0xe4,0x00,0x0f
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x26,0x06,0x06
-# CHECK: v_subrev_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x50,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x50,0x00,0xe4,0x08,0x00
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x00,0x06,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x01,0x06,0x06
-# CHECK: v_mul_lo_u16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x53,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x53,0x00,0x06,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x02,0x06,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x52,0xff,0x06,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x03,0x06,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x52,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x52,0x00,0x06,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x04,0x06,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x26,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x05,0x06,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x00,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x0e,0x06,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x01,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x16,0x06,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x02,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x00,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x03,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x01,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x04,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x02,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x05,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x03,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x0e,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x04,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x16,0x06,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x05,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x00,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x0e,0x06
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x01,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x00
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x02,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x01
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x03,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x02
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x04,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x03
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x05,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x04
-# CHECK: v_mul_lo_u16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x0e,0x06
+# CHECK: v_mul_lo_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x05
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x00
+# CHECK: v_mul_lo_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x52,0x01,0x06,0x06,0x0e
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x01
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x02
+# CHECK: v_mul_lo_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x53,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x53,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x03
+# CHECK: v_mul_lo_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x52,0xff,0xe4,0x00,0x00
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x04
+# CHECK: v_mul_lo_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x52,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x52,0x01,0xe4,0x00,0x00
-# CHECK: v_mul_lo_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x05
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x1b,0x00,0x00
-# CHECK: v_mul_lo_u16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x52,0x00,0x06,0x06,0x0e
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x40,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x41,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x53,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x53,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x42,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x52,0xff,0xe4,0x00,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x43,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x52,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x52,0x00,0xe4,0x00,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x30,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x1b,0x00,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x34,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x40,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x38,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x41,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x3c,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x42,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x01,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x43,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x0f,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x30,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x11,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x34,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x1f,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x38,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x21,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x3c,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0x2f,0x01,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x01,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x10
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x0f,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x30
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x11,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0xf0
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x1f,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x01
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x21,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x03
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x52,0x00,0x2f,0x01,0x00
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x0f
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x10
+# CHECK: v_mul_lo_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x52,0x01,0xe4,0x08,0x00
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x30
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x06
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0xf0
+# CHECK: v_lshlrev_b16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x55,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x55,0x01,0x06,0x06,0x06
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x01
+# CHECK: v_lshlrev_b16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x54,0xff,0x06,0x06,0x06
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x03
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x54,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x54,0x01,0x06,0x06,0x06
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x52,0x00,0xe4,0x00,0x0f
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x00,0x06,0x06
-# CHECK: v_mul_lo_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x52,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x52,0x00,0xe4,0x08,0x00
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x01,0x06,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x02,0x06,0x06
-# CHECK: v_lshlrev_b16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x55,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x55,0x00,0x06,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x03,0x06,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x54,0xff,0x06,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x04,0x06,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x54,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x54,0x00,0x06,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x05,0x06,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x26,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x0e,0x06,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x00,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x16,0x06,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x01,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x00,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x02,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x01,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x03,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x02,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x04,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x03,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x05,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x04,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x0e,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x05,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x16,0x06,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x0e,0x06
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x00,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x00
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x01,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x01
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x02,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x02
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x03,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x03
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x04,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x04
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x05,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x05
-# CHECK: v_lshlrev_b16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x0e,0x06
+# CHECK: v_lshlrev_b16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x54,0x01,0x06,0x06,0x0e
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x00
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x01
+# CHECK: v_lshlrev_b16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x55,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x55,0x01,0xe4,0x00,0x00
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x02
+# CHECK: v_lshlrev_b16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x54,0xff,0xe4,0x00,0x00
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x03
+# CHECK: v_lshlrev_b16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x54,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x54,0x01,0xe4,0x00,0x00
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x04
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x1b,0x00,0x00
-# CHECK: v_lshlrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x05
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x40,0x01,0x00
-# CHECK: v_lshlrev_b16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x54,0x00,0x06,0x06,0x0e
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x41,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x42,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x55,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x55,0x00,0xe4,0x00,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x43,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x54,0xff,0xe4,0x00,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x30,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x54,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x54,0x00,0xe4,0x00,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x34,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x1b,0x00,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x38,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x40,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x3c,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x41,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x01,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x42,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x0f,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x43,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x11,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x30,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x1f,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x34,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x21,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x38,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0x2f,0x01,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x3c,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x10
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x01,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x30
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x0f,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0xf0
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x11,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x01
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x1f,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x03
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x21,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x0f
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x54,0x00,0x2f,0x01,0x00
+# CHECK: v_lshlrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x54,0x01,0xe4,0x08,0x00
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x10
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x06
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x30
+# CHECK: v_lshrrev_b16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x57,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x57,0x01,0x06,0x06,0x06
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0xf0
+# CHECK: v_lshrrev_b16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x56,0xff,0x06,0x06,0x06
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x01
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x56,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x56,0x01,0x06,0x06,0x06
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x03
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x00,0x06,0x06
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x54,0x00,0xe4,0x00,0x0f
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x01,0x06,0x06
-# CHECK: v_lshlrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x54,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x54,0x00,0xe4,0x08,0x00
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x02,0x06,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x03,0x06,0x06
-# CHECK: v_lshrrev_b16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x57,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x57,0x00,0x06,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x04,0x06,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x56,0xff,0x06,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x05,0x06,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x56,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x56,0x00,0x06,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x0e,0x06,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x26,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x16,0x06,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x00,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x00,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x01,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x01,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x02,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x02,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x03,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x03,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x04,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x04,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x05,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x05,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x0e,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x0e,0x06
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x16,0x06,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x00
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x00,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x01
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x01,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x02
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x02,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x03
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x03,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x04
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x04,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x05
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x05,0x06
+# CHECK: v_lshrrev_b16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x56,0x01,0x06,0x06,0x0e
-# CHECK: v_lshrrev_b16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x0e,0x06
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x00
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x00
+# CHECK: v_lshrrev_b16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x57,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x57,0x01,0xe4,0x00,0x00
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x01
+# CHECK: v_lshrrev_b16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x56,0xff,0xe4,0x00,0x00
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x02
+# CHECK: v_lshrrev_b16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x56,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x56,0x01,0xe4,0x00,0x00
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x03
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x1b,0x00,0x00
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x04
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x40,0x01,0x00
-# CHECK: v_lshrrev_b16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x05
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x41,0x01,0x00
-# CHECK: v_lshrrev_b16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x56,0x00,0x06,0x06,0x0e
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x42,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x43,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x57,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x57,0x00,0xe4,0x00,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x30,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x56,0xff,0xe4,0x00,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x34,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x56,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x56,0x00,0xe4,0x00,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x38,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x1b,0x00,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x3c,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x40,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x01,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x41,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x0f,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x42,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x11,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x43,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x1f,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x30,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x21,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x34,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0x2f,0x01,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x38,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x10
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x3c,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x30
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x01,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0xf0
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x0f,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x01
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x11,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x03
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x1f,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x56,0x01,0xe4,0x00,0x0f
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x21,0x01,0x00
+# CHECK: v_lshrrev_b16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x56,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x56,0x01,0xe4,0x08,0x00
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x56,0x00,0x2f,0x01,0x00
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x06
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x10
+# CHECK: v_ashrrev_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x59,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x59,0x01,0x06,0x06,0x06
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x30
+# CHECK: v_ashrrev_i16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0xff,0x06,0x06,0x06
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0xf0
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x58,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x58,0x01,0x06,0x06,0x06
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x01
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x26,0x06,0x06
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x03
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x00,0x06,0x06
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x56,0x00,0xe4,0x00,0x0f
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x01,0x06,0x06
-# CHECK: v_lshrrev_b16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x56,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x56,0x00,0xe4,0x08,0x00
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x02,0x06,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x03,0x06,0x06
-# CHECK: v_ashrrev_i16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x59,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x59,0x00,0x06,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x04,0x06,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x58,0xff,0x06,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x05,0x06,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x58,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x58,0x00,0x06,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x0e,0x06,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x26,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x16,0x06,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x00,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x00,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x01,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x01,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x02,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x02,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x03,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x03,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x04,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x04,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x05,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x05,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x0e,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x0e,0x06
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x16,0x06,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x00
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x00,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x01
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x01,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x02
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x02,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x03
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x03,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x04
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x04,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x05
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x05,0x06
+# CHECK: v_ashrrev_i16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x58,0x01,0x06,0x06,0x0e
-# CHECK: v_ashrrev_i16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x0e,0x06
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x00
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x00
+# CHECK: v_ashrrev_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x59,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x59,0x01,0xe4,0x00,0x00
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x01
+# CHECK: v_ashrrev_i16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x58,0xff,0xe4,0x00,0x00
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x02
+# CHECK: v_ashrrev_i16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x58,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x58,0x01,0xe4,0x00,0x00
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x03
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x1b,0x00,0x00
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x04
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x40,0x01,0x00
-# CHECK: v_ashrrev_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x05
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x41,0x01,0x00
-# CHECK: v_ashrrev_i16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x58,0x00,0x06,0x06,0x0e
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x42,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x43,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x59,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x59,0x00,0xe4,0x00,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x30,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x58,0xff,0xe4,0x00,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x34,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x58,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x58,0x00,0xe4,0x00,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x38,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x1b,0x00,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x3c,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x40,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x01,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x41,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x0f,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x42,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x11,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x43,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x1f,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x30,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x21,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x34,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0x2f,0x01,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x38,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x10
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x3c,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x30
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x01,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0xf0
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x0f,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x01
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x11,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x03
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x1f,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x58,0x01,0xe4,0x00,0x0f
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x21,0x01,0x00
+# CHECK: v_ashrrev_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x58,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x58,0x01,0xe4,0x08,0x00
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x58,0x00,0x2f,0x01,0x00
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x06
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x10
+# CHECK: v_max_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x5b,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x5b,0x01,0x06,0x06,0x06
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x30
+# CHECK: v_max_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0xff,0x06,0x06,0x06
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0xf0
+# CHECK: v_max_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x5a,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x5a,0x01,0x06,0x06,0x06
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x01
+# CHECK: v_max_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x26,0x06,0x06
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x03
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x00,0x06,0x06
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x58,0x00,0xe4,0x00,0x0f
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x01,0x06,0x06
-# CHECK: v_ashrrev_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x58,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x58,0x00,0xe4,0x08,0x00
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x02,0x06,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x03,0x06,0x06
-# CHECK: v_max_f16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x5b,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x5b,0x00,0x06,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x04,0x06,0x06
-# CHECK: v_max_f16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0xff,0x06,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x05,0x06,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x5a,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x5a,0x00,0x06,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x0e,0x06,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x26,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x16,0x06,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x00,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x00,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x01,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x01,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x02,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x02,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x03,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x03,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x04,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x04,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x05,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x05,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x0e,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x16,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x16,0x06,0x06
+# CHECK: v_max_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x26,0x06
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x00,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x00
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x01,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x01
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x02,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x02
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x03,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x03
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x04,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x04
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x05,0x06
+# CHECK: v_max_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x05
-# CHECK: v_max_f16_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x16,0x06
+# CHECK: v_max_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x16
-# CHECK: v_max_f16_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x26,0x06
+# CHECK: v_max_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x5a,0x01,0x06,0x06,0x26
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x00
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x01
+# CHECK: v_max_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x5b,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x5b,0x01,0xe4,0x00,0x00
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x02
+# CHECK: v_max_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x5a,0xff,0xe4,0x00,0x00
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x03
+# CHECK: v_max_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x5a,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x5a,0x01,0xe4,0x00,0x00
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x04
+# CHECK: v_max_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x1b,0x00,0x00
-# CHECK: v_max_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x05
+# CHECK: v_max_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x40,0x01,0x00
-# CHECK: v_max_f16_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x16
+# CHECK: v_max_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x41,0x01,0x00
-# CHECK: v_max_f16_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x5a,0x00,0x06,0x06,0x26
+# CHECK: v_max_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x42,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x43,0x01,0x00
-# CHECK: v_max_f16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x5b,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x5b,0x00,0xe4,0x00,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x30,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x5a,0xff,0xe4,0x00,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x34,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x5a,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x5a,0x00,0xe4,0x00,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x38,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x1b,0x00,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x3c,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x40,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x01,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x41,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x0f,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x42,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x11,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x43,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x1f,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x30,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x21,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x34,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0x2f,0x01,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x38,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x10
-# CHECK: v_max_f16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x3c,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x30
-# CHECK: v_max_f16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x01,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0xf0
-# CHECK: v_max_f16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x0f,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x01
-# CHECK: v_max_f16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x11,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x03
-# CHECK: v_max_f16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x1f,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x00,0x0f
-# CHECK: v_max_f16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x21,0x01,0x00
+# CHECK: v_max_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x08,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0x2f,0x01,0x00
+# CHECK: v_max_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x10,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x10
+# CHECK: v_max_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x20,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x30
+# CHECK: v_max_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x40,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0xf0
+# CHECK: v_max_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x5a,0x01,0xe4,0x80,0x00
-# CHECK: v_max_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x01
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x06
-# CHECK: v_max_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x03
+# CHECK: v_min_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x5d,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x5d,0x01,0x06,0x06,0x06
-# CHECK: v_max_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x00,0x0f
+# CHECK: v_min_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0xff,0x06,0x06,0x06
-# CHECK: v_max_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x08,0x00
+# CHECK: v_min_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x5c,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x5c,0x01,0x06,0x06,0x06
-# CHECK: v_max_f16_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x10,0x00
+# CHECK: v_min_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x26,0x06,0x06
-# CHECK: v_max_f16_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x20,0x00
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x00,0x06,0x06
-# CHECK: v_max_f16_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x40,0x00
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x01,0x06,0x06
-# CHECK: v_max_f16_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5a,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x5a,0x00,0xe4,0x80,0x00
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x02,0x06,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x03,0x06,0x06
-# CHECK: v_min_f16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x5d,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x5d,0x00,0x06,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x04,0x06,0x06
-# CHECK: v_min_f16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0xff,0x06,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x05,0x06,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x5c,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x5c,0x00,0x06,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x0e,0x06,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x26,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x16,0x06,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x00,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x00,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x01,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x01,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x02,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x02,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x03,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x03,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x04,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x04,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x05,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x05,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x0e,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x16,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x16,0x06,0x06
+# CHECK: v_min_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x26,0x06
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x00,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x00
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x01,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x01
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x02,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x02
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x03,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x03
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x04,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x04
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x05,0x06
+# CHECK: v_min_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x05
-# CHECK: v_min_f16_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x16,0x06
+# CHECK: v_min_f16_sdwa v5, v1, -v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x16]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x16
-# CHECK: v_min_f16_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x26,0x06
+# CHECK: v_min_f16_sdwa v5, v1, |v2| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x26]
+0xf9,0x04,0x0a,0x5c,0x01,0x06,0x06,0x26
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x00
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x01
+# CHECK: v_min_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x5d,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x5d,0x01,0xe4,0x00,0x00
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x02
+# CHECK: v_min_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x5c,0xff,0xe4,0x00,0x00
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x03
+# CHECK: v_min_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x5c,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x5c,0x01,0xe4,0x00,0x00
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x04
+# CHECK: v_min_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x1b,0x00,0x00
-# CHECK: v_min_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x05
+# CHECK: v_min_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x40,0x01,0x00
-# CHECK: v_min_f16_sdwa v0, v0, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x16]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x16
+# CHECK: v_min_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x41,0x01,0x00
-# CHECK: v_min_f16_sdwa v0, v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x26]
-0xf9,0x00,0x00,0x5c,0x00,0x06,0x06,0x26
+# CHECK: v_min_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x42,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x43,0x01,0x00
-# CHECK: v_min_f16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x5d,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x5d,0x00,0xe4,0x00,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x30,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x5c,0xff,0xe4,0x00,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x34,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x5c,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x5c,0x00,0xe4,0x00,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x38,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x1b,0x00,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x3c,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x40,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x01,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x41,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x0f,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x42,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x11,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x43,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x1f,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x30,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x21,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x34,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0x2f,0x01,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x38,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x10
-# CHECK: v_min_f16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x3c,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x30
-# CHECK: v_min_f16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x01,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0xf0
-# CHECK: v_min_f16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x0f,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x01
-# CHECK: v_min_f16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x11,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x03
-# CHECK: v_min_f16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x1f,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x00,0x0f
-# CHECK: v_min_f16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x21,0x01,0x00
+# CHECK: v_min_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x08,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0x2f,0x01,0x00
+# CHECK: v_min_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x10,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x10
+# CHECK: v_min_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x20,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x30
+# CHECK: v_min_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x40,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x40,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0xf0
+# CHECK: v_min_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x80,0x00]
+0xfa,0x04,0x0a,0x5c,0x01,0xe4,0x80,0x00
-# CHECK: v_min_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x01
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x06
-# CHECK: v_min_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x03
+# CHECK: v_max_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x5f,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x5f,0x01,0x06,0x06,0x06
-# CHECK: v_min_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x00,0x0f
+# CHECK: v_max_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0xff,0x06,0x06,0x06
-# CHECK: v_min_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x08,0x00
+# CHECK: v_max_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x5e,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x5e,0x01,0x06,0x06,0x06
-# CHECK: v_min_f16_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x10,0x00
+# CHECK: v_max_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x26,0x06,0x06
-# CHECK: v_min_f16_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x20,0x00
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x00,0x06,0x06
-# CHECK: v_min_f16_dpp v0, v0, -v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x40,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x40,0x00
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x01,0x06,0x06
-# CHECK: v_min_f16_dpp v0, v0, |v0| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5c,0x00,0xe4,0x80,0x00]
-0xfa,0x00,0x00,0x5c,0x00,0xe4,0x80,0x00
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x02,0x06,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x03,0x06,0x06
-# CHECK: v_max_u16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x5f,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x5f,0x00,0x06,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x04,0x06,0x06
-# CHECK: v_max_u16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0xff,0x06,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x05,0x06,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x5e,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x5e,0x00,0x06,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x0e,0x06,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x26,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x16,0x06,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x00,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x00,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x01,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x01,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x02,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x02,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x03,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x03,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x04,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x04,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x05,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x05,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x0e,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x0e,0x06
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x16,0x06,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x00
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x00,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x01
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x01,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x02
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x02,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x03
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x03,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x04
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x04,0x06
+# CHECK: v_max_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x05
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x05,0x06
+# CHECK: v_max_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x5e,0x01,0x06,0x06,0x0e
-# CHECK: v_max_u16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x0e,0x06
+# CHECK: v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x00
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x00
+# CHECK: v_max_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x5f,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x5f,0x01,0xe4,0x00,0x00
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x01
+# CHECK: v_max_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x5e,0xff,0xe4,0x00,0x00
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x02
+# CHECK: v_max_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x5e,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x5e,0x01,0xe4,0x00,0x00
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x03
+# CHECK: v_max_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x1b,0x00,0x00
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x04
+# CHECK: v_max_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x40,0x01,0x00
-# CHECK: v_max_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x05
+# CHECK: v_max_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x41,0x01,0x00
-# CHECK: v_max_u16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x5e,0x00,0x06,0x06,0x0e
+# CHECK: v_max_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x42,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x43,0x01,0x00
-# CHECK: v_max_u16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x5f,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x5f,0x00,0xe4,0x00,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x30,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x5e,0xff,0xe4,0x00,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x34,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x5e,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x5e,0x00,0xe4,0x00,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x38,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x1b,0x00,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x3c,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x40,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x01,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x41,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x0f,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x42,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x11,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x43,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x1f,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x30,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x21,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x34,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0x2f,0x01,0x00
-# CHECK: v_max_u16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x38,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x10
-# CHECK: v_max_u16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x3c,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x30
-# CHECK: v_max_u16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x01,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0xf0
-# CHECK: v_max_u16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x0f,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x01
-# CHECK: v_max_u16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x11,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x03
-# CHECK: v_max_u16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x1f,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x00,0x0f
-# CHECK: v_max_u16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x21,0x01,0x00
+# CHECK: v_max_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x5e,0x01,0xe4,0x08,0x00
-# CHECK: v_max_u16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0x2f,0x01,0x00
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x06
-# CHECK: v_max_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x10
+# CHECK: v_max_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x61,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x61,0x01,0x06,0x06,0x06
-# CHECK: v_max_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x30
+# CHECK: v_max_i16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0xff,0x06,0x06,0x06
-# CHECK: v_max_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0xf0
+# CHECK: v_max_i16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x60,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x60,0x01,0x06,0x06,0x06
-# CHECK: v_max_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x01
+# CHECK: v_max_i16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x26,0x06,0x06
-# CHECK: v_max_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x03
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x00,0x06,0x06
-# CHECK: v_max_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x5e,0x00,0xe4,0x00,0x0f
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x01,0x06,0x06
-# CHECK: v_max_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x5e,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x5e,0x00,0xe4,0x08,0x00
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x02,0x06,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x03,0x06,0x06
-# CHECK: v_max_i16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x61,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x61,0x00,0x06,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x04,0x06,0x06
-# CHECK: v_max_i16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x60,0xff,0x06,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x05,0x06,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x60,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x60,0x00,0x06,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x0e,0x06,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x26,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x16,0x06,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x00,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x00,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x01,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x01,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x02,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x02,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x03,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x03,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x04,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x04,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x05,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x05,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x0e,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x0e,0x06
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x16,0x06,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x00
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x00,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x01
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x01,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x02
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x02,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x03
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x03,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x04
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x04,0x06
+# CHECK: v_max_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x05
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x05,0x06
+# CHECK: v_max_i16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x60,0x01,0x06,0x06,0x0e
-# CHECK: v_max_i16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x0e,0x06
+# CHECK: v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x00
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x00
+# CHECK: v_max_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x61,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x61,0x01,0xe4,0x00,0x00
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x01
+# CHECK: v_max_i16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x60,0xff,0xe4,0x00,0x00
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x02
+# CHECK: v_max_i16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x60,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x60,0x01,0xe4,0x00,0x00
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x03
+# CHECK: v_max_i16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x1b,0x00,0x00
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x04
+# CHECK: v_max_i16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x40,0x01,0x00
-# CHECK: v_max_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x05
+# CHECK: v_max_i16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x41,0x01,0x00
-# CHECK: v_max_i16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x60,0x00,0x06,0x06,0x0e
+# CHECK: v_max_i16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x42,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x43,0x01,0x00
-# CHECK: v_max_i16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x61,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x61,0x00,0xe4,0x00,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x30,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x60,0xff,0xe4,0x00,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x34,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x60,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x60,0x00,0xe4,0x00,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x38,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x1b,0x00,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x3c,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x40,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x01,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x41,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x0f,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x42,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x11,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x43,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x1f,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x30,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x21,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x34,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0x2f,0x01,0x00
-# CHECK: v_max_i16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x38,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x10
-# CHECK: v_max_i16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x3c,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x30
-# CHECK: v_max_i16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x01,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0xf0
-# CHECK: v_max_i16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x0f,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x01
-# CHECK: v_max_i16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x11,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x03
-# CHECK: v_max_i16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x1f,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x60,0x01,0xe4,0x00,0x0f
-# CHECK: v_max_i16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x21,0x01,0x00
+# CHECK: v_max_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x60,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x60,0x01,0xe4,0x08,0x00
-# CHECK: v_max_i16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x60,0x00,0x2f,0x01,0x00
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x06
-# CHECK: v_max_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x10
+# CHECK: v_min_u16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x63,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x63,0x01,0x06,0x06,0x06
-# CHECK: v_max_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x30
+# CHECK: v_min_u16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0xff,0x06,0x06,0x06
-# CHECK: v_max_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0xf0
+# CHECK: v_min_u16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x62,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x62,0x01,0x06,0x06,0x06
-# CHECK: v_max_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x01
+# CHECK: v_min_u16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x26,0x06,0x06
-# CHECK: v_max_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x03
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x00,0x06,0x06
-# CHECK: v_max_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x60,0x00,0xe4,0x00,0x0f
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x01,0x06,0x06
-# CHECK: v_max_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x60,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x60,0x00,0xe4,0x08,0x00
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x02,0x06,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x03,0x06,0x06
-# CHECK: v_min_u16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x63,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x63,0x00,0x06,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x04,0x06,0x06
-# CHECK: v_min_u16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x62,0xff,0x06,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x05,0x06,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x62,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x62,0x00,0x06,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x0e,0x06,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x26,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x16,0x06,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x00,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x00,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x01,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x01,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x02,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x02,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x03,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x03,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x04,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x04,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x05,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x05,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x0e,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x0e,0x06
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x16,0x06,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x00
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x00,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x01
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x01,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x02
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x02,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x03
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x03,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x04
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x04,0x06
+# CHECK: v_min_u16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x05
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x05,0x06
+# CHECK: v_min_u16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x62,0x01,0x06,0x06,0x0e
-# CHECK: v_min_u16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x0e,0x06
+# CHECK: v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x00
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x00
+# CHECK: v_min_u16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x63,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x63,0x01,0xe4,0x00,0x00
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x01
+# CHECK: v_min_u16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x62,0xff,0xe4,0x00,0x00
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x02
+# CHECK: v_min_u16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x62,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x62,0x01,0xe4,0x00,0x00
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x03
+# CHECK: v_min_u16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x1b,0x00,0x00
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x04
+# CHECK: v_min_u16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x40,0x01,0x00
-# CHECK: v_min_u16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x05
+# CHECK: v_min_u16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x41,0x01,0x00
-# CHECK: v_min_u16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x62,0x00,0x06,0x06,0x0e
+# CHECK: v_min_u16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x42,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x43,0x01,0x00
-# CHECK: v_min_u16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x63,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x63,0x00,0xe4,0x00,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x30,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x62,0xff,0xe4,0x00,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x34,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x62,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x62,0x00,0xe4,0x00,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x38,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x1b,0x00,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x3c,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x40,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x01,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x41,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x0f,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x42,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x11,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x43,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x1f,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x30,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x21,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x34,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0x2f,0x01,0x00
-# CHECK: v_min_u16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x38,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x10
-# CHECK: v_min_u16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x3c,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x30
-# CHECK: v_min_u16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x01,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0xf0
-# CHECK: v_min_u16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x0f,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x01
-# CHECK: v_min_u16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x11,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x03
-# CHECK: v_min_u16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x1f,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x62,0x01,0xe4,0x00,0x0f
-# CHECK: v_min_u16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x21,0x01,0x00
+# CHECK: v_min_u16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x62,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x62,0x01,0xe4,0x08,0x00
-# CHECK: v_min_u16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x62,0x00,0x2f,0x01,0x00
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x06
-# CHECK: v_min_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x10
+# CHECK: v_min_i16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x65,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x65,0x01,0x06,0x06,0x06
-# CHECK: v_min_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x30
+# CHECK: v_min_i16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0xff,0x06,0x06,0x06
-# CHECK: v_min_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0xf0
+# CHECK: v_min_i16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x64,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x64,0x01,0x06,0x06,0x06
-# CHECK: v_min_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x01
+# CHECK: v_min_i16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x26,0x06,0x06
-# CHECK: v_min_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x03
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x00,0x06,0x06
-# CHECK: v_min_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x62,0x00,0xe4,0x00,0x0f
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x01,0x06,0x06
-# CHECK: v_min_u16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x62,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x62,0x00,0xe4,0x08,0x00
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x02,0x06,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x03,0x06,0x06
-# CHECK: v_min_i16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x65,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x65,0x00,0x06,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x04,0x06,0x06
-# CHECK: v_min_i16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x64,0xff,0x06,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x05,0x06,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x64,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x64,0x00,0x06,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x0e,0x06,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x26,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x16,0x06,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x00,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x00,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x01,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x01,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x02,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x02,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x03,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x03,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x04,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x04,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x05,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x05,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x0e,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x0e,0x06]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x0e,0x06
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x16,0x06,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x00
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x00,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x01
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x01,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x02
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x02,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x03
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x03,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x04
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x04,0x06
+# CHECK: v_min_i16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x05
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x05,0x06
+# CHECK: v_min_i16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x64,0x01,0x06,0x06,0x0e
-# CHECK: v_min_i16_sdwa v0, sext(v0), v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x0e,0x06]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x0e,0x06
+# CHECK: v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x00
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x00
+# CHECK: v_min_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x65,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x65,0x01,0xe4,0x00,0x00
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x01
+# CHECK: v_min_i16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x64,0xff,0xe4,0x00,0x00
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x02
+# CHECK: v_min_i16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x64,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x64,0x01,0xe4,0x00,0x00
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x03
+# CHECK: v_min_i16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x1b,0x00,0x00
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x04
+# CHECK: v_min_i16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x40,0x01,0x00
-# CHECK: v_min_i16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x05
+# CHECK: v_min_i16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x41,0x01,0x00
-# CHECK: v_min_i16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x64,0x00,0x06,0x06,0x0e
+# CHECK: v_min_i16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x42,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x43,0x01,0x00
-# CHECK: v_min_i16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x65,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x65,0x00,0xe4,0x00,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x30,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x64,0xff,0xe4,0x00,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x34,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x64,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x64,0x00,0xe4,0x00,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x38,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x1b,0x00,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x3c,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x40,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x01,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x41,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x0f,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x42,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x11,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x43,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x1f,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x30,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x21,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x34,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0x2f,0x01,0x00
-# CHECK: v_min_i16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x38,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x10
-# CHECK: v_min_i16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x3c,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x30
-# CHECK: v_min_i16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x01,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0xf0
-# CHECK: v_min_i16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x0f,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x01
-# CHECK: v_min_i16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x11,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x03
-# CHECK: v_min_i16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x1f,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x64,0x01,0xe4,0x00,0x0f
-# CHECK: v_min_i16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x21,0x01,0x00
+# CHECK: v_min_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x64,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x64,0x01,0xe4,0x08,0x00
-# CHECK: v_min_i16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x64,0x00,0x2f,0x01,0x00
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x06
-# CHECK: v_min_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x10
+# CHECK: v_ldexp_f16_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x67,0x01,0x06,0x06,0x06]
+0xf9,0x04,0xfe,0x67,0x01,0x06,0x06,0x06
-# CHECK: v_min_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x30
+# CHECK: v_ldexp_f16_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0xff,0x06,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0xff,0x06,0x06,0x06
-# CHECK: v_min_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0xf0
+# CHECK: v_ldexp_f16_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x66,0x01,0x06,0x06,0x06]
+0xf9,0xfe,0x0b,0x66,0x01,0x06,0x06,0x06
-# CHECK: v_min_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x01
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x26,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x26,0x06,0x06
-# CHECK: v_min_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x03
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x00,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x00,0x06,0x06
-# CHECK: v_min_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x64,0x00,0xe4,0x00,0x0f
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x01,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x01,0x06,0x06
-# CHECK: v_min_i16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x64,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x64,0x00,0xe4,0x08,0x00
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x02,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x02,0x06,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x03,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x03,0x06,0x06
-# CHECK: v_ldexp_f16_sdwa v255, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xfe,0x67,0x00,0x06,0x06,0x06]
-0xf9,0x00,0xfe,0x67,0x00,0x06,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x04,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x04,0x06,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v255, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0xff,0x06,0x06,0x06]
-0xf9,0x00,0x00,0x66,0xff,0x06,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x05,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x05,0x06,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x01,0x66,0x00,0x06,0x06,0x06]
-0xf9,0xfe,0x01,0x66,0x00,0x06,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x0e,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x0e,0x06,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x26,0x06,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x26,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x16,0x06,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x00,0x06,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x00,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x00,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x00,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x01,0x06,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x01,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x01,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x01,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x02,0x06,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x02,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x02,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x02,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x03,0x06,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x03,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x03,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x03,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x04,0x06,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x04,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x04,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x04,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x05,0x06,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x05,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x05,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x05,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x0e,0x06,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x0e,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, -v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x16,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x16,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x16,0x06,0x06
+# CHECK: v_ldexp_f16_sdwa v5, |v1|, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x26,0x06]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x26,0x06
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x00,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x00,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x00]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x00
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x01,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x01,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x01]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x01
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x02,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x02,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x02]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x02
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x03,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x03,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x03]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x03
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x04,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x04,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x04]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x04
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x05,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x05,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x05]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x05
-# CHECK: v_ldexp_f16_sdwa v0, -v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x16,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x16,0x06
+# CHECK: v_ldexp_f16_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x0e]
+0xf9,0x04,0x0a,0x66,0x01,0x06,0x06,0x0e
-# CHECK: v_ldexp_f16_sdwa v0, |v0|, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x26,0x06]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x26,0x06
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x00
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x00]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x00
+# CHECK: v_ldexp_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x67,0x01,0xe4,0x00,0x00]
+0xfa,0x04,0xfe,0x67,0x01,0xe4,0x00,0x00
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x01]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x01
+# CHECK: v_ldexp_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0xff,0xe4,0x00,0x00]
+0xfa,0x04,0x0a,0x66,0xff,0xe4,0x00,0x00
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x02]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x02
+# CHECK: v_ldexp_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x66,0x01,0xe4,0x00,0x00]
+0xfa,0xfe,0x0b,0x66,0x01,0xe4,0x00,0x00
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x03]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x03
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x1b,0x00,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x1b,0x00,0x00
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x04]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x04
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x40,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x40,0x01,0x00
-# CHECK: v_ldexp_f16_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x05]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x05
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x41,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x41,0x01,0x00
-# CHECK: v_ldexp_f16_sdwa v0, v0, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x0e]
-0xf9,0x00,0x00,0x66,0x00,0x06,0x06,0x0e
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x42,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x42,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x43,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x43,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v255, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0xfe,0x67,0x00,0xe4,0x00,0x00]
-0xfa,0x00,0xfe,0x67,0x00,0xe4,0x00,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x30,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x30,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v255, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0xff,0xe4,0x00,0x00]
-0xfa,0x00,0x00,0x66,0xff,0xe4,0x00,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x34,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x34,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x01,0x66,0x00,0xe4,0x00,0x00]
-0xfa,0xfe,0x01,0x66,0x00,0xe4,0x00,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x38,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x38,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x1b,0x00,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x1b,0x00,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x3c,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x3c,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x40,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x40,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x01,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x01,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x41,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x41,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x0f,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x0f,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x42,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x42,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x11,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x11,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x43,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x43,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x1f,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x1f,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x30,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x30,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x21,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x21,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x34,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x34,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0x2f,0x01,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0x2f,0x01,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x38,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x38,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x10]
+0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x10
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x3c,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x3c,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x30]
+0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x30
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x01,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x01,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0xf0]
+0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0xf0
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x0f,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x0f,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x01]
+0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x01
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x11,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x11,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x03]
+0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x03
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x1f,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x1f,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x0f]
+0xfa,0x04,0x0a,0x66,0x01,0xe4,0x00,0x0f
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x21,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x21,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x08,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0xe4,0x08,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0x2f,0x01,0x00]
-0xfa,0x00,0x00,0x66,0x00,0x2f,0x01,0x00
+# CHECK: v_ldexp_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x10,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0xe4,0x10,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x10]
-0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x10
+# CHECK: v_ldexp_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x66,0x01,0xe4,0x20,0x00]
+0xfa,0x04,0x0a,0x66,0x01,0xe4,0x20,0x00
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x30]
-0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x30
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0xf0]
-0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0xf0
+# CHECK: v_cmp_class_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x20,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x01]
-0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x01
+# CHECK: v_cmp_class_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x21,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x21,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x03]
-0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x03
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x0f]
-0xfa,0x00,0x00,0x66,0x00,0xe4,0x00,0x0f
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_ldexp_f16_dpp v0, v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0xe4,0x08,0x00]
-0xfa,0x00,0x00,0x66,0x00,0xe4,0x08,0x00
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_ldexp_f16_dpp v0, -v0, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0xe4,0x10,0x00]
-0xfa,0x00,0x00,0x66,0x00,0xe4,0x10,0x00
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_ldexp_f16_dpp v0, |v0|, v0 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x00,0x00,0x66,0x00,0xe4,0x20,0x00]
-0xfa,0x00,0x00,0x66,0x00,0xe4,0x20,0x00
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_f_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x40,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_class_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x41,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x41,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_class_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x40,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_class_f32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x20,0x7c,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_f_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_class_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x22,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_class_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x23,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x23,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_f_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x40,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_class_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_class_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_lt_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x42,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_lt_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x43,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x43,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x42,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_class_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_class_f32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x22,0x7c,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_class_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x28,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_lt_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_class_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x29,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x29,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_class_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_lt_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_class_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_lt_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x42,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_eq_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x44,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_eq_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x45,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x45,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x44,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_class_f16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x28,0x7c,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_class_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x2a,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_class_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x2b,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x2b,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_eq_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_eq_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_class_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_class_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_eq_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_eq_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x44,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_le_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x46,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_le_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x47,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x47,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_class_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_le_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x46,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_class_f16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x2a,0x7c,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_f_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x40,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x41,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x41,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x40,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_le_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_le_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_f_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_f_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_le_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_le_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x46,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_gt_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x48,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_gt_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x49,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x49,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x48,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_f_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x40,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_lt_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x42,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x43,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x43,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x42,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_gt_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_gt_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_lt_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_lt_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_gt_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_gt_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x48,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_lg_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x4a,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_lg_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4b,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x4b,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x4a,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_lt_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x42,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_eq_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x44,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x45,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x45,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x44,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_lg_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_lg_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_eq_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_eq_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_lg_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_lg_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x4a,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ge_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x4c,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ge_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4d,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x4d,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x4c,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_eq_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x44,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_le_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x46,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x47,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x47,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x46,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ge_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ge_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_le_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_le_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ge_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ge_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x4c,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_o_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x4e,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_o_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4f,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x4f,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_o_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x4e,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_le_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x46,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_gt_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x48,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x49,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x49,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x48,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_o_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_o_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_gt_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_gt_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_o_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_o_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x4e,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_u_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x50,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_u_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x51,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x51,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_u_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x50,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_gt_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x48,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_lg_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x4a,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4b,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x4b,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x4a,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_u_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_u_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_lg_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_lg_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_u_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_u_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x50,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_nge_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x52,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_nge_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x53,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x53,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x52,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_lg_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x4a,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ge_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x4c,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4d,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x4d,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x4c,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_nge_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_nge_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ge_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ge_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_nge_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_nge_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x52,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_nlg_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x54,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_nlg_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x55,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x55,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x54,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ge_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x4c,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_o_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x4e,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4f,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x4f,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x4e,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_nlg_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_nlg_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_o_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_o_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_nlg_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_nlg_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x54,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ngt_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x56,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ngt_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x57,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x57,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x56,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_o_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x4e,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_u_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x50,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x51,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x51,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x50,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ngt_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ngt_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_u_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_u_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ngt_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ngt_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x56,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_nle_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x58,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_nle_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x59,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x59,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x58,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_u_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x50,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_nge_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x52,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x53,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x53,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x52,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_nle_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_nle_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_nge_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_nge_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_nle_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_nle_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x58,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_neq_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x5a,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_neq_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5b,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x5b,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x5a,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_nge_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x52,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x54,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x55,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x55,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x54,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_neq_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_neq_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_nlg_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_nlg_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_neq_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_neq_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x5a,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_nlt_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x5c,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_nlt_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5d,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x5d,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x5c,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_nlg_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x54,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x56,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x57,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x57,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x56,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_nlt_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_nlt_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ngt_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ngt_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_nlt_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_nlt_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x5c,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_tru_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x5e,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_tru_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5f,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x5f,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x5e,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ngt_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x56,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_nle_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x58,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x59,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x59,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x58,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_tru_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_tru_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_nle_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_nle_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_tru_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_tru_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x5e,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_f_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x60,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_f_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x61,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x61,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x60,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_nle_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x58,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_neq_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x5a,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5b,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x5b,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x5a,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_f_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_f_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_neq_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_neq_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_f_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_f_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_f_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x60,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_lt_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x62,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_lt_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x63,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x63,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x62,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_neq_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x5a,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x5c,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5d,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x5d,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x5c,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_lt_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_lt_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_nlt_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_nlt_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_lt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_lt_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_lt_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x62,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_eq_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x64,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_eq_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x65,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x65,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x64,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_nlt_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x5c,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_tru_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x5e,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5f,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x5f,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x5e,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_eq_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_eq_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_tru_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_tru_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_eq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_eq_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_eq_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x64,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_le_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x66,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_le_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x67,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x67,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x66,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_tru_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x5e,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_f_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x60,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x61,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x61,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x60,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_le_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_le_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_f_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_f_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_le_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_le_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_le_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x66,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_gt_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x68,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_gt_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x69,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x69,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x68,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_f_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x60,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x62,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x63,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x63,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x62,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_gt_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_gt_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_lt_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_lt_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_gt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_gt_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_gt_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x68,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_lg_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x6a,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_lg_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6b,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x6b,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x6a,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_lt_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x62,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x64,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x65,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x65,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x64,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_lg_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_lg_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_eq_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_eq_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_lg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_lg_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_lg_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x6a,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ge_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x6c,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ge_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6d,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x6d,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x6c,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_eq_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x64,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_le_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x66,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x67,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x67,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x66,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ge_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ge_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_le_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_le_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ge_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ge_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x6c,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_o_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x6e,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_o_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6f,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x6f,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x6e,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_le_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x66,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x68,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x69,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x69,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x68,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_o_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_o_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_gt_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_gt_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_o_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_o_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_o_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x6e,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_u_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x70,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_u_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x71,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x71,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x70,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_gt_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x68,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x6a,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6b,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x6b,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x6a,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_u_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_u_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_lg_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_lg_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_u_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_u_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_u_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x70,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_nge_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x72,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_nge_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x73,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x73,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x72,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_lg_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x6a,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x6c,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6d,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x6d,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x6c,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_nge_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_nge_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ge_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ge_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_nge_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_nge_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_nge_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x72,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_nlg_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x74,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x75,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x75,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x74,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ge_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x6c,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_o_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x6e,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6f,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x6f,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x6e,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_o_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_o_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_nlg_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_nlg_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_nlg_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x74,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ngt_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x76,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x77,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x77,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x76,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_o_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x6e,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_u_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x70,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x71,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x71,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x70,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_u_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_u_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ngt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ngt_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ngt_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x76,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_nle_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x78,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_nle_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x79,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x79,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x78,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_u_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x70,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x72,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x73,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x73,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x72,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_nle_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_nle_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_nge_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_nge_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_nle_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_nle_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_nle_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x78,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_neq_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x7a,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_neq_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7b,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x7b,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x7a,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_nge_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x72,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x74,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x75,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x75,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x74,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_neq_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_neq_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_nlg_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_nlg_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_neq_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_neq_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_neq_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x7a,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_nlt_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x7c,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7d,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x7d,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x7c,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_nlg_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x74,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x76,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x77,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x77,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x76,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ngt_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ngt_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_nlt_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_nlt_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_nlt_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x7c,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_tru_f16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x7e,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_tru_f16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7f,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x7f,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x7e,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ngt_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x76,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x78,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x79,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x79,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x78,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_tru_f16 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_tru_f16 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_nle_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_nle_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_tru_f16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_tru_f16 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_tru_f16 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x7e,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_f_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x80,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_f_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x81,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x81,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_f_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x80,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_nle_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x78,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x7a,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7b,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x7b,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x7a,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_f_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_f_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_neq_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_neq_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_f_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_f_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x80,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_lt_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x82,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_lt_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x83,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x83,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x82,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_neq_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x7a,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x7c,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7d,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x7d,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x7c,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_lt_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_lt_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_nlt_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_nlt_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_lt_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_lt_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x82,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_eq_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x84,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_eq_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x85,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x85,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x84,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_nlt_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x7c,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x7e,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7f,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x7f,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x7e,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_eq_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_eq_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_tru_f16 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_tru_f16 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_eq_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_eq_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x84,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_le_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x86,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_le_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x87,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x87,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_le_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x86,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_tru_f16 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x7e,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_f_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x80,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x81,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x81,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x80,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_le_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_le_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_f_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_f_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_le_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_le_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x86,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_gt_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x88,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_gt_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x89,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x89,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x88,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_f_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x80,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_lt_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x82,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x83,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x83,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x82,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_gt_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_gt_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_lt_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_lt_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_gt_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_gt_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x88,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_lg_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x8a,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_lg_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8b,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x8b,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x8a,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_lt_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x82,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_eq_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x84,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x85,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x85,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x84,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_lg_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_lg_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_eq_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_eq_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_lg_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_lg_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x8a,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ge_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x8c,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ge_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8d,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x8d,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x8c,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_eq_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x84,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_le_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x86,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x87,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x87,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x86,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ge_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ge_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_le_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_le_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ge_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ge_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x8c,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_o_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x8e,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_o_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8f,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x8f,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_o_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x8e,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_le_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x86,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_gt_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x88,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x89,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x89,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x88,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_o_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_o_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_gt_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_gt_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_o_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_o_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x8e,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_u_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x90,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_u_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x91,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x91,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_u_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x90,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_gt_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x88,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_lg_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x8a,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8b,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x8b,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x8a,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_u_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_u_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_lg_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_lg_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_u_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_u_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x90,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_nge_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x92,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_nge_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x93,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x93,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x92,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_lg_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x8a,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ge_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x8c,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8d,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x8d,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x8c,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_nge_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_nge_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ge_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ge_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_nge_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_nge_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x92,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_nlg_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x94,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_nlg_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x95,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x95,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x94,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ge_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x8c,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_o_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x8e,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8f,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x8f,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x8e,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_nlg_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_nlg_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_o_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_o_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_nlg_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_nlg_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x94,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ngt_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x96,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ngt_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x97,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x97,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x96,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_o_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x8e,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_u_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x90,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x91,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x91,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x90,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ngt_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ngt_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_u_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_u_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ngt_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ngt_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x96,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_nle_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x98,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_nle_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x99,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x99,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x98,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_u_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x90,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_nge_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x92,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x93,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x93,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x92,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_nle_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_nle_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_nge_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_nge_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_nle_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_nle_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x98,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_neq_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x9a,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_neq_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9b,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x9b,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x9a,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_nge_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x92,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x94,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x95,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x95,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x94,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_neq_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_neq_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_nlg_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_nlg_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_neq_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_neq_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x9a,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_nlt_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x9c,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_nlt_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9d,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x9d,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x9c,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_nlg_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x94,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x96,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x97,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x97,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x96,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_nlt_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_nlt_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ngt_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ngt_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_nlt_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_nlt_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x9c,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_tru_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x9e,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_tru_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9f,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x9f,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x9e,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ngt_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x96,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_nle_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x98,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x99,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x99,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x98,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_tru_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_tru_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_nle_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_nle_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_tru_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_tru_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0x9e,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_f_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xa0,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_f_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa1,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xa1,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xa0,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_nle_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x98,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_neq_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x9a,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9b,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x9b,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x9a,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_f_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_f_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_neq_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_neq_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_f_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_f_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_f_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xa0,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_lt_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xa2,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_lt_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa3,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xa3,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xa2,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_neq_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x9a,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x9c,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9d,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x9d,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x9c,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_lt_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_lt_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_nlt_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_nlt_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_lt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_lt_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_lt_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xa2,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_eq_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xa4,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_eq_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa5,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xa5,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xa4,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_nlt_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x9c,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_tru_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x9e,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9f,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x9f,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0x9e,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_eq_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_eq_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_tru_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_tru_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_eq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_eq_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_eq_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xa4,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_le_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xa6,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_le_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa7,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xa7,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xa6,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_tru_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0x9e,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_f_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xa0,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa1,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xa1,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xa0,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_le_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_le_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_f_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_f_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_le_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_le_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_le_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xa6,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_gt_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xa8,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_gt_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa9,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xa9,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xa8,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_f_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xa0,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xa2,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa3,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xa3,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xa2,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_gt_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_gt_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_lt_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_lt_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_gt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_gt_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_gt_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xa8,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_lg_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xaa,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_lg_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xab,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xab,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xaa,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_lt_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xa2,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xa4,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa5,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xa5,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xa4,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_lg_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_lg_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_eq_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_eq_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_lg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_lg_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_lg_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xaa,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ge_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xac,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ge_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xad,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xad,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xac,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_eq_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xa4,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_le_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xa6,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa7,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xa7,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xa6,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ge_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ge_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_le_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_le_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ge_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ge_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xac,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_o_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xae,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_o_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xaf,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xaf,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xae,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_le_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xa6,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xa8,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa9,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xa9,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xa8,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_o_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_o_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_gt_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_gt_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_o_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_o_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_o_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xae,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_u_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xb0,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_u_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb1,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xb1,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xb0,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_gt_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xa8,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xaa,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xab,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xab,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xaa,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_u_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_u_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_lg_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_lg_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_u_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_u_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_u_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xb0,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_nge_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xb2,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_nge_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb3,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xb3,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xb2,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_lg_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xaa,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xac,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xad,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xad,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xac,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_nge_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_nge_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ge_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ge_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_nge_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_nge_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_nge_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xb2,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_nlg_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xb4,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb5,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xb5,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xb4,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ge_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xac,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_o_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xae,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xaf,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xaf,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xae,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_o_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_o_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_nlg_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_nlg_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_nlg_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xb4,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ngt_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xb6,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb7,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xb7,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xb6,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_o_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xae,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_u_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xb0,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb1,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xb1,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xb0,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_u_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_u_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ngt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ngt_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ngt_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xb6,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_nle_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xb8,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_nle_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb9,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xb9,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xb8,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_u_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xb0,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xb2,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb3,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xb3,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xb2,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_nle_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_nle_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_nge_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_nge_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_nle_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_nle_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_nle_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xb8,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_neq_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xba,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_neq_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbb,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xbb,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xba,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_nge_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xb2,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xb4,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb5,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xb5,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xb4,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_neq_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_neq_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_nlg_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_nlg_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_neq_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_neq_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_neq_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xba,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_nlt_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xbc,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbd,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xbd,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xbc,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_nlg_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xb4,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xb6,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb7,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xb7,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xb6,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ngt_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ngt_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_nlt_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_nlt_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_nlt_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xbc,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_tru_f32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xbe,0x7c,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_tru_f32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbf,0x7c,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xbf,0x7c,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xbe,0x7c,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ngt_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xb6,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xb8,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb9,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xb9,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xb8,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_tru_f32 vcc, -v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x16,0x06]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x16,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_tru_f32 vcc, |v0|, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x26,0x06]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x26,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_nle_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_nle_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_tru_f32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_tru_f32 vcc, v0, -v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x16]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x16
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_tru_f32 vcc, v0, |v0| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x26]
-0xf9,0x00,0xbe,0x7c,0x00,0x16,0x06,0x26
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_f_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x40,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_f_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x41,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x41,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_f_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x40,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_nle_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xb8,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xba,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbb,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xbb,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xba,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_f_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_neq_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_neq_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_f_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x40,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_lt_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x42,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_lt_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x43,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x43,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x42,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_neq_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xba,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xbc,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbd,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xbd,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xbc,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_lt_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_nlt_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_lt_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x42,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_nlt_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_eq_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x44,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_eq_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x45,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x45,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x44,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_nlt_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xbc,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xbe,0x7c,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_eq_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbf,0x7c,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xbf,0x7c,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x36,0x06,0x06]
+0xf9,0x04,0xbe,0x7c,0x01,0x36,0x06,0x06
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_eq_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x44,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_tru_f32 vcc, -v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x16,0x06]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x16,0x06
-# CHECK: v_cmp_le_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x46,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_tru_f32 vcc, |v1|, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x26,0x06]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x26,0x06
-# CHECK: v_cmp_le_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x47,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x47,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_le_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x46,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v1, -v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x16]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x16
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_tru_f32 vcc, v1, |v2| src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x26]
+0xf9,0x04,0xbe,0x7c,0x01,0x16,0x06,0x26
-# CHECK: v_cmp_le_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_f_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x40,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_f_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x41,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x41,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_le_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x46,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_gt_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x48,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_f_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_gt_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x49,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x49,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x48,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_f_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x40,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_lt_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x42,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_lt_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x43,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x43,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_gt_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x48,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_ne_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x4a,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ne_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4b,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x4b,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x4a,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_lt_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x42,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_eq_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x44,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ne_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_eq_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x45,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x45,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ne_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x4a,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_eq_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ge_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x4c,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ge_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4d,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x4d,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x4c,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_eq_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x44,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_le_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x46,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_le_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x47,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x47,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_le_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_ge_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x4c,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_t_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x4e,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_t_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4f,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x4f,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_t_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x4e,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_le_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x46,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_gt_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x48,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_gt_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x49,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x49,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_t_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_gt_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_t_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x4e,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_f_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x50,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_f_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x51,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x51,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_f_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x50,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_gt_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x48,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ne_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x4a,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ne_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4b,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x4b,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_f_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ne_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_f_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x50,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_lt_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x52,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_lt_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x53,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x53,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x52,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ne_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x4a,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ge_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x4c,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ge_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4d,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x4d,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_lt_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ge_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_lt_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x52,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_eq_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x54,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_eq_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x55,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x55,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x4c,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x54,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_t_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x4e,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_t_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x4f,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x4f,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_eq_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_t_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_eq_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x54,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_le_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x56,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_t_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x4e,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_le_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x57,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x57,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x56,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_f_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x50,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_f_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x51,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x51,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_le_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_f_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_le_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x56,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x50,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_gt_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x58,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x59,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x59,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x52,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x58,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_lt_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x53,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x53,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_gt_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_lt_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_gt_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x58,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_lt_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x52,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ne_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x5a,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_eq_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x54,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ne_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5b,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x5b,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x55,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x55,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x5a,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_eq_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_ne_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_eq_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x54,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_ne_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x5a,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x56,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ge_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x5c,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_le_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x57,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x57,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5d,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x5d,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x5c,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_le_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ge_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_le_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x56,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x5c,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_gt_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x58,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x59,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x59,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_t_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x5e,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_t_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5f,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x5f,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_t_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x5e,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_gt_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_t_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_gt_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x58,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ne_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x5a,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_t_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x5e,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_ne_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5b,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x5b,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_f_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x60,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_f_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x61,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x61,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x60,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ne_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_f_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ne_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x5a,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ge_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x5c,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_f_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ge_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5d,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x5d,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x60,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x62,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x63,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x63,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x62,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ge_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_lt_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ge_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x5c,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_t_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x5e,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_t_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x5f,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x5f,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_lt_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x62,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x64,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x65,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x65,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x64,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_t_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_eq_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_t_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x5e,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_f_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x60,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_f_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x61,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x61,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_eq_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x64,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_le_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x66,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_le_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x67,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x67,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x66,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_f_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_f_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_le_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_f_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x60,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_lt_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x62,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_lt_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x63,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x63,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_le_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_le_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x66,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x68,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x69,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x69,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x68,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_lt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_lt_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x62,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_gt_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_eq_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x64,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_eq_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x65,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x65,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_gt_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x68,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ne_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x6a,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_ne_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6b,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x6b,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x6a,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_eq_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_eq_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x64,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_le_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x66,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_le_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x67,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x67,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ne_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ne_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x6a,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_ge_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x6c,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ge_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6d,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x6d,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x6c,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_le_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_le_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x66,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_gt_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x68,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_gt_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x69,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x69,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ge_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ge_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x6c,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_gt_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_t_i16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x6e,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_t_i16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6f,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x6f,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x6e,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_gt_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_gt_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x68,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ne_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x6a,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ne_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6b,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x6b,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_t_i16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_t_i16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ne_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_t_i16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x6e,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_f_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x70,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_f_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x71,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x71,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x70,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ne_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ne_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x6a,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ge_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x6c,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ge_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6d,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x6d,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_f_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ge_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_f_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_f_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x70,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_lt_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x72,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_lt_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x73,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x73,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x72,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ge_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ge_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x6c,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_t_i16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x6e,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_t_i16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x6f,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x6f,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_lt_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_t_i16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_lt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_lt_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x72,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_eq_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x74,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_eq_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x75,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x75,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_t_i16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x74,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_t_i16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x6e,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_f_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x70,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_f_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x71,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x71,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_eq_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_f_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_eq_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_eq_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x74,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_le_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x76,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_f_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_le_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x77,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x77,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x70,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x76,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_lt_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x72,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_lt_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x73,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x73,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_le_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_lt_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_le_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_le_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x76,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_gt_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x78,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x72,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_gt_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x79,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x79,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x78,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_eq_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x74,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_eq_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x75,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x75,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_gt_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_eq_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_gt_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_gt_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x78,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_eq_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x74,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_ne_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x7a,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7b,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x7b,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x76,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x7a,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_le_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x77,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x77,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ne_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_le_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ne_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_le_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ne_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x7a,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_le_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x76,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x7c,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x78,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7d,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x7d,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x79,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x79,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x7c,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_gt_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_ge_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_gt_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ge_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_gt_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x78,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_ge_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x7c,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x7a,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_t_u16 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x7e,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7b,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x7b,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_t_u16 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7f,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x7f,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x7e,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ne_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_t_u16 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ne_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ne_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x7a,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_t_u16 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_t_u16 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x7e,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_ge_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x7c,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7d,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x7d,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x80,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_f_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x81,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x81,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_f_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x80,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ge_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_f_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ge_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ge_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x7c,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_t_u16 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x7e,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_f_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x80,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_t_u16 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x7f,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x7f,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_lt_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x82,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_lt_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x83,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x83,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x82,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_t_u16 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_lt_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_t_u16 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_t_u16 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x7e,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_f_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x80,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_f_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x81,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x81,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x82,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_eq_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x84,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_eq_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x85,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x85,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x84,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_f_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_eq_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_f_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x80,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_lt_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x82,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_lt_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x83,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x83,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_eq_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x84,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_le_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x86,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_le_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x87,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x87,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_le_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x86,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_lt_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_le_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_lt_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x82,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_eq_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x84,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_eq_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x85,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x85,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_le_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x86,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_gt_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x88,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_gt_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x89,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x89,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x88,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_eq_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_gt_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_eq_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x84,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_le_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x86,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_le_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x87,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x87,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_gt_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x88,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ne_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x8a,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ne_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8b,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x8b,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x8a,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_le_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x86,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_ne_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_gt_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x88,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_gt_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x89,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x89,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ne_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x8a,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ge_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x8c,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_gt_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_ge_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8d,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x8d,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x8c,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_gt_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x88,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_ne_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x8a,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ne_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8b,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x8b,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ge_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x8c,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ne_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_t_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x8e,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_t_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8f,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x8f,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_t_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x8e,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ne_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x8a,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ge_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x8c,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_t_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_ge_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8d,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x8d,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_t_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x8e,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_ge_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_f_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x90,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_f_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x91,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x91,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_f_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x90,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ge_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x8c,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_t_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x8e,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_t_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x8f,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x8f,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_f_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_t_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_f_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x90,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_lt_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x92,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_lt_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x93,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x93,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x92,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_t_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x8e,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_f_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x90,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_f_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x91,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x91,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_lt_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_f_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_lt_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x92,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_eq_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x94,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_eq_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x95,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x95,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x94,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_f_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x90,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_lt_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x92,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_lt_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x93,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x93,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_eq_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_lt_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_eq_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x94,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_le_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x96,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_le_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x97,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x97,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_le_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x96,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_lt_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x92,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_eq_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x94,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_eq_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x95,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x95,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_le_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_eq_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_le_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x96,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_gt_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x98,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_gt_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x99,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x99,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_eq_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x94,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x98,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_le_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x96,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_le_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x97,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x97,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_gt_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_le_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_gt_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x98,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ne_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x9a,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_le_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x96,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_ne_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9b,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x9b,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x9a,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_gt_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x98,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_gt_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x99,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x99,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ne_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_gt_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ne_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x9a,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_gt_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x98,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_ge_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x9c,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9d,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x9d,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ne_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x9a,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x9c,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ne_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9b,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x9b,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_ge_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_ne_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_ge_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x9c,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_ne_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x9a,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_t_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0x9e,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_ge_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x9c,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmp_t_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9f,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0x9f,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_ge_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9d,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x9d,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmp_t_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0x9e,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_ge_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmp_t_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmp_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmp_ge_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x9c,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmp_t_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0x9e,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_t_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0x9e,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_f_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xa0,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmp_t_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x9f,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0x9f,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa1,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xa1,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xa0,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmp_t_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_f_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmp_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmp_t_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0x9e,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_f_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xa0,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_f_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xa0,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa1,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xa1,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xa2,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa3,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xa3,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xa2,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_f_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_lt_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_f_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_f_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xa0,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_lt_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xa2,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xa2,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_lt_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa3,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xa3,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xa4,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa5,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xa5,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xa4,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_lt_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_eq_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_lt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_lt_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xa2,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_eq_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xa4,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_eq_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa5,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xa5,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xa4,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_le_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xa6,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_le_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa7,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xa7,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xa6,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_eq_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_le_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_eq_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_eq_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xa4,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_le_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xa6,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_le_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa7,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xa7,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_le_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xa6,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xa8,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa9,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xa9,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xa8,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_le_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_gt_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_le_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_le_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xa6,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_gt_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xa8,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_gt_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xa9,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xa9,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_gt_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xa8,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xaa,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xab,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xab,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xaa,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_gt_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_gt_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ne_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_gt_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xa8,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ne_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xaa,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ne_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xab,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xab,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ne_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xaa,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xac,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xad,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xad,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xac,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ne_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ne_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xaa,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_ge_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ge_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xac,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ge_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xad,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xad,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ge_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xac,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_t_i32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xae,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_t_i32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xaf,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xaf,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xae,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ge_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ge_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xac,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_t_i32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_t_i32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xae,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_t_i32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xaf,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xaf,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_t_i32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_t_i32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xae,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_t_i32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_f_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xb0,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_f_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb1,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xb1,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xb0,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_t_i32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_t_i32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xae,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_f_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xb0,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_f_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_f_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb1,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xb1,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_f_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_f_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xb0,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_f_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_lt_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xb2,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_lt_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb3,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xb3,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xb2,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_f_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_f_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xb0,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_lt_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xb2,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_lt_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb3,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xb3,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_lt_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_lt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_lt_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_lt_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xb2,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_eq_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xb4,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_eq_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb5,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xb5,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xb4,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_lt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_lt_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xb2,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_eq_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xb4,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_eq_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb5,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xb5,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_eq_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_eq_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_eq_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_eq_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xb4,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_le_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xb6,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_le_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb7,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xb7,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xb6,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_eq_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_eq_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xb4,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_le_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xb6,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_le_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb7,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xb7,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_le_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_le_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_le_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_le_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xb6,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_gt_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xb8,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_gt_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb9,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xb9,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_le_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xb8,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_le_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xb6,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_gt_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xb8,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_gt_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xb9,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xb9,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_gt_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_gt_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_gt_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_gt_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xb8,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ne_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xba,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ne_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbb,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xbb,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_gt_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xb8,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xba,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ne_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xba,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ne_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbb,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xbb,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ne_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ne_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ne_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ne_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xba,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_ge_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xbc,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_ne_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xba,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_ge_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbd,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xbd,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xbc,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_ge_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xbc,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_ge_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbd,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xbd,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_ge_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_ge_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_ge_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_ge_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xbc,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_ge_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_ge_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xbc,0x7d,0x01,0x16,0x06,0x0e
-# CHECK: v_cmpx_t_u32 vcc, v255, v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0xff,0x16,0x06,0x06]
-0xf9,0x00,0xbe,0x7d,0xff,0x16,0x06,0x06
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_t_u32 vcc, v0, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbf,0x7d,0x00,0x16,0x06,0x06]
-0xf9,0xfe,0xbf,0x7d,0x00,0x16,0x06,0x06
+# CHECK: v_cmpx_t_u32 vcc, v255, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0xff,0x16,0x06,0x06]
+0xf9,0x04,0xbe,0x7d,0xff,0x16,0x06,0x06
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 clamp src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x36,0x06,0x06]
-0xf9,0x00,0xbe,0x7d,0x00,0x36,0x06,0x06
+# CHECK: v_cmpx_t_u32 vcc, v1, v255 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0xbf,0x7d,0x01,0x16,0x06,0x06]
+0xf9,0xfe,0xbf,0x7d,0x01,0x16,0x06,0x06
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x00,0x06]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x00,0x06
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x00,0x06]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x00,0x06
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x01,0x06]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x01,0x06
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x01,0x06]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x01,0x06
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x02,0x06]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x02,0x06
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x02,0x06]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x02,0x06
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x03,0x06]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x03,0x06
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x03,0x06]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x03,0x06
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x04,0x06]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x04,0x06
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x04,0x06]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x04,0x06
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x05,0x06]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x05,0x06
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x05,0x06]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x05,0x06
-# CHECK: v_cmpx_t_u32 vcc, sext(v0), v0 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x0e,0x06]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x0e,0x06
+# CHECK: v_cmpx_t_u32 vcc, sext(v1), v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x0e,0x06]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x0e,0x06
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x00]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x00
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x00]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x00
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x01]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x01
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x01]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x01
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x02]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x02
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x02]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x02
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x03]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x03
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x03]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x03
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x04]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x04
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x04]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x04
-# CHECK: v_cmpx_t_u32 vcc, v0, v0 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x05]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x05
+# CHECK: v_cmpx_t_u32 vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x05]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x05
-# CHECK: v_cmpx_t_u32 vcc, v0, sext(v0) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x0e]
-0xf9,0x00,0xbe,0x7d,0x00,0x16,0x06,0x0e
+# CHECK: v_cmpx_t_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x0e]
+0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x0e
diff --git a/test/MC/Disassembler/X86/x86-64.txt b/test/MC/Disassembler/X86/x86-64.txt
index de62b0ff1d77..1511347306a7 100644
--- a/test/MC/Disassembler/X86/x86-64.txt
+++ b/test/MC/Disassembler/X86/x86-64.txt
@@ -248,16 +248,16 @@
# CHECK: movd %mm0, %rax
0x48 0x0f 0x7e 0xc0
-# CHECK: movd (%rax), %xmm0
+# CHECK: movq (%rax), %xmm0
0x66 0x48 0x0f 0x6e 0x00
-# CHECK: movd %rax, %xmm0
+# CHECK: movq %rax, %xmm0
0x66 0x48 0x0f 0x6e 0xc0
-# CHECK: movd %xmm0, (%rax)
+# CHECK: movq %xmm0, (%rax)
0x66 0x48 0x0f 0x7e 0x00
-# CHECK: movd %xmm0, %rax
+# CHECK: movq %xmm0, %rax
0x66 0x48 0x0f 0x7e 0xc0
# CHECK: pextrw $3, %xmm3, %ecx
diff --git a/test/MC/X86/x86-64.s b/test/MC/X86/x86-64.s
index a605dbbbd746..d735737a92ca 100644
--- a/test/MC/X86/x86-64.s
+++ b/test/MC/X86/x86-64.s
@@ -1297,17 +1297,13 @@ xsetbv // CHECK: xsetbv # encoding: [0x0f,0x01,0xd1]
// CHECK: encoding: [0x48,0x0f,0x00,0xc8]
str %rax
-// CHECK: movd %rdi, %xmm0
+// CHECK: movq %rdi, %xmm0
// CHECK: encoding: [0x66,0x48,0x0f,0x6e,0xc7]
movq %rdi,%xmm0
-// CHECK: movd %rdi, %xmm0
-// CHECK: encoding: [0x66,0x48,0x0f,0x6e,0xc7]
- movd %rdi,%xmm0
-
-// CHECK: movd %xmm0, %rax
+// CHECK: movq %xmm0, %rax
// CHECK: encoding: [0x66,0x48,0x0f,0x7e,0xc0]
- movd %xmm0, %rax
+ movq %xmm0, %rax
// CHECK: movntil %eax, (%rdi)
// CHECK: encoding: [0x0f,0xc3,0x07]
@@ -1470,13 +1466,13 @@ fdiv %st(1)
fdivr %st(1)
// CHECK: movd %xmm0, %eax
-// CHECK: movd %xmm0, %rax
-// CHECK: movd %xmm0, %rax
+// CHECK: movq %xmm0, %rax
+// CHECK: movq %xmm0, %rax
// CHECK: vmovd %xmm0, %eax
// CHECK: vmovq %xmm0, %rax
// CHECK: vmovq %xmm0, %rax
movd %xmm0, %eax
-movd %xmm0, %rax
+movq %xmm0, %rax
movq %xmm0, %rax
vmovd %xmm0, %eax
vmovd %xmm0, %rax
diff --git a/test/ObjectYAML/wasm/code_section.yaml b/test/ObjectYAML/wasm/code_section.yaml
index b75bf7e1cfd5..5359d2a100ca 100644
--- a/test/ObjectYAML/wasm/code_section.yaml
+++ b/test/ObjectYAML/wasm/code_section.yaml
@@ -21,11 +21,9 @@ Sections:
- Type: R_WEBASSEMBLY_TABLE_INDEX_SLEB
Index: 0
Offset: 0x00000006
- Addend: 0x00000000
- Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
Index: 1
Offset: 0x00000025
- Addend: 0x00000000
Functions:
- Locals:
- Type: I32
@@ -56,11 +54,9 @@ Sections:
# CHECK: - Type: R_WEBASSEMBLY_TABLE_INDEX_SLEB
# CHECK: Index: 0
# CHECK: Offset: 0x00000006
-# CHECK: Addend: 0x00000000
# CHECK: - Type: R_WEBASSEMBLY_FUNCTION_INDEX_LEB
# CHECK: Index: 1
# CHECK: Offset: 0x00000025
-# CHECK: Addend: 0x00000000
# CHECK: Functions:
# CHECK: - Locals:
# CHECK: - Type: I32
diff --git a/test/ObjectYAML/wasm/data_section.yaml b/test/ObjectYAML/wasm/data_section.yaml
index 542d0efe42f3..b8c65abbff91 100644
--- a/test/ObjectYAML/wasm/data_section.yaml
+++ b/test/ObjectYAML/wasm/data_section.yaml
@@ -13,16 +13,34 @@ Sections:
Opcode: I32_CONST
Value: 4
Content: '10001000'
+ Relocations:
+ - Type: R_WEBASSEMBLY_GLOBAL_ADDR_I32
+ Index: 0
+ Offset: 0x00000006
+ Addend: 8
+ - Type: R_WEBASSEMBLY_GLOBAL_ADDR_I32
+ Index: 0
+ Offset: 0x00000006
+ Addend: -6
...
# CHECK: --- !WASM
# CHECK: FileHeader:
# CHECK: Version: 0x00000001
# CHECK: Sections:
# CHECK: - Type: DATA
-# CHECK: Segments:
-# CHECK: - Index: 0
-# CHECK: Offset:
-# CHECK: Opcode: I32_CONST
-# CHECK: Value: 4
-# CHECK: Content: '10001000'
-# CHECK: ...
+# CHECK-NEXT: Relocations:
+# CHECK-NEXT: - Type: R_WEBASSEMBLY_GLOBAL_ADDR_I32
+# CHECK-NEXT: Index: 0
+# CHECK-NEXT: Offset: 0x00000006
+# CHECK-NEXT: Addend: 8
+# CHECK-NEXT: - Type: R_WEBASSEMBLY_GLOBAL_ADDR_I32
+# CHECK-NEXT: Index: 0
+# CHECK-NEXT: Offset: 0x00000006
+# CHECK-NEXT: Addend: -6
+# CHECK-NEXT: Segments:
+# CHECK-NEXT: - Index: 0
+# CHECK-NEXT: Offset:
+# CHECK-NEXT: Opcode: I32_CONST
+# CHECK-NEXT: Value: 4
+# CHECK-NEXT: Content: '10001000'
+# CHECK-NEXT: ...
diff --git a/test/ObjectYAML/wasm/elem_section.yaml b/test/ObjectYAML/wasm/elem_section.yaml
index 498c9aa93ea2..c55e94ce2d07 100644
--- a/test/ObjectYAML/wasm/elem_section.yaml
+++ b/test/ObjectYAML/wasm/elem_section.yaml
@@ -18,8 +18,8 @@ Sections:
Functions:
- 1
- Offset:
- Opcode: I32_CONST
- Value: 5
+ Opcode: GET_GLOBAL
+ Index: 1
Functions:
- 4
...
@@ -34,7 +34,7 @@ Sections:
# CHECK: Value: 3
# CHECK: Functions: [ 1 ]
# CHECK: - Offset:
-# CHECK: Opcode: I32_CONST
-# CHECK: Value: 5
+# CHECK: Opcode: GET_GLOBAL
+# CHECK: Index: 1
# CHECK: Functions: [ 4 ]
# CHECK: ...
diff --git a/test/Other/Inputs/invariant.group.barrier.ll b/test/Other/Inputs/invariant.group.barrier.ll
new file mode 100644
index 000000000000..565b0989ecb7
--- /dev/null
+++ b/test/Other/Inputs/invariant.group.barrier.ll
@@ -0,0 +1,15 @@
+; RUN: opt -S -gvn < %s | FileCheck %s
+; RUN: opt -S -newgvn < %s | FileCheck %s
+; RUN: opt -S -O3 < %s | FileCheck %s
+
+; This test check if optimizer is not proving equality based on mustalias
+; CHECK-LABEL: define void @dontProveEquality(i8* %a)
+define void @dontProveEquality(i8* %a) {
+ %b = call i8* @llvm.invariant.group.barrier(i8* %a)
+ %r = i1 icmp eq i8* %b, i8* %a
+;CHECK: call void @use(%r)
+ call void @use(%r)
+}
+
+declare void @use(i1)
+declare i8* @llvm.invariant.group.barrier(i8 *)
diff --git a/test/Other/new-pm-defaults.ll b/test/Other/new-pm-defaults.ll
index 7657f184b28c..fc1170c666f5 100644
--- a/test/Other/new-pm-defaults.ll
+++ b/test/Other/new-pm-defaults.ll
@@ -153,6 +153,7 @@
; CHECK-O-NEXT: Running pass: AlignmentFromAssumptionsPass
; CHECK-O-NEXT: Running pass: LoopSinkPass
; CHECK-O-NEXT: Running pass: InstSimplifierPass
+; CHECK-O-NEXT: Running pass: SimplifyCFGPass
; CHECK-O-NEXT: Finished llvm::Function pass manager run.
; CHECK-O-NEXT: Running pass: GlobalDCEPass
; CHECK-O-NEXT: Running pass: ConstantMergePass
diff --git a/test/Other/pass-pipelines.ll b/test/Other/pass-pipelines.ll
index 196f9bfe9826..971ed2c09473 100644
--- a/test/Other/pass-pipelines.ll
+++ b/test/Other/pass-pipelines.ll
@@ -85,6 +85,7 @@
; CHECK-O2: FunctionPass Manager
; CHECK-O2: Loop Pass Manager
; CHECK-O2-NEXT: Loop Sink
+; CHECK-O2: Simplify the CFG
; CHECK-O2-NOT: Manager
;
; FIXME: There really shouldn't be another pass manager, especially one that
diff --git a/test/Other/pr32085.ll b/test/Other/pr32085.ll
new file mode 100644
index 000000000000..428f91e52b5e
--- /dev/null
+++ b/test/Other/pr32085.ll
@@ -0,0 +1,56 @@
+; RUN: opt -S -O1 < %s -o %t1.ll
+;; Show that there's no difference after running another simplify CFG
+; RUN: opt -S -simplifycfg < %t1.ll -o %t2.ll
+; RUN: diff %t1.ll %t2.ll
+
+; Test from LoopSink pass, leaves some single-entry single-exit basic blocks.
+; After LoopSink, we get a basic block .exit.loopexit which has one entry and
+; one exit, the only instruction is a branch. Make sure it doesn't show up.
+; Make sure they disappear at -O1.
+
+@g = global i32 0, align 4
+
+define i32 @t1(i32, i32) {
+ %3 = icmp eq i32 %1, 0
+ br i1 %3, label %.exit, label %.preheader
+
+.preheader:
+ %invariant = load i32, i32* @g
+ br label %.b1
+
+.b1:
+ %iv = phi i32 [ %t7, %.b7 ], [ 0, %.preheader ]
+ %c1 = icmp sgt i32 %iv, %0
+ br i1 %c1, label %.b2, label %.b6
+
+.b2:
+ %c2 = icmp sgt i32 %iv, 1
+ br i1 %c2, label %.b3, label %.b4
+
+.b3:
+ %t3 = sub nsw i32 %invariant, %iv
+ br label %.b5
+
+.b4:
+ %t4 = add nsw i32 %invariant, %iv
+ br label %.b5
+
+.b5:
+ %p5 = phi i32 [ %t3, %.b3 ], [ %t4, %.b4 ]
+ %t5 = mul nsw i32 %p5, 5
+ br label %.b7
+
+.b6:
+ %t6 = add nsw i32 %iv, 100
+ br label %.b7
+
+.b7:
+ %p7 = phi i32 [ %t6, %.b6 ], [ %t5, %.b5 ]
+ %t7 = add nuw nsw i32 %iv, 1
+ %c7 = icmp eq i32 %t7, %p7
+ br i1 %c7, label %.b1, label %.exit
+
+.exit:
+ ret i32 10
+}
+
diff --git a/test/TableGen/GlobalISelEmitter.td b/test/TableGen/GlobalISelEmitter.td
index 25be435df2de..8d59036100a9 100644
--- a/test/TableGen/GlobalISelEmitter.td
+++ b/test/TableGen/GlobalISelEmitter.td
@@ -9,6 +9,7 @@ def MyTarget : Target { let InstructionSet = MyTargetISA; }
def R0 : Register<"r0"> { let Namespace = "MyTarget"; }
def GPR32 : RegisterClass<"MyTarget", [i32], 32, (add R0)>;
+def GPR32Op : RegisterOperand<GPR32>;
class I<dag OOps, dag IOps, list<dag> Pat>
: Instruction {
@@ -22,14 +23,38 @@ def complex : Operand<i32>, ComplexPattern<i32, 2, "SelectComplexPattern", []> {
let MIOperandInfo = (ops i32imm, i32imm);
}
def gi_complex :
- GIComplexOperandMatcher<s32, (ops i32imm, i32imm), "selectComplexPattern">,
+ GIComplexOperandMatcher<s32, "selectComplexPattern">,
GIComplexPatternEquiv<complex>;
def m1 : OperandWithDefaultOps <i32, (ops (i32 -1))>;
def Z : OperandWithDefaultOps <i32, (ops R0)>;
def m1Z : OperandWithDefaultOps <i32, (ops (i32 -1), R0)>;
-//===- Test the function definition boilerplate. --------------------------===//
+def HasA : Predicate<"Subtarget->hasA()">;
+def HasB : Predicate<"Subtarget->hasB()">;
+
+//===- Test the function boilerplate. -------------------------------------===//
+
+// CHECK-LABEL: enum SubtargetFeatureBits : uint8_t {
+// CHECK-NEXT: Feature_HasABit = 0,
+// CHECK-NEXT: Feature_HasBBit = 1,
+// CHECK-NEXT: };
+
+// CHECK-LABEL: static const char *SubtargetFeatureNames[] = {
+// CHECK-NEXT: "Feature_HasA",
+// CHECK-NEXT: "Feature_HasB",
+// CHECK-NEXT: nullptr
+// CHECK-NEXT: };
+
+// CHECK-LABEL: PredicateBitset MyTargetInstructionSelector::
+// CHECK-NEXT: computeAvailableFeatures(const MachineFunction *MF, const MyTargetSubtarget *Subtarget) const {
+// CHECK-NEXT: PredicateBitset Features;
+// CHECK-NEXT: if (Subtarget->hasA())
+// CHECK-NEXT: Features[Feature_HasABit] = 1;
+// CHECK-NEXT: if (Subtarget->hasB())
+// CHECK-NEXT: Features[Feature_HasBBit] = 1;
+// CHECK-NEXT: return Features;
+// CHECK-NEXT: }
// CHECK: bool MyTargetInstructionSelector::selectImpl(MachineInstr &I) const {
// CHECK: MachineFunction &MF = *I.getParent()->getParent();
@@ -48,17 +73,15 @@ def m1Z : OperandWithDefaultOps <i32, (ops (i32 -1), R0)>;
// CHECK-NEXT: ((/* src1 */ (MRI.getType(MI0.getOperand(1).getReg()) == (LLT::scalar(32))) &&
// CHECK-NEXT: ((&RBI.getRegBankFromRegClass(MyTarget::GPR32RegClass) == RBI.getRegBank(MI0.getOperand(1).getReg(), MRI, TRI))))) &&
// CHECK-NEXT: ((/* src2 */ (MRI.getType(MI0.getOperand(2).getReg()) == (LLT::scalar(32))) &&
-// CHECK-NEXT: (selectComplexPattern(MI0.getOperand(2), TempOp0, TempOp1)))) &&
+// CHECK-NEXT: ((Renderer0 = selectComplexPattern(MI0.getOperand(2)))))) &&
// CHECK-NEXT: ((/* src3 */ (MRI.getType(MI0.getOperand(3).getReg()) == (LLT::scalar(32))) &&
-// CHECK-NEXT: (selectComplexPattern(MI0.getOperand(3), TempOp2, TempOp3))))) {
+// CHECK-NEXT: ((Renderer1 = selectComplexPattern(MI0.getOperand(3))))))) {
// CHECK-NEXT: // (select:i32 GPR32:i32:$src1, complex:i32:$src2, complex:i32:$src3) => (INSN2:i32 GPR32:i32:$src1, complex:i32:$src3, complex:i32:$src2)
// CHECK-NEXT: MachineInstrBuilder MIB = BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(MyTarget::INSN2));
// CHECK-NEXT: MIB.add(MI0.getOperand(0)/*dst*/);
// CHECK-NEXT: MIB.add(MI0.getOperand(1)/*src1*/);
-// CHECK-NEXT: MIB.add(TempOp2);
-// CHECK-NEXT: MIB.add(TempOp3);
-// CHECK-NEXT: MIB.add(TempOp0);
-// CHECK-NEXT: MIB.add(TempOp1);
+// CHECK-NEXT: Renderer1(MIB);
+// CHECK-NEXT: Renderer0(MIB);
// CHECK-NEXT: for (const auto *FromMI : {&MI0, })
// CHECK-NEXT: for (const auto &MMO : FromMI->memoperands())
// CHECK-NEXT: MIB.addMemOperand(MMO);
@@ -69,7 +92,7 @@ def m1Z : OperandWithDefaultOps <i32, (ops (i32 -1), R0)>;
// CHECK-NEXT: }
def : GINodeEquiv<G_SELECT, select>;
-def INSN2 : I<(outs GPR32:$dst), (ins GPR32:$src1, complex:$src2, complex:$src3), []>;
+def INSN2 : I<(outs GPR32:$dst), (ins GPR32Op:$src1, complex:$src2, complex:$src3), []>;
def : Pat<(select GPR32:$src1, complex:$src2, complex:$src3),
(INSN2 GPR32:$src1, complex:$src3, complex:$src2)>;
@@ -103,6 +126,9 @@ def ADD : I<(outs GPR32:$dst), (ins GPR32:$src1, GPR32:$src2),
//===- Test a nested instruction match. -----------------------------------===//
// CHECK-LABEL: if ([&]() {
+// CHECK-NEXT: PredicateBitset ExpectedFeatures = {Feature_HasABit};
+// CHECK-NEXT: if ((AvailableFeatures & ExpectedFeatures) != ExpectedFeatures)
+// CHECK-NEXT: return false;
// CHECK-NEXT: MachineInstr &MI0 = I;
// CHECK-NEXT: if (MI0.getNumOperands() < 3)
// CHECK-NEXT: return false;
@@ -142,6 +168,9 @@ def ADD : I<(outs GPR32:$dst), (ins GPR32:$src1, GPR32:$src2),
// We also get a second rule by commutativity.
// CHECK-LABEL: if ([&]() {
+// CHECK-NEXT: PredicateBitset ExpectedFeatures = {Feature_HasABit};
+// CHECK-NEXT: if ((AvailableFeatures & ExpectedFeatures) != ExpectedFeatures)
+// CHECK-NEXT: return false;
// CHECK-NEXT: MachineInstr &MI0 = I;
// CHECK-NEXT: if (MI0.getNumOperands() < 3)
// CHECK-NEXT: return false;
@@ -181,11 +210,15 @@ def ADD : I<(outs GPR32:$dst), (ins GPR32:$src1, GPR32:$src2),
def MULADD : I<(outs GPR32:$dst), (ins GPR32:$src1, GPR32:$src2, GPR32:$src3),
[(set GPR32:$dst,
- (mul (add GPR32:$src1, GPR32:$src2), GPR32:$src3))]>;
+ (mul (add GPR32:$src1, GPR32:$src2), GPR32:$src3))]>,
+ Requires<[HasA]>;
//===- Test another simple pattern with regclass operands. ----------------===//
// CHECK-LABEL: if ([&]() {
+// CHECK-NEXT: PredicateBitset ExpectedFeatures = {Feature_HasABit, Feature_HasBBit};
+// CHECK-NEXT: if ((AvailableFeatures & ExpectedFeatures) != ExpectedFeatures)
+// CHECK-NEXT: return false;
// CHECK-NEXT: MachineInstr &MI0 = I;
// CHECK-NEXT: if (MI0.getNumOperands() < 3)
// CHECK-NEXT: return false;
@@ -213,7 +246,8 @@ def MULADD : I<(outs GPR32:$dst), (ins GPR32:$src1, GPR32:$src2, GPR32:$src3),
// CHECK-NEXT: }()) { return true; }
def MUL : I<(outs GPR32:$dst), (ins GPR32:$src2, GPR32:$src1),
- [(set GPR32:$dst, (mul GPR32:$src1, GPR32:$src2))]>;
+ [(set GPR32:$dst, (mul GPR32:$src1, GPR32:$src2))]>,
+ Requires<[HasA, HasB]>;
//===- Test a pattern with ComplexPattern operands. -----------------------===//
//
@@ -228,13 +262,12 @@ def MUL : I<(outs GPR32:$dst), (ins GPR32:$src2, GPR32:$src1),
// CHECK-NEXT: ((/* src1 */ (MRI.getType(MI0.getOperand(1).getReg()) == (LLT::scalar(32))) &&
// CHECK-NEXT: ((&RBI.getRegBankFromRegClass(MyTarget::GPR32RegClass) == RBI.getRegBank(MI0.getOperand(1).getReg(), MRI, TRI))))) &&
// CHECK-NEXT: ((/* src2 */ (MRI.getType(MI0.getOperand(2).getReg()) == (LLT::scalar(32))) &&
-// CHECK-NEXT: (selectComplexPattern(MI0.getOperand(2), TempOp0, TempOp1))))) {
+// CHECK-NEXT: ((Renderer0 = selectComplexPattern(MI0.getOperand(2))))))) {
// CHECK-NEXT: // (sub:i32 GPR32:i32:$src1, complex:i32:$src2) => (INSN1:i32 GPR32:i32:$src1, complex:i32:$src2)
// CHECK-NEXT: MachineInstrBuilder MIB = BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(MyTarget::INSN1));
// CHECK-NEXT: MIB.add(MI0.getOperand(0)/*dst*/);
// CHECK-NEXT: MIB.add(MI0.getOperand(1)/*src1*/);
-// CHECK-NEXT: MIB.add(TempOp0);
-// CHECK-NEXT: MIB.add(TempOp1);
+// CHECK-NEXT: Renderer0(MIB);
// CHECK-NEXT: for (const auto *FromMI : {&MI0, })
// CHECK-NEXT: for (const auto &MMO : FromMI->memoperands())
// CHECK-NEXT: MIB.addMemOperand(MMO);
diff --git a/test/Transforms/CodeExtractor/PartialInlineCallRef.ll b/test/Transforms/CodeExtractor/PartialInlineCallRef.ll
new file mode 100644
index 000000000000..4465a0fd4852
--- /dev/null
+++ b/test/Transforms/CodeExtractor/PartialInlineCallRef.ll
@@ -0,0 +1,56 @@
+; RUN: opt < %s -partial-inliner -S | FileCheck %s
+; RUN: opt < %s -passes=partial-inliner -S | FileCheck %s
+
+
+; Function Attrs: nounwind
+declare void @foo(...) local_unnamed_addr #0
+
+; Function Attrs: noinline
+define i32 @caller(i32 (i32)* nocapture %arg, i32 (i32)* nocapture %arg1, i32 %arg2) local_unnamed_addr #1 {
+bb:
+ %tmp = tail call i32 %arg(i32 %arg2) #0
+ %tmp3 = tail call i32 %arg1(i32 %arg2) #0
+ %tmp4 = add nsw i32 %tmp3, %tmp
+ ret i32 %tmp4
+}
+
+; Function Attrs: nounwind
+define i32 @bar(i32 %arg) #0 {
+bb:
+ %tmp = icmp slt i32 %arg, 0
+ br i1 %tmp, label %bb1, label %bb2
+
+bb1: ; preds = %bb
+ tail call void (...) @foo() #0
+ tail call void (...) @foo() #0
+ tail call void (...) @foo() #0
+ tail call void (...) @foo() #0
+ tail call void (...) @foo() #0
+ tail call void (...) @foo() #0
+ tail call void (...) @foo() #0
+ tail call void (...) @foo() #0
+ tail call void (...) @foo() #0
+ br label %bb2
+
+bb2: ; preds = %bb1, %bb
+ %tmp3 = phi i32 [ 0, %bb1 ], [ 1, %bb ]
+ ret i32 %tmp3
+}
+
+; Function Attrs: nounwind
+define i32 @dummy_caller(i32 %arg) local_unnamed_addr #0 {
+bb:
+; CHECK-LABEL: @dummy_caller
+; check that caller is not wrongly inlined by partial inliner
+; CHECK: call i32 @caller
+; CHECK-NOT: call .* @bar
+ %tmp = tail call i32 @caller(i32 (i32)* nonnull @bar, i32 (i32)* nonnull @bar, i32 %arg)
+ ret i32 %tmp
+}
+
+attributes #0 = { nounwind }
+attributes #1 = { noinline }
+
+!llvm.ident = !{!0}
+
+!0 = !{!"clang version 5.0.0 (trunk 300897) (llvm/trunk 300947)"}
diff --git a/test/Transforms/CodeExtractor/PartialInlineOptRemark.ll b/test/Transforms/CodeExtractor/PartialInlineOptRemark.ll
new file mode 100644
index 000000000000..3ba03843046c
--- /dev/null
+++ b/test/Transforms/CodeExtractor/PartialInlineOptRemark.ll
@@ -0,0 +1,73 @@
+; RUN: opt -S -partial-inliner -pass-remarks=partial-inlining -disable-output < %s 2>&1 | FileCheck %s
+; RUN: opt -S -passes=partial-inliner -pass-remarks=partial-inlining -disable-output < %s 2>&1 | FileCheck %s
+; RUN: opt -S -partial-inliner -pass-remarks=partial-inlining -disable-output -max-partial-inlining=1 < %s 2>&1 | FileCheck %s
+; RUN: opt -S -passes=partial-inliner -pass-remarks=partial-inlining -disable-output -max-partial-inlining=1 < %s 2>&1 | FileCheck %s
+
+; RUN: opt -S -partial-inliner -pass-remarks=partial-inlining -disable-partial-inlining < %s 2>&1 | FileCheck --check-prefix=LIMIT %s
+; RUN: opt -S -passes=partial-inliner -pass-remarks=partial-inlining --disable-partial-inlining < %s 2>&1 | FileCheck --check-prefix=LIMIT %s
+; RUN: opt -S -partial-inliner -pass-remarks=partial-inlining -max-partial-inlining=0 < %s 2>&1 | FileCheck --check-prefix=LIMIT %s
+; RUN: opt -S -passes=partial-inliner -pass-remarks=partial-inlining -max-partial-inlining=0 < %s 2>&1 | FileCheck --check-prefix=LIMIT %s
+
+define i32 @bar(i32 %arg) local_unnamed_addr #0 !dbg !5 {
+bb:
+ %tmp = icmp slt i32 %arg, 0, !dbg !7
+ br i1 %tmp, label %bb1, label %bb2, !dbg !8
+
+bb1: ; preds = %bb
+ tail call void (...) @foo() #0, !dbg !9
+ tail call void (...) @foo() #0, !dbg !10
+ tail call void (...) @foo() #0, !dbg !11
+ tail call void (...) @foo() #0, !dbg !12
+ tail call void (...) @foo() #0, !dbg !13
+ tail call void (...) @foo() #0, !dbg !14
+ tail call void (...) @foo() #0, !dbg !15
+ tail call void (...) @foo() #0, !dbg !16
+ tail call void (...) @foo() #0, !dbg !17
+ br label %bb2, !dbg !18
+
+bb2: ; preds = %bb1, %bb
+ %tmp3 = phi i32 [ 0, %bb1 ], [ 1, %bb ]
+ ret i32 %tmp3, !dbg !19
+}
+
+; Function Attrs: nounwind
+declare void @foo(...) local_unnamed_addr #0
+
+; Function Attrs: nounwind
+define i32 @dummy_caller(i32 %arg) local_unnamed_addr #0 !dbg !20 {
+bb:
+; CHECK:remark{{.*}}bar partially inlined into dummy_caller
+; LIMIT-NOT:remark{{.*}}bar partially inlined into dummy_caller
+ %tmp = tail call i32 @bar(i32 %arg), !dbg !21
+ ret i32 %tmp, !dbg !22
+}
+
+attributes #0 = { nounwind }
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!3}
+!llvm.ident = !{!4}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "clang", isOptimized: true, runtimeVersion: 0, emissionKind: NoDebug, enums: !2)
+!1 = !DIFile(filename: "t.c", directory: "/tmp")
+!2 = !{}
+!3 = !{i32 2, !"Debug Info Version", i32 3}
+!4 = !{!"clang "}
+!5 = distinct !DISubprogram(name: "bar", scope: !1, file: !1, line: 3, type: !6, isLocal: false, isDefinition: true, scopeLine: 3, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)
+!6 = !DISubroutineType(types: !2)
+!7 = !DILocation(line: 4, column: 14, scope: !5)
+!8 = !DILocation(line: 4, column: 6, scope: !5)
+!9 = !DILocation(line: 5, column: 5, scope: !5)
+!10 = !DILocation(line: 6, column: 5, scope: !5)
+!11 = !DILocation(line: 7, column: 5, scope: !5)
+!12 = !DILocation(line: 8, column: 5, scope: !5)
+!13 = !DILocation(line: 9, column: 5, scope: !5)
+!14 = !DILocation(line: 10, column: 5, scope: !5)
+!15 = !DILocation(line: 11, column: 5, scope: !5)
+!16 = !DILocation(line: 12, column: 5, scope: !5)
+!17 = !DILocation(line: 13, column: 5, scope: !5)
+!18 = !DILocation(line: 14, column: 5, scope: !5)
+!19 = !DILocation(line: 17, column: 1, scope: !5)
+!20 = distinct !DISubprogram(name: "dummy_caller", scope: !1, file: !1, line: 19, type: !6, isLocal: false, isDefinition: true, scopeLine: 19, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !2)
+!21 = !DILocation(line: 21, column: 11, scope: !20)
+!22 = !DILocation(line: 21, column: 4, scope: !20)
diff --git a/test/Transforms/CodeExtractor/unreachable-block.ll b/test/Transforms/CodeExtractor/unreachable-block.ll
new file mode 100644
index 000000000000..d20a35718e68
--- /dev/null
+++ b/test/Transforms/CodeExtractor/unreachable-block.ll
@@ -0,0 +1,38 @@
+; RUN: opt -S -partial-inliner %s | FileCheck %s
+
+; CHECK-LABEL: define void @dipsy(
+; CHECK-NEXT: call void @tinkywinky.1_ontrue()
+; CHECK-NEXT: call void @patatuccio()
+; CHECK-NEXT: ret void
+; CHECK-NEXT: }
+
+; CHECK-LABEL: define internal void @tinkywinky.1_ontrue() {
+; CHECK-NEXT: newFuncRoot:
+; CHECK-NEXT: br label %ontrue
+; CHECK: .exitStub:
+; CHECK-NEXT: ret void
+; CHECK: ontrue:
+; CHECK-NEXT: call void @patatino()
+; CHECK-NEXT: br label %onfalse
+; CHECK: onfalse:
+; CHECK-NEXT: br label %.exitStub
+; CHECK-NEXT: }
+
+declare void @patatino()
+declare void @patatuccio()
+
+define fastcc void @tinkywinky() {
+ br i1 true, label %ontrue, label %onfalse
+ontrue:
+ call void @patatino()
+ br label %onfalse
+onfalse:
+ call void @patatuccio()
+ ret void
+cantreachme:
+ ret void
+}
+define void @dipsy() {
+ call fastcc void @tinkywinky()
+ ret void
+}
diff --git a/test/Transforms/ConstantHoisting/X86/ehpad.ll b/test/Transforms/ConstantHoisting/X86/ehpad.ll
index 3178e87f7548..4f87572f3447 100644
--- a/test/Transforms/ConstantHoisting/X86/ehpad.ll
+++ b/test/Transforms/ConstantHoisting/X86/ehpad.ll
@@ -1,4 +1,5 @@
; RUN: opt -S -consthoist < %s | FileCheck %s
+; RUN: opt -S -consthoist -consthoist-with-block-frequency=true < %s | FileCheck --check-prefix=BFIHOIST %s
; FIXME: The catchpad doesn't even use the constant, so a better fix would be to
; insert the bitcast in the catchpad block.
@@ -11,6 +12,16 @@ target triple = "x86_64-pc-windows-msvc"
; CHECK-NEXT: bitcast i64 9209618997431186100 to i64
; CHECK-NEXT: br i1 %tobool
+; BFIHOIST-LABEL: define i32 @main
+; BFIHOIST: then:
+; BFIHOIST: %[[CONST1:.*]] = bitcast i64 9209618997431186100 to i64
+; BFIHOIST: %add = add i64 %call4, %[[CONST1]]
+; BFIHOIST: br label %endif
+; BFIHOIST: else:
+; BFIHOIST: %[[CONST2:.*]] = bitcast i64 9209618997431186100 to i64
+; BFIHOIST: %add6 = add i64 %call5, %[[CONST2]]
+; BFIHOIST: br label %endif
+
; Function Attrs: norecurse
define i32 @main(i32 %argc, i8** nocapture readnone %argv) local_unnamed_addr #0 personality i8* bitcast (i32 (...)* @__CxxFrameHandler3 to i8*) {
%call = tail call i64 @fn(i64 0)
diff --git a/test/Transforms/GVN/invariant.group.ll b/test/Transforms/GVN/invariant.group.ll
index 570519bec520..787a1035d9cb 100644
--- a/test/Transforms/GVN/invariant.group.ll
+++ b/test/Transforms/GVN/invariant.group.ll
@@ -237,15 +237,16 @@ entry:
ret i8 %a
}
-; CHECK-LABEL: define i8 @unoptimizable4() {
-define i8 @unoptimizable4() {
+; CHECK-LABEL: define i8 @optimizable4() {
+define i8 @optimizable4() {
entry:
%ptr = alloca i8
store i8 42, i8* %ptr, !invariant.group !0
%ptr2 = call i8* @llvm.invariant.group.barrier(i8* %ptr)
+; CHECK-NOT: load
%a = load i8, i8* %ptr2, !invariant.group !0
-; CHECK: ret i8 %a
+; CHECK: ret i8 42
ret i8 %a
}
@@ -314,8 +315,9 @@ entry:
store i8 %unknownValue, i8* %ptr, !invariant.group !0
%newPtr2 = call i8* @llvm.invariant.group.barrier(i8* %ptr)
- %d = load i8, i8* %newPtr2, !invariant.group !0 ; Can't step through invariant.group.barrier to get value of %ptr
-; CHECK: ret i8 %d
+; CHECK-NOT: load
+ %d = load i8, i8* %newPtr2, !invariant.group !0
+; CHECK: ret i8 %unknownValue
ret i8 %d
}
diff --git a/test/Transforms/InferAddressSpaces/AMDGPU/infer-getelementptr.ll b/test/Transforms/InferAddressSpaces/AMDGPU/infer-getelementptr.ll
new file mode 100644
index 000000000000..6b94a74da35c
--- /dev/null
+++ b/test/Transforms/InferAddressSpaces/AMDGPU/infer-getelementptr.ll
@@ -0,0 +1,48 @@
+; RUN: opt -S -mtriple=amdgcn-amd-amdhsa -infer-address-spaces %s | FileCheck %s
+
+; Test that pure GetElementPtr instructions not directly connected to
+; a memory operation are inferred.
+
+@lds = internal unnamed_addr addrspace(3) global [648 x double] undef, align 8
+
+; CHECK-LABEL: @constexpr_gep_addrspacecast(
+; CHECK: %gep0 = getelementptr inbounds double, double addrspace(4)* addrspacecast (double addrspace(3)* getelementptr inbounds ([648 x double], [648 x double] addrspace(3)* @lds, i64 0, i64 384) to double addrspace(4)*), i64 %idx0
+; CHECK-NEXT: %asc = addrspacecast double addrspace(4)* %gep0 to double addrspace(3)*
+; CHECK-NEXT: store double 1.000000e+00, double addrspace(3)* %asc
+define void @constexpr_gep_addrspacecast(i64 %idx0, i64 %idx1) {
+ %gep0 = getelementptr inbounds double, double addrspace(4)* getelementptr ([648 x double], [648 x double] addrspace(4)* addrspacecast ([648 x double] addrspace(3)* @lds to [648 x double] addrspace(4)*), i64 0, i64 384), i64 %idx0
+ %asc = addrspacecast double addrspace(4)* %gep0 to double addrspace(3)*
+ store double 1.0, double addrspace(3)* %asc, align 8
+ ret void
+}
+
+; CHECK-LABEL: @constexpr_gep_gep_addrspacecast(
+; CHECK: %gep0 = getelementptr inbounds double, double addrspace(3)* getelementptr inbounds ([648 x double], [648 x double] addrspace(3)* @lds, i64 0, i64 384), i64 %idx0
+; CHECK-NEXT: %1 = addrspacecast double addrspace(3)* %gep0 to double addrspace(4)*
+; CHECK-NEXT: %gep1 = getelementptr inbounds double, double addrspace(4)* %1, i64 %idx1
+; CHECK-NEXT: %asc = addrspacecast double addrspace(4)* %gep1 to double addrspace(3)*
+; CHECK-NEXT: store double 1.000000e+00, double addrspace(3)* %asc, align 8
+define void @constexpr_gep_gep_addrspacecast(i64 %idx0, i64 %idx1) {
+ %gep0 = getelementptr inbounds double, double addrspace(4)* getelementptr ([648 x double], [648 x double] addrspace(4)* addrspacecast ([648 x double] addrspace(3)* @lds to [648 x double] addrspace(4)*), i64 0, i64 384), i64 %idx0
+ %gep1 = getelementptr inbounds double, double addrspace(4)* %gep0, i64 %idx1
+ %asc = addrspacecast double addrspace(4)* %gep1 to double addrspace(3)*
+ store double 1.0, double addrspace(3)* %asc, align 8
+ ret void
+}
+
+; Don't crash
+; CHECK-LABEL: @vector_gep(
+; CHECK: %cast = addrspacecast <4 x [1024 x i32] addrspace(3)*> %array to <4 x [1024 x i32] addrspace(4)*>
+define amdgpu_kernel void @vector_gep(<4 x [1024 x i32] addrspace(3)*> %array) nounwind {
+ %cast = addrspacecast <4 x [1024 x i32] addrspace(3)*> %array to <4 x [1024 x i32] addrspace(4)*>
+ %p = getelementptr [1024 x i32], <4 x [1024 x i32] addrspace(4)*> %cast, <4 x i16> zeroinitializer, <4 x i16> <i16 16, i16 16, i16 16, i16 16>
+ %p0 = extractelement <4 x i32 addrspace(4)*> %p, i32 0
+ %p1 = extractelement <4 x i32 addrspace(4)*> %p, i32 1
+ %p2 = extractelement <4 x i32 addrspace(4)*> %p, i32 2
+ %p3 = extractelement <4 x i32 addrspace(4)*> %p, i32 3
+ store i32 99, i32 addrspace(4)* %p0
+ store i32 99, i32 addrspace(4)* %p1
+ store i32 99, i32 addrspace(4)* %p2
+ store i32 99, i32 addrspace(4)* %p3
+ ret void
+}
diff --git a/test/Transforms/InstCombine/add-sitofp.ll b/test/Transforms/InstCombine/add-sitofp.ll
index 2abfa436f6d3..105c9efa0893 100644
--- a/test/Transforms/InstCombine/add-sitofp.ll
+++ b/test/Transforms/InstCombine/add-sitofp.ll
@@ -15,3 +15,127 @@ define double @x(i32 %a, i32 %b) {
%p = fadd double %o, 1.0
ret double %p
}
+
+define double @test(i32 %a) {
+; CHECK-LABEL: @test(
+; CHECK-NEXT: [[A_AND:%.*]] = and i32 [[A:%.*]], 1073741823
+; CHECK-NEXT: [[ADDCONV:%.*]] = add nuw nsw i32 [[A_AND]], 1
+; CHECK-NEXT: [[RES:%.*]] = sitofp i32 [[ADDCONV]] to double
+; CHECK-NEXT: ret double [[RES]]
+;
+ ; Drop two highest bits to guarantee that %a + 1 doesn't overflow
+ %a_and = and i32 %a, 1073741823
+ %a_and_fp = sitofp i32 %a_and to double
+ %res = fadd double %a_and_fp, 1.0
+ ret double %res
+}
+
+define float @test_neg(i32 %a) {
+; CHECK-LABEL: @test_neg(
+; CHECK-NEXT: [[A_AND:%.*]] = and i32 [[A:%.*]], 1073741823
+; CHECK-NEXT: [[A_AND_FP:%.*]] = sitofp i32 [[A_AND]] to float
+; CHECK-NEXT: [[RES:%.*]] = fadd float [[A_AND_FP]], 1.000000e+00
+; CHECK-NEXT: ret float [[RES]]
+;
+ ; Drop two highest bits to guarantee that %a + 1 doesn't overflow
+ %a_and = and i32 %a, 1073741823
+ %a_and_fp = sitofp i32 %a_and to float
+ %res = fadd float %a_and_fp, 1.0
+ ret float %res
+}
+
+define double @test_2(i32 %a, i32 %b) {
+; CHECK-LABEL: @test_2(
+; CHECK-NEXT: [[A_AND:%.*]] = and i32 [[A:%.*]], 1073741823
+; CHECK-NEXT: [[B_AND:%.*]] = and i32 [[B:%.*]], 1073741823
+; CHECK-NEXT: [[ADDCONV:%.*]] = add nuw nsw i32 [[A_AND]], [[B_AND]]
+; CHECK-NEXT: [[RES:%.*]] = sitofp i32 [[ADDCONV]] to double
+; CHECK-NEXT: ret double [[RES]]
+;
+ ; Drop two highest bits to guarantee that %a + %b doesn't overflow
+ %a_and = and i32 %a, 1073741823
+ %b_and = and i32 %b, 1073741823
+
+ %a_and_fp = sitofp i32 %a_and to double
+ %b_and_fp = sitofp i32 %b_and to double
+
+ %res = fadd double %a_and_fp, %b_and_fp
+ ret double %res
+}
+
+define float @test_2_neg(i32 %a, i32 %b) {
+; CHECK-LABEL: @test_2_neg(
+; CHECK-NEXT: [[A_AND:%.*]] = and i32 [[A:%.*]], 1073741823
+; CHECK-NEXT: [[B_AND:%.*]] = and i32 [[B:%.*]], 1073741823
+; CHECK-NEXT: [[A_AND_FP:%.*]] = sitofp i32 [[A_AND]] to float
+; CHECK-NEXT: [[B_AND_FP:%.*]] = sitofp i32 [[B_AND]] to float
+; CHECK-NEXT: [[RES:%.*]] = fadd float [[A_AND_FP]], [[B_AND_FP]]
+; CHECK-NEXT: ret float [[RES]]
+;
+ ; Drop two highest bits to guarantee that %a + %b doesn't overflow
+ %a_and = and i32 %a, 1073741823
+ %b_and = and i32 %b, 1073741823
+
+ %a_and_fp = sitofp i32 %a_and to float
+ %b_and_fp = sitofp i32 %b_and to float
+
+ %res = fadd float %a_and_fp, %b_and_fp
+ ret float %res
+}
+
+; This test demonstrates overly conservative legality check. The float addition
+; can be replaced with the integer addition because the result of the operation
+; can be represented in float, but we don't do that now.
+define float @test_3(i32 %a, i32 %b) {
+; CHECK-LABEL: @test_3(
+; CHECK-NEXT: [[M:%.*]] = lshr i32 [[A:%.*]], 24
+; CHECK-NEXT: [[N:%.*]] = and i32 [[M]], [[B:%.*]]
+; CHECK-NEXT: [[O:%.*]] = sitofp i32 [[N]] to float
+; CHECK-NEXT: [[P:%.*]] = fadd float [[O]], 1.000000e+00
+; CHECK-NEXT: ret float [[P]]
+;
+ %m = lshr i32 %a, 24
+ %n = and i32 %m, %b
+ %o = sitofp i32 %n to float
+ %p = fadd float %o, 1.0
+ ret float %p
+}
+
+define <4 x double> @test_4(<4 x i32> %a, <4 x i32> %b) {
+; CHECK-LABEL: @test_4(
+; CHECK-NEXT: [[A_AND:%.*]] = and <4 x i32> [[A:%.*]], <i32 1073741823, i32 1073741823, i32 1073741823, i32 1073741823>
+; CHECK-NEXT: [[B_AND:%.*]] = and <4 x i32> [[B:%.*]], <i32 1073741823, i32 1073741823, i32 1073741823, i32 1073741823>
+; CHECK-NEXT: [[ADDCONV:%.*]] = add nuw nsw <4 x i32> [[A_AND]], [[B_AND]]
+; CHECK-NEXT: [[RES:%.*]] = sitofp <4 x i32> [[ADDCONV]] to <4 x double>
+; CHECK-NEXT: ret <4 x double> [[RES]]
+;
+ ; Drop two highest bits to guarantee that %a + %b doesn't overflow
+ %a_and = and <4 x i32> %a, <i32 1073741823, i32 1073741823, i32 1073741823, i32 1073741823>
+ %b_and = and <4 x i32> %b, <i32 1073741823, i32 1073741823, i32 1073741823, i32 1073741823>
+
+ %a_and_fp = sitofp <4 x i32> %a_and to <4 x double>
+ %b_and_fp = sitofp <4 x i32> %b_and to <4 x double>
+
+ %res = fadd <4 x double> %a_and_fp, %b_and_fp
+ ret <4 x double> %res
+}
+
+define <4 x float> @test_4_neg(<4 x i32> %a, <4 x i32> %b) {
+; CHECK-LABEL: @test_4_neg(
+; CHECK-NEXT: [[A_AND:%.*]] = and <4 x i32> [[A:%.*]], <i32 1073741823, i32 1073741823, i32 1073741823, i32 1073741823>
+; CHECK-NEXT: [[B_AND:%.*]] = and <4 x i32> [[B:%.*]], <i32 1073741823, i32 1073741823, i32 1073741823, i32 1073741823>
+; CHECK-NEXT: [[A_AND_FP:%.*]] = sitofp <4 x i32> [[A_AND]] to <4 x float>
+; CHECK-NEXT: [[B_AND_FP:%.*]] = sitofp <4 x i32> [[B_AND]] to <4 x float>
+; CHECK-NEXT: [[RES:%.*]] = fadd <4 x float> [[A_AND_FP]], [[B_AND_FP]]
+; CHECK-NEXT: ret <4 x float> [[RES]]
+;
+ ; Drop two highest bits to guarantee that %a + %b doesn't overflow
+ %a_and = and <4 x i32> %a, <i32 1073741823, i32 1073741823, i32 1073741823, i32 1073741823>
+ %b_and = and <4 x i32> %b, <i32 1073741823, i32 1073741823, i32 1073741823, i32 1073741823>
+
+ %a_and_fp = sitofp <4 x i32> %a_and to <4 x float>
+ %b_and_fp = sitofp <4 x i32> %b_and to <4 x float>
+
+ %res = fadd <4 x float> %a_and_fp, %b_and_fp
+ ret <4 x float> %res
+}
diff --git a/test/Transforms/InstCombine/amdgcn-intrinsics.ll b/test/Transforms/InstCombine/amdgcn-intrinsics.ll
index deae5502bcdb..357085fd31fe 100644
--- a/test/Transforms/InstCombine/amdgcn-intrinsics.ll
+++ b/test/Transforms/InstCombine/amdgcn-intrinsics.ll
@@ -1259,7 +1259,7 @@ define i64 @icmp_constant_inputs_false() {
}
; CHECK-LABEL: @icmp_constant_inputs_true(
-; CHECK: ret i64 -1
+; CHECK: %result = call i64 @llvm.read_register.i64(metadata !0) #4
define i64 @icmp_constant_inputs_true() {
%result = call i64 @llvm.amdgcn.icmp.i32(i32 9, i32 8, i32 34)
ret i64 %result
@@ -1524,7 +1524,7 @@ define i64 @fcmp_constant_inputs_false() {
}
; CHECK-LABEL: @fcmp_constant_inputs_true(
-; CHECK: ret i64 -1
+; CHECK: %result = call i64 @llvm.read_register.i64(metadata !0) #4
define i64 @fcmp_constant_inputs_true() {
%result = call i64 @llvm.amdgcn.fcmp.f32(float 2.0, float 4.0, i32 4)
ret i64 %result
@@ -1536,3 +1536,5 @@ define i64 @fcmp_constant_to_rhs_olt(float %x) {
%result = call i64 @llvm.amdgcn.fcmp.f32(float 4.0, float %x, i32 4)
ret i64 %result
}
+
+; CHECK: attributes #4 = { convergent }
diff --git a/test/Transforms/InstCombine/and-or-icmps.ll b/test/Transforms/InstCombine/and-or-icmps.ll
index e3aeee293139..464f390f988f 100644
--- a/test/Transforms/InstCombine/and-or-icmps.ll
+++ b/test/Transforms/InstCombine/and-or-icmps.ll
@@ -3,10 +3,8 @@
define i1 @PR1817_1(i32 %X) {
; CHECK-LABEL: @PR1817_1(
-; CHECK-NEXT: [[A:%.*]] = icmp slt i32 %X, 10
; CHECK-NEXT: [[B:%.*]] = icmp ult i32 %X, 10
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%A = icmp slt i32 %X, 10
%B = icmp ult i32 %X, 10
diff --git a/test/Transforms/InstCombine/and-or-not.ll b/test/Transforms/InstCombine/and-or-not.ll
index 144e42e74868..a2e8a10735fd 100644
--- a/test/Transforms/InstCombine/and-or-not.ll
+++ b/test/Transforms/InstCombine/and-or-not.ll
@@ -2,55 +2,525 @@
; PR1510
-; These are all equivalent to A^B
-
-define i32 @test1(i32 %a, i32 %b) {
- %tmp3 = or i32 %b, %a ; <i32> [#uses=1]
- %tmp3not = xor i32 %tmp3, -1 ; <i32> [#uses=1]
- %tmp6 = and i32 %b, %a ; <i32> [#uses=1]
- %tmp7 = or i32 %tmp6, %tmp3not ; <i32> [#uses=1]
- %tmp7not = xor i32 %tmp7, -1 ; <i32> [#uses=1]
- ret i32 %tmp7not
-
-; CHECK-LABEL: @test1(
-; CHECK-NEXT: [[TMP7NOT:%.*]] = xor i32 %b, %a
-; CHECK-NEXT: ret i32 [[TMP7NOT]]
-}
-
-define i32 @test2(i32 %a, i32 %b) {
- %tmp3 = or i32 %b, %a ; <i32> [#uses=1]
- %tmp6 = and i32 %b, %a ; <i32> [#uses=1]
- %tmp6not = xor i32 %tmp6, -1 ; <i32> [#uses=1]
- %tmp7 = and i32 %tmp3, %tmp6not ; <i32> [#uses=1]
- ret i32 %tmp7
-
-; CHECK-LABEL: @test2(
-; CHECK-NEXT: [[TMP7:%.*]] = xor i32 %b, %a
-; CHECK-NEXT: ret i32 [[TMP7]]
-}
-
-define <4 x i32> @test3(<4 x i32> %a, <4 x i32> %b) {
- %tmp3 = or <4 x i32> %a, %b ; <<4 x i32>> [#uses=1]
- %tmp3not = xor <4 x i32> %tmp3, < i32 -1, i32 -1, i32 -1, i32 -1 > ; <<4 x i32>> [#uses=1]
- %tmp6 = and <4 x i32> %a, %b ; <<4 x i32>> [#uses=1]
- %tmp7 = or <4 x i32> %tmp6, %tmp3not ; <<4 x i32>> [#uses=1]
- %tmp7not = xor <4 x i32> %tmp7, < i32 -1, i32 -1, i32 -1, i32 -1 > ; <<4 x i32>> [#uses=1]
- ret <4 x i32> %tmp7not
-
-; CHECK-LABEL: @test3(
-; CHECK-NEXT: [[TMP7NOT:%.*]] = xor <4 x i32> %a, %b
-; CHECK-NEXT: ret <4 x i32> [[TMP7NOT]]
-}
-
-define <4 x i32> @test4(<4 x i32> %a, <4 x i32> %b) {
- %tmp3 = or <4 x i32> %a, %b ; <<4 x i32>> [#uses=1]
- %tmp6 = and <4 x i32> %a, %b ; <<4 x i32>> [#uses=1]
- %tmp6not = xor <4 x i32> %tmp6, < i32 -1, i32 -1, i32 -1, i32 -1 > ; <<4 x i32>> [#uses=1]
- %tmp7 = and <4 x i32> %tmp3, %tmp6not ; <<4 x i32>> [#uses=1]
- ret <4 x i32> %tmp7
-
-; CHECK-LABEL: @test4(
-; CHECK-NEXT: [[TMP7:%.*]] = xor <4 x i32> %a, %b
-; CHECK-NEXT: ret <4 x i32> [[TMP7]]
+; (a | b) & ~(a & b) --> a ^ b
+
+define i32 @and_to_xor1(i32 %a, i32 %b) {
+; CHECK-LABEL: @and_to_xor1(
+; CHECK-NEXT: [[AND2:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[AND2]]
+;
+ %or = or i32 %a, %b
+ %and = and i32 %a, %b
+ %not = xor i32 %and, -1
+ %and2 = and i32 %or, %not
+ ret i32 %and2
+}
+
+; ~(a & b) & (a | b) --> a ^ b
+
+define i32 @and_to_xor2(i32 %a, i32 %b) {
+; CHECK-LABEL: @and_to_xor2(
+; CHECK-NEXT: [[AND2:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[AND2]]
+;
+ %or = or i32 %a, %b
+ %and = and i32 %a, %b
+ %not = xor i32 %and, -1
+ %and2 = and i32 %not, %or
+ ret i32 %and2
+}
+
+; (a | b) & ~(b & a) --> a ^ b
+
+define i32 @and_to_xor3(i32 %a, i32 %b) {
+; CHECK-LABEL: @and_to_xor3(
+; CHECK-NEXT: [[AND2:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[AND2]]
+;
+ %or = or i32 %a, %b
+ %and = and i32 %b, %a
+ %not = xor i32 %and, -1
+ %and2 = and i32 %or, %not
+ ret i32 %and2
+}
+
+; ~(a & b) & (b | a) --> a ^ b
+
+define i32 @and_to_xor4(i32 %a, i32 %b) {
+; CHECK-LABEL: @and_to_xor4(
+; CHECK-NEXT: [[AND2:%.*]] = xor i32 %b, %a
+; CHECK-NEXT: ret i32 [[AND2]]
+;
+ %or = or i32 %b, %a
+ %and = and i32 %a, %b
+ %not = xor i32 %and, -1
+ %and2 = and i32 %not, %or
+ ret i32 %and2
+}
+
+define <4 x i32> @and_to_xor1_vec(<4 x i32> %a, <4 x i32> %b) {
+; CHECK-LABEL: @and_to_xor1_vec(
+; CHECK-NEXT: [[AND2:%.*]] = xor <4 x i32> %a, %b
+; CHECK-NEXT: ret <4 x i32> [[AND2]]
+;
+ %or = or <4 x i32> %a, %b
+ %and = and <4 x i32> %a, %b
+ %not = xor <4 x i32> %and, < i32 -1, i32 -1, i32 -1, i32 -1 >
+ %and2 = and <4 x i32> %or, %not
+ ret <4 x i32> %and2
+}
+
+; In the next 4 tests, cast instructions are used to thwart operand complexity
+; canonicalizations, so we can test all of the commuted patterns.
+
+; (a | ~b) & (~a | b) --> ~(a ^ b)
+
+define i32 @and_to_nxor1(float %fa, float %fb) {
+; CHECK-LABEL: @and_to_nxor1(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[TMP1:%.*]] = xor i32 [[A]], [[B]]
+; CHECK-NEXT: [[AND:%.*]] = xor i32 [[TMP1]], -1
+; CHECK-NEXT: ret i32 [[AND]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %or1 = or i32 %a, %notb
+ %or2 = or i32 %nota, %b
+ %and = and i32 %or1, %or2
+ ret i32 %and
+}
+
+; (a | ~b) & (b | ~a) --> ~(a ^ b)
+
+define i32 @and_to_nxor2(float %fa, float %fb) {
+; CHECK-LABEL: @and_to_nxor2(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[TMP1:%.*]] = xor i32 [[A]], [[B]]
+; CHECK-NEXT: [[AND:%.*]] = xor i32 [[TMP1]], -1
+; CHECK-NEXT: ret i32 [[AND]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %or1 = or i32 %a, %notb
+ %or2 = or i32 %b, %nota
+ %and = and i32 %or1, %or2
+ ret i32 %and
+}
+
+; (~a | b) & (a | ~b) --> ~(a ^ b)
+
+define i32 @and_to_nxor3(float %fa, float %fb) {
+; CHECK-LABEL: @and_to_nxor3(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[TMP1:%.*]] = xor i32 [[B]], [[A]]
+; CHECK-NEXT: [[AND:%.*]] = xor i32 [[TMP1]], -1
+; CHECK-NEXT: ret i32 [[AND]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %or1 = or i32 %nota, %b
+ %or2 = or i32 %a, %notb
+ %and = and i32 %or1, %or2
+ ret i32 %and
+}
+
+; (~a | b) & (~b | a) --> ~(a ^ b)
+
+define i32 @and_to_nxor4(float %fa, float %fb) {
+; CHECK-LABEL: @and_to_nxor4(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[TMP1:%.*]] = xor i32 [[B]], [[A]]
+; CHECK-NEXT: [[AND:%.*]] = xor i32 [[TMP1]], -1
+; CHECK-NEXT: ret i32 [[AND]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %or1 = or i32 %nota, %b
+ %or2 = or i32 %notb, %a
+ %and = and i32 %or1, %or2
+ ret i32 %and
+}
+
+; (a & ~b) | (~a & b) --> a ^ b
+
+define i32 @or_to_xor1(float %fa, float %fb) {
+; CHECK-LABEL: @or_to_xor1(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[OR:%.*]] = xor i32 [[A]], [[B]]
+; CHECK-NEXT: ret i32 [[OR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %and1 = and i32 %a, %notb
+ %and2 = and i32 %nota, %b
+ %or = or i32 %and1, %and2
+ ret i32 %or
+}
+
+; (a & ~b) | (b & ~a) --> a ^ b
+
+define i32 @or_to_xor2(float %fa, float %fb) {
+; CHECK-LABEL: @or_to_xor2(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[OR:%.*]] = xor i32 [[A]], [[B]]
+; CHECK-NEXT: ret i32 [[OR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %and1 = and i32 %a, %notb
+ %and2 = and i32 %b, %nota
+ %or = or i32 %and1, %and2
+ ret i32 %or
+}
+
+; (~a & b) | (~b & a) --> a ^ b
+
+define i32 @or_to_xor3(float %fa, float %fb) {
+; CHECK-LABEL: @or_to_xor3(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[OR:%.*]] = xor i32 [[B]], [[A]]
+; CHECK-NEXT: ret i32 [[OR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %and1 = and i32 %nota, %b
+ %and2 = and i32 %notb, %a
+ %or = or i32 %and1, %and2
+ ret i32 %or
+}
+
+; (~a & b) | (a & ~b) --> a ^ b
+
+define i32 @or_to_xor4(float %fa, float %fb) {
+; CHECK-LABEL: @or_to_xor4(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[OR:%.*]] = xor i32 [[B]], [[A]]
+; CHECK-NEXT: ret i32 [[OR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %and1 = and i32 %nota, %b
+ %and2 = and i32 %a, %notb
+ %or = or i32 %and1, %and2
+ ret i32 %or
+}
+
+; (a & b) | ~(a | b) --> ~(a ^ b)
+
+define i32 @or_to_nxor1(i32 %a, i32 %b) {
+; CHECK-LABEL: @or_to_nxor1(
+; CHECK-NEXT: [[TMP1:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: [[OR2:%.*]] = xor i32 [[TMP1]], -1
+; CHECK-NEXT: ret i32 [[OR2]]
+;
+ %and = and i32 %a, %b
+ %or = or i32 %a, %b
+ %notor = xor i32 %or, -1
+ %or2 = or i32 %and, %notor
+ ret i32 %or2
+}
+
+; (a & b) | ~(b | a) --> ~(a ^ b)
+
+define i32 @or_to_nxor2(i32 %a, i32 %b) {
+; CHECK-LABEL: @or_to_nxor2(
+; CHECK-NEXT: [[TMP1:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: [[OR2:%.*]] = xor i32 [[TMP1]], -1
+; CHECK-NEXT: ret i32 [[OR2]]
+;
+ %and = and i32 %a, %b
+ %or = or i32 %b, %a
+ %notor = xor i32 %or, -1
+ %or2 = or i32 %and, %notor
+ ret i32 %or2
+}
+
+; ~(a | b) | (a & b) --> ~(a ^ b)
+
+define i32 @or_to_nxor3(i32 %a, i32 %b) {
+; CHECK-LABEL: @or_to_nxor3(
+; CHECK-NEXT: [[TMP1:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: [[OR2:%.*]] = xor i32 [[TMP1]], -1
+; CHECK-NEXT: ret i32 [[OR2]]
+;
+ %and = and i32 %a, %b
+ %or = or i32 %a, %b
+ %notor = xor i32 %or, -1
+ %or2 = or i32 %notor, %and
+ ret i32 %or2
+}
+
+; ~(a | b) | (b & a) --> ~(a ^ b)
+
+define i32 @or_to_nxor4(i32 %a, i32 %b) {
+; CHECK-LABEL: @or_to_nxor4(
+; CHECK-NEXT: [[TMP1:%.*]] = xor i32 %b, %a
+; CHECK-NEXT: [[OR2:%.*]] = xor i32 [[TMP1]], -1
+; CHECK-NEXT: ret i32 [[OR2]]
+;
+ %and = and i32 %b, %a
+ %or = or i32 %a, %b
+ %notor = xor i32 %or, -1
+ %or2 = or i32 %notor, %and
+ ret i32 %or2
+}
+
+; (a & b) ^ (a | b) --> a ^ b
+
+define i32 @xor_to_xor1(i32 %a, i32 %b) {
+; CHECK-LABEL: @xor_to_xor1(
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %and = and i32 %a, %b
+ %or = or i32 %a, %b
+ %xor = xor i32 %and, %or
+ ret i32 %xor
+}
+
+; (a & b) ^ (b | a) --> a ^ b
+
+define i32 @xor_to_xor2(i32 %a, i32 %b) {
+; CHECK-LABEL: @xor_to_xor2(
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %and = and i32 %a, %b
+ %or = or i32 %b, %a
+ %xor = xor i32 %and, %or
+ ret i32 %xor
+}
+
+; (a | b) ^ (a & b) --> a ^ b
+
+define i32 @xor_to_xor3(i32 %a, i32 %b) {
+; CHECK-LABEL: @xor_to_xor3(
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %or = or i32 %a, %b
+ %and = and i32 %a, %b
+ %xor = xor i32 %or, %and
+ ret i32 %xor
+}
+
+; (a | b) ^ (b & a) --> a ^ b
+
+define i32 @xor_to_xor4(i32 %a, i32 %b) {
+; CHECK-LABEL: @xor_to_xor4(
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %or = or i32 %a, %b
+ %and = and i32 %b, %a
+ %xor = xor i32 %or, %and
+ ret i32 %xor
+}
+
+; (a | ~b) ^ (~a | b) --> a ^ b
+
+; In the next 8 tests, cast instructions are used to thwart operand complexity
+; canonicalizations, so we can test all of the commuted patterns.
+
+define i32 @xor_to_xor5(float %fa, float %fb) {
+; CHECK-LABEL: @xor_to_xor5(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[A]], [[B]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %or1 = or i32 %a, %notb
+ %or2 = or i32 %nota, %b
+ %xor = xor i32 %or1, %or2
+ ret i32 %xor
+}
+
+; (a | ~b) ^ (b | ~a) --> a ^ b
+
+define i32 @xor_to_xor6(float %fa, float %fb) {
+; CHECK-LABEL: @xor_to_xor6(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[B]], [[A]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %or1 = or i32 %a, %notb
+ %or2 = or i32 %b, %nota
+ %xor = xor i32 %or1, %or2
+ ret i32 %xor
+}
+
+; (~a | b) ^ (a | ~b) --> a ^ b
+
+define i32 @xor_to_xor7(float %fa, float %fb) {
+; CHECK-LABEL: @xor_to_xor7(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[A]], [[B]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %or1 = or i32 %a, %notb
+ %or2 = or i32 %nota, %b
+ %xor = xor i32 %or2, %or1
+ ret i32 %xor
+}
+
+; (~a | b) ^ (~b | a) --> a ^ b
+
+define i32 @xor_to_xor8(float %fa, float %fb) {
+; CHECK-LABEL: @xor_to_xor8(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[B]], [[A]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %or1 = or i32 %notb, %a
+ %or2 = or i32 %nota, %b
+ %xor = xor i32 %or2, %or1
+ ret i32 %xor
+}
+
+; (a & ~b) ^ (~a & b) --> a ^ b
+
+define i32 @xor_to_xor9(float %fa, float %fb) {
+; CHECK-LABEL: @xor_to_xor9(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[A]], [[B]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %and1 = and i32 %a, %notb
+ %and2 = and i32 %nota, %b
+ %xor = xor i32 %and1, %and2
+ ret i32 %xor
+}
+
+; (a & ~b) ^ (b & ~a) --> a ^ b
+
+define i32 @xor_to_xor10(float %fa, float %fb) {
+; CHECK-LABEL: @xor_to_xor10(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[B]], [[A]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %and1 = and i32 %a, %notb
+ %and2 = and i32 %b, %nota
+ %xor = xor i32 %and1, %and2
+ ret i32 %xor
+}
+
+; (~a & b) ^ (a & ~b) --> a ^ b
+
+define i32 @xor_to_xor11(float %fa, float %fb) {
+; CHECK-LABEL: @xor_to_xor11(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[A]], [[B]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %and1 = and i32 %a, %notb
+ %and2 = and i32 %nota, %b
+ %xor = xor i32 %and2, %and1
+ ret i32 %xor
+}
+
+; (~a & b) ^ (~b & a) --> a ^ b
+
+define i32 @xor_to_xor12(float %fa, float %fb) {
+; CHECK-LABEL: @xor_to_xor12(
+; CHECK-NEXT: [[A:%.*]] = fptosi float %fa to i32
+; CHECK-NEXT: [[B:%.*]] = fptosi float %fb to i32
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[B]], [[A]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %a = fptosi float %fa to i32
+ %b = fptosi float %fb to i32
+ %nota = xor i32 %a, -1
+ %notb = xor i32 %b, -1
+ %and1 = and i32 %notb, %a
+ %and2 = and i32 %nota, %b
+ %xor = xor i32 %and2, %and1
+ ret i32 %xor
+}
+
+; ~(~(a | b) | (a & b)) --> (a | b) & ~(a & b) -> a ^ b
+
+define i32 @demorgan_plus_and_to_xor(i32 %a, i32 %b) {
+; CHECK-LABEL: @demorgan_plus_and_to_xor(
+; CHECK-NEXT: [[NOT:%.*]] = xor i32 %b, %a
+; CHECK-NEXT: ret i32 [[NOT]]
+;
+ %or = or i32 %b, %a
+ %notor = xor i32 %or, -1
+ %and = and i32 %b, %a
+ %or2 = or i32 %and, %notor
+ %not = xor i32 %or2, -1
+ ret i32 %not
+}
+
+define <4 x i32> @demorgan_plus_and_to_xor_vec(<4 x i32> %a, <4 x i32> %b) {
+; CHECK-LABEL: @demorgan_plus_and_to_xor_vec(
+; CHECK-NEXT: [[NOT:%.*]] = xor <4 x i32> %a, %b
+; CHECK-NEXT: ret <4 x i32> [[NOT]]
+;
+ %or = or <4 x i32> %a, %b
+ %notor = xor <4 x i32> %or, < i32 -1, i32 -1, i32 -1, i32 -1 >
+ %and = and <4 x i32> %a, %b
+ %or2 = or <4 x i32> %and, %notor
+ %not = xor <4 x i32> %or2, < i32 -1, i32 -1, i32 -1, i32 -1 >
+ ret <4 x i32> %not
}
diff --git a/test/Transforms/InstCombine/and.ll b/test/Transforms/InstCombine/and.ll
index 9a4d1e5758b3..a2715c12fa88 100644
--- a/test/Transforms/InstCombine/and.ll
+++ b/test/Transforms/InstCombine/and.ll
@@ -613,3 +613,31 @@ final:
%value = and <2 x i32> %A, <i32 123, i32 333>
ret <2 x i32> %value
}
+
+define i32 @test42(i32 %a, i32 %c, i32 %d) {
+; CHECK-LABEL: @test42(
+; CHECK-NEXT: [[FORCE:%.*]] = mul i32 [[C:%.*]], [[D:%.*]]
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[FORCE]], [[A:%.*]]
+; CHECK-NEXT: ret i32 [[AND]]
+;
+ %force = mul i32 %c, %d ; forces the complexity sorting
+ %or = or i32 %a, %force
+ %nota = xor i32 %a, -1
+ %xor = xor i32 %nota, %force
+ %and = and i32 %xor, %or
+ ret i32 %and
+}
+
+define i32 @test43(i32 %a, i32 %c, i32 %d) {
+; CHECK-LABEL: @test43(
+; CHECK-NEXT: [[FORCE:%.*]] = mul i32 [[C:%.*]], [[D:%.*]]
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[FORCE]], [[A:%.*]]
+; CHECK-NEXT: ret i32 [[AND]]
+;
+ %force = mul i32 %c, %d ; forces the complexity sorting
+ %or = or i32 %a, %force
+ %nota = xor i32 %a, -1
+ %xor = xor i32 %nota, %force
+ %and = and i32 %or, %xor
+ ret i32 %and
+}
diff --git a/test/Transforms/InstCombine/apint-shift.ll b/test/Transforms/InstCombine/apint-shift.ll
index f339de35d77c..679a87a7efbc 100644
--- a/test/Transforms/InstCombine/apint-shift.ll
+++ b/test/Transforms/InstCombine/apint-shift.ll
@@ -287,13 +287,10 @@ define i47 @test12(i47 %X) {
ret i47 %sh2
}
-; FIXME: Same as above with vectors.
-
define <2 x i47> @test12_splat_vec(<2 x i47> %X) {
; CHECK-LABEL: @test12_splat_vec(
-; CHECK-NEXT: [[SH1:%.*]] = ashr <2 x i47> %X, <i47 8, i47 8>
-; CHECK-NEXT: [[SH2:%.*]] = shl nsw <2 x i47> [[SH1]], <i47 8, i47 8>
-; CHECK-NEXT: ret <2 x i47> [[SH2]]
+; CHECK-NEXT: [[TMP1:%.*]] = and <2 x i47> %X, <i47 -256, i47 -256>
+; CHECK-NEXT: ret <2 x i47> [[TMP1]]
;
%sh1 = ashr <2 x i47> %X, <i47 8, i47 8>
%sh2 = shl <2 x i47> %sh1, <i47 8, i47 8>
diff --git a/test/Transforms/InstCombine/debuginfo-dce.ll b/test/Transforms/InstCombine/debuginfo-dce.ll
index e23aef7334d5..58e9d7d767e9 100644
--- a/test/Transforms/InstCombine/debuginfo-dce.ll
+++ b/test/Transforms/InstCombine/debuginfo-dce.ll
@@ -23,7 +23,6 @@ target triple = "x86_64-apple-macosx10.12.0"
%struct.entry = type { %struct.entry* }
-; Function Attrs: nounwind ssp uwtable
define void @salvage_load(%struct.entry** %queue) local_unnamed_addr #0 !dbg !14 {
entry:
%im_not_dead = alloca %struct.entry*
@@ -38,7 +37,6 @@ entry:
ret void, !dbg !21
}
-; Function Attrs: nounwind ssp uwtable
define void @salvage_bitcast(%struct.entry* %queue) local_unnamed_addr #0 !dbg !14 {
entry:
%im_not_dead = alloca i8*
@@ -53,24 +51,54 @@ entry:
ret void, !dbg !21
}
-; Function Attrs: nounwind ssp uwtable
-define void @salvage_gep(%struct.entry* %queue, %struct.entry* %end) local_unnamed_addr #0 !dbg !14 {
+define void @salvage_gep0(%struct.entry* %queue, %struct.entry* %end) local_unnamed_addr #0 !dbg !14 {
entry:
%im_not_dead = alloca %struct.entry**
%0 = getelementptr inbounds %struct.entry, %struct.entry* %queue, i32 -1, i32 0, !dbg !19
%1 = getelementptr inbounds %struct.entry, %struct.entry* %queue, i32 -1, i32 0, !dbg !19
call void @llvm.dbg.value(metadata %struct.entry** %1, i64 0, metadata !18, metadata !20), !dbg !19
-; CHECK: define void @salvage_gep
+; CHECK: define void @salvage_gep0
; CHECK-NEXT: entry:
; CHECK-NEXT: call void @llvm.dbg.value(metadata %struct.entry* %queue, i64 0,
-; CHECK-SAME: metadata ![[GEP_EXPR:[0-9]+]])
+; CHECK-SAME: metadata ![[GEP0_EXPR:[0-9]+]])
+ store %struct.entry** %1, %struct.entry*** %im_not_dead, align 8
+ ret void, !dbg !21
+}
+
+define void @salvage_gep1(%struct.entry* %queue, %struct.entry* %end) local_unnamed_addr #0 !dbg !14 {
+entry:
+ %im_not_dead = alloca %struct.entry**
+ %0 = getelementptr inbounds %struct.entry, %struct.entry* %queue, i32 -1, i32 0, !dbg !19
+ %1 = getelementptr inbounds %struct.entry, %struct.entry* %queue, i32 -1, i32 0, !dbg !19
+ call void @llvm.dbg.value(metadata %struct.entry** %1, i64 0, metadata !18, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)), !dbg !19
+; CHECK: define void @salvage_gep1
+; CHECK-NEXT: entry:
+; CHECK-NEXT: call void @llvm.dbg.value(metadata %struct.entry* %queue, i64 0,
+; CHECK-SAME: metadata ![[GEP1_EXPR:[0-9]+]])
+ store %struct.entry** %1, %struct.entry*** %im_not_dead, align 8
+ ret void, !dbg !21
+}
+
+define void @salvage_gep2(%struct.entry* %queue, %struct.entry* %end) local_unnamed_addr #0 !dbg !14 {
+entry:
+ %im_not_dead = alloca %struct.entry**
+ %0 = getelementptr inbounds %struct.entry, %struct.entry* %queue, i32 -1, i32 0, !dbg !19
+ %1 = getelementptr inbounds %struct.entry, %struct.entry* %queue, i32 -1, i32 0, !dbg !19
+ call void @llvm.dbg.value(metadata %struct.entry** %1, i64 0, metadata !18, metadata !DIExpression(DW_OP_stack_value)), !dbg !19
+; CHECK: define void @salvage_gep2
+; CHECK-NEXT: entry:
+; CHECK-NEXT: call void @llvm.dbg.value(metadata %struct.entry* %queue, i64 0,
+; CHECK-SAME: metadata ![[GEP2_EXPR:[0-9]+]])
store %struct.entry** %1, %struct.entry*** %im_not_dead, align 8
ret void, !dbg !21
}
; CHECK: ![[LOAD_EXPR]] = !DIExpression(DW_OP_deref, DW_OP_plus, 0)
; CHECK: ![[BITCAST_EXPR]] = !DIExpression(DW_OP_plus, 0)
-; CHECK: ![[GEP_EXPR]] = !DIExpression(DW_OP_minus, 8, DW_OP_plus, 0)
+; CHECK: ![[GEP0_EXPR]] = !DIExpression(DW_OP_minus, 8, DW_OP_plus, 0, DW_OP_stack_value)
+; CHECK: ![[GEP1_EXPR]] = !DIExpression(DW_OP_minus, 8, DW_OP_stack_value,
+; CHECK-SAME: DW_OP_LLVM_fragment, 0, 32)
+; CHECK: ![[GEP2_EXPR]] = !DIExpression(DW_OP_minus, 8, DW_OP_stack_value)
; Function Attrs: nounwind readnone
declare void @llvm.dbg.value(metadata, i64, metadata, metadata) #1
diff --git a/test/Transforms/InstCombine/fsub.ll b/test/Transforms/InstCombine/fsub.ll
index af2fadd2867b..6b62f5dd7e38 100644
--- a/test/Transforms/InstCombine/fsub.ll
+++ b/test/Transforms/InstCombine/fsub.ll
@@ -21,3 +21,47 @@ define double @test2(double %x, double %y) nounwind {
ret double %t2
}
+
+; CHECK-LABEL: @fsub_undef(
+; CHECK: %sub = fsub float %val, undef
+define float @fsub_undef(float %val) {
+bb:
+ %sub = fsub float %val, undef
+ ret float %sub
+}
+
+; XXX - Why doesn't this fold to undef?
+; CHECK-LABEL: @fsub_fast_undef(
+; CHCK: %sub = fsub fast float %val, undef
+define float @fsub_fast_undef(float %val) {
+bb:
+ %sub = fsub fast float %val, undef
+ ret float %sub
+}
+
+; CHECK-LABEL: @fneg_undef(
+; CHECK: ret float fsub (float -0.000000e+00, float undef)
+define float @fneg_undef(float %val) {
+bb:
+ %sub = fsub float -0.0, undef
+ ret float %sub
+}
+
+; CHECK-LABEL: @fneg_fast_undef(
+; CHECK: ret float fsub (float -0.000000e+00, float undef)
+define float @fneg_fast_undef(float %val) {
+bb:
+ %sub = fsub fast float -0.0, undef
+ ret float %sub
+}
+
+; This folds to a constant expression, which produced 0 instructions
+; contrary to the expected one for negation.
+; CHECK-LABEL: @inconsistent_numbers_fsub_undef(
+; CHECK: ret float fsub (float -0.000000e+00, float undef)
+define float @inconsistent_numbers_fsub_undef(float %val) {
+bb:
+ %sub0 = fsub fast float %val, undef
+ %sub1 = fsub fast float %sub0, %val
+ ret float %sub1
+}
diff --git a/test/Transforms/InstCombine/intrinsics.ll b/test/Transforms/InstCombine/intrinsics.ll
index e8f5ddd329ff..b9e208440581 100644
--- a/test/Transforms/InstCombine/intrinsics.ll
+++ b/test/Transforms/InstCombine/intrinsics.ll
@@ -281,6 +281,19 @@ define i32 @cttz(i32 %a) {
ret i32 %count
}
+define i1 @cttz_knownbits(i32 %arg) {
+; CHECK-LABEL: @cttz_knownbits(
+; CHECK-NEXT: [[OR:%.*]] = or i32 [[ARG:%.*]], 4
+; CHECK-NEXT: [[CNT:%.*]] = call i32 @llvm.cttz.i32(i32 [[OR]], i1 true) #0
+; CHECK-NEXT: [[RES:%.*]] = icmp eq i32 [[CNT]], 4
+; CHECK-NEXT: ret i1 [[RES]]
+;
+ %or = or i32 %arg, 4
+ %cnt = call i32 @llvm.cttz.i32(i32 %or, i1 true) nounwind readnone
+ %res = icmp eq i32 %cnt, 4
+ ret i1 %res
+}
+
define i8 @ctlz(i8 %a) {
; CHECK-LABEL: @ctlz(
; CHECK-NEXT: ret i8 2
@@ -291,6 +304,19 @@ define i8 @ctlz(i8 %a) {
ret i8 %count
}
+define i1 @ctlz_knownbits(i8 %arg) {
+; CHECK-LABEL: @ctlz_knownbits(
+; CHECK-NEXT: [[OR:%.*]] = or i8 [[ARG:%.*]], 32
+; CHECK-NEXT: [[CNT:%.*]] = call i8 @llvm.ctlz.i8(i8 [[OR]], i1 true) #0
+; CHECK-NEXT: [[RES:%.*]] = icmp eq i8 [[CNT]], 4
+; CHECK-NEXT: ret i1 [[RES]]
+;
+ %or = or i8 %arg, 32
+ %cnt = call i8 @llvm.ctlz.i8(i8 %or, i1 true) nounwind readnone
+ %res = icmp eq i8 %cnt, 4
+ ret i1 %res
+}
+
define void @cmp.simplify(i32 %a, i32 %b, i1* %c) {
%lz = tail call i32 @llvm.ctlz.i32(i32 %a, i1 false) nounwind readnone
%lz.cmp = icmp eq i32 %lz, 32
diff --git a/test/Transforms/InstCombine/memset-1.ll b/test/Transforms/InstCombine/memset-1.ll
index 7310e5f4faf8..86f3afdef8dc 100644
--- a/test/Transforms/InstCombine/memset-1.ll
+++ b/test/Transforms/InstCombine/memset-1.ll
@@ -26,6 +26,15 @@ define i8* @pr25892_lite(i32 %size) #0 {
; CHECK-NEXT: ret i8* %calloc
}
+; This should not create a calloc and not crash the compiler.
+; CHECK-LABEL: @notmalloc_memset
+; CHECK-NOT: @calloc
+define i8* @notmalloc_memset(i32 %size, i8*(i32)* %notmalloc) {
+ %call1 = call i8* %notmalloc(i32 %size) #1
+ %call2 = call i8* @memset(i8* %call1, i32 0, i32 %size) #1
+ ret i8* %call2
+}
+
; FIXME: memset(malloc(x), 0, x) -> calloc(1, x)
; This doesn't fire currently because the malloc has more than one use.
diff --git a/test/Transforms/InstCombine/minmax-fold.ll b/test/Transforms/InstCombine/minmax-fold.ll
index 19a7341fdc28..f0e56426a8da 100644
--- a/test/Transforms/InstCombine/minmax-fold.ll
+++ b/test/Transforms/InstCombine/minmax-fold.ll
@@ -280,14 +280,10 @@ define i32 @test72(i32 %x) {
ret i32 %retval
}
-; FIXME - vector neglect: FoldAndOfICmps() / FoldOrOfICmps()
-
define <2 x i32> @test72vec(<2 x i32> %x) {
; CHECK-LABEL: @test72vec(
-; CHECK-NEXT: [[TMP1:%.*]] = icmp slt <2 x i32> %x, <i32 92, i32 92>
; CHECK-NEXT: [[TMP2:%.*]] = icmp slt <2 x i32> %x, <i32 11, i32 11>
-; CHECK-NEXT: [[TMP3:%.*]] = and <2 x i1> [[TMP1]], [[TMP2]]
-; CHECK-NEXT: [[RETVAL:%.*]] = select <2 x i1> [[TMP3]], <2 x i32> %x, <2 x i32> <i32 11, i32 11>
+; CHECK-NEXT: [[RETVAL:%.*]] = select <2 x i1> [[TMP2]], <2 x i32> %x, <2 x i32> <i32 11, i32 11>
; CHECK-NEXT: ret <2 x i32> [[RETVAL]]
;
%cmp = icmp sgt <2 x i32> %x, <i32 92, i32 92>
diff --git a/test/Transforms/InstCombine/or-to-xor.ll b/test/Transforms/InstCombine/or-to-xor.ll
deleted file mode 100644
index 84567906f843..000000000000
--- a/test/Transforms/InstCombine/or-to-xor.ll
+++ /dev/null
@@ -1,55 +0,0 @@
-; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
-; RUN: opt < %s -instcombine -S | FileCheck %s
-
-define i32 @func1(i32 %a, i32 %b) {
-; CHECK-LABEL: @func1(
-; CHECK-NEXT: [[T2:%.*]] = xor i32 %a, %b
-; CHECK-NEXT: ret i32 [[T2]]
-;
- %b_not = xor i32 %b, -1
- %t0 = and i32 %a, %b_not
- %a_not = xor i32 %a, -1
- %t1 = and i32 %a_not, %b
- %t2 = or i32 %t0, %t1
- ret i32 %t2
-}
-
-define i32 @func2(i32 %a, i32 %b) {
-; CHECK-LABEL: @func2(
-; CHECK-NEXT: [[T2:%.*]] = xor i32 %a, %b
-; CHECK-NEXT: ret i32 [[T2]]
-;
- %b_not = xor i32 %b, -1
- %t0 = and i32 %b_not, %a
- %a_not = xor i32 %a, -1
- %t1 = and i32 %a_not, %b
- %t2 = or i32 %t0, %t1
- ret i32 %t2
-}
-
-define i32 @func3(i32 %a, i32 %b) {
-; CHECK-LABEL: @func3(
-; CHECK-NEXT: [[T2:%.*]] = xor i32 %a, %b
-; CHECK-NEXT: ret i32 [[T2]]
-;
- %b_not = xor i32 %b, -1
- %t0 = and i32 %a, %b_not
- %a_not = xor i32 %a, -1
- %t1 = and i32 %b, %a_not
- %t2 = or i32 %t0, %t1
- ret i32 %t2
-}
-
-define i32 @func4(i32 %a, i32 %b) {
-; CHECK-LABEL: @func4(
-; CHECK-NEXT: [[T2:%.*]] = xor i32 %a, %b
-; CHECK-NEXT: ret i32 [[T2]]
-;
- %b_not = xor i32 %b, -1
- %t0 = and i32 %b_not, %a
- %a_not = xor i32 %a, -1
- %t1 = and i32 %b, %a_not
- %t2 = or i32 %t0, %t1
- ret i32 %t2
-}
-
diff --git a/test/Transforms/InstCombine/or.ll b/test/Transforms/InstCombine/or.ll
index 41e6d2d1f827..9ae5eafdfccf 100644
--- a/test/Transforms/InstCombine/or.ll
+++ b/test/Transforms/InstCombine/or.ll
@@ -619,59 +619,6 @@ define i32 @test42_commuted_xor(i32 %a, i32 %b) {
ret i32 %or
}
-; (A & ~B) | (A ^ B) -> A ^ B
-
-define i32 @test43(i32 %a, i32 %b) {
-; CHECK-LABEL: @test43(
-; CHECK-NEXT: [[OR:%.*]] = xor i32 %a, %b
-; CHECK-NEXT: ret i32 [[OR]]
-;
- %neg = xor i32 %b, -1
- %and = and i32 %a, %neg
- %xor = xor i32 %a, %b
- %or = or i32 %and, %xor
- ret i32 %or
-}
-
-define i32 @test43_commuted_and(i32 %a, i32 %b) {
-; CHECK-LABEL: @test43_commuted_and(
-; CHECK-NEXT: [[OR:%.*]] = xor i32 %a, %b
-; CHECK-NEXT: ret i32 [[OR]]
-;
- %neg = xor i32 %b, -1
- %and = and i32 %neg, %a
- %xor = xor i32 %a, %b
- %or = or i32 %and, %xor
- ret i32 %or
-}
-
-; Commute operands of the 'or'.
-; (A ^ B) | (A & ~B) -> A ^ B
-
-define i32 @test44(i32 %a, i32 %b) {
-; CHECK-LABEL: @test44(
-; CHECK-NEXT: [[OR:%.*]] = xor i32 %a, %b
-; CHECK-NEXT: ret i32 [[OR]]
-;
- %xor = xor i32 %a, %b
- %neg = xor i32 %b, -1
- %and = and i32 %a, %neg
- %or = or i32 %xor, %and
- ret i32 %or
-}
-
-define i32 @test44_commuted_and(i32 %a, i32 %b) {
-; CHECK-LABEL: @test44_commuted_and(
-; CHECK-NEXT: [[OR:%.*]] = xor i32 %a, %b
-; CHECK-NEXT: ret i32 [[OR]]
-;
- %xor = xor i32 %a, %b
- %neg = xor i32 %b, -1
- %and = and i32 %neg, %a
- %or = or i32 %xor, %and
- ret i32 %or
-}
-
define i32 @test45(i32 %x, i32 %y, i32 %z) {
; CHECK-LABEL: @test45(
; CHECK-NEXT: [[TMP1:%.*]] = and i32 %x, %z
diff --git a/test/Transforms/InstCombine/pr17827.ll b/test/Transforms/InstCombine/pr17827.ll
index ada6edab69c6..c9cbf764d7f5 100644
--- a/test/Transforms/InstCombine/pr17827.ll
+++ b/test/Transforms/InstCombine/pr17827.ll
@@ -52,9 +52,7 @@ define i1 @test_shift_and_cmp_changed1(i8 %p, i8 %q) {
define <2 x i1> @test_shift_and_cmp_changed1_vec(<2 x i8> %p, <2 x i8> %q) {
; CHECK-LABEL: @test_shift_and_cmp_changed1_vec(
; CHECK-NEXT: [[ANDP:%.*]] = and <2 x i8> %p, <i8 6, i8 6>
-; CHECK-NEXT: [[ANDQ:%.*]] = and <2 x i8> %q, <i8 8, i8 8>
-; CHECK-NEXT: [[OR:%.*]] = or <2 x i8> [[ANDQ]], [[ANDP]]
-; CHECK-NEXT: [[SHL:%.*]] = shl <2 x i8> [[OR]], <i8 5, i8 5>
+; CHECK-NEXT: [[SHL:%.*]] = shl nuw <2 x i8> [[ANDP]], <i8 5, i8 5>
; CHECK-NEXT: [[CMP:%.*]] = icmp slt <2 x i8> [[SHL]], <i8 32, i8 32>
; CHECK-NEXT: ret <2 x i1> [[CMP]]
;
diff --git a/test/Transforms/InstCombine/shift.ll b/test/Transforms/InstCombine/shift.ll
index d5f489280a03..ce8e2fcd38b9 100644
--- a/test/Transforms/InstCombine/shift.ll
+++ b/test/Transforms/InstCombine/shift.ll
@@ -1049,12 +1049,11 @@ define i8 @test53_no_nuw(i8 %x) {
}
; (X << C1) >>u C2 --> X << (C1 - C2) & (-1 >> C2)
-; FIXME: Demanded bits should change the mask constant as it does for the scalar case.
define <2 x i8> @test53_no_nuw_splat_vec(<2 x i8> %x) {
; CHECK-LABEL: @test53_no_nuw_splat_vec(
; CHECK-NEXT: [[TMP1:%.*]] = shl <2 x i8> %x, <i8 2, i8 2>
-; CHECK-NEXT: [[B:%.*]] = and <2 x i8> [[TMP1]], <i8 127, i8 127>
+; CHECK-NEXT: [[B:%.*]] = and <2 x i8> [[TMP1]], <i8 124, i8 124>
; CHECK-NEXT: ret <2 x i8> [[B]]
;
%A = shl <2 x i8> %x, <i8 3, i8 3>
@@ -1074,6 +1073,17 @@ define i32 @test54(i32 %x) {
ret i32 %and
}
+define <2 x i32> @test54_splat_vec(<2 x i32> %x) {
+; CHECK-LABEL: @test54_splat_vec(
+; CHECK-NEXT: [[TMP1:%.*]] = shl <2 x i32> %x, <i32 3, i32 3>
+; CHECK-NEXT: [[AND:%.*]] = and <2 x i32> [[TMP1]], <i32 16, i32 16>
+; CHECK-NEXT: ret <2 x i32> [[AND]]
+;
+ %shr2 = lshr <2 x i32> %x, <i32 1, i32 1>
+ %shl = shl <2 x i32> %shr2, <i32 4, i32 4>
+ %and = and <2 x i32> %shl, <i32 16, i32 16>
+ ret <2 x i32> %and
+}
define i32 @test55(i32 %x) {
; CHECK-LABEL: @test55(
@@ -1100,7 +1110,6 @@ define i32 @test56(i32 %x) {
ret i32 %or
}
-
define i32 @test57(i32 %x) {
; CHECK-LABEL: @test57(
; CHECK-NEXT: [[SHR1:%.*]] = lshr i32 %x, 1
@@ -1114,7 +1123,6 @@ define i32 @test57(i32 %x) {
ret i32 %or
}
-
define i32 @test58(i32 %x) {
; CHECK-LABEL: @test58(
; CHECK-NEXT: [[TMP1:%.*]] = ashr i32 %x, 3
@@ -1127,6 +1135,17 @@ define i32 @test58(i32 %x) {
ret i32 %or
}
+define <2 x i32> @test58_splat_vec(<2 x i32> %x) {
+; CHECK-LABEL: @test58_splat_vec(
+; CHECK-NEXT: [[TMP1:%.*]] = ashr <2 x i32> %x, <i32 3, i32 3>
+; CHECK-NEXT: [[OR:%.*]] = or <2 x i32> [[TMP1]], <i32 1, i32 1>
+; CHECK-NEXT: ret <2 x i32> [[OR]]
+;
+ %shr = ashr <2 x i32> %x, <i32 4, i32 4>
+ %shl = shl <2 x i32> %shr, <i32 1, i32 1>
+ %or = or <2 x i32> %shl, <i32 1, i32 1>
+ ret <2 x i32> %or
+}
define i32 @test59(i32 %x) {
; CHECK-LABEL: @test59(
@@ -1257,8 +1276,7 @@ define i64 @test_64(i32 %t) {
define <2 x i64> @test_64_splat_vec(<2 x i32> %t) {
; CHECK-LABEL: @test_64_splat_vec(
-; CHECK-NEXT: [[AND:%.*]] = and <2 x i32> %t, <i32 16777215, i32 16777215>
-; CHECK-NEXT: [[TMP1:%.*]] = shl nuw <2 x i32> [[AND]], <i32 8, i32 8>
+; CHECK-NEXT: [[TMP1:%.*]] = shl <2 x i32> %t, <i32 8, i32 8>
; CHECK-NEXT: [[SHL:%.*]] = zext <2 x i32> [[TMP1]] to <2 x i64>
; CHECK-NEXT: ret <2 x i64> [[SHL]]
;
diff --git a/test/Transforms/InstCombine/xor2.ll b/test/Transforms/InstCombine/xor2.ll
index 79e62723f143..f817ac5ca40c 100644
--- a/test/Transforms/InstCombine/xor2.ll
+++ b/test/Transforms/InstCombine/xor2.ll
@@ -191,6 +191,81 @@ define i32 @test11(i32 %A, i32 %B) {
ret i32 %and
}
+define i32 @test11b(i32 %A, i32 %B) {
+; CHECK-LABEL: @test11b(
+; CHECK-NEXT: ret i32 0
+;
+ %xor1 = xor i32 %B, %A
+ %not = xor i32 %A, -1
+ %xor2 = xor i32 %not, %B
+ %and = and i32 %xor2, %xor1
+ ret i32 %and
+}
+
+define i32 @test11c(i32 %A, i32 %B) {
+; CHECK-LABEL: @test11c(
+; CHECK-NEXT: [[XOR1:%.*]] = xor i32 [[A:%.*]], [[B:%.*]]
+; CHECK-NEXT: [[NOT:%.*]] = xor i32 [[A]], -1
+; CHECK-NEXT: [[XOR2:%.*]] = xor i32 [[NOT]], [[B]]
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[XOR1]], [[XOR2]]
+; CHECK-NEXT: ret i32 [[AND]]
+;
+ %xor1 = xor i32 %A, %B
+ %not = xor i32 %A, -1
+ %xor2 = xor i32 %not, %B
+ %and = and i32 %xor1, %xor2
+ ret i32 %and
+}
+
+define i32 @test11d(i32 %A, i32 %B) {
+; CHECK-LABEL: @test11d(
+; CHECK-NEXT: [[XOR1:%.*]] = xor i32 [[A:%.*]], [[B:%.*]]
+; CHECK-NEXT: [[NOT:%.*]] = xor i32 [[A]], -1
+; CHECK-NEXT: [[XOR2:%.*]] = xor i32 [[NOT]], [[B]]
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[XOR2]], [[XOR1]]
+; CHECK-NEXT: ret i32 [[AND]]
+;
+ %xor1 = xor i32 %A, %B
+ %not = xor i32 %A, -1
+ %xor2 = xor i32 %not, %B
+ %and = and i32 %xor2, %xor1
+ ret i32 %and
+}
+
+define i32 @test11e(i32 %A, i32 %B, i32 %C) {
+; CHECK-LABEL: @test11e(
+; CHECK-NEXT: [[FORCE:%.*]] = mul i32 [[B:%.*]], [[C:%.*]]
+; CHECK-NEXT: [[XOR1:%.*]] = xor i32 [[FORCE]], [[A:%.*]]
+; CHECK-NEXT: [[NOT:%.*]] = xor i32 [[A]], -1
+; CHECK-NEXT: [[XOR2:%.*]] = xor i32 [[FORCE]], [[NOT]]
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[XOR1]], [[XOR2]]
+; CHECK-NEXT: ret i32 [[AND]]
+;
+ %force = mul i32 %B, %C
+ %xor1 = xor i32 %force, %A
+ %not = xor i32 %A, -1
+ %xor2 = xor i32 %force, %not
+ %and = and i32 %xor1, %xor2
+ ret i32 %and
+}
+
+define i32 @test11f(i32 %A, i32 %B, i32 %C) {
+; CHECK-LABEL: @test11f(
+; CHECK-NEXT: [[FORCE:%.*]] = mul i32 [[B:%.*]], [[C:%.*]]
+; CHECK-NEXT: [[XOR1:%.*]] = xor i32 [[FORCE]], [[A:%.*]]
+; CHECK-NEXT: [[NOT:%.*]] = xor i32 [[A]], -1
+; CHECK-NEXT: [[XOR2:%.*]] = xor i32 [[FORCE]], [[NOT]]
+; CHECK-NEXT: [[AND:%.*]] = and i32 [[XOR2]], [[XOR1]]
+; CHECK-NEXT: ret i32 [[AND]]
+;
+ %force = mul i32 %B, %C
+ %xor1 = xor i32 %force, %A
+ %not = xor i32 %A, -1
+ %xor2 = xor i32 %force, %not
+ %and = and i32 %xor2, %xor1
+ ret i32 %and
+}
+
define i32 @test12(i32 %a, i32 %b) {
; CHECK-LABEL: @test12(
; CHECK-NEXT: [[TMP1:%.*]] = and i32 %a, %b
diff --git a/test/Transforms/InstSimplify/AndOrXor.ll b/test/Transforms/InstSimplify/AndOrXor.ll
index aa71c6ba86ae..f9aaa4fa0c6c 100644
--- a/test/Transforms/InstSimplify/AndOrXor.ll
+++ b/test/Transforms/InstSimplify/AndOrXor.ll
@@ -468,3 +468,118 @@ define <2 x i3> @and_of_different_cast_icmps_vec(<2 x i8> %i, <2 x i16> %j) {
ret <2 x i3> %and
}
+; (A & ~B) | (A ^ B) -> A ^ B
+
+define i32 @test43(i32 %a, i32 %b) {
+; CHECK-LABEL: @test43(
+; CHECK-NEXT: [[OR:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[OR]]
+;
+ %neg = xor i32 %b, -1
+ %and = and i32 %a, %neg
+ %xor = xor i32 %a, %b
+ %or = or i32 %and, %xor
+ ret i32 %or
+}
+
+define i32 @test43_commuted_and(i32 %a, i32 %b) {
+; CHECK-LABEL: @test43_commuted_and(
+; CHECK-NEXT: [[OR:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[OR]]
+;
+ %neg = xor i32 %b, -1
+ %and = and i32 %neg, %a
+ %xor = xor i32 %a, %b
+ %or = or i32 %and, %xor
+ ret i32 %or
+}
+
+; Commute operands of the 'or'.
+; (A ^ B) | (A & ~B) -> A ^ B
+
+define i32 @test44(i32 %a, i32 %b) {
+; CHECK-LABEL: @test44(
+; CHECK-NEXT: [[OR:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[OR]]
+;
+ %xor = xor i32 %a, %b
+ %neg = xor i32 %b, -1
+ %and = and i32 %a, %neg
+ %or = or i32 %xor, %and
+ ret i32 %or
+}
+
+define i32 @test44_commuted_and(i32 %a, i32 %b) {
+; CHECK-LABEL: @test44_commuted_and(
+; CHECK-NEXT: [[OR:%.*]] = xor i32 %a, %b
+; CHECK-NEXT: ret i32 [[OR]]
+;
+ %xor = xor i32 %a, %b
+ %neg = xor i32 %b, -1
+ %and = and i32 %neg, %a
+ %or = or i32 %xor, %and
+ ret i32 %or
+}
+
+; (~A & ~B) | (~A ^ B) -> ~A ^ B
+
+define i32 @test45(i32 %a, i32 %b) {
+; CHECK-LABEL: @test45(
+; CHECK-NEXT: [[NEGB:%.*]] = xor i32 [[B:%.*]], -1
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[A:%.*]], [[NEGB]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %nega = xor i32 %a, -1
+ %negb = xor i32 %b, -1
+ %and = and i32 %nega, %negb
+ %xor = xor i32 %a, %negb
+ %or = or i32 %and, %xor
+ ret i32 %or
+}
+
+define i32 @test45_commuted_and(i32 %a, i32 %b) {
+; CHECK-LABEL: @test45_commuted_and(
+; CHECK-NEXT: [[NEGB:%.*]] = xor i32 [[B:%.*]], -1
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[A:%.*]], [[NEGB]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %nega = xor i32 %a, -1
+ %negb = xor i32 %b, -1
+ %and = and i32 %negb, %nega
+ %xor = xor i32 %a, %negb
+ %or = or i32 %and, %xor
+ ret i32 %or
+}
+
+; Commute operands of the 'or'.
+; (~A ^ B) | (~A & ~B) -> ~A ^ B
+
+define i32 @test46(i32 %a, i32 %b) {
+; CHECK-LABEL: @test46(
+; CHECK-NEXT: [[NEGB:%.*]] = xor i32 [[B:%.*]], -1
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[A:%.*]], [[NEGB]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %nega = xor i32 %a, -1
+ %negb = xor i32 %b, -1
+ %and = and i32 %nega, %negb
+ %xor = xor i32 %a, %negb
+ %or = or i32 %xor, %and
+ ret i32 %or
+}
+
+; (~A & ~B) | (~A ^ B) -> ~A ^ B
+
+define i32 @test46_commuted_and(i32 %a, i32 %b) {
+; CHECK-LABEL: @test46_commuted_and(
+; CHECK-NEXT: [[NEGB:%.*]] = xor i32 [[B:%.*]], -1
+; CHECK-NEXT: [[XOR:%.*]] = xor i32 [[A:%.*]], [[NEGB]]
+; CHECK-NEXT: ret i32 [[XOR]]
+;
+ %nega = xor i32 %a, -1
+ %negb = xor i32 %b, -1
+ %and = and i32 %negb, %nega
+ %xor = xor i32 %a, %negb
+ %or = or i32 %xor, %and
+ ret i32 %or
+}
diff --git a/test/Transforms/InstSimplify/icmp-ranges.ll b/test/Transforms/InstSimplify/icmp-ranges.ll
index dcbbe0bc7fb9..292be6a8a559 100644
--- a/test/Transforms/InstSimplify/icmp-ranges.ll
+++ b/test/Transforms/InstSimplify/icmp-ranges.ll
@@ -21,9 +21,7 @@ define i1 @and_eq_eq(i8 %x) {
define i1 @and_eq_ne(i8 %x) {
; CHECK-LABEL: @and_eq_ne(
; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp eq i8 %x, 13
%b = icmp ne i8 %x, 17
@@ -60,9 +58,7 @@ define i1 @and_eq_sgt(i8 %x) {
define i1 @and_eq_sle(i8 %x) {
; CHECK-LABEL: @and_eq_sle(
; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp eq i8 %x, 13
%b = icmp sle i8 %x, 17
@@ -75,9 +71,7 @@ define i1 @and_eq_sle(i8 %x) {
define i1 @and_eq_slt(i8 %x) {
; CHECK-LABEL: @and_eq_slt(
; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp eq i8 %x, 13
%b = icmp slt i8 %x, 17
@@ -114,9 +108,7 @@ define i1 @and_eq_ugt(i8 %x) {
define i1 @and_eq_ule(i8 %x) {
; CHECK-LABEL: @and_eq_ule(
; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp eq i8 %x, 13
%b = icmp ule i8 %x, 17
@@ -129,9 +121,7 @@ define i1 @and_eq_ule(i8 %x) {
define i1 @and_eq_ult(i8 %x) {
; CHECK-LABEL: @and_eq_ult(
; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp eq i8 %x, 13
%b = icmp ult i8 %x, 17
@@ -144,10 +134,8 @@ define i1 @and_eq_ult(i8 %x) {
define i1 @and_ne_eq(i8 %x) {
; CHECK-LABEL: @and_ne_eq(
-; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ne i8 %x, 13
%b = icmp eq i8 %x, 17
@@ -174,10 +162,8 @@ define i1 @and_ne_ne(i8 %x) {
define i1 @and_ne_sge(i8 %x) {
; CHECK-LABEL: @and_ne_sge(
-; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ne i8 %x, 13
%b = icmp sge i8 %x, 17
@@ -189,10 +175,8 @@ define i1 @and_ne_sge(i8 %x) {
define i1 @and_ne_sgt(i8 %x) {
; CHECK-LABEL: @and_ne_sgt(
-; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ne i8 %x, 13
%b = icmp sgt i8 %x, 17
@@ -234,10 +218,8 @@ define i1 @and_ne_slt(i8 %x) {
define i1 @and_ne_uge(i8 %x) {
; CHECK-LABEL: @and_ne_uge(
-; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ne i8 %x, 13
%b = icmp uge i8 %x, 17
@@ -249,10 +231,8 @@ define i1 @and_ne_uge(i8 %x) {
define i1 @and_ne_ugt(i8 %x) {
; CHECK-LABEL: @and_ne_ugt(
-; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ne i8 %x, 13
%b = icmp ugt i8 %x, 17
@@ -295,10 +275,8 @@ define i1 @and_ne_ult(i8 %x) {
define i1 @and_sge_eq(i8 %x) {
; CHECK-LABEL: @and_sge_eq(
-; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sge i8 %x, 13
%b = icmp eq i8 %x, 17
@@ -325,10 +303,8 @@ define i1 @and_sge_ne(i8 %x) {
define i1 @and_sge_sge(i8 %x) {
; CHECK-LABEL: @and_sge_sge(
-; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sge i8 %x, 13
%b = icmp sge i8 %x, 17
@@ -340,10 +316,8 @@ define i1 @and_sge_sge(i8 %x) {
define i1 @and_sge_sgt(i8 %x) {
; CHECK-LABEL: @and_sge_sgt(
-; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sge i8 %x, 13
%b = icmp sgt i8 %x, 17
@@ -446,10 +420,8 @@ define i1 @and_sge_ult(i8 %x) {
define i1 @and_sgt_eq(i8 %x) {
; CHECK-LABEL: @and_sgt_eq(
-; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sgt i8 %x, 13
%b = icmp eq i8 %x, 17
@@ -476,10 +448,8 @@ define i1 @and_sgt_ne(i8 %x) {
define i1 @and_sgt_sge(i8 %x) {
; CHECK-LABEL: @and_sgt_sge(
-; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sgt i8 %x, 13
%b = icmp sge i8 %x, 17
@@ -491,10 +461,8 @@ define i1 @and_sgt_sge(i8 %x) {
define i1 @and_sgt_sgt(i8 %x) {
; CHECK-LABEL: @and_sgt_sgt(
-; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sgt i8 %x, 13
%b = icmp sgt i8 %x, 17
@@ -610,9 +578,7 @@ define i1 @and_sle_eq(i8 %x) {
define i1 @and_sle_ne(i8 %x) {
; CHECK-LABEL: @and_sle_ne(
; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sle i8 %x, 13
%b = icmp ne i8 %x, 17
@@ -649,9 +615,7 @@ define i1 @and_sle_sgt(i8 %x) {
define i1 @and_sle_sle(i8 %x) {
; CHECK-LABEL: @and_sle_sle(
; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sle i8 %x, 13
%b = icmp sle i8 %x, 17
@@ -664,9 +628,7 @@ define i1 @and_sle_sle(i8 %x) {
define i1 @and_sle_slt(i8 %x) {
; CHECK-LABEL: @and_sle_slt(
; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sle i8 %x, 13
%b = icmp slt i8 %x, 17
@@ -752,9 +714,7 @@ define i1 @and_slt_eq(i8 %x) {
define i1 @and_slt_ne(i8 %x) {
; CHECK-LABEL: @and_slt_ne(
; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp slt i8 %x, 13
%b = icmp ne i8 %x, 17
@@ -791,9 +751,7 @@ define i1 @and_slt_sgt(i8 %x) {
define i1 @and_slt_sle(i8 %x) {
; CHECK-LABEL: @and_slt_sle(
; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp slt i8 %x, 13
%b = icmp sle i8 %x, 17
@@ -806,9 +764,7 @@ define i1 @and_slt_sle(i8 %x) {
define i1 @and_slt_slt(i8 %x) {
; CHECK-LABEL: @and_slt_slt(
; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp slt i8 %x, 13
%b = icmp slt i8 %x, 17
@@ -881,10 +837,8 @@ define i1 @and_slt_ult(i8 %x) {
define i1 @and_uge_eq(i8 %x) {
; CHECK-LABEL: @and_uge_eq(
-; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp uge i8 %x, 13
%b = icmp eq i8 %x, 17
@@ -911,10 +865,8 @@ define i1 @and_uge_ne(i8 %x) {
define i1 @and_uge_sge(i8 %x) {
; CHECK-LABEL: @and_uge_sge(
-; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp uge i8 %x, 13
%b = icmp sge i8 %x, 17
@@ -926,10 +878,8 @@ define i1 @and_uge_sge(i8 %x) {
define i1 @and_uge_sgt(i8 %x) {
; CHECK-LABEL: @and_uge_sgt(
-; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp uge i8 %x, 13
%b = icmp sgt i8 %x, 17
@@ -971,10 +921,8 @@ define i1 @and_uge_slt(i8 %x) {
define i1 @and_uge_uge(i8 %x) {
; CHECK-LABEL: @and_uge_uge(
-; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp uge i8 %x, 13
%b = icmp uge i8 %x, 17
@@ -986,10 +934,8 @@ define i1 @and_uge_uge(i8 %x) {
define i1 @and_uge_ugt(i8 %x) {
; CHECK-LABEL: @and_uge_ugt(
-; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp uge i8 %x, 13
%b = icmp ugt i8 %x, 17
@@ -1032,10 +978,8 @@ define i1 @and_uge_ult(i8 %x) {
define i1 @and_ugt_eq(i8 %x) {
; CHECK-LABEL: @and_ugt_eq(
-; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ugt i8 %x, 13
%b = icmp eq i8 %x, 17
@@ -1062,10 +1006,8 @@ define i1 @and_ugt_ne(i8 %x) {
define i1 @and_ugt_sge(i8 %x) {
; CHECK-LABEL: @and_ugt_sge(
-; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ugt i8 %x, 13
%b = icmp sge i8 %x, 17
@@ -1077,10 +1019,8 @@ define i1 @and_ugt_sge(i8 %x) {
define i1 @and_ugt_sgt(i8 %x) {
; CHECK-LABEL: @and_ugt_sgt(
-; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ugt i8 %x, 13
%b = icmp sgt i8 %x, 17
@@ -1122,10 +1062,8 @@ define i1 @and_ugt_slt(i8 %x) {
define i1 @and_ugt_uge(i8 %x) {
; CHECK-LABEL: @and_ugt_uge(
-; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ugt i8 %x, 13
%b = icmp uge i8 %x, 17
@@ -1137,10 +1075,8 @@ define i1 @and_ugt_uge(i8 %x) {
define i1 @and_ugt_ugt(i8 %x) {
; CHECK-LABEL: @and_ugt_ugt(
-; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 13
; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ugt i8 %x, 13
%b = icmp ugt i8 %x, 17
@@ -1196,9 +1132,7 @@ define i1 @and_ule_eq(i8 %x) {
define i1 @and_ule_ne(i8 %x) {
; CHECK-LABEL: @and_ule_ne(
; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ule i8 %x, 13
%b = icmp ne i8 %x, 17
@@ -1235,9 +1169,7 @@ define i1 @and_ule_sgt(i8 %x) {
define i1 @and_ule_sle(i8 %x) {
; CHECK-LABEL: @and_ule_sle(
; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ule i8 %x, 13
%b = icmp sle i8 %x, 17
@@ -1250,9 +1182,7 @@ define i1 @and_ule_sle(i8 %x) {
define i1 @and_ule_slt(i8 %x) {
; CHECK-LABEL: @and_ule_slt(
; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ule i8 %x, 13
%b = icmp slt i8 %x, 17
@@ -1289,9 +1219,7 @@ define i1 @and_ule_ugt(i8 %x) {
define i1 @and_ule_ule(i8 %x) {
; CHECK-LABEL: @and_ule_ule(
; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ule i8 %x, 13
%b = icmp ule i8 %x, 17
@@ -1304,9 +1232,7 @@ define i1 @and_ule_ule(i8 %x) {
define i1 @and_ule_ult(i8 %x) {
; CHECK-LABEL: @and_ule_ult(
; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ule i8 %x, 13
%b = icmp ult i8 %x, 17
@@ -1332,9 +1258,7 @@ define i1 @and_ult_eq(i8 %x) {
define i1 @and_ult_ne(i8 %x) {
; CHECK-LABEL: @and_ult_ne(
; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ult i8 %x, 13
%b = icmp ne i8 %x, 17
@@ -1371,9 +1295,7 @@ define i1 @and_ult_sgt(i8 %x) {
define i1 @and_ult_sle(i8 %x) {
; CHECK-LABEL: @and_ult_sle(
; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ult i8 %x, 13
%b = icmp sle i8 %x, 17
@@ -1386,9 +1308,7 @@ define i1 @and_ult_sle(i8 %x) {
define i1 @and_ult_slt(i8 %x) {
; CHECK-LABEL: @and_ult_slt(
; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ult i8 %x, 13
%b = icmp slt i8 %x, 17
@@ -1425,9 +1345,7 @@ define i1 @and_ult_ugt(i8 %x) {
define i1 @and_ult_ule(i8 %x) {
; CHECK-LABEL: @and_ult_ule(
; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ult i8 %x, 13
%b = icmp ule i8 %x, 17
@@ -1440,9 +1358,7 @@ define i1 @and_ult_ule(i8 %x) {
define i1 @and_ult_ult(i8 %x) {
; CHECK-LABEL: @and_ult_ult(
; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 13
-; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ult i8 %x, 13
%b = icmp ult i8 %x, 17
@@ -1468,9 +1384,7 @@ define i1 @and_eq_eq_swap(i8 %x) {
define i1 @and_eq_ne_swap(i8 %x) {
; CHECK-LABEL: @and_eq_ne_swap(
; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp eq i8 %x, 23
%b = icmp ne i8 %x, 17
@@ -1483,9 +1397,7 @@ define i1 @and_eq_ne_swap(i8 %x) {
define i1 @and_eq_sge_swap(i8 %x) {
; CHECK-LABEL: @and_eq_sge_swap(
; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp eq i8 %x, 23
%b = icmp sge i8 %x, 17
@@ -1498,9 +1410,7 @@ define i1 @and_eq_sge_swap(i8 %x) {
define i1 @and_eq_sgt_swap(i8 %x) {
; CHECK-LABEL: @and_eq_sgt_swap(
; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp eq i8 %x, 23
%b = icmp sgt i8 %x, 17
@@ -1537,9 +1447,7 @@ define i1 @and_eq_slt_swap(i8 %x) {
define i1 @and_eq_uge_swap(i8 %x) {
; CHECK-LABEL: @and_eq_uge_swap(
; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp eq i8 %x, 23
%b = icmp uge i8 %x, 17
@@ -1552,9 +1460,7 @@ define i1 @and_eq_uge_swap(i8 %x) {
define i1 @and_eq_ugt_swap(i8 %x) {
; CHECK-LABEL: @and_eq_ugt_swap(
; CHECK-NEXT: [[A:%.*]] = icmp eq i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp eq i8 %x, 23
%b = icmp ugt i8 %x, 17
@@ -1591,10 +1497,8 @@ define i1 @and_eq_ult_swap(i8 %x) {
define i1 @and_ne_eq_swap(i8 %x) {
; CHECK-LABEL: @and_ne_eq_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ne i8 %x, 23
%b = icmp eq i8 %x, 17
@@ -1651,10 +1555,8 @@ define i1 @and_ne_sgt_swap(i8 %x) {
define i1 @and_ne_sle_swap(i8 %x) {
; CHECK-LABEL: @and_ne_sle_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ne i8 %x, 23
%b = icmp sle i8 %x, 17
@@ -1666,10 +1568,8 @@ define i1 @and_ne_sle_swap(i8 %x) {
define i1 @and_ne_slt_swap(i8 %x) {
; CHECK-LABEL: @and_ne_slt_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ne i8 %x, 23
%b = icmp slt i8 %x, 17
@@ -1711,10 +1611,8 @@ define i1 @and_ne_ugt_swap(i8 %x) {
define i1 @and_ne_ule_swap(i8 %x) {
; CHECK-LABEL: @and_ne_ule_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ne i8 %x, 23
%b = icmp ule i8 %x, 17
@@ -1726,10 +1624,8 @@ define i1 @and_ne_ule_swap(i8 %x) {
define i1 @and_ne_ult_swap(i8 %x) {
; CHECK-LABEL: @and_ne_ult_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ne i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ne i8 %x, 23
%b = icmp ult i8 %x, 17
@@ -1755,9 +1651,7 @@ define i1 @and_sge_eq_swap(i8 %x) {
define i1 @and_sge_ne_swap(i8 %x) {
; CHECK-LABEL: @and_sge_ne_swap(
; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sge i8 %x, 23
%b = icmp ne i8 %x, 17
@@ -1770,9 +1664,7 @@ define i1 @and_sge_ne_swap(i8 %x) {
define i1 @and_sge_sge_swap(i8 %x) {
; CHECK-LABEL: @and_sge_sge_swap(
; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sge i8 %x, 23
%b = icmp sge i8 %x, 17
@@ -1785,9 +1677,7 @@ define i1 @and_sge_sge_swap(i8 %x) {
define i1 @and_sge_sgt_swap(i8 %x) {
; CHECK-LABEL: @and_sge_sgt_swap(
; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sge i8 %x, 23
%b = icmp sgt i8 %x, 17
@@ -1824,9 +1714,7 @@ define i1 @and_sge_slt_swap(i8 %x) {
define i1 @and_sge_uge_swap(i8 %x) {
; CHECK-LABEL: @and_sge_uge_swap(
; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sge i8 %x, 23
%b = icmp uge i8 %x, 17
@@ -1839,9 +1727,7 @@ define i1 @and_sge_uge_swap(i8 %x) {
define i1 @and_sge_ugt_swap(i8 %x) {
; CHECK-LABEL: @and_sge_ugt_swap(
; CHECK-NEXT: [[A:%.*]] = icmp sge i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sge i8 %x, 23
%b = icmp ugt i8 %x, 17
@@ -1891,9 +1777,7 @@ define i1 @and_sgt_eq_swap(i8 %x) {
define i1 @and_sgt_ne_swap(i8 %x) {
; CHECK-LABEL: @and_sgt_ne_swap(
; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sgt i8 %x, 23
%b = icmp ne i8 %x, 17
@@ -1906,9 +1790,7 @@ define i1 @and_sgt_ne_swap(i8 %x) {
define i1 @and_sgt_sge_swap(i8 %x) {
; CHECK-LABEL: @and_sgt_sge_swap(
; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp sge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sgt i8 %x, 23
%b = icmp sge i8 %x, 17
@@ -1921,9 +1803,7 @@ define i1 @and_sgt_sge_swap(i8 %x) {
define i1 @and_sgt_sgt_swap(i8 %x) {
; CHECK-LABEL: @and_sgt_sgt_swap(
; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp sgt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sgt i8 %x, 23
%b = icmp sgt i8 %x, 17
@@ -1960,9 +1840,7 @@ define i1 @and_sgt_slt_swap(i8 %x) {
define i1 @and_sgt_uge_swap(i8 %x) {
; CHECK-LABEL: @and_sgt_uge_swap(
; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sgt i8 %x, 23
%b = icmp uge i8 %x, 17
@@ -1975,9 +1853,7 @@ define i1 @and_sgt_uge_swap(i8 %x) {
define i1 @and_sgt_ugt_swap(i8 %x) {
; CHECK-LABEL: @and_sgt_ugt_swap(
; CHECK-NEXT: [[A:%.*]] = icmp sgt i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp sgt i8 %x, 23
%b = icmp ugt i8 %x, 17
@@ -2014,10 +1890,8 @@ define i1 @and_sgt_ult_swap(i8 %x) {
define i1 @and_sle_eq_swap(i8 %x) {
; CHECK-LABEL: @and_sle_eq_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sle i8 %x, 23
%b = icmp eq i8 %x, 17
@@ -2074,10 +1948,8 @@ define i1 @and_sle_sgt_swap(i8 %x) {
define i1 @and_sle_sle_swap(i8 %x) {
; CHECK-LABEL: @and_sle_sle_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sle i8 %x, 23
%b = icmp sle i8 %x, 17
@@ -2089,10 +1961,8 @@ define i1 @and_sle_sle_swap(i8 %x) {
define i1 @and_sle_slt_swap(i8 %x) {
; CHECK-LABEL: @and_sle_slt_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sle i8 %x, 23
%b = icmp slt i8 %x, 17
@@ -2134,10 +2004,8 @@ define i1 @and_sle_ugt_swap(i8 %x) {
define i1 @and_sle_ule_swap(i8 %x) {
; CHECK-LABEL: @and_sle_ule_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sle i8 %x, 23
%b = icmp ule i8 %x, 17
@@ -2149,10 +2017,8 @@ define i1 @and_sle_ule_swap(i8 %x) {
define i1 @and_sle_ult_swap(i8 %x) {
; CHECK-LABEL: @and_sle_ult_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp sle i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp sle i8 %x, 23
%b = icmp ult i8 %x, 17
@@ -2165,10 +2031,8 @@ define i1 @and_sle_ult_swap(i8 %x) {
define i1 @and_slt_eq_swap(i8 %x) {
; CHECK-LABEL: @and_slt_eq_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp slt i8 %x, 23
%b = icmp eq i8 %x, 17
@@ -2225,10 +2089,8 @@ define i1 @and_slt_sgt_swap(i8 %x) {
define i1 @and_slt_sle_swap(i8 %x) {
; CHECK-LABEL: @and_slt_sle_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp sle i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp slt i8 %x, 23
%b = icmp sle i8 %x, 17
@@ -2240,10 +2102,8 @@ define i1 @and_slt_sle_swap(i8 %x) {
define i1 @and_slt_slt_swap(i8 %x) {
; CHECK-LABEL: @and_slt_slt_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp slt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp slt i8 %x, 23
%b = icmp slt i8 %x, 17
@@ -2285,10 +2145,8 @@ define i1 @and_slt_ugt_swap(i8 %x) {
define i1 @and_slt_ule_swap(i8 %x) {
; CHECK-LABEL: @and_slt_ule_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp slt i8 %x, 23
%b = icmp ule i8 %x, 17
@@ -2300,10 +2158,8 @@ define i1 @and_slt_ule_swap(i8 %x) {
define i1 @and_slt_ult_swap(i8 %x) {
; CHECK-LABEL: @and_slt_ult_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp slt i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp slt i8 %x, 23
%b = icmp ult i8 %x, 17
@@ -2329,9 +2185,7 @@ define i1 @and_uge_eq_swap(i8 %x) {
define i1 @and_uge_ne_swap(i8 %x) {
; CHECK-LABEL: @and_uge_ne_swap(
; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp uge i8 %x, 23
%b = icmp ne i8 %x, 17
@@ -2404,9 +2258,7 @@ define i1 @and_uge_slt_swap(i8 %x) {
define i1 @and_uge_uge_swap(i8 %x) {
; CHECK-LABEL: @and_uge_uge_swap(
; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp uge i8 %x, 23
%b = icmp uge i8 %x, 17
@@ -2419,9 +2271,7 @@ define i1 @and_uge_uge_swap(i8 %x) {
define i1 @and_uge_ugt_swap(i8 %x) {
; CHECK-LABEL: @and_uge_ugt_swap(
; CHECK-NEXT: [[A:%.*]] = icmp uge i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp uge i8 %x, 23
%b = icmp ugt i8 %x, 17
@@ -2471,9 +2321,7 @@ define i1 @and_ugt_eq_swap(i8 %x) {
define i1 @and_ugt_ne_swap(i8 %x) {
; CHECK-LABEL: @and_ugt_ne_swap(
; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp ne i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ugt i8 %x, 23
%b = icmp ne i8 %x, 17
@@ -2546,9 +2394,7 @@ define i1 @and_ugt_slt_swap(i8 %x) {
define i1 @and_ugt_uge_swap(i8 %x) {
; CHECK-LABEL: @and_ugt_uge_swap(
; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp uge i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ugt i8 %x, 23
%b = icmp uge i8 %x, 17
@@ -2561,9 +2407,7 @@ define i1 @and_ugt_uge_swap(i8 %x) {
define i1 @and_ugt_ugt_swap(i8 %x) {
; CHECK-LABEL: @and_ugt_ugt_swap(
; CHECK-NEXT: [[A:%.*]] = icmp ugt i8 %x, 23
-; CHECK-NEXT: [[B:%.*]] = icmp ugt i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[A]]
;
%a = icmp ugt i8 %x, 23
%b = icmp ugt i8 %x, 17
@@ -2600,10 +2444,8 @@ define i1 @and_ugt_ult_swap(i8 %x) {
define i1 @and_ule_eq_swap(i8 %x) {
; CHECK-LABEL: @and_ule_eq_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ule i8 %x, 23
%b = icmp eq i8 %x, 17
@@ -2720,10 +2562,8 @@ define i1 @and_ule_ugt_swap(i8 %x) {
define i1 @and_ule_ule_swap(i8 %x) {
; CHECK-LABEL: @and_ule_ule_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ule i8 %x, 23
%b = icmp ule i8 %x, 17
@@ -2735,10 +2575,8 @@ define i1 @and_ule_ule_swap(i8 %x) {
define i1 @and_ule_ult_swap(i8 %x) {
; CHECK-LABEL: @and_ule_ult_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ule i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ule i8 %x, 23
%b = icmp ult i8 %x, 17
@@ -2751,10 +2589,8 @@ define i1 @and_ule_ult_swap(i8 %x) {
define i1 @and_ult_eq_swap(i8 %x) {
; CHECK-LABEL: @and_ult_eq_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp eq i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ult i8 %x, 23
%b = icmp eq i8 %x, 17
@@ -2871,10 +2707,8 @@ define i1 @and_ult_ugt_swap(i8 %x) {
define i1 @and_ult_ule_swap(i8 %x) {
; CHECK-LABEL: @and_ult_ule_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp ule i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ult i8 %x, 23
%b = icmp ule i8 %x, 17
@@ -2886,10 +2720,8 @@ define i1 @and_ult_ule_swap(i8 %x) {
define i1 @and_ult_ult_swap(i8 %x) {
; CHECK-LABEL: @and_ult_ult_swap(
-; CHECK-NEXT: [[A:%.*]] = icmp ult i8 %x, 23
; CHECK-NEXT: [[B:%.*]] = icmp ult i8 %x, 17
-; CHECK-NEXT: [[C:%.*]] = and i1 [[A]], [[B]]
-; CHECK-NEXT: ret i1 [[C]]
+; CHECK-NEXT: ret i1 [[B]]
;
%a = icmp ult i8 %x, 23
%b = icmp ult i8 %x, 17
diff --git a/test/Transforms/JumpThreading/fold-not-thread.ll b/test/Transforms/JumpThreading/fold-not-thread.ll
new file mode 100644
index 000000000000..75deca62f753
--- /dev/null
+++ b/test/Transforms/JumpThreading/fold-not-thread.ll
@@ -0,0 +1,135 @@
+; RUN: opt -jump-threading -S -verify < %s | FileCheck %s
+
+declare i32 @f1()
+declare i32 @f2()
+declare void @f3()
+declare void @f4(i32)
+
+
+; Make sure we update the phi node properly.
+;
+; CHECK-LABEL: define void @test_br_folding_not_threading_update_phi(
+; CHECK: br label %L1
+; Make sure we update the phi node properly here, i.e. we only have 2 predecessors, entry and L0
+; CHECK: %res.0 = phi i32 [ 0, %L0 ], [ 1, %entry ]
+define void @test_br_folding_not_threading_update_phi(i32 %val) nounwind {
+entry:
+ %cmp = icmp eq i32 %val, 32
+ br i1 %cmp, label %L0, label %L1
+L0:
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ switch i32 %val, label %L2 [
+ i32 0, label %L1
+ i32 32, label %L1
+ ]
+
+L1:
+ %res.0 = phi i32 [ 0, %L0 ], [ 0, %L0 ], [1, %entry]
+ call void @f4(i32 %res.0)
+ ret void
+L2:
+ call void @f3()
+ ret void
+}
+
+; Make sure we can fold this branch ... We will not be able to thread it as
+; L0 is too big to duplicate. L2 is the unreachable block here.
+;
+; CHECK-LABEL: @test_br_folding_not_threading(
+; CHECK: L1:
+; CHECK: call i32 @f2()
+; CHECK: call void @f3()
+; CHECK-NEXT: ret void
+; CHECK-NOT: br
+; CHECK: L3:
+define void @test_br_folding_not_threading(i1 %cond) nounwind {
+entry:
+ br i1 %cond, label %L0, label %L3
+L0:
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ br i1 %cond, label %L1, label %L2
+
+L1:
+ call void @f3()
+ ret void
+L2:
+ call void @f3()
+ ret void
+L3:
+ call void @f3()
+ ret void
+}
+
+
+; Make sure we can fold this branch ... We will not be able to thread it as
+; L0 is too big to duplicate. L2 is the unreachable block here.
+; With more than 1 predecessors.
+;
+; CHECK-LABEL: @test_br_folding_not_threading_multiple_preds(
+; CHECK: L1:
+; CHECK: call i32 @f2()
+; CHECK: call void @f3()
+; CHECK-NEXT: ret void
+; CHECK-NOT: br
+; CHECK: L3:
+define void @test_br_folding_not_threading_multiple_preds(i1 %condx, i1 %cond) nounwind {
+entry:
+ br i1 %condx, label %X0, label %X1
+
+X0:
+ br i1 %cond, label %L0, label %L3
+
+X1:
+ br i1 %cond, label %L0, label %L3
+
+L0:
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ call i32 @f2()
+ br i1 %cond, label %L1, label %L2
+
+L1:
+ call void @f3()
+ ret void
+L2:
+ call void @f3()
+ ret void
+L3:
+ call void @f3()
+ ret void
+}
+
diff --git a/test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll b/test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll
new file mode 100644
index 000000000000..b67dc0584537
--- /dev/null
+++ b/test/Transforms/LoadStoreVectorizer/AMDGPU/gep-bitcast.ll
@@ -0,0 +1,83 @@
+; RUN: opt -S -mtriple=amdgcn--amdhsa -load-store-vectorizer < %s | FileCheck %s
+
+; Check that vectorizer can find a GEP through bitcast
+; CHECK-LABEL: @vect_zext_bitcast_f32_to_i32_idx
+; CHECK: load <4 x i32>
+define void @vect_zext_bitcast_f32_to_i32_idx(float addrspace(1)* %arg1, i32 %base) {
+ %add1 = add nuw i32 %base, 0
+ %zext1 = zext i32 %add1 to i64
+ %gep1 = getelementptr inbounds float, float addrspace(1)* %arg1, i64 %zext1
+ %f2i1 = bitcast float addrspace(1)* %gep1 to i32 addrspace(1)*
+ %load1 = load i32, i32 addrspace(1)* %f2i1, align 4
+ %add2 = add nuw i32 %base, 1
+ %zext2 = zext i32 %add2 to i64
+ %gep2 = getelementptr inbounds float, float addrspace(1)* %arg1, i64 %zext2
+ %f2i2 = bitcast float addrspace(1)* %gep2 to i32 addrspace(1)*
+ %load2 = load i32, i32 addrspace(1)* %f2i2, align 4
+ %add3 = add nuw i32 %base, 2
+ %zext3 = zext i32 %add3 to i64
+ %gep3 = getelementptr inbounds float, float addrspace(1)* %arg1, i64 %zext3
+ %f2i3 = bitcast float addrspace(1)* %gep3 to i32 addrspace(1)*
+ %load3 = load i32, i32 addrspace(1)* %f2i3, align 4
+ %add4 = add nuw i32 %base, 3
+ %zext4 = zext i32 %add4 to i64
+ %gep4 = getelementptr inbounds float, float addrspace(1)* %arg1, i64 %zext4
+ %f2i4 = bitcast float addrspace(1)* %gep4 to i32 addrspace(1)*
+ %load4 = load i32, i32 addrspace(1)* %f2i4, align 4
+ ret void
+}
+
+; CHECK-LABEL: @vect_zext_bitcast_i8_st1_to_i32_idx
+; CHECK: load i32
+; CHECK: load i32
+; CHECK: load i32
+; CHECK: load i32
+define void @vect_zext_bitcast_i8_st1_to_i32_idx(i8 addrspace(1)* %arg1, i32 %base) {
+ %add1 = add nuw i32 %base, 0
+ %zext1 = zext i32 %add1 to i64
+ %gep1 = getelementptr inbounds i8, i8 addrspace(1)* %arg1, i64 %zext1
+ %f2i1 = bitcast i8 addrspace(1)* %gep1 to i32 addrspace(1)*
+ %load1 = load i32, i32 addrspace(1)* %f2i1, align 4
+ %add2 = add nuw i32 %base, 1
+ %zext2 = zext i32 %add2 to i64
+ %gep2 = getelementptr inbounds i8,i8 addrspace(1)* %arg1, i64 %zext2
+ %f2i2 = bitcast i8 addrspace(1)* %gep2 to i32 addrspace(1)*
+ %load2 = load i32, i32 addrspace(1)* %f2i2, align 4
+ %add3 = add nuw i32 %base, 2
+ %zext3 = zext i32 %add3 to i64
+ %gep3 = getelementptr inbounds i8, i8 addrspace(1)* %arg1, i64 %zext3
+ %f2i3 = bitcast i8 addrspace(1)* %gep3 to i32 addrspace(1)*
+ %load3 = load i32, i32 addrspace(1)* %f2i3, align 4
+ %add4 = add nuw i32 %base, 3
+ %zext4 = zext i32 %add4 to i64
+ %gep4 = getelementptr inbounds i8, i8 addrspace(1)* %arg1, i64 %zext4
+ %f2i4 = bitcast i8 addrspace(1)* %gep4 to i32 addrspace(1)*
+ %load4 = load i32, i32 addrspace(1)* %f2i4, align 4
+ ret void
+}
+
+; TODO: This can be vectorized, but currently vectorizer unable to do it.
+; CHECK-LABEL: @vect_zext_bitcast_i8_st4_to_i32_idx
+define void @vect_zext_bitcast_i8_st4_to_i32_idx(i8 addrspace(1)* %arg1, i32 %base) {
+ %add1 = add nuw i32 %base, 0
+ %zext1 = zext i32 %add1 to i64
+ %gep1 = getelementptr inbounds i8, i8 addrspace(1)* %arg1, i64 %zext1
+ %f2i1 = bitcast i8 addrspace(1)* %gep1 to i32 addrspace(1)*
+ %load1 = load i32, i32 addrspace(1)* %f2i1, align 4
+ %add2 = add nuw i32 %base, 4
+ %zext2 = zext i32 %add2 to i64
+ %gep2 = getelementptr inbounds i8,i8 addrspace(1)* %arg1, i64 %zext2
+ %f2i2 = bitcast i8 addrspace(1)* %gep2 to i32 addrspace(1)*
+ %load2 = load i32, i32 addrspace(1)* %f2i2, align 4
+ %add3 = add nuw i32 %base, 8
+ %zext3 = zext i32 %add3 to i64
+ %gep3 = getelementptr inbounds i8, i8 addrspace(1)* %arg1, i64 %zext3
+ %f2i3 = bitcast i8 addrspace(1)* %gep3 to i32 addrspace(1)*
+ %load3 = load i32, i32 addrspace(1)* %f2i3, align 4
+ %add4 = add nuw i32 %base, 16
+ %zext4 = zext i32 %add4 to i64
+ %gep4 = getelementptr inbounds i8, i8 addrspace(1)* %arg1, i64 %zext4
+ %f2i4 = bitcast i8 addrspace(1)* %gep4 to i32 addrspace(1)*
+ %load4 = load i32, i32 addrspace(1)* %f2i4, align 4
+ ret void
+}
diff --git a/test/Transforms/LoopIdiom/non-integral-pointers.ll b/test/Transforms/LoopIdiom/non-integral-pointers.ll
new file mode 100644
index 000000000000..7646d5ac72d1
--- /dev/null
+++ b/test/Transforms/LoopIdiom/non-integral-pointers.ll
@@ -0,0 +1,48 @@
+; RUN: opt -S -basicaa -loop-idiom < %s | FileCheck %s
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128-ni:4"
+target triple = "x86_64-unknown-linux-gnu"
+
+define void @f_0(i8 addrspace(3)** %ptr) {
+; CHECK-LABEL: @f_0(
+; CHECK: call{{.*}}memset
+
+; LIR'ing stores of pointers with address space 3 is fine, since
+; they're integral pointers.
+
+entry:
+ br label %for.body
+
+for.body:
+ %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.body ]
+ %arrayidx = getelementptr i8 addrspace(3)*, i8 addrspace(3)** %ptr, i64 %indvar
+ store i8 addrspace(3)* null, i8 addrspace(3)** %arrayidx, align 4
+ %indvar.next = add i64 %indvar, 1
+ %exitcond = icmp eq i64 %indvar.next, 10000
+ br i1 %exitcond, label %for.end, label %for.body
+
+for.end:
+ ret void
+}
+
+define void @f_1(i8 addrspace(4)** %ptr) {
+; CHECK-LABEL: @f_1(
+; CHECK-NOT: call{{.*}}memset
+
+; LIR'ing stores of pointers with address space 4 is not ok, since
+; they're non-integral pointers.
+
+entry:
+ br label %for.body
+
+for.body:
+ %indvar = phi i64 [ 0, %entry ], [ %indvar.next, %for.body ]
+ %arrayidx = getelementptr i8 addrspace(4)*, i8 addrspace(4)** %ptr, i64 %indvar
+ store i8 addrspace(4)* null, i8 addrspace(4)** %arrayidx, align 4
+ %indvar.next = add i64 %indvar, 1
+ %exitcond = icmp eq i64 %indvar.next, 10000
+ br i1 %exitcond, label %for.end, label %for.body
+
+for.end:
+ ret void
+}
diff --git a/test/Transforms/LoopUnroll/not-rotated.ll b/test/Transforms/LoopUnroll/not-rotated.ll
new file mode 100644
index 000000000000..ffe80920d948
--- /dev/null
+++ b/test/Transforms/LoopUnroll/not-rotated.ll
@@ -0,0 +1,26 @@
+; PR28103
+; Bail out if the two successors are not the header
+; and another bb outside of the loop. This case is not
+; properly handled by LoopUnroll, currently.
+
+; RUN: opt -loop-unroll -verify-dom-info %s
+; REQUIRE: asserts
+
+define void @tinkywinky(i1 %patatino) {
+entry:
+ br label %header1
+header1:
+ %indvars.iv = phi i64 [ 1, %body2 ], [ 0, %entry ]
+ %exitcond = icmp ne i64 %indvars.iv, 1
+ br i1 %exitcond, label %body1, label %exit
+body1:
+ br i1 %patatino, label %body2, label %sink
+body2:
+ br i1 %patatino, label %header1, label %body3
+body3:
+ br label %sink
+sink:
+ br label %body2
+exit:
+ ret void
+}
diff --git a/test/Transforms/LoopVectorize/X86/float-induction-x86.ll b/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
index 08ac64e52d4f..b5e914500fb4 100644
--- a/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
+++ b/test/Transforms/LoopVectorize/X86/float-induction-x86.ll
@@ -82,5 +82,68 @@ for.end: ; preds = %for.end.loopexit, %
ret void
}
+; AUTO_VEC-LABEL: @external_use_with_fast_math(
+; AUTO_VEC-NEXT: entry:
+; AUTO_VEC-NEXT: [[TMP0:%.*]] = icmp sgt i64 %n, 1
+; AUTO_VEC-NEXT: [[SMAX:%.*]] = select i1 [[TMP0]], i64 %n, i64 1
+; AUTO_VEC: br i1 {{.*}}, label %for.body, label %min.iters.checked
+; AUTO_VEC: min.iters.checked:
+; AUTO_VEC-NEXT: [[N_VEC:%.*]] = and i64 [[SMAX]], 9223372036854775792
+; AUTO_VEC: br i1 {{.*}}, label %for.body, label %vector.body
+; AUTO_VEC: middle.block:
+; AUTO_VEC: [[TMP11:%.*]] = add nsw i64 [[N_VEC]], -1
+; AUTO_VEC-NEXT: [[CAST_CMO:%.*]] = sitofp i64 [[TMP11]] to double
+; AUTO_VEC-NEXT: [[TMP12:%.*]] = fmul fast double [[CAST_CMO]], 3.000000e+00
+; AUTO_VEC-NEXT: br i1 {{.*}}, label %for.end, label %for.body
+; AUTO_VEC: for.end:
+; AUTO_VEC-NEXT: [[J_LCSSA:%.*]] = phi double [ [[TMP12]], %middle.block ], [ %j, %for.body ]
+; AUTO_VEC-NEXT: ret double [[J_LCSSA]]
+;
+define double @external_use_with_fast_math(double* %a, i64 %n) {
+entry:
+ br label %for.body
+
+for.body:
+ %i = phi i64 [ 0, %entry ], [%i.next, %for.body]
+ %j = phi double [ 0.0, %entry ], [ %j.next, %for.body ]
+ %tmp0 = getelementptr double, double* %a, i64 %i
+ store double %j, double* %tmp0
+ %i.next = add i64 %i, 1
+ %j.next = fadd fast double %j, 3.0
+ %cond = icmp slt i64 %i.next, %n
+ br i1 %cond, label %for.body, label %for.end
+
+for.end:
+ %tmp1 = phi double [ %j, %for.body ]
+ ret double %tmp1
+}
+
+; AUTO_VEC-LABEL: @external_use_without_fast_math(
+; AUTO_VEC: for.body:
+; AUTO_VEC: [[J:%.*]] = phi double [ 0.000000e+00, %entry ], [ [[J_NEXT:%.*]], %for.body ]
+; AUTO_VEC: [[J_NEXT]] = fadd double [[J]], 3.000000e+00
+; AUTO_VEC: br i1 {{.*}}, label %for.body, label %for.end
+; AUTO_VEC: for.end:
+; AUTO_VEC-NEXT: ret double [[J]]
+;
+define double @external_use_without_fast_math(double* %a, i64 %n) {
+entry:
+ br label %for.body
+
+for.body:
+ %i = phi i64 [ 0, %entry ], [%i.next, %for.body]
+ %j = phi double [ 0.0, %entry ], [ %j.next, %for.body ]
+ %tmp0 = getelementptr double, double* %a, i64 %i
+ store double %j, double* %tmp0
+ %i.next = add i64 %i, 1
+ %j.next = fadd double %j, 3.0
+ %cond = icmp slt i64 %i.next, %n
+ br i1 %cond, label %for.body, label %for.end
+
+for.end:
+ %tmp1 = phi double [ %j, %for.body ]
+ ret double %tmp1
+}
+
attributes #0 = { "no-nans-fp-math"="true" }
attributes #1 = { "no-nans-fp-math"="false" }
diff --git a/test/Transforms/LoopVectorize/induction.ll b/test/Transforms/LoopVectorize/induction.ll
index 0d7d9fe0c1b8..6507166dd1f2 100644
--- a/test/Transforms/LoopVectorize/induction.ll
+++ b/test/Transforms/LoopVectorize/induction.ll
@@ -309,59 +309,59 @@ for.end:
;
; CHECK-LABEL: @scalarize_induction_variable_05(
; CHECK: vector.body:
-; CHECK: %index = phi i32 [ 0, %vector.ph ], [ %index.next, %pred.udiv.continue2 ]
+; CHECK: %index = phi i32 [ 0, %vector.ph ], [ %index.next, %pred.udiv.continue{{[0-9]+}} ]
; CHECK: %[[I0:.+]] = add i32 %index, 0
; CHECK: getelementptr inbounds i32, i32* %a, i32 %[[I0]]
; CHECK: pred.udiv.if:
; CHECK: udiv i32 {{.*}}, %[[I0]]
-; CHECK: pred.udiv.if1:
+; CHECK: pred.udiv.if{{[0-9]+}}:
; CHECK: %[[I1:.+]] = add i32 %index, 1
; CHECK: udiv i32 {{.*}}, %[[I1]]
;
; UNROLL-NO_IC-LABEL: @scalarize_induction_variable_05(
; UNROLL-NO-IC: vector.body:
-; UNROLL-NO-IC: %index = phi i32 [ 0, %vector.ph ], [ %index.next, %pred.udiv.continue11 ]
+; UNROLL-NO-IC: %index = phi i32 [ 0, %vector.ph ], [ %index.next, %pred.udiv.continue{{[0-9]+}} ]
; UNROLL-NO-IC: %[[I0:.+]] = add i32 %index, 0
; UNROLL-NO-IC: %[[I2:.+]] = add i32 %index, 2
; UNROLL-NO-IC: getelementptr inbounds i32, i32* %a, i32 %[[I0]]
; UNROLL-NO-IC: getelementptr inbounds i32, i32* %a, i32 %[[I2]]
; UNROLL-NO-IC: pred.udiv.if:
; UNROLL-NO-IC: udiv i32 {{.*}}, %[[I0]]
-; UNROLL-NO-IC: pred.udiv.if6:
+; UNROLL-NO-IC: pred.udiv.if{{[0-9]+}}:
; UNROLL-NO-IC: %[[I1:.+]] = add i32 %index, 1
; UNROLL-NO-IC: udiv i32 {{.*}}, %[[I1]]
-; UNROLL-NO-IC: pred.udiv.if8:
+; UNROLL-NO-IC: pred.udiv.if{{[0-9]+}}:
; UNROLL-NO-IC: udiv i32 {{.*}}, %[[I2]]
-; UNROLL-NO-IC: pred.udiv.if10:
+; UNROLL-NO-IC: pred.udiv.if{{[0-9]+}}:
; UNROLL-NO-IC: %[[I3:.+]] = add i32 %index, 3
; UNROLL-NO-IC: udiv i32 {{.*}}, %[[I3]]
;
; IND-LABEL: @scalarize_induction_variable_05(
; IND: vector.body:
-; IND: %index = phi i32 [ 0, %vector.ph ], [ %index.next, %pred.udiv.continue2 ]
+; IND: %index = phi i32 [ 0, %vector.ph ], [ %index.next, %pred.udiv.continue{{[0-9]+}} ]
; IND: %[[E0:.+]] = sext i32 %index to i64
; IND: getelementptr inbounds i32, i32* %a, i64 %[[E0]]
; IND: pred.udiv.if:
; IND: udiv i32 {{.*}}, %index
-; IND: pred.udiv.if1:
+; IND: pred.udiv.if{{[0-9]+}}:
; IND: %[[I1:.+]] = or i32 %index, 1
; IND: udiv i32 {{.*}}, %[[I1]]
;
; UNROLL-LABEL: @scalarize_induction_variable_05(
; UNROLL: vector.body:
-; UNROLL: %index = phi i32 [ 0, %vector.ph ], [ %index.next, %pred.udiv.continue11 ]
+; UNROLL: %index = phi i32 [ 0, %vector.ph ], [ %index.next, %pred.udiv.continue{{[0-9]+}} ]
; UNROLL: %[[I2:.+]] = or i32 %index, 2
; UNROLL: %[[E0:.+]] = sext i32 %index to i64
; UNROLL: %[[G0:.+]] = getelementptr inbounds i32, i32* %a, i64 %[[E0]]
; UNROLL: getelementptr i32, i32* %[[G0]], i64 2
; UNROLL: pred.udiv.if:
; UNROLL: udiv i32 {{.*}}, %index
-; UNROLL: pred.udiv.if6:
+; UNROLL: pred.udiv.if{{[0-9]+}}:
; UNROLL: %[[I1:.+]] = or i32 %index, 1
; UNROLL: udiv i32 {{.*}}, %[[I1]]
-; UNROLL: pred.udiv.if8:
+; UNROLL: pred.udiv.if{{[0-9]+}}:
; UNROLL: udiv i32 {{.*}}, %[[I2]]
-; UNROLL: pred.udiv.if10:
+; UNROLL: pred.udiv.if{{[0-9]+}}:
; UNROLL: %[[I3:.+]] = or i32 %index, 3
; UNROLL: udiv i32 {{.*}}, %[[I3]]
diff --git a/test/Transforms/LoopVectorize/phi-cost.ll b/test/Transforms/LoopVectorize/phi-cost.ll
new file mode 100644
index 000000000000..5ccea66c76af
--- /dev/null
+++ b/test/Transforms/LoopVectorize/phi-cost.ll
@@ -0,0 +1,86 @@
+; REQUIRES: asserts
+; RUN: opt < %s -loop-vectorize -force-vector-width=2 -force-vector-interleave=1 -instcombine -debug-only=loop-vectorize -disable-output -print-after=instcombine 2>&1 | FileCheck %s
+
+target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128"
+
+; CHECK-LABEL: phi_two_incoming_values
+; CHECK: LV: Found an estimated cost of 1 for VF 2 For instruction: %i = phi i64 [ %i.next, %if.end ], [ 0, %entry ]
+; CHECK: LV: Found an estimated cost of 1 for VF 2 For instruction: %tmp5 = phi i32 [ %tmp1, %for.body ], [ %tmp4, %if.then ]
+; CHECK: vector.body:
+; CHECK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, %vector.ph ], [ [[INDEX_NEXT:%.*]], %vector.body ]
+; CHECK: [[WIDE_LOAD:%.*]] = load <2 x i32>, <2 x i32>* {{.*}}
+; CHECK: [[TMP5:%.*]] = icmp sgt <2 x i32> [[WIDE_LOAD]], zeroinitializer
+; CHECK-NEXT: [[TMP6:%.*]] = add <2 x i32> [[WIDE_LOAD]], <i32 1, i32 1>
+; CHECK-NEXT: [[PREDPHI:%.*]] = select <2 x i1> [[TMP5]], <2 x i32> [[TMP6]], <2 x i32> [[WIDE_LOAD]]
+; CHECK: store <2 x i32> [[PREDPHI]], <2 x i32>* {{.*}}
+; CHECK-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], 2
+;
+define void @phi_two_incoming_values(i32* %a, i32* %b, i64 %n) {
+entry:
+ br label %for.body
+
+for.body:
+ %i = phi i64 [ %i.next, %if.end ], [ 0, %entry ]
+ %tmp0 = getelementptr inbounds i32, i32* %a, i64 %i
+ %tmp1 = load i32, i32* %tmp0, align 4
+ %tmp2 = getelementptr inbounds i32, i32* %b, i64 %i
+ %tmp3 = icmp sgt i32 %tmp1, 0
+ br i1 %tmp3, label %if.then, label %if.end
+
+if.then:
+ %tmp4 = add i32 %tmp1, 1
+ br label %if.end
+
+if.end:
+ %tmp5 = phi i32 [ %tmp1, %for.body ], [ %tmp4, %if.then ]
+ store i32 %tmp5, i32* %tmp2, align 4
+ %i.next = add i64 %i, 1
+ %cond = icmp eq i64 %i, %n
+ br i1 %cond, label %for.end, label %for.body
+
+for.end:
+ ret void
+}
+
+; CHECK-LABEL: phi_three_incoming_values
+; CHECK: LV: Found an estimated cost of 1 for VF 2 For instruction: %i = phi i64 [ %i.next, %if.end ], [ 0, %entry ]
+; CHECK: LV: Found an estimated cost of 2 for VF 2 For instruction: %tmp8 = phi i32 [ 9, %for.body ], [ 3, %if.then ], [ %tmp7, %if.else ]
+; CHECK: vector.body:
+; CHECK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, %vector.ph ], [ [[INDEX_NEXT:%.*]], %vector.body ]
+; CHECK: [[PREDPHI:%.*]] = select <2 x i1> {{.*}}, <2 x i32> <i32 3, i32 3>, <2 x i32> <i32 9, i32 9>
+; CHECK: [[PREDPHI7:%.*]] = select <2 x i1> {{.*}}, <2 x i32> {{.*}}, <2 x i32> [[PREDPHI]]
+; CHECK: store <2 x i32> [[PREDPHI7]], <2 x i32>* {{.*}}
+; CHECK-NEXT: [[INDEX_NEXT]] = add i64 [[INDEX]], 2
+;
+define void @phi_three_incoming_values(i32* %a, i32* %b, i64 %n) {
+entry:
+ br label %for.body
+
+for.body:
+ %i = phi i64 [ %i.next, %if.end ], [ 0, %entry ]
+ %tmp0 = getelementptr inbounds i32, i32* %a, i64 %i
+ %tmp1 = load i32, i32* %tmp0, align 4
+ %tmp2 = getelementptr inbounds i32, i32* %b, i64 %i
+ %tmp3 = load i32, i32* %tmp2, align 4
+ %tmp4 = icmp sgt i32 %tmp1, %tmp3
+ br i1 %tmp4, label %if.then, label %if.end
+
+if.then:
+ %tmp5 = icmp sgt i32 %tmp1, 19
+ br i1 %tmp5, label %if.end, label %if.else
+
+if.else:
+ %tmp6 = icmp slt i32 %tmp3, 4
+ %tmp7 = select i1 %tmp6, i32 4, i32 5
+ br label %if.end
+
+if.end:
+ %tmp8 = phi i32 [ 9, %for.body ], [ 3, %if.then ], [ %tmp7, %if.else ]
+ store i32 %tmp8, i32* %tmp0, align 4
+ %i.next = add i64 %i, 1
+ %cond = icmp eq i64 %i, %n
+ br i1 %cond, label %for.end, label %for.body
+
+for.end:
+ ret void
+}
diff --git a/test/Transforms/LowerSwitch/phi-in-dead-block.ll b/test/Transforms/LowerSwitch/phi-in-dead-block.ll
new file mode 100644
index 000000000000..a632584f7eb9
--- /dev/null
+++ b/test/Transforms/LowerSwitch/phi-in-dead-block.ll
@@ -0,0 +1,40 @@
+; RUN: opt -S -lowerswitch %s | FileCheck %s
+
+; CHECK-LABEL: @phi_in_dead_block(
+; CHECK-NOT: switch
+define void @phi_in_dead_block() {
+bb:
+ br i1 undef, label %bb2, label %bb3
+
+bb1: ; No predecessors!
+ switch i32 undef, label %bb2 [
+ i32 9, label %bb3
+ ]
+
+bb2: ; preds = %bb1, %bb
+ %tmp = phi i64 [ undef, %bb1 ], [ undef, %bb ]
+ unreachable
+
+bb3: ; preds = %bb1, %bb
+ unreachable
+}
+
+; CHECK-LABEL: @phi_in_dead_block_br_to_self(
+; CHECK-NOT: switch
+define void @phi_in_dead_block_br_to_self() {
+bb:
+ br i1 undef, label %bb2, label %bb3
+
+bb1: ; No predecessors!
+ switch i32 undef, label %bb2 [
+ i32 9, label %bb3
+ i32 10, label %bb1
+ ]
+
+bb2: ; preds = %bb1, %bb
+ %tmp = phi i64 [ undef, %bb1 ], [ undef, %bb ]
+ unreachable
+
+bb3: ; preds = %bb1, %bb
+ unreachable
+}
diff --git a/test/Transforms/Mem2Reg/debug-alloca-phi.ll b/test/Transforms/Mem2Reg/debug-alloca-phi.ll
new file mode 100644
index 000000000000..977365ba4122
--- /dev/null
+++ b/test/Transforms/Mem2Reg/debug-alloca-phi.ll
@@ -0,0 +1,48 @@
+; RUN: opt < %s -mem2reg -S | FileCheck %s
+source_filename = "bugpoint-output.bc"
+target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-apple-macosx10.12.0"
+
+define void @scan() #0 !dbg !12 {
+entry:
+ %entry1 = alloca i8, align 8
+ call void @llvm.dbg.declare(metadata i8* %entry1, metadata !18, metadata !19), !dbg !20
+ store i8 0, i8* %entry1, align 8, !dbg !20
+ br label %for.cond, !dbg !20
+
+for.cond:
+; CHECK: %[[PHI:.*]] = phi i8 [ 0, %entry ], [ %0, %for.cond ]
+ %entryN = load i8, i8* %entry1, align 8, !dbg !20
+; CHECK: call void @llvm.dbg.value(metadata i8 %[[PHI]], i64 0,
+; CHECK-SAME: metadata ![[EXPR:[0-9]+]])
+ %0 = add i8 %entryN, 1
+; CHECK: %0 = add i8 %[[PHI]], 1
+; CHECK: call void @llvm.dbg.value(metadata i8 %0, i64 0,
+; CHECK-SAME: metadata ![[EXPR]])
+ store i8 %0, i8* %entry1, align 8, !dbg !20
+ br label %for.cond, !dbg !20
+}
+
+; CHECK: ![[EXPR]] = !DIExpression()
+
+declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
+
+attributes #0 = { nounwind ssp uwtable }
+attributes #1 = { nounwind readnone }
+
+!llvm.dbg.cu = !{!0}
+!llvm.module.flags = !{!10, !11}
+
+!0 = distinct !DICompileUnit(language: DW_LANG_C99, file: !1, producer: "adrian", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug)
+!1 = !DIFile(filename: "<stdin>", directory: "/")
+!2 = !{}
+!4 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_signed_char)
+!10 = !{i32 2, !"Debug Info Version", i32 3}
+!11 = !{i32 1, !"PIC Level", i32 2}
+!12 = distinct !DISubprogram(name: "scan", scope: !1, file: !1, line: 4, type: !13, isLocal: false, isDefinition: true, scopeLine: 5, flags: DIFlagPrototyped, isOptimized: true, unit: !0, variables: !15)
+!13 = !DISubroutineType(types: !14)
+!14 = !{null, !4, !4}
+!15 = !{!18}
+!18 = !DILocalVariable(name: "entry", scope: !12, file: !1, line: 6, type: !4)
+!19 = !DIExpression()
+!20 = !DILocation(line: 6, scope: !12)
diff --git a/test/Transforms/ObjCARC/clang-arc-use-barrier.ll b/test/Transforms/ObjCARC/clang-arc-use-barrier.ll
new file mode 100644
index 000000000000..98d49ec512ee
--- /dev/null
+++ b/test/Transforms/ObjCARC/clang-arc-use-barrier.ll
@@ -0,0 +1,45 @@
+; RUN: opt -objc-arc -S %s | FileCheck %s
+
+%0 = type opaque
+
+; Make sure ARC optimizer doesn't sink @obj_retain past @clang.arc.use.
+
+; CHECK: call i8* @objc_retain(
+; CHECK: call void (...) @clang.arc.use(
+; CHECK: call i8* @objc_retain(
+; CHECK: call void (...) @clang.arc.use(
+
+define void @runTest() local_unnamed_addr {
+ %1 = alloca %0*, align 8
+ %2 = alloca %0*, align 8
+ %3 = tail call %0* @foo0()
+ %4 = bitcast %0* %3 to i8*
+ %5 = tail call i8* @objc_retainAutoreleasedReturnValue(i8* %4)
+ store %0* %3, %0** %1, align 8
+ call void @foo1(%0** nonnull %1)
+ %6 = load %0*, %0** %1, align 8
+ %7 = bitcast %0* %6 to i8*
+ %8 = call i8* @objc_retain(i8* %7)
+ call void (...) @clang.arc.use(%0* %3)
+ call void @objc_release(i8* %4)
+ store %0* %6, %0** %2, align 8
+ call void @foo1(%0** nonnull %2)
+ %9 = load %0*, %0** %2, align 8
+ %10 = bitcast %0* %9 to i8*
+ %11 = call i8* @objc_retain(i8* %10)
+ call void (...) @clang.arc.use(%0* %6)
+ %tmp1 = load %0*, %0** %2, align 8
+ call void @objc_release(i8* %7)
+ call void @foo2(%0* %9)
+ call void @objc_release(i8* %10)
+ ret void
+}
+
+declare %0* @foo0() local_unnamed_addr
+declare void @foo1(%0**) local_unnamed_addr
+declare void @foo2(%0*) local_unnamed_addr
+
+declare i8* @objc_retainAutoreleasedReturnValue(i8*) local_unnamed_addr
+declare i8* @objc_retain(i8*) local_unnamed_addr
+declare void @clang.arc.use(...) local_unnamed_addr
+declare void @objc_release(i8*) local_unnamed_addr
diff --git a/test/Transforms/ObjCARC/intrinsic-use.ll b/test/Transforms/ObjCARC/intrinsic-use.ll
index f75b1872b172..f5956201454c 100644
--- a/test/Transforms/ObjCARC/intrinsic-use.ll
+++ b/test/Transforms/ObjCARC/intrinsic-use.ll
@@ -14,23 +14,20 @@ declare void @test0_helper(i8*, i8**)
; Ensure that we honor clang.arc.use as a use and don't miscompile
; the reduced test case from <rdar://13195034>.
;
-; FIXME: the fact that we re-order retains w.r.t. @clang.arc.use could
-; be problematic if we get run twice, e.g. under LTO.
-;
; CHECK-LABEL: define void @test0(
; CHECK: @objc_retain(i8* %x)
; CHECK-NEXT: store i8* %y, i8** %temp0
; CHECK-NEXT: @objc_retain(i8* %y)
; CHECK-NEXT: call void @test0_helper
; CHECK-NEXT: [[VAL1:%.*]] = load i8*, i8** %temp0
-; CHECK-NEXT: call void (...) @clang.arc.use(i8* %y)
; CHECK-NEXT: @objc_retain(i8* [[VAL1]])
+; CHECK-NEXT: call void (...) @clang.arc.use(i8* %y)
; CHECK-NEXT: @objc_release(i8* %y)
; CHECK-NEXT: store i8* [[VAL1]], i8** %temp1
; CHECK-NEXT: call void @test0_helper
; CHECK-NEXT: [[VAL2:%.*]] = load i8*, i8** %temp1
-; CHECK-NEXT: call void (...) @clang.arc.use(i8* [[VAL1]])
; CHECK-NEXT: @objc_retain(i8* [[VAL2]])
+; CHECK-NEXT: call void (...) @clang.arc.use(i8* [[VAL1]])
; CHECK-NEXT: @objc_release(i8* [[VAL1]])
; CHECK-NEXT: @objc_autorelease(i8* %x)
; CHECK-NEXT: store i8* %x, i8** %out
@@ -71,14 +68,14 @@ entry:
; CHECK-NEXT: @objc_retain(i8* %y)
; CHECK-NEXT: call void @test0_helper
; CHECK-NEXT: [[VAL1:%.*]] = load i8*, i8** %temp0
-; CHECK-NEXT: call void (...) @clang.arc.use(i8* %y)
; CHECK-NEXT: @objc_retain(i8* [[VAL1]])
+; CHECK-NEXT: call void (...) @clang.arc.use(i8* %y)
; CHECK-NEXT: @objc_release(i8* %y)
; CHECK-NEXT: store i8* [[VAL1]], i8** %temp1
; CHECK-NEXT: call void @test0_helper
; CHECK-NEXT: [[VAL2:%.*]] = load i8*, i8** %temp1
-; CHECK-NEXT: call void (...) @clang.arc.use(i8* [[VAL1]])
; CHECK-NEXT: @objc_retain(i8* [[VAL2]])
+; CHECK-NEXT: call void (...) @clang.arc.use(i8* [[VAL1]])
; CHECK-NEXT: @objc_release(i8* [[VAL1]])
; CHECK-NEXT: @objc_autorelease(i8* %x)
; CHECK-NEXT: @objc_release(i8* [[VAL2]])
diff --git a/test/Transforms/PGOProfile/memop_size_opt.ll b/test/Transforms/PGOProfile/memop_size_opt.ll
index c7c42f3c1d33..19a2b7ed293b 100644
--- a/test/Transforms/PGOProfile/memop_size_opt.ll
+++ b/test/Transforms/PGOProfile/memop_size_opt.ll
@@ -4,7 +4,7 @@
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
-define void @foo(i8* %dst, i8* %src, i32* %a, i32 %n) !prof !27 {
+define void @foo(i8* %dst, i8* %src, i8* %dst2, i8* %src2, i32* %a, i32 %n) !prof !27 {
entry:
br label %for.cond
@@ -28,19 +28,29 @@ for.body3:
%add = add nsw i32 %i.0, 1
%conv = sext i32 %add to i64
call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %conv, i32 1, i1 false), !prof !30
+ call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst2, i8* %src2, i64 %conv, i32 1, i1 false), !prof !31
br label %for.inc
-; MEMOP_OPT: switch i64 %conv, label %[[Default_LABEL:.*]] [
+; MEMOP_OPT: switch i64 %conv, label %[[DEFAULT_LABEL:.*]] [
; MEMOP_OPT: i64 1, label %[[CASE_1_LABEL:.*]]
; MEMOP_OPT: ], !prof [[SWITCH_BW:![0-9]+]]
; MEMOP_OPT: [[CASE_1_LABEL]]:
; MEMOP_OPT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 1, i32 1, i1 false)
; MEMOP_OPT: br label %[[MERGE_LABEL:.*]]
-; MEMOP_OPT: [[Default_LABEL]]:
-; MEMOP_OPT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %conv, i32 1, i1 false)
-; MEMOP_OPT-NOT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %conv, i32 1, i1 false), !prof
+; MEMOP_OPT: [[DEFAULT_LABEL]]:
+; MEMOP_OPT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst, i8* %src, i64 %conv, i32 1, i1 false){{[[:space:]]}}
; MEMOP_OPT: br label %[[MERGE_LABEL]]
; MEMOP_OPT: [[MERGE_LABEL]]:
+; MEMOP_OPT: switch i64 %conv, label %[[DEFAULT_LABEL2:.*]] [
+; MEMOP_OPT: i64 1, label %[[CASE_1_LABEL2:.*]]
+; MEMOP_OPT: ], !prof [[SWITCH_BW:![0-9]+]]
+; MEMOP_OPT: [[CASE_1_LABEL2]]:
+; MEMOP_OPT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst2, i8* %src2, i64 1, i32 1, i1 false)
+; MEMOP_OPT: br label %[[MERGE_LABEL2:.*]]
+; MEMOP_OPT: [[DEFAULT_LABEL2]]:
+; MEMOP_OPT: call void @llvm.memcpy.p0i8.p0i8.i64(i8* %dst2, i8* %src2, i64 %conv, i32 1, i1 false){{[[:space:]]}}
+; MEMOP_OPT: br label %[[MERGE_LABEL2]]
+; MEMOP_OPT: [[MERGE_LABEL2]]:
; MEMOP_OPT: br label %for.inc
; MEMOP_OPT: [[SWITCH_BW]] = !{!"branch_weights", i32 457, i32 99}
@@ -92,6 +102,7 @@ for.end6:
!28 = !{!"branch_weights", i32 20, i32 1}
!29 = !{!"branch_weights", i32 556, i32 20}
!30 = !{!"VP", i32 1, i64 556, i64 1, i64 99, i64 2, i64 88, i64 3, i64 77, i64 9, i64 72, i64 4, i64 66, i64 5, i64 55, i64 6, i64 44, i64 7, i64 33, i64 8, i64 22}
+!31 = !{!"VP", i32 1, i64 556, i64 1, i64 99, i64 2, i64 88, i64 3, i64 77, i64 9, i64 72, i64 4, i64 66, i64 5, i64 55, i64 6, i64 44, i64 7, i64 33, i64 8, i64 22}
declare void @llvm.lifetime.start(i64, i8* nocapture)
diff --git a/test/Transforms/SimplifyCFG/merge-cond-stores.ll b/test/Transforms/SimplifyCFG/merge-cond-stores.ll
index d5d0224a4b24..a4bda96e22a1 100644
--- a/test/Transforms/SimplifyCFG/merge-cond-stores.ll
+++ b/test/Transforms/SimplifyCFG/merge-cond-stores.ll
@@ -36,6 +36,39 @@ end:
ret void
}
+; This is the same as test_simple, but the branch target order has been swapped
+define void @test_simple_commuted(i32* %p, i32 %a, i32 %b) {
+; CHECK-LABEL: @test_simple_commuted(
+; CHECK-NEXT: entry:
+; CHECK-NEXT: [[X1:%.*]] = icmp eq i32 [[A:%.*]], 0
+; CHECK-NEXT: [[X2:%.*]] = icmp eq i32 [[B:%.*]], 0
+; CHECK-NEXT: [[TMP0:%.*]] = or i1 [[X1]], [[X2]]
+; CHECK-NEXT: br i1 [[TMP0]], label [[TMP1:%.*]], label [[TMP2:%.*]]
+; CHECK: [[DOT:%.*]] = zext i1 [[X2]] to i32
+; CHECK-NEXT: store i32 [[DOT]], i32* [[P:%.*]], align 4
+; CHECK-NEXT: br label [[TMP2]]
+; CHECK: ret void
+;
+entry:
+ %x1 = icmp eq i32 %a, 0
+ br i1 %x1, label %yes1, label %fallthrough
+
+yes1:
+ store i32 0, i32* %p
+ br label %fallthrough
+
+fallthrough:
+ %x2 = icmp eq i32 %b, 0
+ br i1 %x2, label %yes2, label %end
+
+yes2:
+ store i32 1, i32* %p
+ br label %end
+
+end:
+ ret void
+}
+
; This test should entirely fold away, leaving one large basic block.
define void @test_recursive(i32* %p, i32 %a, i32 %b, i32 %c, i32 %d) {
; CHECK-LABEL: @test_recursive(
diff --git a/test/Transforms/StructurizeCFG/invert-compare.ll b/test/Transforms/StructurizeCFG/invert-compare.ll
deleted file mode 100644
index 87d9c6d10569..000000000000
--- a/test/Transforms/StructurizeCFG/invert-compare.ll
+++ /dev/null
@@ -1,60 +0,0 @@
-; RUN: opt -S -structurizecfg %s | FileCheck %s
-
-; CHECK-LABEL: @directly_invert_compare_condition_jump_into_loop(
-; CHECK: %cmp0 = fcmp uge float %arg0, %arg1
-; CHECK-NEXT: br i1 %cmp0, label %end.loop, label %Flow
-define void @directly_invert_compare_condition_jump_into_loop(i32 addrspace(1)* %out, i32 %n, float %arg0, float %arg1) #0 {
-entry:
- br label %for.body
-
-for.body:
- %i = phi i32 [0, %entry], [%i.inc, %end.loop]
- %ptr = getelementptr i32, i32 addrspace(1)* %out, i32 %i
- store i32 %i, i32 addrspace(1)* %ptr, align 4
- %cmp0 = fcmp olt float %arg0, %arg1
- br i1 %cmp0, label %mid.loop, label %end.loop
-
-mid.loop:
- store i32 333, i32 addrspace(1)* %out, align 4
- br label %for.end
-
-end.loop:
- %i.inc = add i32 %i, 1
- %cmp = icmp ne i32 %i.inc, %n
- br i1 %cmp, label %for.body, label %for.end
-
-for.end:
- ret void
-}
-
-; CHECK-LABEL: @invert_multi_use_compare_condition_jump_into_loop(
-; CHECK: %cmp0 = fcmp olt float %arg0, %arg1
-; CHECK: store volatile i1 %cmp0, i1 addrspace(1)* undef
-; CHECK: %0 = xor i1 %cmp0, true
-; CHECK-NEXT: br i1 %0, label %end.loop, label %Flow
-define void @invert_multi_use_compare_condition_jump_into_loop(i32 addrspace(1)* %out, i32 %n, float %arg0, float %arg1) #0 {
-entry:
- br label %for.body
-
-for.body:
- %i = phi i32 [0, %entry], [%i.inc, %end.loop]
- %ptr = getelementptr i32, i32 addrspace(1)* %out, i32 %i
- store i32 %i, i32 addrspace(1)* %ptr, align 4
- %cmp0 = fcmp olt float %arg0, %arg1
- store volatile i1 %cmp0, i1 addrspace(1)* undef
- br i1 %cmp0, label %mid.loop, label %end.loop
-
-mid.loop:
- store i32 333, i32 addrspace(1)* %out, align 4
- br label %for.end
-
-end.loop:
- %i.inc = add i32 %i, 1
- %cmp = icmp ne i32 %i.inc, %n
- br i1 %cmp, label %for.body, label %for.end
-
-for.end:
- ret void
-}
-
-attributes #0 = { nounwind } \ No newline at end of file
diff --git a/test/Transforms/StructurizeCFG/one-loop-multiple-backedges.ll b/test/Transforms/StructurizeCFG/one-loop-multiple-backedges.ll
index aff59642cbcb..668a1e99d814 100644
--- a/test/Transforms/StructurizeCFG/one-loop-multiple-backedges.ll
+++ b/test/Transforms/StructurizeCFG/one-loop-multiple-backedges.ll
@@ -11,8 +11,8 @@ bb:
bb3: ; preds = %bb7, %bb
%tmp = phi i64 [ 0, %bb ], [ %tmp8, %bb7 ]
%tmp4 = fcmp ult float %arg1, 3.500000e+00
-; CHECK: %tmp4 = fcmp oge float %arg1, 3.500000e+00
-; CHECK: br i1 %tmp4, label %bb5, label %Flow
+; CHECK: %0 = xor i1 %tmp4, true
+; CHECK: br i1 %0, label %bb5, label %Flow
br i1 %tmp4, label %bb7, label %bb5
; CHECK: bb5:
@@ -22,8 +22,7 @@ bb5: ; preds = %bb3
br i1 %tmp6, label %bb10, label %bb7
; CHECK: Flow:
-; CHECK: %1 = phi i1 [ %tmp6, %bb5 ], [ %tmp4, %bb3 ]
-; CHECK-NEXT: br i1 %1, label %bb7, label %Flow1
+; CHECK: br i1 %3, label %bb7, label %Flow1
; CHECK: bb7
bb7: ; preds = %bb5, %bb3
@@ -33,10 +32,9 @@ bb7: ; preds = %bb5, %bb3
br i1 %tmp9, label %bb3, label %bb10
; CHECK: Flow1:
-; CHECK: %4 = phi i1 [ %tmp9, %bb7 ], [ true, %Flow ]
-; CHECK-NEXT: br i1 %4, label %bb10, label %bb3
+; CHECK: br i1 %7, label %bb10, label %bb3
-; CHECK: bb10:
+; CHECK: bb10
bb10: ; preds = %bb7, %bb5
%tmp11 = phi i32 [ 15, %bb5 ], [ 255, %bb7 ]
store i32 %tmp11, i32 addrspace(1)* %arg, align 4
diff --git a/test/Transforms/StructurizeCFG/post-order-traversal-bug.ll b/test/Transforms/StructurizeCFG/post-order-traversal-bug.ll
index a8835f19d447..ba9aa2913061 100644
--- a/test/Transforms/StructurizeCFG/post-order-traversal-bug.ll
+++ b/test/Transforms/StructurizeCFG/post-order-traversal-bug.ll
@@ -59,8 +59,7 @@ for.end: ; preds = %for.body.1, %if.the
; CHECK: br i1 %{{[0-9]}}, label %for.body.1, label %Flow2
; CHECK: for.body.1:
-; CHECK: %cmp1.5 = icmp ne i32 %tmp22, %K1
-; CHECK-NEXT: br i1 %cmp1.5, label %for.body.6, label %Flow3
+; CHECK: br i1 %{{[0-9]+}}, label %for.body.6, label %Flow3
for.body.1: ; preds = %if.then, %lor.lhs.false
%best_val.233 = phi float [ %tmp5, %if.then ], [ %best_val.027, %lor.lhs.false ]
%best_count.231 = phi i32 [ %sub4, %if.then ], [ %best_count.025, %lor.lhs.false ]
diff --git a/test/Transforms/Util/libcalls-fast-math-inf-loop.ll b/test/Transforms/Util/libcalls-fast-math-inf-loop.ll
new file mode 100644
index 000000000000..a351fe82173c
--- /dev/null
+++ b/test/Transforms/Util/libcalls-fast-math-inf-loop.ll
@@ -0,0 +1,60 @@
+; RUN: opt -S -instcombine -o - %s | FileCheck %s
+
+; Test that fast math lib call simplification of double math function to float
+; equivalent doesn't occur when the calling function matches the float
+; equivalent math function. Otherwise this can cause the generation of infinite
+; loops when compiled with -O2/3 and fast math.
+
+; Test case C source:
+;
+; extern double exp(double x);
+; inline float expf(float x) { return (float) exp((double) x); }
+; float fn(float f) { return expf(f); }
+;
+; IR generated with command:
+;
+; clang -cc1 -O2 -ffast-math -emit-llvm -disable-llvm-passes -triple x86_64-unknown-unknown -o - <srcfile>
+
+target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
+target triple = "x86_64-unknown-unknown"
+
+; Function Attrs: nounwind
+define float @fn(float %f) #0 {
+; CHECK: define float @fn(
+; CHECK: call fast float @expf(
+ %f.addr = alloca float, align 4
+ store float %f, float* %f.addr, align 4, !tbaa !1
+ %1 = load float, float* %f.addr, align 4, !tbaa !1
+ %call = call fast float @expf(float %1) #3
+ ret float %call
+}
+
+; Function Attrs: inlinehint nounwind readnone
+define available_externally float @expf(float %x) #1 {
+; CHECK: define available_externally float @expf(
+; CHECK: fpext float
+; CHECK: call fast double @exp(
+; CHECK: fptrunc double
+ %x.addr = alloca float, align 4
+ store float %x, float* %x.addr, align 4, !tbaa !1
+ %1 = load float, float* %x.addr, align 4, !tbaa !1
+ %conv = fpext float %1 to double
+ %call = call fast double @exp(double %conv) #3
+ %conv1 = fptrunc double %call to float
+ ret float %conv1
+}
+
+; Function Attrs: nounwind readnone
+declare double @exp(double) #2
+
+attributes #0 = { nounwind "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-features"="+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
+attributes #1 = { inlinehint nounwind readnone "correctly-rounded-divide-sqrt-fp-math"="false" "disable-tail-calls"="false" "less-precise-fpmad"="false" "no-frame-pointer-elim"="false" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="false" "stack-protector-buffer-size"="8" "target-features"="+mmx,+sse,+sse2,+x87" "unsafe-fp-math"="false" "use-soft-float"="false" }
+attributes #2 = { nounwind readnone }
+
+!llvm.ident = !{!0}
+
+!0 = !{!"clang version 5.0.0"}
+!1 = !{!2, !2, i64 0}
+!2 = !{!"float", !3, i64 0}
+!3 = !{!"omnipotent char", !4, i64 0}
+!4 = !{!"Simple C/C++ TBAA"}
diff --git a/test/tools/gold/X86/asm_undefined2.ll b/test/tools/gold/X86/asm_undefined2.ll
index 6cb7a1cf3d06..a170f45a55a1 100644
--- a/test/tools/gold/X86/asm_undefined2.ll
+++ b/test/tools/gold/X86/asm_undefined2.ll
@@ -11,8 +11,8 @@
; RUN: --plugin-opt=thinlto -o %t2 %t.o
; RUN: llvm-dis < %t.o.5.precodegen.bc | FileCheck %s
-; Check that foo is properly appended to llvm.compiler.used
-; CHECK: @llvm.compiler.used = appending global [1 x i8*] [i8* bitcast (void ()* @foo to i8*)], section "llvm.metadata"
+; Check that foo is not internalized
+; CHECK: define void @foo
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
diff --git a/test/tools/llvm-cov/Inputs/test_-b.output b/test/tools/llvm-cov/Inputs/test_-b.output
index 515987d45ea6..a6495fdaaa52 100644
--- a/test/tools/llvm-cov/Inputs/test_-b.output
+++ b/test/tools/llvm-cov/Inputs/test_-b.output
@@ -1,3 +1,9 @@
+File './test.h'
+Lines executed:100.00% of 1
+No branches
+No calls
+./test.h:creating 'test.h.gcov'
+
File 'test.cpp'
Lines executed:84.21% of 38
Branches executed:100.00% of 15
@@ -5,9 +11,3 @@ Taken at least once:86.67% of 15
No calls
test.cpp:creating 'test.cpp.gcov'
-File './test.h'
-Lines executed:100.00% of 1
-No branches
-No calls
-./test.h:creating 'test.h.gcov'
-
diff --git a/test/tools/llvm-cov/Inputs/test_-f.output b/test/tools/llvm-cov/Inputs/test_-f.output
index d97aa18174a0..b0a73ea67061 100644
--- a/test/tools/llvm-cov/Inputs/test_-f.output
+++ b/test/tools/llvm-cov/Inputs/test_-f.output
@@ -1,3 +1,9 @@
+Function '_ZN1AC1Ev'
+Lines executed:100.00% of 1
+
+Function '_ZN1AC2Ev'
+Lines executed:100.00% of 1
+
Function '_ZN1A1BEv'
Lines executed:100.00% of 1
@@ -22,17 +28,11 @@ Lines executed:100.00% of 4
Function 'main'
Lines executed:91.67% of 24
-Function '_ZN1AC1Ev'
-Lines executed:100.00% of 1
-
-Function '_ZN1AC2Ev'
+File './test.h'
Lines executed:100.00% of 1
+./test.h:creating 'test.h.gcov'
File 'test.cpp'
Lines executed:84.21% of 38
test.cpp:creating 'test.cpp.gcov'
-File './test.h'
-Lines executed:100.00% of 1
-./test.h:creating 'test.h.gcov'
-
diff --git a/test/tools/llvm-cov/Inputs/test_long_file_names.output b/test/tools/llvm-cov/Inputs/test_long_file_names.output
index e09f4cb9857f..e74b63652811 100644
--- a/test/tools/llvm-cov/Inputs/test_long_file_names.output
+++ b/test/tools/llvm-cov/Inputs/test_long_file_names.output
@@ -1,8 +1,8 @@
-File 'srcdir/./nested_dir/../test.h'
-Lines executed:100.00% of 1
-srcdir/./nested_dir/../test.h:creating 'test_paths.cpp##test.h.gcov'
-
File 'srcdir/./nested_dir/../test.cpp'
Lines executed:84.21% of 38
srcdir/./nested_dir/../test.cpp:creating 'test_paths.cpp##test.cpp.gcov'
+File 'srcdir/./nested_dir/../test.h'
+Lines executed:100.00% of 1
+srcdir/./nested_dir/../test.h:creating 'test_paths.cpp##test.h.gcov'
+
diff --git a/test/tools/llvm-cov/Inputs/test_long_paths.output b/test/tools/llvm-cov/Inputs/test_long_paths.output
index 376ee5b78dfb..faf3d8ae634e 100644
--- a/test/tools/llvm-cov/Inputs/test_long_paths.output
+++ b/test/tools/llvm-cov/Inputs/test_long_paths.output
@@ -1,8 +1,8 @@
-File 'srcdir/./nested_dir/../test.h'
-Lines executed:100.00% of 1
-srcdir/./nested_dir/../test.h:creating 'srcdir#^#test_paths.cpp##srcdir#nested_dir#^#test.h.gcov'
-
File 'srcdir/./nested_dir/../test.cpp'
Lines executed:84.21% of 38
srcdir/./nested_dir/../test.cpp:creating 'srcdir#^#test_paths.cpp##srcdir#nested_dir#^#test.cpp.gcov'
+File 'srcdir/./nested_dir/../test.h'
+Lines executed:100.00% of 1
+srcdir/./nested_dir/../test.h:creating 'srcdir#^#test_paths.cpp##srcdir#nested_dir#^#test.h.gcov'
+
diff --git a/test/tools/llvm-cov/Inputs/test_missing.output b/test/tools/llvm-cov/Inputs/test_missing.output
index ada0c3603097..a3e32dd7daae 100644
--- a/test/tools/llvm-cov/Inputs/test_missing.output
+++ b/test/tools/llvm-cov/Inputs/test_missing.output
@@ -1,8 +1,8 @@
-File 'srcdir/./nested_dir/../test.h'
-Lines executed:100.00% of 1
-srcdir/./nested_dir/../test.h:creating 'test.h.gcov'
-
File 'srcdir/./nested_dir/../test.cpp'
Lines executed:84.21% of 38
srcdir/./nested_dir/../test.cpp:creating 'test.cpp.gcov'
+File 'srcdir/./nested_dir/../test.h'
+Lines executed:100.00% of 1
+srcdir/./nested_dir/../test.h:creating 'test.h.gcov'
+
diff --git a/test/tools/llvm-cov/Inputs/test_no_gcda.output b/test/tools/llvm-cov/Inputs/test_no_gcda.output
index e994be729109..46efaca3e465 100644
--- a/test/tools/llvm-cov/Inputs/test_no_gcda.output
+++ b/test/tools/llvm-cov/Inputs/test_no_gcda.output
@@ -1,8 +1,8 @@
-File 'test.cpp'
-Lines executed:0.00% of 38
-test.cpp:creating 'test.cpp.gcov'
-
File './test.h'
Lines executed:0.00% of 1
./test.h:creating 'test.h.gcov'
+File 'test.cpp'
+Lines executed:0.00% of 38
+test.cpp:creating 'test.cpp.gcov'
+
diff --git a/test/tools/llvm-cov/Inputs/test_no_options.output b/test/tools/llvm-cov/Inputs/test_no_options.output
index 8be8c1c210af..dd76811593e6 100644
--- a/test/tools/llvm-cov/Inputs/test_no_options.output
+++ b/test/tools/llvm-cov/Inputs/test_no_options.output
@@ -1,8 +1,8 @@
-File 'test.cpp'
-Lines executed:84.21% of 38
-test.cpp:creating 'test.cpp.gcov'
-
File './test.h'
Lines executed:100.00% of 1
./test.h:creating 'test.h.gcov'
+File 'test.cpp'
+Lines executed:84.21% of 38
+test.cpp:creating 'test.cpp.gcov'
+
diff --git a/test/tools/llvm-cov/Inputs/test_no_output.output b/test/tools/llvm-cov/Inputs/test_no_output.output
index 74286b9a2fca..b41e20e32550 100644
--- a/test/tools/llvm-cov/Inputs/test_no_output.output
+++ b/test/tools/llvm-cov/Inputs/test_no_output.output
@@ -1,6 +1,6 @@
-File 'test.cpp'
-Lines executed:84.21% of 38
-
File './test.h'
Lines executed:100.00% of 1
+File 'test.cpp'
+Lines executed:84.21% of 38
+
diff --git a/test/tools/llvm-cov/Inputs/test_no_preserve_paths.output b/test/tools/llvm-cov/Inputs/test_no_preserve_paths.output
index ada0c3603097..a3e32dd7daae 100644
--- a/test/tools/llvm-cov/Inputs/test_no_preserve_paths.output
+++ b/test/tools/llvm-cov/Inputs/test_no_preserve_paths.output
@@ -1,8 +1,8 @@
-File 'srcdir/./nested_dir/../test.h'
-Lines executed:100.00% of 1
-srcdir/./nested_dir/../test.h:creating 'test.h.gcov'
-
File 'srcdir/./nested_dir/../test.cpp'
Lines executed:84.21% of 38
srcdir/./nested_dir/../test.cpp:creating 'test.cpp.gcov'
+File 'srcdir/./nested_dir/../test.h'
+Lines executed:100.00% of 1
+srcdir/./nested_dir/../test.h:creating 'test.h.gcov'
+
diff --git a/test/tools/llvm-cov/Inputs/test_preserve_paths.output b/test/tools/llvm-cov/Inputs/test_preserve_paths.output
index 533197255631..0164f2de9c80 100644
--- a/test/tools/llvm-cov/Inputs/test_preserve_paths.output
+++ b/test/tools/llvm-cov/Inputs/test_preserve_paths.output
@@ -1,8 +1,8 @@
-File 'srcdir/./nested_dir/../test.h'
-Lines executed:100.00% of 1
-srcdir/./nested_dir/../test.h:creating 'srcdir#nested_dir#^#test.h.gcov'
-
File 'srcdir/./nested_dir/../test.cpp'
Lines executed:84.21% of 38
srcdir/./nested_dir/../test.cpp:creating 'srcdir#nested_dir#^#test.cpp.gcov'
+File 'srcdir/./nested_dir/../test.h'
+Lines executed:100.00% of 1
+srcdir/./nested_dir/../test.h:creating 'srcdir#nested_dir#^#test.h.gcov'
+
diff --git a/test/tools/llvm-cvtres/basic.test b/test/tools/llvm-cvtres/basic.test
new file mode 100644
index 000000000000..fcebef22f650
--- /dev/null
+++ b/test/tools/llvm-cvtres/basic.test
@@ -0,0 +1,4 @@
+; RUN: llvm-cvtres /h > %t
+; RUN: FileCheck -input-file=%t %s -check-prefix=HELP_TEST
+
+; HELP_TEST: OVERVIEW: Resource Converter
diff --git a/test/tools/llvm-objdump/X86/Inputs/debug-info-fileinfo.exe.elf-x86_64 b/test/tools/llvm-objdump/X86/Inputs/debug-info-fileinfo.exe.elf-x86_64
new file mode 100644
index 000000000000..2074886c6656
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/Inputs/debug-info-fileinfo.exe.elf-x86_64
Binary files differ
diff --git a/test/tools/llvm-objdump/X86/debug-info-fileinfo.test b/test/tools/llvm-objdump/X86/debug-info-fileinfo.test
new file mode 100644
index 000000000000..2c51e0beda46
--- /dev/null
+++ b/test/tools/llvm-objdump/X86/debug-info-fileinfo.test
@@ -0,0 +1,27 @@
+# Check that debug info line number pointing beyond the end of the file
+# doesn't cause a segmentation fault in llvm-objdump.
+
+# To rebuild the input: clang -g debug-info-fileinfo.S -o debug-info-fileinfo.exe -nostdlib
+
+# RUN: llvm-objdump -S %p/Inputs/debug-info-fileinfo.exe.elf-x86_64 | FileCheck %s
+
+# CHECK: Disassembly of section .text:
+# CHECK: _start
+# CHECK-NEXT: 400078: c3 retq
+# CHECK: foo
+# CHECK-NEXT: 400079: 90 nop
+# CHECK-NEXT: 40007a: 90 nop
+# CHECK-NEXT: 40007b: c3 retq
+
+.text
+
+.global _start; .type _start, STT_FUNC; _start:
+ ret
+
+.global foo; .type foo, STT_FUNC; foo:
+ # foo
+ # bar
+ # baz
+ nop
+ nop
+ ret
diff --git a/test/tools/llvm-pdbdump/Inputs/ComplexPaddingTest.cpp b/test/tools/llvm-pdbdump/Inputs/ComplexPaddingTest.cpp
new file mode 100644
index 000000000000..44a4e304ccb6
--- /dev/null
+++ b/test/tools/llvm-pdbdump/Inputs/ComplexPaddingTest.cpp
@@ -0,0 +1,48 @@
+// Compile with "cl /c /Zi /GR- ComplexPaddingTest.cpp"
+// Link with "link ComplexPaddingTest.obj /debug /nodefaultlib /entry:main"
+
+#include <stdint.h>
+
+extern "C" using at_exit_handler = void();
+
+int atexit(at_exit_handler handler) { return 0; }
+
+struct TestVB {
+ static void operator delete(void *ptr, size_t sz) {}
+ virtual ~TestVB() {}
+ virtual void IntroFunction1() {}
+ int X;
+} A;
+
+struct TestNVB {
+ static void operator delete(void *ptr, size_t sz) {}
+ virtual ~TestNVB() {}
+ virtual void IntroFunction2() {}
+ int Y;
+} B;
+
+struct TestVBLayout
+ : public virtual TestVB,
+ public TestNVB {
+ static void operator delete(void *ptr, size_t sz) {}
+ int Z;
+} C;
+
+struct TestIVBBase : public virtual TestVB {
+ int A;
+} D;
+
+struct TestIVBDerived : public TestIVBBase {
+ int B;
+} E;
+
+struct TestIVBMergedDerived
+ : public virtual TestVB,
+ public TestIVBBase {
+ int B;
+} F;
+
+int main(int argc, char **argv) {
+
+ return 0;
+}
diff --git a/test/tools/llvm-pdbdump/Inputs/ComplexPaddingTest.pdb b/test/tools/llvm-pdbdump/Inputs/ComplexPaddingTest.pdb
new file mode 100644
index 000000000000..093276bb7081
--- /dev/null
+++ b/test/tools/llvm-pdbdump/Inputs/ComplexPaddingTest.pdb
Binary files differ
diff --git a/test/tools/llvm-pdbdump/Inputs/SimplePaddingTest.cpp b/test/tools/llvm-pdbdump/Inputs/SimplePaddingTest.cpp
index b52af1495336..bb327ec1c411 100644
--- a/test/tools/llvm-pdbdump/Inputs/SimplePaddingTest.cpp
+++ b/test/tools/llvm-pdbdump/Inputs/SimplePaddingTest.cpp
@@ -114,6 +114,7 @@ struct SimplePadAggregate {
NonEmptyBase1 X;
int32_t Y;
// the presence of X will cause 3 bytes of padding to be injected.
+ SimplePadFields1 Fields;
} N;
struct SimplePadVtable1 {
diff --git a/test/tools/llvm-pdbdump/Inputs/SimplePaddingTest.pdb b/test/tools/llvm-pdbdump/Inputs/SimplePaddingTest.pdb
index f0bd496c1c85..f19c00660a73 100644
--- a/test/tools/llvm-pdbdump/Inputs/SimplePaddingTest.pdb
+++ b/test/tools/llvm-pdbdump/Inputs/SimplePaddingTest.pdb
Binary files differ
diff --git a/test/tools/llvm-pdbdump/class-layout.test b/test/tools/llvm-pdbdump/class-layout.test
index c0083d176eac..4a69c17db2ba 100644
--- a/test/tools/llvm-pdbdump/class-layout.test
+++ b/test/tools/llvm-pdbdump/class-layout.test
@@ -1,4 +1,5 @@
-; RUN: llvm-pdbdump pretty -all %p/Inputs/ClassLayoutTest.pdb > %t
+; RUN: llvm-pdbdump pretty -all -class-recurse-depth=1 \
+; RUN: %p/Inputs/ClassLayoutTest.pdb > %t
; RUN: FileCheck -input-file=%t %s -check-prefix=GLOBALS_TEST
; RUN: FileCheck -input-file=%t %s -check-prefix=MEMBERS_TEST
; RUN: FileCheck -input-file=%t %s -check-prefix=BASE_CLASS_A
@@ -36,9 +37,8 @@
; BASE_CLASS_D: ---TYPES---
; BASE_CLASS_D: class BaseClassTest::D [sizeof = 8]
-; BASE_CLASS_D-DAG: protected BaseClassTest::B
-; BASE_CLASS_D-DAG: private BaseClassTest::C
-; BASE_CLASS_D-DAG: protected virtual BaseClassTest::A
+; BASE_CLASS_D-NEXT: protected BaseClassTest::B
+; BASE_CLASS_D-NEXT: private BaseClassTest::C
; UDT_KIND_TEST: ---TYPES---
; UDT_KIND_TEST-DAG: union UdtKindTest::C [sizeof = 1] {}
diff --git a/test/tools/llvm-pdbdump/complex-padding-graphical.test b/test/tools/llvm-pdbdump/complex-padding-graphical.test
new file mode 100644
index 000000000000..a23321fe0124
--- /dev/null
+++ b/test/tools/llvm-pdbdump/complex-padding-graphical.test
@@ -0,0 +1,53 @@
+; RUN: llvm-pdbdump pretty -classes -class-definitions=layout \
+; RUN: -include-types=Test %p/Inputs/ComplexPaddingTest.pdb > %t
+
+; RUN: FileCheck -input-file=%t %s -check-prefix=DIRECT_VB_ONLY
+; RUN: FileCheck -input-file=%t %s -check-prefix=DIRECT_VB_AND_NON_VB
+; RUN: FileCheck -input-file=%t %s -check-prefix=INDIRECT_VB
+; RUN: FileCheck -input-file=%t %s -check-prefix=INDIRECT_AND_DIRECT_VB
+
+
+; DIRECT_VB_ONLY: struct TestIVBBase [sizeof = 16]
+; DIRECT_VB_ONLY-NEXT: : public virtual TestVB {
+; DIRECT_VB_ONLY-NEXT: vbptr +0x00 [sizeof=4]
+; DIRECT_VB_ONLY-NEXT: data +0x04 [sizeof=4] int A
+; DIRECT_VB_ONLY-NEXT: vbase +0x08 [sizeof=8] TestVB
+; DIRECT_VB_ONLY-NEXT: vfptr +0x08 [sizeof=4]
+; DIRECT_VB_ONLY-NEXT: data +0x0c [sizeof=4] int X
+; DIRECT_VB_ONLY-NEXT: }
+
+DIRECT_VB_AND_NON_VB: struct TestVBLayout [sizeof = 24]
+DIRECT_VB_AND_NON_VB-NEXT: : public TestNVB
+DIRECT_VB_AND_NON_VB-NEXT: , public virtual TestVB {
+DIRECT_VB_AND_NON_VB-NEXT: base +0x00 [sizeof=8] TestNVB
+DIRECT_VB_AND_NON_VB-NEXT: vfptr +0x00 [sizeof=4]
+DIRECT_VB_AND_NON_VB-NEXT: data +0x04 [sizeof=4] int Y
+DIRECT_VB_AND_NON_VB-NEXT: vbptr +0x08 [sizeof=4]
+DIRECT_VB_AND_NON_VB-NEXT: data +0x0c [sizeof=4] int Z
+DIRECT_VB_AND_NON_VB-NEXT: vbase +0x10 [sizeof=8] TestVB
+DIRECT_VB_AND_NON_VB-NEXT: vfptr +0x10 [sizeof=4]
+DIRECT_VB_AND_NON_VB-NEXT: data +0x14 [sizeof=4] int X
+DIRECT_VB_AND_NON_VB-NEXT: }
+
+INDIRECT_VB: struct TestIVBDerived [sizeof = 20]
+INDIRECT_VB-NEXT: : public TestIVBBase {
+INDIRECT_VB-NEXT: base +0x00 [sizeof=8] TestIVBBase
+INDIRECT_VB-NEXT: vbptr +0x00 [sizeof=4]
+INDIRECT_VB-NEXT: data +0x04 [sizeof=4] int A
+INDIRECT_VB-NEXT: data +0x08 [sizeof=4] int B
+INDIRECT_VB-NEXT: ivbase +0x0c [sizeof=8] TestVB
+INDIRECT_VB-NEXT: vfptr +0x0c [sizeof=4]
+INDIRECT_VB-NEXT: data +0x10 [sizeof=4] int X
+INDIRECT_VB-NEXT: }
+
+INDIRECT_AND_DIRECT_VB: struct TestIVBMergedDerived [sizeof = 20]
+INDIRECT_AND_DIRECT_VB-NEXT: : public TestIVBBase
+INDIRECT_AND_DIRECT_VB-NEXT: , public virtual TestVB {
+INDIRECT_AND_DIRECT_VB-NEXT: base +0x00 [sizeof=8] TestIVBBase
+INDIRECT_AND_DIRECT_VB-NEXT: vbptr +0x00 [sizeof=4]
+INDIRECT_AND_DIRECT_VB-NEXT: data +0x04 [sizeof=4] int A
+INDIRECT_AND_DIRECT_VB-NEXT: data +0x08 [sizeof=4] int B
+INDIRECT_AND_DIRECT_VB-NEXT: vbase +0x0c [sizeof=8] TestVB
+INDIRECT_AND_DIRECT_VB-NEXT: vfptr +0x0c [sizeof=4]
+INDIRECT_AND_DIRECT_VB-NEXT: data +0x10 [sizeof=4] int X
+INDIRECT_AND_DIRECT_VB-NEXT: }
diff --git a/test/tools/llvm-pdbdump/simple-padding-graphical.test b/test/tools/llvm-pdbdump/simple-padding-graphical.test
index aacb0a330450..0e19f9cc7018 100644
--- a/test/tools/llvm-pdbdump/simple-padding-graphical.test
+++ b/test/tools/llvm-pdbdump/simple-padding-graphical.test
@@ -1,4 +1,4 @@
-; RUN: llvm-pdbdump pretty -classes -class-definitions=graphical \
+; RUN: llvm-pdbdump pretty -classes -class-definitions=layout \
; RUN: -include-types=SimplePad %p/Inputs/SimplePaddingTest.pdb > %t
; RUN: FileCheck -input-file=%t %s -check-prefix=NO_PADDING
@@ -71,7 +71,6 @@
; VFPTR: struct SimplePadVfptr [sizeof = 8] {
; VFPTR-NEXT: vfptr +0x00 [sizeof=4]
-; VFPTR-NEXT: [0] &SimplePadVfptr::~SimplePadVfptr
; VFPTR-NEXT: data +0x04 [sizeof=4] int X
; VFPTR-NEXT: }
@@ -89,15 +88,15 @@
; MULTIPLE_INHERIT2: SimplePadMultiInherit2 [sizeof = 16]
; MULTIPLE_INHERIT2-NEXT: : public SimplePadFields1
; MULTIPLE_INHERIT2-NEXT: , public SimplePadFields2 {
-; MULTIPLE_INHERIT2-NEXT: base +0x00 [sizeof=4] SimplePadFields1
+; MULTIPLE_INHERIT2-NEXT: base +0x00 [sizeof=3] SimplePadFields1
; MULTIPLE_INHERIT2-NEXT: data +0x00 [sizeof=1] char A
; MULTIPLE_INHERIT2-NEXT: data +0x01 [sizeof=1] char B
; MULTIPLE_INHERIT2-NEXT: data +0x02 [sizeof=1] char C
-; MULTIPLE_INHERIT2-NEXT: <padding> (1 bytes)
-; MULTIPLE_INHERIT2-NEXT: base +0x04 [sizeof=8] SimplePadFields2
+; MULTIPLE_INHERIT2-NEXT: <padding> (1 bytes)
+; MULTIPLE_INHERIT2-NEXT: base +0x04 [sizeof=5] SimplePadFields2
; MULTIPLE_INHERIT2-NEXT: data +0x04 [sizeof=4] int Y
; MULTIPLE_INHERIT2-NEXT: data +0x08 [sizeof=1] char X
-; MULTIPLE_INHERIT2-NEXT: <padding> (3 bytes)
+; MULTIPLE_INHERIT2-NEXT: <padding> (3 bytes)
; MULTIPLE_INHERIT2-NEXT: data +0x0c [sizeof=4] int X
; MULTIPLE_INHERIT2-NEXT: }
@@ -113,9 +112,14 @@
; DEEP_INHERIT-NEXT: }
-; AGGREGATE: struct SimplePadAggregate [sizeof = 8] {
+; AGGREGATE: struct SimplePadAggregate [sizeof = 12] {
; AGGREGATE-NEXT: data +0x00 [sizeof=1] NonEmptyBase1 X
; AGGREGATE-NEXT: data +0x00 [sizeof=1] bool X
; AGGREGATE-NEXT: <padding> (3 bytes)
; AGGREGATE-NEXT: data +0x04 [sizeof=4] int Y
+; AGGREGATE-NEXT: data +0x08 [sizeof=4] SimplePadFields1 Fields
+; AGGREGATE-NEXT: data +0x08 [sizeof=1] char A
+; AGGREGATE-NEXT: data +0x09 [sizeof=1] char B
+; AGGREGATE-NEXT: data +0x0a [sizeof=1] char C
+; AGGREGATE-NEXT: <padding> (1 bytes)
; AGGREGATE-NEXT: }
diff --git a/test/tools/llvm-pdbdump/simple-padding-text.test b/test/tools/llvm-pdbdump/simple-padding-text.test
deleted file mode 100644
index b33af565f65a..000000000000
--- a/test/tools/llvm-pdbdump/simple-padding-text.test
+++ /dev/null
@@ -1,94 +0,0 @@
-; RUN: llvm-pdbdump pretty -classes -class-definitions=layout-members \
-; RUN: -include-types=SimplePad %p/Inputs/SimplePaddingTest.pdb > %t
-
-; RUN: FileCheck -input-file=%t %s -check-prefix=NO_PADDING
-; RUN: FileCheck -input-file=%t %s -check-prefix=UNION
-; RUN: FileCheck -input-file=%t %s -check-prefix=NESTED_UNION
-; RUN: FileCheck -input-file=%t %s -check-prefix=PAD_FROM_FIELDS1
-; RUN: FileCheck -input-file=%t %s -check-prefix=PAD_FROM_FIELDS2
-; RUN: FileCheck -input-file=%t %s -check-prefix=NO_PAD_IN_BASE
-; RUN: FileCheck -input-file=%t %s -check-prefix=PAD_IN_DERIVED
-; RUN: FileCheck -input-file=%t %s -check-prefix=EMPTY_BASE
-; RUN: FileCheck -input-file=%t %s -check-prefix=VFPTR
-; RUN: FileCheck -input-file=%t %s -check-prefix=MULTIPLE_INHERIT
-; RUN: FileCheck -input-file=%t %s -check-prefix=MULTIPLE_INHERIT2
-; RUN: FileCheck -input-file=%t %s -check-prefix=DEEP_INHERIT
-; RUN: FileCheck -input-file=%t %s -check-prefix=AGGREGATE
-
-; NO_PADDING: struct SimplePadNoPadding [sizeof = 8] {
-; NO_PADDING-NEXT: data +0x00 [sizeof=4] int X
-; NO_PADDING-NEXT: data +0x04 [sizeof=4] int Y
-; NO_PADDING-NEXT: }
-
-; UNION: struct SimplePadUnion [sizeof = 16] {
-; UNION-NEXT: data +0x00 [sizeof=4] int X
-; UNION-NEXT: data +0x00 [sizeof=8] __int64 Y
-; UNION-NEXT: data +0x00 [sizeof=16] SimplePadUnion::
-; UNION-NEXT: }
-
-; NESTED_UNION: struct {{SimplePadUnion::.*}} [sizeof = 16] {
-; NESTED_UNION-NEXT: data +0x00 [sizeof=4] int X
-; NESTED_UNION-NEXT: <padding> (4 bytes)
-; NESTED_UNION-NEXT: data +0x08 [sizeof=8] __int64 Y
-; NESTED_UNION-NEXT: }
-
-; PAD_FROM_FIELDS1: struct SimplePadFields1 [sizeof = 4] {
-; PAD_FROM_FIELDS1-NEXT: data +0x00 [sizeof=1] char A
-; PAD_FROM_FIELDS1-NEXT: data +0x01 [sizeof=1] char B
-; PAD_FROM_FIELDS1-NEXT: data +0x02 [sizeof=1] char C
-; PAD_FROM_FIELDS1-NEXT: <padding> (1 bytes)
-; PAD_FROM_FIELDS1-NEXT: }
-
-; PAD_FROM_FIELDS2: struct SimplePadFields2 [sizeof = 8] {
-; PAD_FROM_FIELDS2-NEXT: data +0x00 [sizeof=4] int Y
-; PAD_FROM_FIELDS2-NEXT: data +0x04 [sizeof=1] char X
-; PAD_FROM_FIELDS2-NEXT: <padding> (3 bytes)
-; PAD_FROM_FIELDS2-NEXT: }
-
-; NO_PAD_IN_BASE: struct SimplePadBase [sizeof = 4] {
-; NO_PAD_IN_BASE-NEXT: data +0x00 [sizeof=4] int X
-; NO_PAD_IN_BASE-NEXT: }
-
-; PAD_IN_DERIVED: struct SimplePadDerived [sizeof = 16]
-; PAD_IN_DERIVED-NEXT: public SimplePadBase {
-; PAD_IN_DERIVED-NEXT: <padding> (4 bytes)
-; PAD_IN_DERIVED-NEXT: data +0x08 [sizeof=8] __int64 Y
-; PAD_IN_DERIVED-NEXT: }
-
-; EMPTY_BASE: struct SimplePadEmpty [sizeof = 8]
-; EMPTY_BASE-NEXT: : public SimplePadEmptyBase1
-; EMPTY_BASE-NEXT: , public SimplePadEmptyBase2 {
-; EMPTY_BASE-NEXT: <padding> (2 bytes)
-; EMPTY_BASE-NEXT: data +0x04 [sizeof=4] int X
-; EMPTY_BASE-NEXT: }
-
-; VFPTR: struct SimplePadVfptr [sizeof = 8] {
-; VFPTR-NEXT: vfptr +0x00 [sizeof=4]
-; VFPTR-NEXT: data +0x04 [sizeof=4] int X
-; VFPTR-NEXT: }
-
-; MULTIPLE_INHERIT: struct SimplePadMultiInherit [sizeof = 8]
-; MULTIPLE_INHERIT-NEXT: : public NonEmptyBase1
-; MULTIPLE_INHERIT-NEXT: , public NonEmptyBase2 {
-; MULTIPLE_INHERIT-NEXT: <padding> (2 bytes)
-; MULTIPLE_INHERIT-NEXT: data +0x04 [sizeof=4] int X
-; MULTIPLE_INHERIT-NEXT: }
-
-; MULTIPLE_INHERIT2: SimplePadMultiInherit2 [sizeof = 16]
-; MULTIPLE_INHERIT2-NEXT: : public SimplePadFields1
-; MULTIPLE_INHERIT2-NEXT: , public SimplePadFields2 {
-; MULTIPLE_INHERIT2-NEXT: data +0x0c [sizeof=4] int X
-; MULTIPLE_INHERIT2-NEXT: }
-
-; DEEP_INHERIT: struct SimplePadTwoLevelInherit [sizeof = 16]
-; DEEP_INHERIT-NEXT: : public OneLevelInherit {
-; DEEP_INHERIT-NEXT: <padding> (4 bytes)
-; DEEP_INHERIT-NEXT: data +0x08 [sizeof=8] __int64 Z
-; DEEP_INHERIT-NEXT: }
-
-
-; AGGREGATE: struct SimplePadAggregate [sizeof = 8] {
-; AGGREGATE-NEXT: data +0x00 [sizeof=1] NonEmptyBase1 X
-; AGGREGATE-NEXT: <padding> (3 bytes)
-; AGGREGATE-NEXT: data +0x04 [sizeof=4] int Y
-; AGGREGATE-NEXT: }
diff --git a/test/tools/llvm-profdata/overflow-sample.test b/test/tools/llvm-profdata/overflow-sample.test
index cd6268db2ab9..83adf6d63b54 100644
--- a/test/tools/llvm-profdata/overflow-sample.test
+++ b/test/tools/llvm-profdata/overflow-sample.test
@@ -4,40 +4,40 @@ Tests for overflow when merging sampled profiles.
RUN: llvm-profdata merge -sample %p/Inputs/overflow-sample.proftext %p/Inputs/overflow-sample.proftext -o %t.out 2>&1 | FileCheck %s -check-prefix=MERGE_OVERFLOW
RUN: llvm-profdata show -sample %t.out | FileCheck %s --check-prefix=SHOW_OVERFLOW
MERGE_OVERFLOW: {{.*}}: main: Counter overflow
-SHOW_OVERFLOW: Function: main: 2000, 0, 2 sampled lines
-SHOW_OVERFLOW-NEXT: Samples collected in the function's body {
-SHOW_OVERFLOW-NEXT: 1: 1000, calls: _Z3bari:18446744073709551615
-SHOW_OVERFLOW-NEXT: 2: 1000, calls: _Z3fooi:18446744073709551615
-SHOW_OVERFLOW-NEXT: }
-SHOW_OVERFLOW-NEXT: No inlined callsites in this function
-SHOW_OVERFLOW-NEXT: Function: _Z3fooi: 18446744073709551615, 2000, 1 sampled lines
-SHOW_OVERFLOW-NEXT: Samples collected in the function's body {
-SHOW_OVERFLOW-NEXT: 1: 18446744073709551615
-SHOW_OVERFLOW-NEXT: }
-SHOW_OVERFLOW-NEXT: No inlined callsites in this function
-SHOW_OVERFLOW-NEXT: Function: _Z3bari: 18446744073709551615, 2000, 1 sampled lines
-SHOW_OVERFLOW-NEXT: Samples collected in the function's body {
-SHOW_OVERFLOW-NEXT: 1: 18446744073709551615
-SHOW_OVERFLOW-NEXT: }
-SHOW_OVERFLOW-NEXT: No inlined callsites in this function
+SHOW_OVERFLOW-DAG: Function: main: 2000, 0, 2 sampled lines
+SHOW_OVERFLOW-DAG: Samples collected in the function's body {
+SHOW_OVERFLOW-DAG: 1: 1000, calls: _Z3bari:18446744073709551615
+SHOW_OVERFLOW-DAG: 2: 1000, calls: _Z3fooi:18446744073709551615
+SHOW_OVERFLOW-DAG: }
+SHOW_OVERFLOW-DAG: No inlined callsites in this function
+SHOW_OVERFLOW-DAG: Function: _Z3fooi: 18446744073709551615, 2000, 1 sampled lines
+SHOW_OVERFLOW-DAG: Samples collected in the function's body {
+SHOW_OVERFLOW-DAG: 1: 18446744073709551615
+SHOW_OVERFLOW-DAG: }
+SHOW_OVERFLOW-DAG: No inlined callsites in this function
+SHOW_OVERFLOW-DAG: Function: _Z3bari: 18446744073709551615, 2000, 1 sampled lines
+SHOW_OVERFLOW-DAG: Samples collected in the function's body {
+SHOW_OVERFLOW-DAG: 1: 18446744073709551615
+SHOW_OVERFLOW-DAG: }
+SHOW_OVERFLOW-DAG: No inlined callsites in this function
2- Merge profile having maximum counts by itself and verify no overflow
RUN: llvm-profdata merge -sample %p/Inputs/overflow-sample.proftext -o %t.out 2>&1 | FileCheck %s -allow-empty -check-prefix=MERGE_NO_OVERFLOW
RUN: llvm-profdata show -sample %t.out | FileCheck %s --check-prefix=SHOW_NO_OVERFLOW
MERGE_NO_OVERFLOW-NOT: {{.*}}: main: Counter overflow
-SHOW_NO_OVERFLOW: Function: main: 1000, 0, 2 sampled lines
-SHOW_NO_OVERFLOW-NEXT: Samples collected in the function's body {
-SHOW_NO_OVERFLOW-NEXT: 1: 500, calls: _Z3bari:18446744073709551615
-SHOW_NO_OVERFLOW-NEXT: 2: 500, calls: _Z3fooi:18446744073709551615
-SHOW_NO_OVERFLOW-NEXT: }
-SHOW_NO_OVERFLOW-NEXT: No inlined callsites in this function
-SHOW_NO_OVERFLOW-NEXT: Function: _Z3fooi: 18446744073709551615, 1000, 1 sampled lines
-SHOW_NO_OVERFLOW-NEXT: Samples collected in the function's body {
-SHOW_NO_OVERFLOW-NEXT: 1: 18446744073709551615
-SHOW_NO_OVERFLOW-NEXT: }
-SHOW_NO_OVERFLOW-NEXT: No inlined callsites in this function
-SHOW_NO_OVERFLOW-NEXT: Function: _Z3bari: 18446744073709551615, 1000, 1 sampled lines
-SHOW_NO_OVERFLOW-NEXT: Samples collected in the function's body {
-SHOW_NO_OVERFLOW-NEXT: 1: 18446744073709551615
-SHOW_NO_OVERFLOW-NEXT: }
-SHOW_NO_OVERFLOW-NEXT: No inlined callsites in this function
+SHOW_NO_OVERFLOW-DAG: Function: main: 1000, 0, 2 sampled lines
+SHOW_NO_OVERFLOW-DAG: Samples collected in the function's body {
+SHOW_NO_OVERFLOW-DAG: 1: 500, calls: _Z3bari:18446744073709551615
+SHOW_NO_OVERFLOW-DAG: 2: 500, calls: _Z3fooi:18446744073709551615
+SHOW_NO_OVERFLOW-DAG: }
+SHOW_NO_OVERFLOW-DAG: No inlined callsites in this function
+SHOW_NO_OVERFLOW-DAG: Function: _Z3fooi: 18446744073709551615, 1000, 1 sampled lines
+SHOW_NO_OVERFLOW-DAG: Samples collected in the function's body {
+SHOW_NO_OVERFLOW-DAG: 1: 18446744073709551615
+SHOW_NO_OVERFLOW-DAG: }
+SHOW_NO_OVERFLOW-DAG: No inlined callsites in this function
+SHOW_NO_OVERFLOW-DAG: Function: _Z3bari: 18446744073709551615, 1000, 1 sampled lines
+SHOW_NO_OVERFLOW-DAG: Samples collected in the function's body {
+SHOW_NO_OVERFLOW-DAG: 1: 18446744073709551615
+SHOW_NO_OVERFLOW-DAG: }
+SHOW_NO_OVERFLOW-DAG: No inlined callsites in this function
diff --git a/test/tools/llvm-profdata/sample-profile-basic.test b/test/tools/llvm-profdata/sample-profile-basic.test
index 5116b98f3335..211d8c5bbd84 100644
--- a/test/tools/llvm-profdata/sample-profile-basic.test
+++ b/test/tools/llvm-profdata/sample-profile-basic.test
@@ -2,11 +2,11 @@ Basic tests for sample profiles.
1- Show all functions
RUN: llvm-profdata show --sample %p/Inputs/sample-profile.proftext | FileCheck %s --check-prefix=SHOW1
-SHOW1: Function: main: 184019, 0, 7 sampled lines
-SHOW1: 9: 2064, calls: _Z3fooi:631 _Z3bari:1471
-SHOW1: Function: _Z3fooi: 7711, 610, 1 sampled lines
-SHOW1: Function: _Z3bari: 20301, 1437, 1 sampled lines
-SHOW1: 1: 1437
+SHOW1-DAG: Function: main: 184019, 0, 7 sampled lines
+SHOW1-DAG: 9: 2064, calls: _Z3fooi:631 _Z3bari:1471
+SHOW1-DAG: Function: _Z3fooi: 7711, 610, 1 sampled lines
+SHOW1-DAG: Function: _Z3bari: 20301, 1437, 1 sampled lines
+SHOW1-DAG: 1: 1437
2- Show only bar
RUN: llvm-profdata show --sample --function=_Z3bari %p/Inputs/sample-profile.proftext | FileCheck %s --check-prefix=SHOW2
@@ -25,9 +25,9 @@ RUN: diff %t-binary %t-text
counters have doubled.
RUN: llvm-profdata merge --sample %p/Inputs/sample-profile.proftext -o %t-binprof
RUN: llvm-profdata merge --sample --text %p/Inputs/sample-profile.proftext %t-binprof -o - | FileCheck %s --check-prefix=MERGE1
-MERGE1: main:368038:0
-MERGE1: 9: 4128 _Z3fooi:1262 _Z3bari:2942
-MERGE1: _Z3fooi:15422:1220
+MERGE1-DAG: main:368038:0
+MERGE1-DAG: 9: 4128 _Z3fooi:1262 _Z3bari:2942
+MERGE1-DAG: _Z3fooi:15422:1220
5- Detect invalid text encoding (e.g. instrumentation profile text format).
RUN: not llvm-profdata show --sample %p/Inputs/foo3bar3-1.proftext 2>&1 | FileCheck %s --check-prefix=BADTEXT
diff --git a/test/tools/llvm-profdata/weight-sample.test b/test/tools/llvm-profdata/weight-sample.test
index 7b22c5f88f1f..635e6212e790 100644
--- a/test/tools/llvm-profdata/weight-sample.test
+++ b/test/tools/llvm-profdata/weight-sample.test
@@ -3,41 +3,41 @@ Tests for weighted merge of sample profiles.
1- Merge the foo and bar profiles with unity weight and verify the combined output
RUN: llvm-profdata merge -sample -text -weighted-input=1,%p/Inputs/weight-sample-bar.proftext -weighted-input=1,%p/Inputs/weight-sample-foo.proftext -o - | FileCheck %s -check-prefix=1X_1X_WEIGHT
RUN: llvm-profdata merge -sample -text -weighted-input=1,%p/Inputs/weight-sample-bar.proftext %p/Inputs/weight-sample-foo.proftext -o - | FileCheck %s -check-prefix=1X_1X_WEIGHT
-1X_1X_WEIGHT: foo:1763288:35327
-1X_1X_WEIGHT-NEXT: 7: 35327
-1X_1X_WEIGHT-NEXT: 8: 35327
-1X_1X_WEIGHT-NEXT: 9: 6930
-1X_1X_WEIGHT-NEXT: 10: 29341
-1X_1X_WEIGHT-NEXT: 11: 11906
-1X_1X_WEIGHT-NEXT: 13: 18185 foo:19531
-1X_1X_WEIGHT-NEXT: 15: 36458
-1X_1X_WEIGHT-NEXT: bar:1772037:35370
-1X_1X_WEIGHT-NEXT: 17: 35370
-1X_1X_WEIGHT-NEXT: 18: 35370
-1X_1X_WEIGHT-NEXT: 19: 7005
-1X_1X_WEIGHT-NEXT: 20: 29407
-1X_1X_WEIGHT-NEXT: 21: 12170
-1X_1X_WEIGHT-NEXT: 23: 18150 bar:19829
-1X_1X_WEIGHT-NEXT: 25: 36666
+1X_1X_WEIGHT-DAG: foo:1763288:35327
+1X_1X_WEIGHT-DAG: 7: 35327
+1X_1X_WEIGHT-DAG: 8: 35327
+1X_1X_WEIGHT-DAG: 9: 6930
+1X_1X_WEIGHT-DAG: 10: 29341
+1X_1X_WEIGHT-DAG: 11: 11906
+1X_1X_WEIGHT-DAG: 13: 18185 foo:19531
+1X_1X_WEIGHT-DAG: 15: 36458
+1X_1X_WEIGHT-DAG: bar:1772037:35370
+1X_1X_WEIGHT-DAG: 17: 35370
+1X_1X_WEIGHT-DAG: 18: 35370
+1X_1X_WEIGHT-DAG: 19: 7005
+1X_1X_WEIGHT-DAG: 20: 29407
+1X_1X_WEIGHT-DAG: 21: 12170
+1X_1X_WEIGHT-DAG: 23: 18150 bar:19829
+1X_1X_WEIGHT-DAG: 25: 36666
2- Merge the foo and bar profiles with weight 3x and 5x respectively and verify the combined output
RUN: llvm-profdata merge -sample -text -weighted-input=3,%p/Inputs/weight-sample-bar.proftext -weighted-input=5,%p/Inputs/weight-sample-foo.proftext -o - | FileCheck %s -check-prefix=3X_5X_WEIGHT
-3X_5X_WEIGHT: foo:8816440:176635
-3X_5X_WEIGHT-NEXT: 7: 176635
-3X_5X_WEIGHT-NEXT: 8: 176635
-3X_5X_WEIGHT-NEXT: 9: 34650
-3X_5X_WEIGHT-NEXT: 10: 146705
-3X_5X_WEIGHT-NEXT: 11: 59530
-3X_5X_WEIGHT-NEXT: 13: 90925 foo:97655
-3X_5X_WEIGHT-NEXT: 15: 182290
-3X_5X_WEIGHT-NEXT: bar:5316111:106110
-3X_5X_WEIGHT-NEXT: 17: 106110
-3X_5X_WEIGHT-NEXT: 18: 106110
-3X_5X_WEIGHT-NEXT: 19: 21015
-3X_5X_WEIGHT-NEXT: 20: 88221
-3X_5X_WEIGHT-NEXT: 21: 36510
-3X_5X_WEIGHT-NEXT: 23: 54450 bar:59487
-3X_5X_WEIGHT-NEXT: 25: 109998
+3X_5X_WEIGHT-DAG: foo:8816440:176635
+3X_5X_WEIGHT-DAG: 7: 176635
+3X_5X_WEIGHT-DAG: 8: 176635
+3X_5X_WEIGHT-DAG: 9: 34650
+3X_5X_WEIGHT-DAG: 10: 146705
+3X_5X_WEIGHT-DAG: 11: 59530
+3X_5X_WEIGHT-DAG: 13: 90925 foo:97655
+3X_5X_WEIGHT-DAG: 15: 182290
+3X_5X_WEIGHT-DAG: bar:5316111:106110
+3X_5X_WEIGHT-DAG: 17: 106110
+3X_5X_WEIGHT-DAG: 18: 106110
+3X_5X_WEIGHT-DAG: 19: 21015
+3X_5X_WEIGHT-DAG: 20: 88221
+3X_5X_WEIGHT-DAG: 21: 36510
+3X_5X_WEIGHT-DAG: 23: 54450 bar:59487
+3X_5X_WEIGHT-DAG: 25: 109998
3- Bad merge: invalid weight
RUN: not llvm-profdata merge -sample -weighted-input=3,%p/Inputs/weight-sample-bar.proftext -weighted-input=0,%p/Inputs/weight-sample-foo.proftext -o %t.out 2>&1 | FileCheck %s -check-prefix=INVALID_WEIGHT
diff --git a/test/tools/llvm-xray/X86/Inputs/graph-diff-A.yaml b/test/tools/llvm-xray/X86/Inputs/graph-diff-A.yaml
new file mode 100644
index 000000000000..366891f95cd5
--- /dev/null
+++ b/test/tools/llvm-xray/X86/Inputs/graph-diff-A.yaml
@@ -0,0 +1,29 @@
+---
+header:
+ version: 1
+ type: 0
+ constant-tsc: true
+ nonstop-tsc: true
+ cycle-frequency: 1
+records:
+ - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, tsc: 10000 }
+ - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, tsc: 10010 }
+ - { type: 0, func-id: 2, cpu: 1, thread: 111, kind: function-enter, tsc: 10100 }
+ - { type: 0, func-id: 2, cpu: 1, thread: 111, kind: function-exit, tsc: 10120 }
+ - { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-enter, tsc: 10200 }
+ - { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-exit, tsc: 10230 }
+ - { type: 0, func-id: 4, cpu: 1, thread: 111, kind: function-enter, tsc: 10300 }
+ - { type: 0, func-id: 4, cpu: 1, thread: 111, kind: function-exit, tsc: 10340 }
+ - { type: 0, func-id: 5, cpu: 1, thread: 111, kind: function-enter, tsc: 10400 }
+ - { type: 0, func-id: 5, cpu: 1, thread: 111, kind: function-exit, tsc: 10450 }
+ - { type: 0, func-id: 6, cpu: 1, thread: 111, kind: function-enter, tsc: 10500 }
+ - { type: 0, func-id: 6, cpu: 1, thread: 111, kind: function-exit, tsc: 10560 }
+ - { type: 0, func-id: 7, cpu: 1, thread: 111, kind: function-enter, tsc: 10600 }
+ - { type: 0, func-id: 7, cpu: 1, thread: 111, kind: function-exit, tsc: 10670 }
+ - { type: 0, func-id: 8, cpu: 1, thread: 111, kind: function-enter, tsc: 10700 }
+ - { type: 0, func-id: 8, cpu: 1, thread: 111, kind: function-exit, tsc: 10780 }
+ - { type: 0, func-id: 9, cpu: 1, thread: 111, kind: function-enter, tsc: 10800 }
+ - { type: 0, func-id: 9, cpu: 1, thread: 111, kind: function-exit, tsc: 10890 }
+ - { type: 0, func-id: 11, cpu: 1, thread: 111, kind: function-enter, tsc: 10900 }
+ - { type: 0, func-id: 11, cpu: 1, thread: 111, kind: function-exit, tsc: 10910 }
+---
diff --git a/test/tools/llvm-xray/X86/Inputs/graph-diff-B.yaml b/test/tools/llvm-xray/X86/Inputs/graph-diff-B.yaml
new file mode 100644
index 000000000000..dd2f75f8a4db
--- /dev/null
+++ b/test/tools/llvm-xray/X86/Inputs/graph-diff-B.yaml
@@ -0,0 +1,30 @@
+---
+header:
+ version: 1
+ type: 0
+ constant-tsc: true
+ nonstop-tsc: true
+ cycle-frequency: 1
+records:
+ - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-enter, tsc: 10000 }
+ - { type: 0, func-id: 1, cpu: 1, thread: 111, kind: function-exit, tsc: 10090 }
+ - { type: 0, func-id: 2, cpu: 1, thread: 111, kind: function-enter, tsc: 10100 }
+ - { type: 0, func-id: 2, cpu: 1, thread: 111, kind: function-exit, tsc: 10180 }
+ - { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-enter, tsc: 10200 }
+ - { type: 0, func-id: 3, cpu: 1, thread: 111, kind: function-exit, tsc: 10270 }
+ - { type: 0, func-id: 4, cpu: 1, thread: 111, kind: function-enter, tsc: 10300 }
+ - { type: 0, func-id: 4, cpu: 1, thread: 111, kind: function-exit, tsc: 10360 }
+ - { type: 0, func-id: 5, cpu: 1, thread: 111, kind: function-enter, tsc: 10400 }
+ - { type: 0, func-id: 5, cpu: 1, thread: 111, kind: function-exit, tsc: 10450 }
+ - { type: 0, func-id: 6, cpu: 1, thread: 111, kind: function-enter, tsc: 10500 }
+ - { type: 0, func-id: 6, cpu: 1, thread: 111, kind: function-exit, tsc: 10540 }
+ - { type: 0, func-id: 7, cpu: 1, thread: 111, kind: function-enter, tsc: 10600 }
+ - { type: 0, func-id: 7, cpu: 1, thread: 111, kind: function-exit, tsc: 10630 }
+ - { type: 0, func-id: 8, cpu: 1, thread: 111, kind: function-enter, tsc: 10700 }
+ - { type: 0, func-id: 8, cpu: 1, thread: 111, kind: function-exit, tsc: 10720 }
+ - { type: 0, func-id: 9, cpu: 1, thread: 111, kind: function-enter, tsc: 10800 }
+ - { type: 0, func-id: 9, cpu: 1, thread: 111, kind: function-exit, tsc: 10810 }
+ - { type: 0, func-id: 10, cpu: 1, thread: 111, kind: function-enter, tsc: 10900 }
+ - { type: 0, func-id: 10, cpu: 1, thread: 111, kind: function-exit, tsc: 10910 }
+---
+
diff --git a/test/tools/llvm-xray/X86/Inputs/simple-instrmap.yaml b/test/tools/llvm-xray/X86/Inputs/simple-instrmap.yaml
index c1f6915646a0..a11b6b977522 100644
--- a/test/tools/llvm-xray/X86/Inputs/simple-instrmap.yaml
+++ b/test/tools/llvm-xray/X86/Inputs/simple-instrmap.yaml
@@ -19,4 +19,8 @@
- { id: 8, address: 0x9, function: 0x8, kind: function-exit, always-instrument: true}
- { id: 9, address: 0x9, function: 0x9, kind: function-enter, always-instrument: true}
- { id: 9, address: 0xA, function: 0x9, kind: function-exit, always-instrument: true}
+- { id: 10, address: 0xA, function: 0xA, kind: function-enter, always-instrument: true}
+- { id: 10, address: 0xB, function: 0xA, kind: function-exit, always-instrument: true}
+- { id: 11, address: 0xB, function: 0xB, kind: function-enter, always-instrument: true}
+- { id: 11, address: 0xC, function: 0xB, kind: function-exit, always-instrument: true}
...
diff --git a/test/tools/llvm-xray/X86/graph-diff-simple.txt b/test/tools/llvm-xray/X86/graph-diff-simple.txt
new file mode 100644
index 000000000000..24681f1ebe22
--- /dev/null
+++ b/test/tools/llvm-xray/X86/graph-diff-simple.txt
@@ -0,0 +1,238 @@
+#RUN: llvm-xray graph-diff -o - -c min -b min -m %S/Inputs/simple-instrmap.yaml \
+#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
+#RUN: | FileCheck %s -check-prefix=VCEC
+#RUN: llvm-xray graph-diff -o - -c min -m %S/Inputs/simple-instrmap.yaml \
+#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
+#RUN: | FileCheck %s -check-prefix=EC
+#RUN: llvm-xray graph-diff -o - -b min -m %S/Inputs/simple-instrmap.yaml \
+#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
+#RUN: | FileCheck %s -check-prefix=VC
+#RUN: llvm-xray graph-diff -o - -e min -v min -m %S/Inputs/simple-instrmap.yaml \
+#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
+#RUN: | FileCheck %s -check-prefix=ELVL
+#RUN: llvm-xray graph-diff -o - -e min -m %S/Inputs/simple-instrmap.yaml \
+#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
+#RUN: | FileCheck %s -check-prefix=EL
+#RUN: llvm-xray graph-diff -o - -v min -m %S/Inputs/simple-instrmap.yaml \
+#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
+#RUN: | FileCheck %s -check-prefix=VL
+#RUN: llvm-xray graph-diff -o - -v min -b min -m %S/Inputs/simple-instrmap.yaml \
+#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
+#RUN: | FileCheck %s -check-prefix=VLVC
+#RUN: llvm-xray graph-diff -o - -e min -c min -m %S/Inputs/simple-instrmap.yaml \
+#RUN: %S/Inputs/graph-diff-A.yaml %S/Inputs/graph-diff-B.yaml \
+#RUN: | FileCheck %s -check-prefix=ELEC
+
+#VCEC: digraph xrayDiff {
+#VCEC-DAG: F[[F0NO:[0-9]+]] [label="F0"]
+#VCEC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="#276419"]
+#VCEC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="#276419"]
+#VCEC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="#276419"]
+#VCEC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="#9BCF61"]
+#VCEC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="#F7F7F7"]
+#VCEC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="#F5C4E0"]
+#VCEC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="#E17FB4"]
+#VCEC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="#CB3088"]
+#VCEC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="#AD0E69"]
+#VCEC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
+#VCEC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="#276419" labelfontcolor="#276419" penwidth=8.00]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="#276419" labelfontcolor="#276419" penwidth=3.00]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="#276419" labelfontcolor="#276419" penwidth=1.33]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="#9BCF61" labelfontcolor="#9BCF61" penwidth=1.00]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
+#VCEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
+#VCEC-NEXT:}
+
+
+#EC: digraph xrayDiff {
+#EC-DAG: F[[F0NO:[0-9]+]] [label="F0"]
+#EC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"]
+#EC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"]
+#EC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"]
+#EC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"]
+#EC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"]
+#EC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"]
+#EC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"]
+#EC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"]
+#EC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"]
+#EC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
+#EC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="#276419" labelfontcolor="#276419" penwidth=8.00]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="#276419" labelfontcolor="#276419" penwidth=3.00]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="#276419" labelfontcolor="#276419" penwidth=1.33]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="#9BCF61" labelfontcolor="#9BCF61" penwidth=1.00]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
+#EC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
+#EC-NEXT:}
+
+#VC: digraph xrayDiff {
+#VC-DAG: F[[F0NO:[0-9]+]] [label="F0"]
+#VC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="#276419"]
+#VC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="#276419"]
+#VC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="#276419"]
+#VC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="#9BCF61"]
+#VC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="#F7F7F7"]
+#VC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="#F5C4E0"]
+#VC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="#E17FB4"]
+#VC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="#CB3088"]
+#VC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="#AD0E69"]
+#VC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
+#VC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
+#VC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
+#VC-NEXT:}
+
+#ELVL: digraph xrayDiff {
+#ELVL-NEXT: node [shape=record]
+#ELVL-DAG: F[[F0NO:[0-9]+]] [label="F0"]
+#ELVL-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="black"]
+#ELVL-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="black"]
+#ELVL-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="black"]
+#ELVL-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="black"]
+#ELVL-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="black"]
+#ELVL-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="black"]
+#ELVL-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="black"]
+#ELVL-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="black"]
+#ELVL-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="black"]
+#ELVL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
+#ELVL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="black" labelfontcolor="black" penwidth=1.00]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="black" labelfontcolor="black" penwidth=1.00]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="black" labelfontcolor="black" penwidth=1.00]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="black" labelfontcolor="black" penwidth=1.00]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="black" labelfontcolor="black" penwidth=1.00]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="black" labelfontcolor="black" penwidth=1.00]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="black" labelfontcolor="black" penwidth=1.00]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="black" labelfontcolor="black" penwidth=1.00]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="black" labelfontcolor="black" penwidth=1.00]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
+#ELVL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
+#ELVL-NEXT:}
+
+#EL: digraph xrayDiff {
+#EL-DAG: F[[F0NO:[0-9]+]] [label="F0"]
+#EL-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"]
+#EL-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"]
+#EL-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"]
+#EL-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"]
+#EL-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"]
+#EL-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"]
+#EL-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"]
+#EL-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"]
+#EL-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"]
+#EL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
+#EL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="black" labelfontcolor="black" penwidth=1.00]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="black" labelfontcolor="black" penwidth=1.00]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="black" labelfontcolor="black" penwidth=1.00]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="black" labelfontcolor="black" penwidth=1.00]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="black" labelfontcolor="black" penwidth=1.00]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="black" labelfontcolor="black" penwidth=1.00]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="black" labelfontcolor="black" penwidth=1.00]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="black" labelfontcolor="black" penwidth=1.00]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="black" labelfontcolor="black" penwidth=1.00]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
+#EL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
+#EL-NEXT:}
+
+#VL: digraph xrayDiff {
+#VL-NEXT: node [shape=record]
+#VL-DAG: F[[F0NO:[0-9]+]] [label="F0"]
+#VL-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="black"]
+#VL-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="black"]
+#VL-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="black"]
+#VL-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="black"]
+#VL-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="black"]
+#VL-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="black"]
+#VL-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="black"]
+#VL-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="black"]
+#VL-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="black"]
+#VL-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
+#VL-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
+#VL-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
+#VL-NEXT:}
+
+#VLVC: digraph xrayDiff {
+#VLVC-NEXT: node [shape=record]
+#VLVC-DAG: F[[F0NO:[0-9]+]] [label="F0"]
+#VLVC-DAG: F[[N1NO:[0-9]+]] [label="{#1|800.00%}" color="#276419"]
+#VLVC-DAG: F[[N2NO:[0-9]+]] [label="{#2|300.00%}" color="#276419"]
+#VLVC-DAG: F[[N3NO:[0-9]+]] [label="{#3|133.33%}" color="#276419"]
+#VLVC-DAG: F[[N4NO:[0-9]+]] [label="{#4|50.00%}" color="#9BCF61"]
+#VLVC-DAG: F[[N5NO:[0-9]+]] [label="{#5|0.00%}" color="#F7F7F7"]
+#VLVC-DAG: F[[N6NO:[0-9]+]] [label="{#6|-33.33%}" color="#F5C4E0"]
+#VLVC-DAG: F[[N7NO:[0-9]+]] [label="{#7|-57.14%}" color="#E17FB4"]
+#VLVC-DAG: F[[N8NO:[0-9]+]] [label="{#8|-75.00%}" color="#CB3088"]
+#VLVC-DAG: F[[N9NO:[0-9]+]] [label="{#9|-88.89%}" color="#AD0E69"]
+#VLVC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
+#VLVC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="" color="black" labelfontcolor="black" penwidth=1.00]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
+#VLVC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
+#VLVC-NEXT:}
+
+#ELEC: digraph xrayDiff {
+#ELEC-DAG: F[[F0NO:[0-9]+]] [label="F0"]
+#ELEC-DAG: F[[N1NO:[0-9]+]] [label="#1" color="black"]
+#ELEC-DAG: F[[N2NO:[0-9]+]] [label="#2" color="black"]
+#ELEC-DAG: F[[N3NO:[0-9]+]] [label="#3" color="black"]
+#ELEC-DAG: F[[N4NO:[0-9]+]] [label="#4" color="black"]
+#ELEC-DAG: F[[N5NO:[0-9]+]] [label="#5" color="black"]
+#ELEC-DAG: F[[N6NO:[0-9]+]] [label="#6" color="black"]
+#ELEC-DAG: F[[N7NO:[0-9]+]] [label="#7" color="black"]
+#ELEC-DAG: F[[N8NO:[0-9]+]] [label="#8" color="black"]
+#ELEC-DAG: F[[N9NO:[0-9]+]] [label="#9" color="black"]
+#ELEC-DAG: F[[NANO:[0-9]+]] [label="#10" color="#00FF00"]
+#ELEC-DAG: F[[NBNO:[0-9]+]] [label="#11" color="#FF0000"]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N1NO]] [tooltip="F0 -> #1" label="800.00%" color="#276419" labelfontcolor="#276419" penwidth=8.00]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N2NO]] [tooltip="F0 -> #2" label="300.00%" color="#276419" labelfontcolor="#276419" penwidth=3.00]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N3NO]] [tooltip="F0 -> #3" label="133.33%" color="#276419" labelfontcolor="#276419" penwidth=1.33]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N4NO]] [tooltip="F0 -> #4" label="50.00%" color="#9BCF61" labelfontcolor="#9BCF61" penwidth=1.00]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N5NO]] [tooltip="F0 -> #5" label="0.00%" color="#F7F7F7" labelfontcolor="#F7F7F7" penwidth=1.00]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N6NO]] [tooltip="F0 -> #6" label="-33.33%" color="#F5C4E0" labelfontcolor="#F5C4E0" penwidth=1.00]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N7NO]] [tooltip="F0 -> #7" label="-57.14%" color="#E17FB4" labelfontcolor="#E17FB4" penwidth=1.00]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N8NO]] [tooltip="F0 -> #8" label="-75.00%" color="#CB3088" labelfontcolor="#CB3088" penwidth=1.00]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[N9NO]] [tooltip="F0 -> #9" label="-88.89%" color="#AD0E69" labelfontcolor="#AD0E69" penwidth=1.00]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NANO]] [tooltip="F0 -> #10" label="" color="#00FF00" labelfontcolor="#00FF00" penwidth=1.00]
+#ELEC-DAG: F{{.*}}[[F0NO]] -> F{{.*}}[[NBNO]] [tooltip="F0 -> #11" label="" color="#FF0000" labelfontcolor="#FF0000" penwidth=1.00]
+#ELEC-NEXT:}
+
+
diff --git a/tools/LLVMBuild.txt b/tools/LLVMBuild.txt
index 65d3d6fad16e..e3041a6d40d4 100644
--- a/tools/LLVMBuild.txt
+++ b/tools/LLVMBuild.txt
@@ -26,6 +26,7 @@ subdirectories =
llvm-bcanalyzer
llvm-cat
llvm-cov
+ llvm-cvtres
llvm-diff
llvm-dis
llvm-dwarfdump
diff --git a/tools/dsymutil/DwarfLinker.cpp b/tools/dsymutil/DwarfLinker.cpp
index 6ee052f101f9..f74d721e6149 100644
--- a/tools/dsymutil/DwarfLinker.cpp
+++ b/tools/dsymutil/DwarfLinker.cpp
@@ -223,7 +223,7 @@ public:
DIE *getOutputUnitDIE() const {
if (NewUnit)
- return &const_cast<DIEUnit &>(*NewUnit).getUnitDie();
+ return &const_cast<BasicDIEUnit &>(*NewUnit).getUnitDie();
return nullptr;
}
@@ -333,7 +333,7 @@ private:
DWARFUnit &OrigUnit;
unsigned ID;
std::vector<DIEInfo> Info; ///< DIE info indexed by DIE index.
- Optional<DIEUnit> NewUnit;
+ Optional<BasicDIEUnit> NewUnit;
uint64_t StartOffset;
uint64_t NextUnitOffset;
@@ -2869,7 +2869,7 @@ void DwarfLinker::patchRangesForUnit(const CompileUnit &Unit,
DWARFDebugRangeList RangeList;
const auto &FunctionRanges = Unit.getFunctionRanges();
unsigned AddressSize = Unit.getOrigUnit().getAddressByteSize();
- DataExtractor RangeExtractor(OrigDwarf.getRangeSection(),
+ DataExtractor RangeExtractor(OrigDwarf.getRangeSection().Data,
OrigDwarf.isLittleEndian(), AddressSize);
auto InvalidRange = FunctionRanges.end(), CurrRange = InvalidRange;
DWARFUnit &OrigUnit = Unit.getOrigUnit();
@@ -2884,7 +2884,7 @@ void DwarfLinker::patchRangesForUnit(const CompileUnit &Unit,
for (const auto &RangeAttribute : Unit.getRangesAttributes()) {
uint32_t Offset = RangeAttribute.get();
RangeAttribute.set(Streamer->getRangesSectionSize());
- RangeList.extract(RangeExtractor, &Offset);
+ RangeList.extract(RangeExtractor, &Offset, OrigDwarf.getRangeSection().Relocs);
const auto &Entries = RangeList.getEntries();
if (!Entries.empty()) {
const DWARFDebugRangeList::RangeListEntry &First = Entries.front();
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp
index 43f97f112f6b..7c81abaed755 100644
--- a/tools/llc/llc.cpp
+++ b/tools/llc/llc.cpp
@@ -90,6 +90,11 @@ OptLevel("O",
static cl::opt<std::string>
TargetTriple("mtriple", cl::desc("Override target triple for module"));
+static cl::opt<std::string> SplitDwarfFile(
+ "split-dwarf-file",
+ cl::desc(
+ "Specify the name of the .dwo file to encode in the DWARF output"));
+
static cl::opt<bool> NoVerify("disable-verify", cl::Hidden,
cl::desc("Do not verify input module"));
@@ -450,6 +455,7 @@ static int compileModule(char **argv, LLVMContext &Context) {
Options.MCOptions.AsmVerbose = AsmVerbose;
Options.MCOptions.PreserveAsmComments = PreserveComments;
Options.MCOptions.IASSearchPaths = IncludeDirs;
+ Options.MCOptions.SplitDwarfFile = SplitDwarfFile;
std::unique_ptr<TargetMachine> Target(
TheTarget->createTargetMachine(TheTriple.getTriple(), CPUStr, FeaturesStr,
diff --git a/tools/llvm-cvtres/CMakeLists.txt b/tools/llvm-cvtres/CMakeLists.txt
new file mode 100644
index 000000000000..52edccac8165
--- /dev/null
+++ b/tools/llvm-cvtres/CMakeLists.txt
@@ -0,0 +1,13 @@
+set(LLVM_LINK_COMPONENTS
+ Option
+ Support
+ )
+
+set(LLVM_TARGET_DEFINITIONS Opts.td)
+
+tablegen(LLVM Opts.inc -gen-opt-parser-defs)
+add_public_tablegen_target(CvtResTableGen)
+
+add_llvm_tool(llvm-cvtres
+ llvm-cvtres.cpp
+ )
diff --git a/tools/llvm-cvtres/LLVMBuild.txt b/tools/llvm-cvtres/LLVMBuild.txt
new file mode 100644
index 000000000000..73693bccb0ea
--- /dev/null
+++ b/tools/llvm-cvtres/LLVMBuild.txt
@@ -0,0 +1,22 @@
+;===- ./tools/llvm-cvtres/LLVMBuild.txt ------------------------*- Conf -*--===;
+;
+; The LLVM Compiler Infrastructure
+;
+; This file is distributed under the University of Illinois Open Source
+; License. See LICENSE.TXT for details.
+;
+;===------------------------------------------------------------------------===;
+;
+; This is an LLVMBuild description file for the components in this subdirectory.
+;
+; For more information on the LLVMBuild system, please see:
+;
+; http://llvm.org/docs/LLVMBuild.html
+;
+;===------------------------------------------------------------------------===;
+
+[component_0]
+type = Tool
+name = llvm-cvtres
+parent = Tools
+required_libraries = Option Support
diff --git a/tools/llvm-cvtres/Opts.td b/tools/llvm-cvtres/Opts.td
new file mode 100644
index 000000000000..64041bceb034
--- /dev/null
+++ b/tools/llvm-cvtres/Opts.td
@@ -0,0 +1,11 @@
+include "llvm/Option/OptParser.td"
+
+def DEFINE : Joined<["/"], "DEFINE:">, HelpText<"">, MetaVarName<"symbol">;
+def FOLDDUPS : Flag<["/"], "FOLDDUPS:">, HelpText<"">;
+def MACHINE : Joined<["/"], "MACHINE:">, HelpText<"">, MetaVarName<"{ARM|EBC|IA64|X64|X86}">;
+def NOLOGO : Flag<["/"], "NOLOGO">, HelpText<"">;
+def OUT : Joined<["/"], "OUT:">, HelpText<"">, MetaVarName<"filename">;
+def READONLY : Flag<["/"], "READONLY">, HelpText<"">;
+def VERBOSE : Flag<["/"], "VERBOSE">, HelpText<"">;
+def HELP : Flag<["/"], "HELP">;
+def H : Flag<["/"], "H">, Alias<HELP>;
diff --git a/tools/llvm-cvtres/llvm-cvtres.cpp b/tools/llvm-cvtres/llvm-cvtres.cpp
new file mode 100644
index 000000000000..f03e0b772e1b
--- /dev/null
+++ b/tools/llvm-cvtres/llvm-cvtres.cpp
@@ -0,0 +1,86 @@
+//===- llvm-cvtres.cpp - Serialize .res files into .obj ---------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// Serialize .res files into .obj files. This is intended to be a
+// platform-independent port of Microsoft's cvtres.exe.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm-cvtres.h"
+
+#include "llvm/Option/Arg.h"
+#include "llvm/Option/ArgList.h"
+#include "llvm/Option/Option.h"
+#include "llvm/Support/Error.h"
+#include "llvm/Support/ManagedStatic.h"
+#include "llvm/Support/PrettyStackTrace.h"
+#include "llvm/Support/Process.h"
+#include "llvm/Support/Signals.h"
+#include "llvm/Support/raw_ostream.h"
+
+using namespace llvm;
+
+namespace {
+
+enum ID {
+ OPT_INVALID = 0, // This is not an option ID.
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
+ HELPTEXT, METAVAR) \
+ OPT_##ID,
+#include "Opts.inc"
+#undef OPTION
+};
+
+#define PREFIX(NAME, VALUE) const char *const NAME[] = VALUE;
+#include "Opts.inc"
+#undef PREFIX
+
+static const opt::OptTable::Info InfoTable[] = {
+#define OPTION(PREFIX, NAME, ID, KIND, GROUP, ALIAS, ALIASARGS, FLAGS, PARAM, \
+ HELPTEXT, METAVAR) \
+ { \
+ PREFIX, NAME, HELPTEXT, \
+ METAVAR, OPT_##ID, opt::Option::KIND##Class, \
+ PARAM, FLAGS, OPT_##GROUP, \
+ OPT_##ALIAS, ALIASARGS},
+#include "Opts.inc"
+#undef OPTION
+};
+
+class CvtResOptTable : public opt::OptTable {
+public:
+ CvtResOptTable() : OptTable(InfoTable, true) {}
+};
+
+static ExitOnError ExitOnErr;
+}
+
+int main(int argc_, const char *argv_[]) {
+ sys::PrintStackTraceOnErrorSignal(argv_[0]);
+ PrettyStackTraceProgram X(argc_, argv_);
+
+ ExitOnErr.setBanner("llvm-cvtres: ");
+
+ SmallVector<const char *, 256> argv;
+ SpecificBumpPtrAllocator<char> ArgAllocator;
+ ExitOnErr(errorCodeToError(sys::Process::GetArgumentVector(
+ argv, makeArrayRef(argv_, argc_), ArgAllocator)));
+
+ llvm_shutdown_obj Y; // Call llvm_shutdown() on exit.
+
+ CvtResOptTable T;
+ unsigned MAI, MAC;
+ ArrayRef<const char *> ArgsArr = makeArrayRef(argv_, argc_);
+ opt::InputArgList InputArgs = T.ParseArgs(ArgsArr, MAI, MAC);
+
+ if (InputArgs.hasArg(OPT_HELP))
+ T.PrintHelp(outs(), "cvtres", "Resource Converter", false);
+
+ return 0;
+}
diff --git a/tools/llvm-cvtres/llvm-cvtres.h b/tools/llvm-cvtres/llvm-cvtres.h
new file mode 100644
index 000000000000..eeaba1969036
--- /dev/null
+++ b/tools/llvm-cvtres/llvm-cvtres.h
@@ -0,0 +1,13 @@
+//===- llvm-cvtres.h ------------------------------------------ *- C++ --*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_TOOLS_LLVMCVTRES_LLVMCVTRES_H
+#define LLVM_TOOLS_LLVMCVTRES_LLVMCVTRES_H
+
+#endif
diff --git a/tools/llvm-objdump/llvm-objdump.cpp b/tools/llvm-objdump/llvm-objdump.cpp
index 613d0643b433..18fa0e074084 100644
--- a/tools/llvm-objdump/llvm-objdump.cpp
+++ b/tools/llvm-objdump/llvm-objdump.cpp
@@ -485,10 +485,13 @@ void SourcePrinter::printSourceLine(raw_ostream &OS, uint64_t Address,
auto FileBuffer = SourceCache.find(LineInfo.FileName);
if (FileBuffer != SourceCache.end()) {
auto LineBuffer = LineCache.find(LineInfo.FileName);
- if (LineBuffer != LineCache.end())
+ if (LineBuffer != LineCache.end()) {
+ if (LineInfo.Line > LineBuffer->second.size())
+ return;
// Vector begins at 0, line numbers are non-zero
OS << Delimiter << LineBuffer->second[LineInfo.Line - 1].ltrim()
<< "\n";
+ }
}
}
OldLineInfo = LineInfo;
diff --git a/tools/llvm-pdbdump/CMakeLists.txt b/tools/llvm-pdbdump/CMakeLists.txt
index 37c76ab697b4..e3d7b2ef275e 100644
--- a/tools/llvm-pdbdump/CMakeLists.txt
+++ b/tools/llvm-pdbdump/CMakeLists.txt
@@ -18,7 +18,6 @@ add_llvm_tool(llvm-pdbdump
PdbYaml.cpp
PrettyBuiltinDumper.cpp
PrettyClassDefinitionDumper.cpp
- PrettyClassLayoutTextDumper.cpp
PrettyClassLayoutGraphicalDumper.cpp
PrettyCompilandDumper.cpp
PrettyEnumDumper.cpp
diff --git a/tools/llvm-pdbdump/LinePrinter.cpp b/tools/llvm-pdbdump/LinePrinter.cpp
index d4a5a8d859e5..7fa524400aef 100644
--- a/tools/llvm-pdbdump/LinePrinter.cpp
+++ b/tools/llvm-pdbdump/LinePrinter.cpp
@@ -72,7 +72,7 @@ void LinePrinter::NewLine() {
}
bool LinePrinter::IsClassExcluded(const ClassLayout &Class) {
- if (IsTypeExcluded(Class.getUDTName(), Class.getClassSize()))
+ if (IsTypeExcluded(Class.getName(), Class.getSize()))
return true;
if (Class.deepPaddingSize() < opts::pretty::PaddingThreshold)
return true;
diff --git a/tools/llvm-pdbdump/PdbYaml.cpp b/tools/llvm-pdbdump/PdbYaml.cpp
index e2c4ee967ed3..65a5a9142d20 100644
--- a/tools/llvm-pdbdump/PdbYaml.cpp
+++ b/tools/llvm-pdbdump/PdbYaml.cpp
@@ -13,6 +13,7 @@
#include "YamlSymbolDumper.h"
#include "YamlTypeDumper.h"
+#include "llvm/ADT/StringExtras.h"
#include "llvm/DebugInfo/CodeView/CVSymbolVisitor.h"
#include "llvm/DebugInfo/CodeView/CVTypeVisitor.h"
#include "llvm/DebugInfo/CodeView/SymbolDeserializer.h"
@@ -35,6 +36,10 @@ LLVM_YAML_IS_FLOW_SEQUENCE_VECTOR(uint32_t)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::StringRef)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::NamedStreamMapping)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::PdbDbiModuleInfo)
+LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::PdbSourceFileChecksumEntry)
+LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::PdbSourceLineEntry)
+LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::PdbSourceColumnEntry)
+LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::PdbSourceLineBlock)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::PdbSymbolRecord)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::PdbTpiRecord)
LLVM_YAML_IS_SEQUENCE_VECTOR(llvm::pdb::yaml::StreamBlockList)
@@ -145,7 +150,38 @@ template <> struct ScalarEnumerationTraits<llvm::pdb::PdbRaw_FeatureSig> {
io.enumCase(Features, "VC140", PdbRaw_FeatureSig::VC140);
}
};
+
+template <> struct ScalarEnumerationTraits<llvm::codeview::FileChecksumKind> {
+ static void enumeration(IO &io, llvm::codeview::FileChecksumKind &Kind) {
+ io.enumCase(Kind, "None", llvm::codeview::FileChecksumKind::None);
+ io.enumCase(Kind, "MD5", llvm::codeview::FileChecksumKind::MD5);
+ io.enumCase(Kind, "SHA1", llvm::codeview::FileChecksumKind::SHA1);
+ io.enumCase(Kind, "SHA256", llvm::codeview::FileChecksumKind::SHA256);
+ }
+};
+
+template <> struct ScalarBitSetTraits<llvm::codeview::LineFlags> {
+ static void bitset(IO &io, llvm::codeview::LineFlags &Flags) {
+ io.bitSetCase(Flags, "HasColumnInfo",
+ llvm::codeview::LineFlags::HaveColumns);
+ io.enumFallback<Hex16>(Flags);
+ }
+};
+}
}
+
+void ScalarTraits<HexFormattedString>::output(const HexFormattedString &Value,
+ void *ctx, raw_ostream &Out) {
+ StringRef Bytes(reinterpret_cast<const char *>(Value.Bytes.data()),
+ Value.Bytes.size());
+ Out << toHex(Bytes);
+}
+
+StringRef ScalarTraits<HexFormattedString>::input(StringRef Scalar, void *ctxt,
+ HexFormattedString &Value) {
+ std::string H = fromHex(Scalar);
+ Value.Bytes.assign(H.begin(), H.end());
+ return StringRef();
}
void MappingTraits<PdbObject>::mapping(IO &IO, PdbObject &Obj) {
@@ -255,9 +291,65 @@ void MappingContextTraits<PdbDbiModuleInfo, pdb::yaml::SerializationContext>::ma
IO.mapRequired("Module", Obj.Mod);
IO.mapOptional("ObjFile", Obj.Obj, Obj.Mod);
IO.mapOptional("SourceFiles", Obj.SourceFiles);
+ IO.mapOptionalWithContext("LineInfo", Obj.FileLineInfo, Context);
IO.mapOptionalWithContext("Modi", Obj.Modi, Context);
}
+void MappingContextTraits<pdb::yaml::PdbSourceLineEntry,
+ pdb::yaml::SerializationContext>::
+ mapping(IO &IO, PdbSourceLineEntry &Obj,
+ pdb::yaml::SerializationContext &Context) {
+ IO.mapRequired("Offset", Obj.Offset);
+ IO.mapRequired("LineStart", Obj.LineStart);
+ IO.mapRequired("IsStatement", Obj.IsStatement);
+ IO.mapRequired("EndDelta", Obj.EndDelta);
+}
+
+void MappingContextTraits<pdb::yaml::PdbSourceColumnEntry,
+ pdb::yaml::SerializationContext>::
+ mapping(IO &IO, PdbSourceColumnEntry &Obj,
+ pdb::yaml::SerializationContext &Context) {
+ IO.mapRequired("StartColumn", Obj.StartColumn);
+ IO.mapRequired("EndColumn", Obj.EndColumn);
+};
+
+void MappingContextTraits<pdb::yaml::PdbSourceLineBlock,
+ pdb::yaml::SerializationContext>::
+ mapping(IO &IO, PdbSourceLineBlock &Obj,
+ pdb::yaml::SerializationContext &Context) {
+ IO.mapRequired("FileName", Obj.FileName);
+ IO.mapRequired("Lines", Obj.Lines, Context);
+ IO.mapRequired("Columns", Obj.Columns, Context);
+};
+
+void MappingContextTraits<pdb::yaml::PdbSourceFileChecksumEntry,
+ pdb::yaml::SerializationContext>::
+ mapping(IO &IO, PdbSourceFileChecksumEntry &Obj,
+ pdb::yaml::SerializationContext &Context) {
+ IO.mapRequired("FileName", Obj.FileName);
+ IO.mapRequired("Kind", Obj.Kind);
+ IO.mapRequired("Checksum", Obj.ChecksumBytes);
+};
+
+void MappingContextTraits<pdb::yaml::PdbSourceLineInfo,
+ pdb::yaml::SerializationContext>::
+ mapping(IO &IO, PdbSourceLineInfo &Obj,
+ pdb::yaml::SerializationContext &Context) {
+ IO.mapRequired("CodeSize", Obj.CodeSize);
+ IO.mapRequired("Flags", Obj.Flags);
+ IO.mapRequired("RelocOffset", Obj.RelocOffset);
+ IO.mapRequired("RelocSegment", Obj.RelocSegment);
+ IO.mapRequired("LineInfo", Obj.LineInfo, Context);
+};
+
+void MappingContextTraits<pdb::yaml::PdbSourceFileInfo,
+ pdb::yaml::SerializationContext>::
+ mapping(IO &IO, PdbSourceFileInfo &Obj,
+ pdb::yaml::SerializationContext &Context) {
+ IO.mapOptionalWithContext("Lines", Obj.Lines, Context);
+ IO.mapOptionalWithContext("Checksums", Obj.FileChecksums, Context);
+};
+
void MappingContextTraits<PdbTpiRecord, pdb::yaml::SerializationContext>::
mapping(IO &IO, pdb::yaml::PdbTpiRecord &Obj,
pdb::yaml::SerializationContext &Context) {
diff --git a/tools/llvm-pdbdump/PdbYaml.h b/tools/llvm-pdbdump/PdbYaml.h
index 2c4cd237f8d7..96e0583ca23d 100644
--- a/tools/llvm-pdbdump/PdbYaml.h
+++ b/tools/llvm-pdbdump/PdbYaml.h
@@ -65,10 +65,53 @@ struct PdbModiStream {
std::vector<PdbSymbolRecord> Symbols;
};
+struct PdbSourceLineEntry {
+ uint32_t Offset;
+ uint32_t LineStart;
+ uint32_t EndDelta;
+ bool IsStatement;
+};
+
+struct PdbSourceColumnEntry {
+ uint16_t StartColumn;
+ uint16_t EndColumn;
+};
+
+struct PdbSourceLineBlock {
+ StringRef FileName;
+ std::vector<PdbSourceLineEntry> Lines;
+ std::vector<PdbSourceColumnEntry> Columns;
+};
+
+struct HexFormattedString {
+ std::vector<uint8_t> Bytes;
+};
+
+struct PdbSourceFileChecksumEntry {
+ StringRef FileName;
+ codeview::FileChecksumKind Kind;
+ HexFormattedString ChecksumBytes;
+};
+
+struct PdbSourceLineInfo {
+ uint32_t RelocOffset;
+ uint32_t RelocSegment;
+ codeview::LineFlags Flags;
+ uint32_t CodeSize;
+
+ std::vector<PdbSourceLineBlock> LineInfo;
+};
+
+struct PdbSourceFileInfo {
+ PdbSourceLineInfo Lines;
+ std::vector<PdbSourceFileChecksumEntry> FileChecksums;
+};
+
struct PdbDbiModuleInfo {
StringRef Obj;
StringRef Mod;
std::vector<StringRef> SourceFiles;
+ Optional<PdbSourceFileInfo> FileLineInfo;
Optional<PdbModiStream> Modi;
};
@@ -166,6 +209,56 @@ template <> struct MappingContextTraits<pdb::yaml::PdbDbiModuleInfo, pdb::yaml::
};
template <>
+struct MappingContextTraits<pdb::yaml::PdbSourceLineEntry,
+ pdb::yaml::SerializationContext> {
+ static void mapping(IO &IO, pdb::yaml::PdbSourceLineEntry &Obj,
+ pdb::yaml::SerializationContext &Context);
+};
+
+template <>
+struct MappingContextTraits<pdb::yaml::PdbSourceColumnEntry,
+ pdb::yaml::SerializationContext> {
+ static void mapping(IO &IO, pdb::yaml::PdbSourceColumnEntry &Obj,
+ pdb::yaml::SerializationContext &Context);
+};
+
+template <>
+struct MappingContextTraits<pdb::yaml::PdbSourceLineBlock,
+ pdb::yaml::SerializationContext> {
+ static void mapping(IO &IO, pdb::yaml::PdbSourceLineBlock &Obj,
+ pdb::yaml::SerializationContext &Context);
+};
+
+template <>
+struct MappingContextTraits<pdb::yaml::PdbSourceFileChecksumEntry,
+ pdb::yaml::SerializationContext> {
+ static void mapping(IO &IO, pdb::yaml::PdbSourceFileChecksumEntry &Obj,
+ pdb::yaml::SerializationContext &Context);
+};
+
+template <> struct ScalarTraits<pdb::yaml::HexFormattedString> {
+ static void output(const pdb::yaml::HexFormattedString &Value, void *ctx,
+ llvm::raw_ostream &Out);
+ static StringRef input(StringRef Scalar, void *ctxt,
+ pdb::yaml::HexFormattedString &Value);
+ static bool mustQuote(StringRef) { return false; }
+};
+
+template <>
+struct MappingContextTraits<pdb::yaml::PdbSourceLineInfo,
+ pdb::yaml::SerializationContext> {
+ static void mapping(IO &IO, pdb::yaml::PdbSourceLineInfo &Obj,
+ pdb::yaml::SerializationContext &Context);
+};
+
+template <>
+struct MappingContextTraits<pdb::yaml::PdbSourceFileInfo,
+ pdb::yaml::SerializationContext> {
+ static void mapping(IO &IO, pdb::yaml::PdbSourceFileInfo &Obj,
+ pdb::yaml::SerializationContext &Context);
+};
+
+template <>
struct MappingContextTraits<pdb::yaml::PdbTpiRecord,
pdb::yaml::SerializationContext> {
static void mapping(IO &IO, pdb::yaml::PdbTpiRecord &Obj,
diff --git a/tools/llvm-pdbdump/PrettyClassDefinitionDumper.cpp b/tools/llvm-pdbdump/PrettyClassDefinitionDumper.cpp
index 9f213a4b4d96..90f7772001d7 100644
--- a/tools/llvm-pdbdump/PrettyClassDefinitionDumper.cpp
+++ b/tools/llvm-pdbdump/PrettyClassDefinitionDumper.cpp
@@ -11,7 +11,6 @@
#include "LinePrinter.h"
#include "PrettyClassLayoutGraphicalDumper.h"
-#include "PrettyClassLayoutTextDumper.h"
#include "llvm-pdbdump.h"
#include "llvm/ADT/APFloat.h"
@@ -39,44 +38,17 @@ void ClassDefinitionDumper::start(const PDBSymbolTypeUDT &Class) {
void ClassDefinitionDumper::start(const ClassLayout &Layout) {
prettyPrintClassIntro(Layout);
- switch (opts::pretty::ClassFormat) {
- case opts::pretty::ClassDefinitionFormat::Graphical: {
- PrettyClassLayoutGraphicalDumper Dumper(Printer, 0);
- DumpedAnything = Dumper.start(Layout);
- break;
- }
- case opts::pretty::ClassDefinitionFormat::Standard:
- case opts::pretty::ClassDefinitionFormat::Layout: {
- PrettyClassLayoutTextDumper Dumper(Printer);
- DumpedAnything |= Dumper.start(Layout);
- break;
- }
- default:
- llvm_unreachable("Unreachable!");
- }
+ PrettyClassLayoutGraphicalDumper Dumper(Printer, 1, 0);
+ DumpedAnything |= Dumper.start(Layout);
prettyPrintClassOutro(Layout);
}
-static void printBase(LinePrinter &Printer, const PDBSymbolTypeBaseClass &Base,
- uint32_t &CurIndex, uint32_t TotalBaseCount,
- bool IsVirtual) {
- Printer << " ";
- WithColor(Printer, PDB_ColorItem::Keyword).get() << Base.getAccess();
- if (IsVirtual)
- WithColor(Printer, PDB_ColorItem::Keyword).get() << " virtual";
- WithColor(Printer, PDB_ColorItem::Type).get() << " " << Base.getName();
- if (++CurIndex < TotalBaseCount) {
- Printer.NewLine();
- Printer << ",";
- }
-}
-
void ClassDefinitionDumper::prettyPrintClassIntro(const ClassLayout &Layout) {
DumpedAnything = false;
Printer.NewLine();
- uint32_t Size = Layout.getClassSize();
+ uint32_t Size = Layout.getSize();
const PDBSymbolTypeUDT &Class = Layout.getClass();
WithColor(Printer, PDB_ColorItem::Keyword).get() << Class.getUdtKind() << " ";
@@ -84,19 +56,22 @@ void ClassDefinitionDumper::prettyPrintClassIntro(const ClassLayout &Layout) {
WithColor(Printer, PDB_ColorItem::Comment).get() << " [sizeof = " << Size
<< "]";
uint32_t BaseCount = Layout.bases().size();
- uint32_t VBaseCount = Layout.vbases().size();
- uint32_t TotalBaseCount = BaseCount + VBaseCount;
- if (TotalBaseCount > 0) {
+ if (BaseCount > 0) {
Printer.Indent();
- Printer.NewLine();
- Printer << ":";
- uint32_t BaseIndex = 0;
+ char NextSeparator = ':';
for (auto BC : Layout.bases()) {
const auto &Base = BC->getBase();
- printBase(Printer, Base, BaseIndex, TotalBaseCount, false);
- }
- for (auto &BC : Layout.vbases()) {
- printBase(Printer, *BC, BaseIndex, TotalBaseCount, true);
+ if (Base.isIndirectVirtualBaseClass())
+ continue;
+
+ Printer.NewLine();
+ Printer << NextSeparator << " ";
+ WithColor(Printer, PDB_ColorItem::Keyword).get() << Base.getAccess();
+ if (BC->isVirtualBase())
+ WithColor(Printer, PDB_ColorItem::Keyword).get() << " virtual";
+
+ WithColor(Printer, PDB_ColorItem::Type).get() << " " << Base.getName();
+ NextSeparator = ',';
}
Printer.Unindent();
@@ -114,12 +89,20 @@ void ClassDefinitionDumper::prettyPrintClassOutro(const ClassLayout &Layout) {
Printer.NewLine();
if (Layout.deepPaddingSize() > 0) {
APFloat Pct(100.0 * (double)Layout.deepPaddingSize() /
- (double)Layout.getClassSize());
+ (double)Layout.getSize());
SmallString<8> PctStr;
Pct.toString(PctStr, 4);
WithColor(Printer, PDB_ColorItem::Padding).get()
<< "Total padding " << Layout.deepPaddingSize() << " bytes (" << PctStr
<< "% of class size)";
Printer.NewLine();
+ APFloat Pct2(100.0 * (double)Layout.immediatePadding() /
+ (double)Layout.getSize());
+ PctStr.clear();
+ Pct2.toString(PctStr, 4);
+ WithColor(Printer, PDB_ColorItem::Padding).get()
+ << "Immediate padding " << Layout.immediatePadding() << " bytes ("
+ << PctStr << "% of class size)";
+ Printer.NewLine();
}
}
diff --git a/tools/llvm-pdbdump/PrettyClassDefinitionDumper.h b/tools/llvm-pdbdump/PrettyClassDefinitionDumper.h
index 0e27733b3ccb..6569a1d304f6 100644
--- a/tools/llvm-pdbdump/PrettyClassDefinitionDumper.h
+++ b/tools/llvm-pdbdump/PrettyClassDefinitionDumper.h
@@ -39,8 +39,8 @@ private:
void prettyPrintClassIntro(const ClassLayout &Class);
void prettyPrintClassOutro(const ClassLayout &Class);
- bool DumpedAnything = false;
LinePrinter &Printer;
+ bool DumpedAnything = false;
};
}
}
diff --git a/tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.cpp b/tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.cpp
index d146ca9d4712..16cec82f718a 100644
--- a/tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.cpp
+++ b/tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.cpp
@@ -11,7 +11,12 @@
#include "LinePrinter.h"
#include "PrettyClassDefinitionDumper.h"
+#include "PrettyEnumDumper.h"
+#include "PrettyFunctionDumper.h"
+#include "PrettyTypedefDumper.h"
#include "PrettyVariableDumper.h"
+#include "PrettyVariableDumper.h"
+#include "llvm-pdbdump.h"
#include "llvm/DebugInfo/PDB/PDBSymbolData.h"
#include "llvm/DebugInfo/PDB/PDBSymbolTypeBaseClass.h"
@@ -23,11 +28,20 @@ using namespace llvm;
using namespace llvm::pdb;
PrettyClassLayoutGraphicalDumper::PrettyClassLayoutGraphicalDumper(
- LinePrinter &P, uint32_t InitialOffset)
- : PDBSymDumper(true), Printer(P), ClassOffsetZero(InitialOffset),
- CurrentAbsoluteOffset(InitialOffset) {}
+ LinePrinter &P, uint32_t RecurseLevel, uint32_t InitialOffset)
+ : PDBSymDumper(true), Printer(P), RecursionLevel(RecurseLevel),
+ ClassOffsetZero(InitialOffset), CurrentAbsoluteOffset(InitialOffset) {}
bool PrettyClassLayoutGraphicalDumper::start(const UDTLayoutBase &Layout) {
+
+ if (RecursionLevel == 1 &&
+ opts::pretty::ClassFormat == opts::pretty::ClassDefinitionFormat::All) {
+ for (auto &Other : Layout.other_items())
+ Other->dump(*this);
+ for (auto &Func : Layout.funcs())
+ Func->dump(*this);
+ }
+
const BitVector &UseMap = Layout.usedBytes();
int NextPaddingByte = UseMap.find_first_unset();
@@ -53,16 +67,31 @@ bool PrettyClassLayoutGraphicalDumper::start(const UDTLayoutBase &Layout) {
}
}
- CurrentItem = Item.get();
- Item->getSymbol().dump(*this);
+ CurrentItem = Item;
+ if (Item->isVBPtr()) {
+ VTableLayoutItem &Layout = static_cast<VTableLayoutItem &>(*CurrentItem);
+
+ VariableDumper VarDumper(Printer);
+ VarDumper.startVbptr(CurrentAbsoluteOffset, Layout.getSize());
+ } else {
+ if (auto Sym = Item->getSymbol())
+ Sym->dump(*this);
+ }
+
+ if (Item->getLayoutSize() > 0) {
+ uint32_t Prev = RelativeOffset + Item->getLayoutSize() - 1;
+ NextPaddingByte = UseMap.find_next_unset(Prev);
+ }
}
- if (NextPaddingByte >= 0 && Layout.getClassSize() > 1) {
- uint32_t Amount = Layout.getClassSize() - NextPaddingByte;
- Printer.NewLine();
- WithColor(Printer, PDB_ColorItem::Padding).get() << "<padding> (" << Amount
- << " bytes)";
- DumpedAnything = true;
+ auto TailPadding = Layout.tailPadding();
+ if (TailPadding > 0) {
+ if (TailPadding != 1 || Layout.getSize() != 1) {
+ Printer.NewLine();
+ WithColor(Printer, PDB_ColorItem::Padding).get()
+ << "<padding> (" << TailPadding << " bytes)";
+ DumpedAnything = true;
+ }
}
return DumpedAnything;
@@ -85,24 +114,41 @@ void PrettyClassLayoutGraphicalDumper::dump(
Printer.NewLine();
BaseClassLayout &Layout = static_cast<BaseClassLayout &>(*CurrentItem);
- std::string Label = Layout.isVirtualBase() ? "vbase" : "base";
+ std::string Label = "base";
+ if (Layout.isVirtualBase()) {
+ Label.insert(Label.begin(), 'v');
+ if (Layout.getBase().isIndirectVirtualBaseClass())
+ Label.insert(Label.begin(), 'i');
+ }
Printer << Label << " ";
+ uint32_t Size = Layout.isEmptyBase() ? 1 : Layout.getLayoutSize();
+
WithColor(Printer, PDB_ColorItem::Offset).get()
- << "+" << format_hex(CurrentAbsoluteOffset, 4)
- << " [sizeof=" << Layout.getSize() << "] ";
+ << "+" << format_hex(CurrentAbsoluteOffset, 4) << " [sizeof=" << Size
+ << "] ";
WithColor(Printer, PDB_ColorItem::Identifier).get() << Layout.getName();
- Printer.Indent();
- uint32_t ChildOffsetZero = ClassOffsetZero + Layout.getOffsetInParent();
- PrettyClassLayoutGraphicalDumper BaseDumper(Printer, ChildOffsetZero);
- BaseDumper.start(Layout);
- Printer.Unindent();
+ if (shouldRecurse()) {
+ Printer.Indent();
+ uint32_t ChildOffsetZero = ClassOffsetZero + Layout.getOffsetInParent();
+ PrettyClassLayoutGraphicalDumper BaseDumper(Printer, RecursionLevel + 1,
+ ChildOffsetZero);
+ DumpedAnything |= BaseDumper.start(Layout);
+ Printer.Unindent();
+ }
DumpedAnything = true;
}
+bool PrettyClassLayoutGraphicalDumper::shouldRecurse() const {
+ uint32_t Limit = opts::pretty::ClassRecursionDepth;
+ if (Limit == 0)
+ return true;
+ return RecursionLevel < Limit;
+}
+
void PrettyClassLayoutGraphicalDumper::dump(const PDBSymbolData &Symbol) {
assert(CurrentItem != nullptr);
@@ -112,9 +158,11 @@ void PrettyClassLayoutGraphicalDumper::dump(const PDBSymbolData &Symbol) {
VariableDumper VarDumper(Printer);
VarDumper.start(Symbol, ClassOffsetZero);
- if (Layout.hasUDTLayout()) {
+ if (Layout.hasUDTLayout() && shouldRecurse()) {
+ uint32_t ChildOffsetZero = ClassOffsetZero + Layout.getOffsetInParent();
Printer.Indent();
- PrettyClassLayoutGraphicalDumper TypeDumper(Printer, ClassOffsetZero);
+ PrettyClassLayoutGraphicalDumper TypeDumper(Printer, RecursionLevel + 1,
+ ChildOffsetZero);
TypeDumper.start(Layout.getUDTLayout());
Printer.Unindent();
}
@@ -125,27 +173,43 @@ void PrettyClassLayoutGraphicalDumper::dump(const PDBSymbolData &Symbol) {
void PrettyClassLayoutGraphicalDumper::dump(const PDBSymbolTypeVTable &Symbol) {
assert(CurrentItem != nullptr);
- VTableLayoutItem &Layout = static_cast<VTableLayoutItem &>(*CurrentItem);
-
VariableDumper VarDumper(Printer);
VarDumper.start(Symbol, ClassOffsetZero);
- Printer.Indent();
- uint32_t Index = 0;
- for (auto &Func : Layout.funcs()) {
- Printer.NewLine();
- std::string Name = Func->getName();
- auto ParentClass =
- unique_dyn_cast<PDBSymbolTypeUDT>(Func->getClassParent());
- assert(ParentClass);
- WithColor(Printer, PDB_ColorItem::Address).get() << " [" << Index << "] ";
- WithColor(Printer, PDB_ColorItem::Identifier).get()
- << "&" << ParentClass->getName();
- Printer << "::";
- WithColor(Printer, PDB_ColorItem::Identifier).get() << Name;
- ++Index;
- }
- Printer.Unindent();
+ DumpedAnything = true;
+}
+
+void PrettyClassLayoutGraphicalDumper::dump(const PDBSymbolTypeEnum &Symbol) {
+ DumpedAnything = true;
+ Printer.NewLine();
+ EnumDumper Dumper(Printer);
+ Dumper.start(Symbol);
+}
+
+void PrettyClassLayoutGraphicalDumper::dump(
+ const PDBSymbolTypeTypedef &Symbol) {
+ DumpedAnything = true;
+ Printer.NewLine();
+ TypedefDumper Dumper(Printer);
+ Dumper.start(Symbol);
+}
+
+void PrettyClassLayoutGraphicalDumper::dump(
+ const PDBSymbolTypeBuiltin &Symbol) {}
+
+void PrettyClassLayoutGraphicalDumper::dump(const PDBSymbolTypeUDT &Symbol) {}
+
+void PrettyClassLayoutGraphicalDumper::dump(const PDBSymbolFunc &Symbol) {
+ if (Printer.IsSymbolExcluded(Symbol.getName()))
+ return;
+ if (Symbol.isCompilerGenerated() && opts::pretty::ExcludeCompilerGenerated)
+ return;
+ if (Symbol.getLength() == 0 && !Symbol.isPureVirtual() &&
+ !Symbol.isIntroVirtualFunction())
+ return;
DumpedAnything = true;
+ Printer.NewLine();
+ FunctionDumper Dumper(Printer);
+ Dumper.start(Symbol, FunctionDumper::PointerType::None);
}
diff --git a/tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.h b/tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.h
index 7dfb74c4e14b..f83f1a6c1b34 100644
--- a/tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.h
+++ b/tools/llvm-pdbdump/PrettyClassLayoutGraphicalDumper.h
@@ -19,25 +19,36 @@ namespace llvm {
namespace pdb {
class UDTLayoutBase;
-class StorageItemBase;
+class LayoutItemBase;
class LinePrinter;
class PrettyClassLayoutGraphicalDumper : public PDBSymDumper {
public:
- PrettyClassLayoutGraphicalDumper(LinePrinter &P, uint32_t InitialOffset);
+ PrettyClassLayoutGraphicalDumper(LinePrinter &P, uint32_t RecurseLevel,
+ uint32_t InitialOffset);
bool start(const UDTLayoutBase &Layout);
+ // Layout based symbol types.
void dump(const PDBSymbolTypeBaseClass &Symbol) override;
void dump(const PDBSymbolData &Symbol) override;
void dump(const PDBSymbolTypeVTable &Symbol) override;
+ // Non layout-based symbol types.
+ void dump(const PDBSymbolTypeEnum &Symbol) override;
+ void dump(const PDBSymbolFunc &Symbol) override;
+ void dump(const PDBSymbolTypeTypedef &Symbol) override;
+ void dump(const PDBSymbolTypeUDT &Symbol) override;
+ void dump(const PDBSymbolTypeBuiltin &Symbol) override;
+
private:
+ bool shouldRecurse() const;
void printPaddingRow(uint32_t Amount);
LinePrinter &Printer;
- StorageItemBase *CurrentItem = nullptr;
+ LayoutItemBase *CurrentItem = nullptr;
+ uint32_t RecursionLevel = 0;
uint32_t ClassOffsetZero = 0;
uint32_t CurrentAbsoluteOffset = 0;
bool DumpedAnything = false;
diff --git a/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp b/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp
deleted file mode 100644
index 02f31108b0df..000000000000
--- a/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.cpp
+++ /dev/null
@@ -1,119 +0,0 @@
-//===- PrettyClassLayoutTextDumper.cpp --------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "PrettyClassLayoutTextDumper.h"
-
-#include "LinePrinter.h"
-#include "PrettyEnumDumper.h"
-#include "PrettyFunctionDumper.h"
-#include "PrettyTypedefDumper.h"
-#include "PrettyVariableDumper.h"
-#include "llvm-pdbdump.h"
-
-#include "llvm/DebugInfo/PDB/IPDBSession.h"
-#include "llvm/DebugInfo/PDB/PDBExtras.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolData.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolFunc.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeEnum.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeTypedef.h"
-#include "llvm/DebugInfo/PDB/PDBSymbolTypeVTable.h"
-#include "llvm/DebugInfo/PDB/UDTLayout.h"
-
-#include "llvm/Support/Format.h"
-
-using namespace llvm;
-using namespace llvm::pdb;
-
-PrettyClassLayoutTextDumper::PrettyClassLayoutTextDumper(LinePrinter &P)
- : PDBSymDumper(true), Printer(P) {}
-
-bool PrettyClassLayoutTextDumper::start(const ClassLayout &Layout) {
- if (opts::pretty::ClassFormat ==
- opts::pretty::ClassDefinitionFormat::Standard) {
- for (auto &Other : Layout.other_items())
- Other->dump(*this);
- for (auto &Func : Layout.funcs())
- Func->dump(*this);
- }
-
- const BitVector &UseMap = Layout.usedBytes();
- int NextUnusedByte = Layout.usedBytes().find_first_unset();
- // Next dump items which affect class layout.
- for (auto &LayoutItem : Layout.layout_items()) {
- if (NextUnusedByte >= 0) {
- // If there are padding bytes remaining, see if this field is the first to
- // cross a padding boundary, and print a padding field indicator if so.
- int Off = LayoutItem->getOffsetInParent();
- if (Off > NextUnusedByte) {
- uint32_t Amount = Off - NextUnusedByte;
- Printer.NewLine();
- WithColor(Printer, PDB_ColorItem::Padding).get() << "<padding> ("
- << Amount << " bytes)";
- assert(UseMap.find_next(NextUnusedByte) == Off);
- NextUnusedByte = UseMap.find_next_unset(Off);
- }
- }
- LayoutItem->getSymbol().dump(*this);
- }
-
- if (NextUnusedByte >= 0 && Layout.getClassSize() > 1) {
- uint32_t Amount = Layout.getClassSize() - NextUnusedByte;
- Printer.NewLine();
- WithColor(Printer, PDB_ColorItem::Padding).get() << "<padding> (" << Amount
- << " bytes)";
- DumpedAnything = true;
- }
-
- return DumpedAnything;
-}
-
-void PrettyClassLayoutTextDumper::dump(const PDBSymbolTypeBaseClass &Symbol) {}
-
-void PrettyClassLayoutTextDumper::dump(const PDBSymbolData &Symbol) {
- VariableDumper Dumper(Printer);
- Dumper.start(Symbol);
- DumpedAnything = true;
-}
-
-void PrettyClassLayoutTextDumper::dump(const PDBSymbolFunc &Symbol) {
- if (Printer.IsSymbolExcluded(Symbol.getName()))
- return;
- if (Symbol.isCompilerGenerated() && opts::pretty::ExcludeCompilerGenerated)
- return;
- if (Symbol.getLength() == 0 && !Symbol.isPureVirtual() &&
- !Symbol.isIntroVirtualFunction())
- return;
-
- DumpedAnything = true;
- Printer.NewLine();
- FunctionDumper Dumper(Printer);
- Dumper.start(Symbol, FunctionDumper::PointerType::None);
-}
-
-void PrettyClassLayoutTextDumper::dump(const PDBSymbolTypeVTable &Symbol) {
- VariableDumper Dumper(Printer);
- Dumper.start(Symbol);
- DumpedAnything = true;
-}
-
-void PrettyClassLayoutTextDumper::dump(const PDBSymbolTypeEnum &Symbol) {
- DumpedAnything = true;
- Printer.NewLine();
- EnumDumper Dumper(Printer);
- Dumper.start(Symbol);
-}
-
-void PrettyClassLayoutTextDumper::dump(const PDBSymbolTypeTypedef &Symbol) {
- DumpedAnything = true;
- Printer.NewLine();
- TypedefDumper Dumper(Printer);
- Dumper.start(Symbol);
-}
-
-void PrettyClassLayoutTextDumper::dump(const PDBSymbolTypeUDT &Symbol) {}
diff --git a/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.h b/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.h
deleted file mode 100644
index 56c20f0e8433..000000000000
--- a/tools/llvm-pdbdump/PrettyClassLayoutTextDumper.h
+++ /dev/null
@@ -1,44 +0,0 @@
-//===- PrettyClassLayoutTextDumper.h ----------------------------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_TOOLS_LLVMPDBDUMP_PRETTYCLASSLAYOUTTEXTDUMPER_H
-#define LLVM_TOOLS_LLVMPDBDUMP_PRETTYCLASSLAYOUTTEXTDUMPER_H
-
-#include "llvm/ADT/BitVector.h"
-
-#include "llvm/DebugInfo/PDB/PDBSymDumper.h"
-
-namespace llvm {
-
-namespace pdb {
-
-class ClassLayout;
-class LinePrinter;
-
-class PrettyClassLayoutTextDumper : public PDBSymDumper {
-public:
- PrettyClassLayoutTextDumper(LinePrinter &P);
-
- bool start(const ClassLayout &Layout);
-
- void dump(const PDBSymbolTypeBaseClass &Symbol) override;
- void dump(const PDBSymbolData &Symbol) override;
- void dump(const PDBSymbolTypeEnum &Symbol) override;
- void dump(const PDBSymbolFunc &Symbol) override;
- void dump(const PDBSymbolTypeTypedef &Symbol) override;
- void dump(const PDBSymbolTypeUDT &Symbol) override;
- void dump(const PDBSymbolTypeVTable &Symbol) override;
-
-private:
- bool DumpedAnything = false;
- LinePrinter &Printer;
-};
-}
-}
-#endif
diff --git a/tools/llvm-pdbdump/PrettyTypeDumper.cpp b/tools/llvm-pdbdump/PrettyTypeDumper.cpp
index ffeef72150d2..cd156f051573 100644
--- a/tools/llvm-pdbdump/PrettyTypeDumper.cpp
+++ b/tools/llvm-pdbdump/PrettyTypeDumper.cpp
@@ -34,17 +34,34 @@ using LayoutPtr = std::unique_ptr<ClassLayout>;
typedef bool (*CompareFunc)(const LayoutPtr &S1, const LayoutPtr &S2);
static bool CompareNames(const LayoutPtr &S1, const LayoutPtr &S2) {
- return S1->getUDTName() < S2->getUDTName();
+ return S1->getName() < S2->getName();
}
static bool CompareSizes(const LayoutPtr &S1, const LayoutPtr &S2) {
- return S1->getClassSize() < S2->getClassSize();
+ return S1->getSize() < S2->getSize();
}
static bool ComparePadding(const LayoutPtr &S1, const LayoutPtr &S2) {
return S1->deepPaddingSize() < S2->deepPaddingSize();
}
+static bool ComparePaddingPct(const LayoutPtr &S1, const LayoutPtr &S2) {
+ double Pct1 = (double)S1->deepPaddingSize() / (double)S1->getSize();
+ double Pct2 = (double)S2->deepPaddingSize() / (double)S2->getSize();
+ return Pct1 < Pct2;
+}
+
+static bool ComparePaddingImmediate(const LayoutPtr &S1, const LayoutPtr &S2) {
+ return S1->immediatePadding() < S2->immediatePadding();
+}
+
+static bool ComparePaddingPctImmediate(const LayoutPtr &S1,
+ const LayoutPtr &S2) {
+ double Pct1 = (double)S1->immediatePadding() / (double)S1->getSize();
+ double Pct2 = (double)S2->immediatePadding() / (double)S2->getSize();
+ return Pct1 < Pct2;
+}
+
static CompareFunc getComparisonFunc(opts::pretty::ClassSortMode Mode) {
switch (Mode) {
case opts::pretty::ClassSortMode::Name:
@@ -53,6 +70,12 @@ static CompareFunc getComparisonFunc(opts::pretty::ClassSortMode Mode) {
return CompareSizes;
case opts::pretty::ClassSortMode::Padding:
return ComparePadding;
+ case opts::pretty::ClassSortMode::PaddingPct:
+ return ComparePaddingPct;
+ case opts::pretty::ClassSortMode::PaddingImmediate:
+ return ComparePaddingImmediate;
+ case opts::pretty::ClassSortMode::PaddingPctImmediate:
+ return ComparePaddingPctImmediate;
default:
return nullptr;
}
@@ -67,14 +90,18 @@ filterAndSortClassDefs(LinePrinter &Printer, Enumerator &E,
Filtered.reserve(UnfilteredCount);
CompareFunc Comp = getComparisonFunc(opts::pretty::ClassOrder);
+ if (UnfilteredCount > 10000) {
+ errs() << formatv("Filtering and sorting {0} types", UnfilteredCount);
+ errs().flush();
+ }
uint32_t Examined = 0;
uint32_t Discarded = 0;
while (auto Class = E.getNext()) {
++Examined;
if (Examined % 10000 == 0) {
- outs() << formatv("Examined {0}/{1} items. {2} items discarded\n",
+ errs() << formatv("Examined {0}/{1} items. {2} items discarded\n",
Examined, UnfilteredCount, Discarded);
- outs().flush();
+ errs().flush();
}
if (Class->getUnmodifiedTypeId() != 0) {
@@ -92,6 +119,10 @@ filterAndSortClassDefs(LinePrinter &Printer, Enumerator &E,
++Discarded;
continue;
}
+ if (Layout->immediatePadding() < opts::pretty::ImmediatePaddingThreshold) {
+ ++Discarded;
+ continue;
+ }
Filtered.push_back(std::move(Layout));
}
@@ -163,6 +194,9 @@ void TypeDumper::start(const PDBSymbolExe &Exe) {
dumpClassLayout(*Class);
} else {
while (auto Class = Classes->getNext()) {
+ if (Class->getUnmodifiedTypeId() != 0)
+ continue;
+
if (Printer.IsTypeExcluded(Class->getName(), Class->getLength()))
continue;
@@ -209,7 +243,7 @@ void TypeDumper::dumpClassLayout(const ClassLayout &Class) {
if (opts::pretty::ClassFormat == opts::pretty::ClassDefinitionFormat::None) {
Printer.NewLine();
WithColor(Printer, PDB_ColorItem::Keyword).get() << "class ";
- WithColor(Printer, PDB_ColorItem::Identifier).get() << Class.getUDTName();
+ WithColor(Printer, PDB_ColorItem::Identifier).get() << Class.getName();
} else {
ClassDefinitionDumper Dumper(Printer);
Dumper.start(Class);
diff --git a/tools/llvm-pdbdump/PrettyVariableDumper.cpp b/tools/llvm-pdbdump/PrettyVariableDumper.cpp
index 76a0d23bf87a..70925f4b03d0 100644
--- a/tools/llvm-pdbdump/PrettyVariableDumper.cpp
+++ b/tools/llvm-pdbdump/PrettyVariableDumper.cpp
@@ -91,6 +91,14 @@ void VariableDumper::start(const PDBSymbolData &Var, uint32_t Offset) {
}
}
+void VariableDumper::startVbptr(uint32_t Offset, uint32_t Size) {
+ Printer.NewLine();
+ Printer << "vbptr ";
+
+ WithColor(Printer, PDB_ColorItem::Offset).get()
+ << "+" << format_hex(Offset, 4) << " [sizeof=" << Size << "] ";
+}
+
void VariableDumper::start(const PDBSymbolTypeVTable &Var, uint32_t Offset) {
Printer.NewLine();
Printer << "vfptr ";
diff --git a/tools/llvm-pdbdump/PrettyVariableDumper.h b/tools/llvm-pdbdump/PrettyVariableDumper.h
index 4ba3bc97d85b..cacf1ce9577b 100644
--- a/tools/llvm-pdbdump/PrettyVariableDumper.h
+++ b/tools/llvm-pdbdump/PrettyVariableDumper.h
@@ -26,6 +26,7 @@ public:
void start(const PDBSymbolData &Var, uint32_t Offset = 0);
void start(const PDBSymbolTypeVTable &Var, uint32_t Offset = 0);
+ void startVbptr(uint32_t Offset, uint32_t Size);
void dump(const PDBSymbolTypeArray &Symbol) override;
void dump(const PDBSymbolTypeBuiltin &Symbol) override;
diff --git a/tools/llvm-pdbdump/YAMLOutputStyle.cpp b/tools/llvm-pdbdump/YAMLOutputStyle.cpp
index 5b53d2137166..b329de265e72 100644
--- a/tools/llvm-pdbdump/YAMLOutputStyle.cpp
+++ b/tools/llvm-pdbdump/YAMLOutputStyle.cpp
@@ -12,6 +12,9 @@
#include "PdbYaml.h"
#include "llvm-pdbdump.h"
+#include "llvm/DebugInfo/CodeView/Line.h"
+#include "llvm/DebugInfo/CodeView/ModuleSubstream.h"
+#include "llvm/DebugInfo/CodeView/ModuleSubstreamVisitor.h"
#include "llvm/DebugInfo/MSF/MappedBlockStream.h"
#include "llvm/DebugInfo/PDB/Native/DbiStream.h"
#include "llvm/DebugInfo/PDB/Native/InfoStream.h"
@@ -33,8 +36,13 @@ Error YAMLOutputStyle::dump() {
opts::pdb2yaml::StreamMetadata = true;
if (opts::pdb2yaml::DbiModuleSyms)
opts::pdb2yaml::DbiModuleInfo = true;
+
+ if (opts::pdb2yaml::DbiModuleSourceLineInfo)
+ opts::pdb2yaml::DbiModuleSourceFileInfo = true;
+
if (opts::pdb2yaml::DbiModuleSourceFileInfo)
opts::pdb2yaml::DbiModuleInfo = true;
+
if (opts::pdb2yaml::DbiModuleInfo)
opts::pdb2yaml::DbiStream = true;
@@ -66,6 +74,112 @@ Error YAMLOutputStyle::dump() {
return Error::success();
}
+namespace {
+class C13SubstreamVisitor : public codeview::IModuleSubstreamVisitor {
+public:
+ C13SubstreamVisitor(llvm::pdb::yaml::PdbSourceFileInfo &Info, PDBFile &F)
+ : Info(Info), F(F) {}
+
+ Error visitUnknown(codeview::ModuleSubstreamKind Kind,
+ BinaryStreamRef Stream) override {
+ return Error::success();
+ }
+
+ Error
+ visitFileChecksums(BinaryStreamRef Data,
+ const codeview::FileChecksumArray &Checksums) override {
+ for (const auto &C : Checksums) {
+ llvm::pdb::yaml::PdbSourceFileChecksumEntry Entry;
+ if (auto Result = getGlobalString(C.FileNameOffset))
+ Entry.FileName = *Result;
+ else
+ return Result.takeError();
+
+ Entry.Kind = C.Kind;
+ Entry.ChecksumBytes.Bytes = C.Checksum;
+ Info.FileChecksums.push_back(Entry);
+ }
+ return Error::success();
+ }
+
+ Error visitLines(BinaryStreamRef Data,
+ const codeview::LineSubstreamHeader *Header,
+ const codeview::LineInfoArray &Lines) override {
+
+ Info.Lines.CodeSize = Header->CodeSize;
+ Info.Lines.Flags =
+ static_cast<codeview::LineFlags>(uint16_t(Header->Flags));
+ Info.Lines.RelocOffset = Header->RelocOffset;
+ Info.Lines.RelocSegment = Header->RelocSegment;
+
+ for (const auto &L : Lines) {
+ llvm::pdb::yaml::PdbSourceLineBlock Block;
+
+ if (auto Result = getDbiFileName(L.NameIndex))
+ Block.FileName = *Result;
+ else
+ return Result.takeError();
+
+ for (const auto &N : L.LineNumbers) {
+ llvm::pdb::yaml::PdbSourceLineEntry Line;
+ Line.Offset = N.Offset;
+ codeview::LineInfo LI(N.Flags);
+ Line.LineStart = LI.getStartLine();
+ Line.EndDelta = LI.getEndLine();
+ Line.IsStatement = LI.isStatement();
+ Block.Lines.push_back(Line);
+ }
+
+ if (Info.Lines.Flags & codeview::LineFlags::HaveColumns) {
+ for (const auto &C : L.Columns) {
+ llvm::pdb::yaml::PdbSourceColumnEntry Column;
+ Column.StartColumn = C.StartColumn;
+ Column.EndColumn = C.EndColumn;
+ Block.Columns.push_back(Column);
+ }
+ }
+
+ Info.Lines.LineInfo.push_back(Block);
+ }
+ return Error::success();
+ }
+
+private:
+ Expected<StringRef> getGlobalString(uint32_t Offset) {
+ auto ST = F.getStringTable();
+ if (!ST)
+ return ST.takeError();
+
+ return ST->getStringForID(Offset);
+ }
+ Expected<StringRef> getDbiFileName(uint32_t Offset) {
+ auto DS = F.getPDBDbiStream();
+ if (!DS)
+ return DS.takeError();
+ return DS->getFileNameForIndex(Offset);
+ }
+
+ llvm::pdb::yaml::PdbSourceFileInfo &Info;
+ PDBFile &F;
+};
+}
+
+Expected<Optional<llvm::pdb::yaml::PdbSourceFileInfo>>
+YAMLOutputStyle::getFileLineInfo(const pdb::ModStream &ModS) {
+ if (!ModS.hasLineInfo())
+ return None;
+
+ yaml::PdbSourceFileInfo Info;
+ bool Error = false;
+ C13SubstreamVisitor Visitor(Info, File);
+ for (auto &Substream : ModS.lines(&Error)) {
+ if (auto E = codeview::visitModuleSubstream(Substream, Visitor))
+ return std::move(E);
+ }
+
+ return Info;
+}
+
Error YAMLOutputStyle::dumpFileHeaders() {
if (opts::pdb2yaml::NoFileHeaders)
return Error::success();
@@ -175,16 +289,24 @@ Error YAMLOutputStyle::dumpDbiStream() {
if (opts::pdb2yaml::DbiModuleSourceFileInfo)
DMI.SourceFiles = MI.SourceFiles;
+ auto ModStreamData = msf::MappedBlockStream::createIndexedStream(
+ File.getMsfLayout(), File.getMsfBuffer(),
+ MI.Info.getModuleStreamIndex());
+
+ pdb::ModStream ModS(MI.Info, std::move(ModStreamData));
+ if (auto EC = ModS.reload())
+ return EC;
+
+ if (opts::pdb2yaml::DbiModuleSourceLineInfo) {
+ auto ExpectedInfo = getFileLineInfo(ModS);
+ if (!ExpectedInfo)
+ return ExpectedInfo.takeError();
+ DMI.FileLineInfo = *ExpectedInfo;
+ }
+
if (opts::pdb2yaml::DbiModuleSyms &&
MI.Info.getModuleStreamIndex() != kInvalidStreamIndex) {
DMI.Modi.emplace();
- auto ModStreamData = msf::MappedBlockStream::createIndexedStream(
- File.getMsfLayout(), File.getMsfBuffer(),
- MI.Info.getModuleStreamIndex());
-
- pdb::ModStream ModS(MI.Info, std::move(ModStreamData));
- if (auto EC = ModS.reload())
- return EC;
DMI.Modi->Signature = ModS.signature();
bool HadError = false;
diff --git a/tools/llvm-pdbdump/YAMLOutputStyle.h b/tools/llvm-pdbdump/YAMLOutputStyle.h
index db9868db4a7e..263af776fa03 100644
--- a/tools/llvm-pdbdump/YAMLOutputStyle.h
+++ b/tools/llvm-pdbdump/YAMLOutputStyle.h
@@ -19,6 +19,8 @@
namespace llvm {
namespace pdb {
+class ModStream;
+
class YAMLOutputStyle : public OutputStyle {
public:
YAMLOutputStyle(PDBFile &File);
@@ -26,6 +28,9 @@ public:
Error dump() override;
private:
+ Expected<Optional<llvm::pdb::yaml::PdbSourceFileInfo>>
+ getFileLineInfo(const pdb::ModStream &ModS);
+
Error dumpStringTable();
Error dumpFileHeaders();
Error dumpStreamMetadata();
diff --git a/tools/llvm-pdbdump/llvm-pdbdump.cpp b/tools/llvm-pdbdump/llvm-pdbdump.cpp
index 06c2afc0bc78..7337b1d28747 100644
--- a/tools/llvm-pdbdump/llvm-pdbdump.cpp
+++ b/tools/llvm-pdbdump/llvm-pdbdump.cpp
@@ -124,28 +124,37 @@ cl::opt<bool> Typedefs("typedefs", cl::desc("Display typedef types"),
cl::cat(TypeCategory), cl::sub(PrettySubcommand));
cl::opt<ClassSortMode> ClassOrder(
"class-order", cl::desc("Class sort order"), cl::init(ClassSortMode::None),
- cl::values(clEnumValN(ClassSortMode::None, "none",
- "Undefined / no particular sort order"),
- clEnumValN(ClassSortMode::Name, "name", "Sort classes by name"),
- clEnumValN(ClassSortMode::Size, "size", "Sort classes by size"),
- clEnumValN(ClassSortMode::Padding, "padding",
- "Sort classes by amount of padding")),
+ cl::values(
+ clEnumValN(ClassSortMode::None, "none",
+ "Undefined / no particular sort order"),
+ clEnumValN(ClassSortMode::Name, "name", "Sort classes by name"),
+ clEnumValN(ClassSortMode::Size, "size", "Sort classes by size"),
+ clEnumValN(ClassSortMode::Padding, "padding",
+ "Sort classes by amount of padding"),
+ clEnumValN(ClassSortMode::PaddingPct, "padding-pct",
+ "Sort classes by percentage of space consumed by padding"),
+ clEnumValN(ClassSortMode::PaddingImmediate, "padding-imm",
+ "Sort classes by amount of immediate padding"),
+ clEnumValN(ClassSortMode::PaddingPctImmediate, "padding-pct-imm",
+ "Sort classes by percentage of space consumed by immediate "
+ "padding")),
cl::cat(TypeCategory), cl::sub(PrettySubcommand));
cl::opt<ClassDefinitionFormat> ClassFormat(
"class-definitions", cl::desc("Class definition format"),
- cl::init(ClassDefinitionFormat::Standard),
+ cl::init(ClassDefinitionFormat::All),
cl::values(
- clEnumValN(ClassDefinitionFormat::Standard, "all-members",
+ clEnumValN(ClassDefinitionFormat::All, "all",
"Display all class members including data, constants, "
"typedefs, functions, etc"),
- clEnumValN(ClassDefinitionFormat::Layout, "layout-members",
+ clEnumValN(ClassDefinitionFormat::Layout, "layout",
"Only display members that contribute to class size."),
- clEnumValN(ClassDefinitionFormat::Graphical, "graphical",
- "Display graphical representation of each class's layout."),
clEnumValN(ClassDefinitionFormat::None, "none",
"Don't display class definitions")),
cl::cat(TypeCategory), cl::sub(PrettySubcommand));
+cl::opt<uint32_t> ClassRecursionDepth(
+ "class-recurse-depth", cl::desc("Class recursion depth (0=no limit)"),
+ cl::init(0), cl::cat(TypeCategory), cl::sub(PrettySubcommand));
cl::opt<bool> Lines("lines", cl::desc("Line tables"), cl::cat(TypeCategory),
cl::sub(PrettySubcommand));
@@ -193,6 +202,12 @@ cl::opt<uint32_t> PaddingThreshold(
"min-class-padding", cl::desc("Displays only those classes which have at "
"least the specified amount of padding."),
cl::init(0), cl::cat(FilterCategory), cl::sub(PrettySubcommand));
+cl::opt<uint32_t> ImmediatePaddingThreshold(
+ "min-class-padding-imm",
+ cl::desc("Displays only those classes which have at least the specified "
+ "amount of immediate padding, ignoring padding internal to bases "
+ "and aggregates."),
+ cl::init(0), cl::cat(FilterCategory), cl::sub(PrettySubcommand));
cl::opt<bool> ExcludeCompilerGenerated(
"no-compiler-generated",
@@ -371,9 +386,15 @@ cl::opt<bool> DbiModuleSyms(
cl::opt<bool> DbiModuleSourceFileInfo(
"dbi-module-source-info",
cl::desc(
- "Dump DBI Module Source File Information (implies -dbi-module-info"),
+ "Dump DBI Module Source File Information (implies -dbi-module-info)"),
cl::sub(PdbToYamlSubcommand), cl::init(false));
+cl::opt<bool>
+ DbiModuleSourceLineInfo("dbi-module-lines",
+ cl::desc("Dump DBI Module Source Line Information "
+ "(implies -dbi-module-source-info)"),
+ cl::sub(PdbToYamlSubcommand), cl::init(false));
+
cl::opt<bool> TpiStream("tpi-stream",
cl::desc("Dump the TPI Stream (Stream 3)"),
cl::sub(PdbToYamlSubcommand), cl::init(false));
diff --git a/tools/llvm-pdbdump/llvm-pdbdump.h b/tools/llvm-pdbdump/llvm-pdbdump.h
index a5429a253df4..f080d6d55250 100644
--- a/tools/llvm-pdbdump/llvm-pdbdump.h
+++ b/tools/llvm-pdbdump/llvm-pdbdump.h
@@ -18,8 +18,16 @@ namespace opts {
namespace pretty {
-enum class ClassDefinitionFormat { None, Layout, Graphical, Standard };
-enum class ClassSortMode { None, Name, Size, Padding };
+enum class ClassDefinitionFormat { None, Layout, All };
+enum class ClassSortMode {
+ None,
+ Name,
+ Size,
+ Padding,
+ PaddingPct,
+ PaddingImmediate,
+ PaddingPctImmediate
+};
extern llvm::cl::opt<bool> Compilands;
extern llvm::cl::opt<bool> Symbols;
@@ -40,7 +48,9 @@ extern llvm::cl::list<std::string> IncludeCompilands;
extern llvm::cl::opt<ClassSortMode> ClassOrder;
extern llvm::cl::opt<uint32_t> SizeThreshold;
extern llvm::cl::opt<uint32_t> PaddingThreshold;
+extern llvm::cl::opt<uint32_t> ImmediatePaddingThreshold;
extern llvm::cl::opt<ClassDefinitionFormat> ClassFormat;
+extern llvm::cl::opt<uint32_t> ClassRecursionDepth;
}
namespace raw {
@@ -65,6 +75,7 @@ extern llvm::cl::opt<bool> DumpIpiRecords;
extern llvm::cl::opt<bool> DumpIpiRecordBytes;
extern llvm::cl::opt<bool> DumpModules;
extern llvm::cl::opt<bool> DumpModuleFiles;
+extern llvm::cl::opt<bool> DumpModuleLines;
extern llvm::cl::opt<bool> DumpModuleSyms;
extern llvm::cl::opt<bool> DumpPublics;
extern llvm::cl::opt<bool> DumpSectionContribs;
@@ -91,6 +102,7 @@ extern llvm::cl::opt<bool> DbiStream;
extern llvm::cl::opt<bool> DbiModuleInfo;
extern llvm::cl::opt<bool> DbiModuleSyms;
extern llvm::cl::opt<bool> DbiModuleSourceFileInfo;
+extern llvm::cl::opt<bool> DbiModuleSourceLineInfo;
extern llvm::cl::opt<bool> TpiStream;
extern llvm::cl::opt<bool> IpiStream;
extern llvm::cl::list<std::string> InputFilename;
diff --git a/tools/llvm-xray/CMakeLists.txt b/tools/llvm-xray/CMakeLists.txt
index 3baf4e64e81c..6312e7ac47f4 100644
--- a/tools/llvm-xray/CMakeLists.txt
+++ b/tools/llvm-xray/CMakeLists.txt
@@ -14,6 +14,7 @@ set(LLVM_XRAY_TOOLS
xray-extract.cc
xray-extract.cc
xray-graph.cc
+ xray-graph-diff.cc
xray-registry.cc)
add_llvm_tool(llvm-xray llvm-xray.cc ${LLVM_XRAY_TOOLS})
diff --git a/tools/llvm-xray/xray-color-helper.cc b/tools/llvm-xray/xray-color-helper.cc
index 925bb7483d8f..7b6a73a5552b 100644
--- a/tools/llvm-xray/xray-color-helper.cc
+++ b/tools/llvm-xray/xray-color-helper.cc
@@ -11,6 +11,7 @@
//
//===----------------------------------------------------------------------===//
#include <algorithm>
+#include <iostream>
#include "xray-color-helper.h"
#include "llvm/Support/FormatVariadic.h"
@@ -42,8 +43,18 @@ static const std::tuple<uint8_t, uint8_t, uint8_t> SequentialMaps[][9] = {
std::make_tuple(5, 112, 176), std::make_tuple(4, 90, 141),
std::make_tuple(2, 56, 88)}};
+// Sequential Maps extend the last colors given out of range inputs.
+static const std::tuple<uint8_t, uint8_t, uint8_t> SequentialBounds[][2] = {
+ {// The Bounds for the greys color scheme
+ std::make_tuple(255, 255, 255), std::make_tuple(0, 0, 0)},
+ {// The Bounds for the OrRd color Scheme
+ std::make_tuple(255, 247, 236), std::make_tuple(127, 0, 0)},
+ {// The Bounds for the PuBu color Scheme
+ std::make_tuple(255, 247, 251), std::make_tuple(2, 56, 88)}};
+
ColorHelper::ColorHelper(ColorHelper::SequentialScheme S)
- : MinIn(0.0), MaxIn(1.0), ColorMap(SequentialMaps[static_cast<int>(S)]) {}
+ : MinIn(0.0), MaxIn(1.0), ColorMap(SequentialMaps[static_cast<int>(S)]),
+ BoundMap(SequentialBounds[static_cast<int>(S)]) {}
// Diverging ColorMaps, which are used to represent information
// representing differenes, or a range that goes from negative to positive.
@@ -58,8 +69,16 @@ static const std::tuple<uint8_t, uint8_t, uint8_t> DivergingCoeffs[][11] = {
std::make_tuple(127, 188, 65), std::make_tuple(77, 146, 33),
std::make_tuple(39, 100, 25)}};
+// Diverging maps use out of bounds ranges to show missing data. Missing Right
+// Being below min, and missing left being above max.
+static const std::tuple<uint8_t, uint8_t, uint8_t> DivergingBounds[][2] = {
+ {// The PiYG color scheme has green and red for missing right and left
+ // respectively.
+ std::make_tuple(255, 0, 0), std::make_tuple(0, 255, 0)}};
+
ColorHelper::ColorHelper(ColorHelper::DivergingScheme S)
- : MinIn(-1.0), MaxIn(1.0), ColorMap(DivergingCoeffs[static_cast<int>(S)]) {}
+ : MinIn(-1.0), MaxIn(1.0), ColorMap(DivergingCoeffs[static_cast<int>(S)]),
+ BoundMap(DivergingBounds[static_cast<int>(S)]) {}
// Takes a tuple of uint8_ts representing a color in RGB and converts them to
// HSV represented by a tuple of doubles
@@ -78,12 +97,12 @@ convertToHSV(const std::tuple<uint8_t, uint8_t, uint8_t> &Color) {
double C = Scaled[Max] - Scaled[Min];
- double HPrime = (Scaled[(Max + 1) % 3] - Scaled[(Max + 2) % 3]) / C;
+ double HPrime =
+ (C == 0) ? 0 : (Scaled[(Max + 1) % 3] - Scaled[(Max + 2) % 3]) / C;
HPrime = HPrime + 2.0 * Max;
double H = (HPrime < 0) ? (HPrime + 6.0) * 60
: HPrime * 60; // Scale to between 0 and 360
-
double V = Scaled[Max];
double S = (V == 0.0) ? 0.0 : C / V;
@@ -164,6 +183,13 @@ interpolateHSV(const std::tuple<double, double, double> &C0,
std::tuple<uint8_t, uint8_t, uint8_t>
ColorHelper::getColorTuple(double Point) const {
assert(!ColorMap.empty() && "ColorMap must not be empty!");
+ assert(!BoundMap.empty() && "BoundMap must not be empty!");
+
+ if (Point < MinIn)
+ return BoundMap[0];
+ if (Point > MaxIn)
+ return BoundMap[1];
+
size_t MaxIndex = ColorMap.size() - 1;
double IntervalWidth = MaxIn - MinIn;
double OffsetP = Point - MinIn;
diff --git a/tools/llvm-xray/xray-color-helper.h b/tools/llvm-xray/xray-color-helper.h
index d3c77de03cb2..b2dcf626a65f 100644
--- a/tools/llvm-xray/xray-color-helper.h
+++ b/tools/llvm-xray/xray-color-helper.h
@@ -46,6 +46,7 @@ class ColorHelper {
double MaxIn;
ArrayRef<std::tuple<uint8_t, uint8_t, uint8_t>> ColorMap;
+ ArrayRef<std::tuple<uint8_t, uint8_t, uint8_t>> BoundMap;
public:
/// Enum of the availible Sequential Color Schemes
@@ -73,9 +74,16 @@ public:
std::string getColorString(double Point) const;
+ // Get the Default color, at the moment allways black.
+ std::tuple<uint8_t, uint8_t, uint8_t> getDefaultColorTuple() const {
+ return std::make_tuple(0, 0, 0);
+ }
+
+ std::string getDefaultColorString() const { return "black"; }
+
// Convert a tuple to a string
static std::string getColorString(std::tuple<uint8_t, uint8_t, uint8_t> t);
};
-}
-}
+} // namespace xray
+} // namespace llvm
#endif
diff --git a/tools/llvm-xray/xray-graph-diff.cc b/tools/llvm-xray/xray-graph-diff.cc
new file mode 100644
index 000000000000..3c69b3fb0751
--- /dev/null
+++ b/tools/llvm-xray/xray-graph-diff.cc
@@ -0,0 +1,484 @@
+//===-- xray-graph-diff.cc - XRay Function Call Graph Renderer ------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// Generate a DOT file to represent the function call graph encountered in
+// the trace.
+//
+//===----------------------------------------------------------------------===//
+#include <cassert>
+#include <cmath>
+#include <limits>
+#include <string>
+
+#include "xray-graph-diff.h"
+#include "xray-graph.h"
+#include "xray-registry.h"
+
+#include "xray-color-helper.h"
+#include "llvm/ADT/iterator_range.h"
+#include "llvm/Support/FormatVariadic.h"
+#include "llvm/XRay/Trace.h"
+
+using namespace llvm;
+using namespace xray;
+
+static cl::SubCommand GraphDiff("graph-diff",
+ "Generate diff of function-call graphs");
+static cl::opt<std::string> GraphDiffInput1(cl::Positional,
+ cl::desc("<xray log file 1>"),
+ cl::Required, cl::sub(GraphDiff));
+static cl::opt<std::string> GraphDiffInput2(cl::Positional,
+ cl::desc("<xray log file 2>"),
+ cl::Required, cl::sub(GraphDiff));
+
+static cl::opt<bool>
+ GraphDiffKeepGoing("keep-going",
+ cl::desc("Keep going on errors encountered"),
+ cl::sub(GraphDiff), cl::init(false));
+static cl::alias GraphDiffKeepGoingA("k", cl::aliasopt(GraphDiffKeepGoing),
+ cl::desc("Alias for -keep-going"),
+ cl::sub(GraphDiff));
+static cl::opt<bool>
+ GraphDiffKeepGoing1("keep-going-1",
+ cl::desc("Keep going on errors encountered in trace 1"),
+ cl::sub(GraphDiff), cl::init(false));
+static cl::alias GraphDiffKeepGoing1A("k1", cl::aliasopt(GraphDiffKeepGoing1),
+ cl::desc("Alias for -keep-going-1"),
+ cl::sub(GraphDiff));
+static cl::opt<bool>
+ GraphDiffKeepGoing2("keep-going-2",
+ cl::desc("Keep going on errors encountered in trace 2"),
+ cl::sub(GraphDiff), cl::init(false));
+static cl::alias GraphDiffKeepGoing2A("k2", cl::aliasopt(GraphDiffKeepGoing2),
+ cl::desc("Alias for -keep-going-2"),
+ cl::sub(GraphDiff));
+
+static cl::opt<std::string>
+ GraphDiffInstrMap("instr-map",
+ cl::desc("binary with the instrumentation map, or "
+ "a separate instrumentation map for graph"),
+ cl::value_desc("binary with xray_instr_map or yaml"),
+ cl::sub(GraphDiff), cl::init(""));
+static cl::alias GraphDiffInstrMapA("m", cl::aliasopt(GraphDiffInstrMap),
+ cl::desc("Alias for -instr-map"),
+ cl::sub(GraphDiff));
+static cl::opt<std::string>
+ GraphDiffInstrMap1("instr-map-1",
+ cl::desc("binary with the instrumentation map, or "
+ "a separate instrumentation map for graph 1"),
+ cl::value_desc("binary with xray_instr_map or yaml"),
+ cl::sub(GraphDiff), cl::init(""));
+static cl::alias GraphDiffInstrMap1A("m1", cl::aliasopt(GraphDiffInstrMap1),
+ cl::desc("Alias for -instr-map-1"),
+ cl::sub(GraphDiff));
+static cl::opt<std::string>
+ GraphDiffInstrMap2("instr-map-2",
+ cl::desc("binary with the instrumentation map, or "
+ "a separate instrumentation map for graph 2"),
+ cl::value_desc("binary with xray_instr_map or yaml"),
+ cl::sub(GraphDiff), cl::init(""));
+static cl::alias GraphDiffInstrMap2A("m2", cl::aliasopt(GraphDiffInstrMap2),
+ cl::desc("Alias for -instr-map-2"),
+ cl::sub(GraphDiff));
+
+static cl::opt<bool> GraphDiffDeduceSiblingCalls(
+ "deduce-sibling-calls",
+ cl::desc("Deduce sibling calls when unrolling function call stacks"),
+ cl::sub(GraphDiff), cl::init(false));
+static cl::alias
+ GraphDiffDeduceSiblingCallsA("d", cl::aliasopt(GraphDiffDeduceSiblingCalls),
+ cl::desc("Alias for -deduce-sibling-calls"),
+ cl::sub(GraphDiff));
+static cl::opt<bool> GraphDiffDeduceSiblingCalls1(
+ "deduce-sibling-calls-1",
+ cl::desc("Deduce sibling calls when unrolling function call stacks"),
+ cl::sub(GraphDiff), cl::init(false));
+static cl::alias GraphDiffDeduceSiblingCalls1A(
+ "d1", cl::aliasopt(GraphDiffDeduceSiblingCalls1),
+ cl::desc("Alias for -deduce-sibling-calls-1"), cl::sub(GraphDiff));
+static cl::opt<bool> GraphDiffDeduceSiblingCalls2(
+ "deduce-sibling-calls-2",
+ cl::desc("Deduce sibling calls when unrolling function call stacks"),
+ cl::sub(GraphDiff), cl::init(false));
+static cl::alias GraphDiffDeduceSiblingCalls2A(
+ "d2", cl::aliasopt(GraphDiffDeduceSiblingCalls2),
+ cl::desc("Alias for -deduce-sibling-calls-2"), cl::sub(GraphDiff));
+
+static cl::opt<GraphRenderer::StatType> GraphDiffEdgeLabel(
+ "edge-label", cl::desc("Output graphs with edges labeled with this field"),
+ cl::value_desc("field"), cl::sub(GraphDiff),
+ cl::init(GraphRenderer::StatType::NONE),
+ cl::values(clEnumValN(GraphRenderer::StatType::NONE, "none",
+ "Do not label Edges"),
+ clEnumValN(GraphRenderer::StatType::COUNT, "count",
+ "function call counts"),
+ clEnumValN(GraphRenderer::StatType::MIN, "min",
+ "minimum function durations"),
+ clEnumValN(GraphRenderer::StatType::MED, "med",
+ "median function durations"),
+ clEnumValN(GraphRenderer::StatType::PCT90, "90p",
+ "90th percentile durations"),
+ clEnumValN(GraphRenderer::StatType::PCT99, "99p",
+ "99th percentile durations"),
+ clEnumValN(GraphRenderer::StatType::MAX, "max",
+ "maximum function durations"),
+ clEnumValN(GraphRenderer::StatType::SUM, "sum",
+ "sum of call durations")));
+static cl::alias GraphDiffEdgeLabelA("e", cl::aliasopt(GraphDiffEdgeLabel),
+ cl::desc("Alias for -edge-label"),
+ cl::sub(GraphDiff));
+
+static cl::opt<GraphRenderer::StatType> GraphDiffEdgeColor(
+ "edge-color", cl::desc("Output graphs with edges colored by this field"),
+ cl::value_desc("field"), cl::sub(GraphDiff),
+ cl::init(GraphRenderer::StatType::NONE),
+ cl::values(clEnumValN(GraphRenderer::StatType::NONE, "none",
+ "Do not color Edges"),
+ clEnumValN(GraphRenderer::StatType::COUNT, "count",
+ "function call counts"),
+ clEnumValN(GraphRenderer::StatType::MIN, "min",
+ "minimum function durations"),
+ clEnumValN(GraphRenderer::StatType::MED, "med",
+ "median function durations"),
+ clEnumValN(GraphRenderer::StatType::PCT90, "90p",
+ "90th percentile durations"),
+ clEnumValN(GraphRenderer::StatType::PCT99, "99p",
+ "99th percentile durations"),
+ clEnumValN(GraphRenderer::StatType::MAX, "max",
+ "maximum function durations"),
+ clEnumValN(GraphRenderer::StatType::SUM, "sum",
+ "sum of call durations")));
+static cl::alias GraphDiffEdgeColorA("c", cl::aliasopt(GraphDiffEdgeColor),
+ cl::desc("Alias for -edge-color"),
+ cl::sub(GraphDiff));
+
+static cl::opt<GraphRenderer::StatType> GraphDiffVertexLabel(
+ "vertex-label",
+ cl::desc("Output graphs with vertices labeled with this field"),
+ cl::value_desc("field"), cl::sub(GraphDiff),
+ cl::init(GraphRenderer::StatType::NONE),
+ cl::values(clEnumValN(GraphRenderer::StatType::NONE, "none",
+ "Do not label Vertices"),
+ clEnumValN(GraphRenderer::StatType::COUNT, "count",
+ "function call counts"),
+ clEnumValN(GraphRenderer::StatType::MIN, "min",
+ "minimum function durations"),
+ clEnumValN(GraphRenderer::StatType::MED, "med",
+ "median function durations"),
+ clEnumValN(GraphRenderer::StatType::PCT90, "90p",
+ "90th percentile durations"),
+ clEnumValN(GraphRenderer::StatType::PCT99, "99p",
+ "99th percentile durations"),
+ clEnumValN(GraphRenderer::StatType::MAX, "max",
+ "maximum function durations"),
+ clEnumValN(GraphRenderer::StatType::SUM, "sum",
+ "sum of call durations")));
+static cl::alias GraphDiffVertexLabelA("v", cl::aliasopt(GraphDiffVertexLabel),
+ cl::desc("Alias for -vertex-label"),
+ cl::sub(GraphDiff));
+
+static cl::opt<GraphRenderer::StatType> GraphDiffVertexColor(
+ "vertex-color",
+ cl::desc("Output graphs with vertices colored by this field"),
+ cl::value_desc("field"), cl::sub(GraphDiff),
+ cl::init(GraphRenderer::StatType::NONE),
+ cl::values(clEnumValN(GraphRenderer::StatType::NONE, "none",
+ "Do not color Vertices"),
+ clEnumValN(GraphRenderer::StatType::COUNT, "count",
+ "function call counts"),
+ clEnumValN(GraphRenderer::StatType::MIN, "min",
+ "minimum function durations"),
+ clEnumValN(GraphRenderer::StatType::MED, "med",
+ "median function durations"),
+ clEnumValN(GraphRenderer::StatType::PCT90, "90p",
+ "90th percentile durations"),
+ clEnumValN(GraphRenderer::StatType::PCT99, "99p",
+ "99th percentile durations"),
+ clEnumValN(GraphRenderer::StatType::MAX, "max",
+ "maximum function durations"),
+ clEnumValN(GraphRenderer::StatType::SUM, "sum",
+ "sum of call durations")));
+static cl::alias GraphDiffVertexColorA("b", cl::aliasopt(GraphDiffVertexColor),
+ cl::desc("Alias for -vertex-color"),
+ cl::sub(GraphDiff));
+
+static cl::opt<int> GraphDiffVertexLabelTrunc(
+ "vertex-label-trun", cl::desc("What length to truncate vertex labels to "),
+ cl::sub(GraphDiff), cl::init(40));
+static cl::alias
+ GraphDiffVertexLabelTrunc1("t", cl::aliasopt(GraphDiffVertexLabelTrunc),
+ cl::desc("Alias for -vertex-label-trun"),
+ cl::sub(GraphDiff));
+
+static cl::opt<std::string>
+ GraphDiffOutput("output", cl::value_desc("Output file"), cl::init("-"),
+ cl::desc("output file; use '-' for stdout"),
+ cl::sub(GraphDiff));
+static cl::alias GraphDiffOutputA("o", cl::aliasopt(GraphDiffOutput),
+ cl::desc("Alias for -output"),
+ cl::sub(GraphDiff));
+
+Expected<GraphDiffRenderer> GraphDiffRenderer::Factory::getGraphDiffRenderer() {
+ GraphDiffRenderer R;
+
+ for (int i = 0; i < N; ++i) {
+ const auto &G = this->G[i].get();
+ for (const auto &V : G.vertices()) {
+ const auto &VAttr = V.second;
+ R.G[VAttr.SymbolName].CorrVertexPtr[i] = &V;
+ }
+ for (const auto &E : G.edges()) {
+ auto &EdgeTailID = E.first.first;
+ auto &EdgeHeadID = E.first.second;
+ auto EdgeTailAttrOrErr = G.at(EdgeTailID);
+ auto EdgeHeadAttrOrErr = G.at(EdgeHeadID);
+ if (!EdgeTailAttrOrErr)
+ return EdgeTailAttrOrErr.takeError();
+ if (!EdgeHeadAttrOrErr)
+ return EdgeHeadAttrOrErr.takeError();
+ GraphT::EdgeIdentifier ID{EdgeTailAttrOrErr->SymbolName,
+ EdgeHeadAttrOrErr->SymbolName};
+ R.G[ID].CorrEdgePtr[i] = &E;
+ }
+ }
+
+ return R;
+}
+// Returns the Relative change With respect to LeftStat between LeftStat
+// and RightStat.
+static double statRelDiff(const GraphDiffRenderer::TimeStat &LeftStat,
+ const GraphDiffRenderer::TimeStat &RightStat,
+ GraphDiffRenderer::StatType T) {
+ double LeftAttr = LeftStat.getDouble(T);
+ double RightAttr = RightStat.getDouble(T);
+
+ return RightAttr / LeftAttr - 1.0;
+}
+
+static std::string getColor(const GraphDiffRenderer::GraphT::EdgeValueType &E,
+ const GraphDiffRenderer::GraphT &G, ColorHelper H,
+ GraphDiffRenderer::StatType T) {
+ auto &EdgeAttr = E.second;
+ if (EdgeAttr.CorrEdgePtr[0] == nullptr)
+ return H.getColorString(2.0); // A number greater than 1.0
+ if (EdgeAttr.CorrEdgePtr[1] == nullptr)
+ return H.getColorString(-2.0); // A number less than -1.0
+
+ if (T == GraphDiffRenderer::StatType::NONE)
+ return H.getDefaultColorString();
+
+ const auto &LeftStat = EdgeAttr.CorrEdgePtr[0]->second.S;
+ const auto &RightStat = EdgeAttr.CorrEdgePtr[1]->second.S;
+
+ double RelDiff = statRelDiff(LeftStat, RightStat, T);
+ double CappedRelDiff = std::min(1.0, std::max(-1.0, RelDiff));
+
+ return H.getColorString(CappedRelDiff);
+}
+
+static std::string getColor(const GraphDiffRenderer::GraphT::VertexValueType &V,
+ const GraphDiffRenderer::GraphT &G, ColorHelper H,
+ GraphDiffRenderer::StatType T) {
+ auto &VertexAttr = V.second;
+ if (VertexAttr.CorrVertexPtr[0] == nullptr)
+ return H.getColorString(2.0); // A number greater than 1.0
+ if (VertexAttr.CorrVertexPtr[1] == nullptr)
+ return H.getColorString(-2.0); // A number less than -1.0
+
+ if (T == GraphDiffRenderer::StatType::NONE)
+ return H.getDefaultColorString();
+
+ const auto &LeftStat = VertexAttr.CorrVertexPtr[0]->second.S;
+ const auto &RightStat = VertexAttr.CorrVertexPtr[1]->second.S;
+
+ double RelDiff = statRelDiff(LeftStat, RightStat, T);
+ double CappedRelDiff = std::min(1.0, std::max(-1.0, RelDiff));
+
+ return H.getColorString(CappedRelDiff);
+}
+
+static Twine truncateString(const StringRef &S, size_t n) {
+ return (S.size() > n) ? Twine(S.substr(0, n)) + "..." : Twine(S);
+}
+
+template <typename T> static bool containsNullptr(const T &Collection) {
+ for (const auto &E : Collection)
+ if (E == nullptr)
+ return true;
+ return false;
+}
+
+static std::string getLabel(const GraphDiffRenderer::GraphT::EdgeValueType &E,
+ GraphDiffRenderer::StatType EL) {
+ auto &EdgeAttr = E.second;
+ switch (EL) {
+ case GraphDiffRenderer::StatType::NONE:
+ return "";
+ default:
+ if (containsNullptr(EdgeAttr.CorrEdgePtr))
+ return "";
+
+ const auto &LeftStat = EdgeAttr.CorrEdgePtr[0]->second.S;
+ const auto &RightStat = EdgeAttr.CorrEdgePtr[1]->second.S;
+
+ double RelDiff = statRelDiff(LeftStat, RightStat, EL);
+ return formatv(R"({0:P})", RelDiff);
+ }
+}
+
+static std::string getLabel(const GraphDiffRenderer::GraphT::VertexValueType &V,
+ GraphDiffRenderer::StatType VL, int TrunLen) {
+ const auto &VertexId = V.first;
+ const auto &VertexAttr = V.second;
+ switch (VL) {
+ case GraphDiffRenderer::StatType::NONE:
+ return formatv(R"({0})", truncateString(VertexId, TrunLen).str());
+ default:
+ if (containsNullptr(VertexAttr.CorrVertexPtr))
+ return formatv(R"({0})", truncateString(VertexId, TrunLen).str());
+
+ const auto &LeftStat = VertexAttr.CorrVertexPtr[0]->second.S;
+ const auto &RightStat = VertexAttr.CorrVertexPtr[1]->second.S;
+
+ double RelDiff = statRelDiff(LeftStat, RightStat, VL);
+ return formatv(R"({{{0}|{1:P}})", truncateString(VertexId, TrunLen).str(),
+ RelDiff);
+ }
+}
+
+static double getLineWidth(const GraphDiffRenderer::GraphT::EdgeValueType &E,
+ GraphDiffRenderer::StatType EL) {
+ auto &EdgeAttr = E.second;
+ switch (EL) {
+ case GraphDiffRenderer::StatType::NONE:
+ return 1.0;
+ default:
+ if (containsNullptr(EdgeAttr.CorrEdgePtr))
+ return 1.0;
+
+ const auto &LeftStat = EdgeAttr.CorrEdgePtr[0]->second.S;
+ const auto &RightStat = EdgeAttr.CorrEdgePtr[1]->second.S;
+
+ double RelDiff = statRelDiff(LeftStat, RightStat, EL);
+ return (RelDiff > 1.0) ? RelDiff : 1.0;
+ }
+}
+
+void GraphDiffRenderer::exportGraphAsDOT(raw_ostream &OS, StatType EdgeLabel,
+ StatType EdgeColor,
+ StatType VertexLabel,
+ StatType VertexColor, int TruncLen) {
+ // Get numbering of vertices for dot output.
+ StringMap<int32_t> VertexNo;
+
+ int i = 0;
+ for (const auto &V : G.vertices()) {
+ VertexNo[V.first] = i++;
+ }
+
+ ColorHelper H(ColorHelper::DivergingScheme::PiYG);
+
+ OS << "digraph xrayDiff {\n";
+
+ if (VertexLabel != StatType::NONE)
+ OS << "node [shape=record]\n";
+
+ for (const auto &E : G.edges()) {
+ const auto &HeadId = E.first.first;
+ const auto &TailId = E.first.second;
+ OS << formatv(R"(F{0} -> F{1} [tooltip="{2} -> {3}" label="{4}" )"
+ R"(color="{5}" labelfontcolor="{5}" penwidth={6}])"
+ "\n",
+ VertexNo[HeadId], VertexNo[TailId],
+ (HeadId.equals("")) ? static_cast<StringRef>("F0") : HeadId,
+ TailId, getLabel(E, EdgeLabel), getColor(E, G, H, EdgeColor),
+ getLineWidth(E, EdgeColor));
+ }
+
+ for (const auto &V : G.vertices()) {
+ const auto &VertexId = V.first;
+ if (VertexId.equals("")) {
+ OS << formatv(R"(F{0} [label="F0"])"
+ "\n",
+ VertexNo[VertexId]);
+ continue;
+ }
+ OS << formatv(R"(F{0} [label="{1}" color="{2}"])"
+ "\n",
+ VertexNo[VertexId], getLabel(V, VertexLabel, TruncLen),
+ getColor(V, G, H, VertexColor));
+ }
+
+ OS << "}\n";
+}
+
+template <typename T> static T &ifSpecified(T &A, cl::alias &AA, T &B) {
+ if (A.getPosition() == 0 && AA.getPosition() == 0)
+ return B;
+
+ return A;
+}
+
+static CommandRegistration Unused(&GraphDiff, []() -> Error {
+ std::array<GraphRenderer::Factory, 2> Factories{
+ {{ifSpecified(GraphDiffKeepGoing1, GraphDiffKeepGoing1A,
+ GraphDiffKeepGoing),
+ ifSpecified(GraphDiffDeduceSiblingCalls1, GraphDiffDeduceSiblingCalls1A,
+ GraphDiffDeduceSiblingCalls),
+ ifSpecified(GraphDiffInstrMap1, GraphDiffInstrMap1A, GraphDiffInstrMap),
+ Trace()},
+ {ifSpecified(GraphDiffKeepGoing2, GraphDiffKeepGoing2A,
+ GraphDiffKeepGoing),
+ ifSpecified(GraphDiffDeduceSiblingCalls2, GraphDiffDeduceSiblingCalls2A,
+ GraphDiffDeduceSiblingCalls),
+ ifSpecified(GraphDiffInstrMap2, GraphDiffInstrMap2A, GraphDiffInstrMap),
+ Trace()}}};
+
+ std::array<std::string, 2> Inputs{{GraphDiffInput1, GraphDiffInput2}};
+
+ std::array<GraphRenderer::GraphT, 2> Graphs;
+
+ for (int i = 0; i < 2; i++) {
+ auto TraceOrErr = loadTraceFile(Inputs[i], true);
+ if (!TraceOrErr)
+ return make_error<StringError>(
+ Twine("Failed Loading Input File '") + Inputs[i] + "'",
+ make_error_code(llvm::errc::invalid_argument));
+ Factories[i].Trace = std::move(*TraceOrErr);
+
+ auto GraphRendererOrErr = Factories[i].getGraphRenderer();
+
+ if (!GraphRendererOrErr)
+ return GraphRendererOrErr.takeError();
+
+ auto GraphRenderer = *GraphRendererOrErr;
+
+ Graphs[i] = GraphRenderer.getGraph();
+ }
+
+ GraphDiffRenderer::Factory DGF(Graphs[0], Graphs[1]);
+
+ auto GDROrErr = DGF.getGraphDiffRenderer();
+ if (!GDROrErr)
+ return GDROrErr.takeError();
+
+ auto &GDR = *GDROrErr;
+
+ std::error_code EC;
+ raw_fd_ostream OS(GraphDiffOutput, EC, sys::fs::OpenFlags::F_Text);
+ if (EC)
+ return make_error<StringError>(
+ Twine("Cannot open file '") + GraphDiffOutput + "' for writing.", EC);
+
+ GDR.exportGraphAsDOT(OS, GraphDiffEdgeLabel, GraphDiffEdgeColor,
+ GraphDiffVertexLabel, GraphDiffVertexColor,
+ GraphDiffVertexLabelTrunc);
+
+ return Error::success();
+});
diff --git a/tools/llvm-xray/xray-graph-diff.h b/tools/llvm-xray/xray-graph-diff.h
new file mode 100644
index 000000000000..5abec91d8582
--- /dev/null
+++ b/tools/llvm-xray/xray-graph-diff.h
@@ -0,0 +1,74 @@
+//===-- xray-graph-diff.h - XRay Graph Diff Renderer ------------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// Generate a DOT file to represent the difference between the function call
+// graph of two differnent traces.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef XRAY_GRAPH_DIFF_H
+#define XRAY_GRAPH_DIFF_H
+
+#include "xray-graph.h"
+#include "llvm/ADT/StringMap.h"
+#include "llvm/XRay/Graph.h"
+
+namespace llvm {
+namespace xray {
+
+// This class creates a graph representing the difference between two
+// xray-graphs And allows you to print it to a dot file, with optional color
+// coding.
+class GraphDiffRenderer {
+ static const int N = 2;
+
+public:
+ using StatType = GraphRenderer::StatType;
+ using TimeStat = GraphRenderer::TimeStat;
+
+ using GREdgeValueType = GraphRenderer::GraphT::EdgeValueType;
+ using GRVertexValueType = GraphRenderer::GraphT::VertexValueType;
+
+ struct EdgeAttribute {
+ std::array<const GREdgeValueType *, N> CorrEdgePtr = {};
+ };
+
+ struct VertexAttribute {
+ std::array<const GRVertexValueType *, N> CorrVertexPtr = {};
+ };
+
+ using GraphT = Graph<VertexAttribute, EdgeAttribute, StringRef>;
+
+ class Factory {
+ std::array<std::reference_wrapper<const GraphRenderer::GraphT>, N> G;
+
+ public:
+ template <typename... Ts> Factory(Ts &... Args) : G{{Args...}} {}
+
+ Expected<GraphDiffRenderer> getGraphDiffRenderer();
+ };
+
+private:
+ GraphT G;
+
+ GraphDiffRenderer() = default;
+
+public:
+ void exportGraphAsDOT(raw_ostream &OS, StatType EdgeLabel = StatType::NONE,
+ StatType EdgeColor = StatType::NONE,
+ StatType VertexLabel = StatType::NONE,
+ StatType VertexColor = StatType::NONE,
+ int TruncLen = 40);
+
+ const GraphT &getGraph() { return G; }
+};
+} // namespace xray
+} // namespace llvm
+
+#endif
diff --git a/tools/llvm-xray/xray-graph.cc b/tools/llvm-xray/xray-graph.cc
index 9be0b70c2cdd..685c24cb9187 100644
--- a/tools/llvm-xray/xray-graph.cc
+++ b/tools/llvm-xray/xray-graph.cc
@@ -19,7 +19,6 @@
#include "xray-graph.h"
#include "xray-registry.h"
-#include "llvm/ADT/ArrayRef.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FormatVariadic.h"
#include "llvm/XRay/InstrumentationMap.h"
@@ -98,7 +97,7 @@ static cl::opt<GraphRenderer::StatType> GraphVertexLabel(
cl::value_desc("field"), cl::sub(GraphC),
cl::init(GraphRenderer::StatType::NONE),
cl::values(clEnumValN(GraphRenderer::StatType::NONE, "none",
- "Do not label Edges"),
+ "Do not label Vertices"),
clEnumValN(GraphRenderer::StatType::COUNT, "count",
"function call counts"),
clEnumValN(GraphRenderer::StatType::MIN, "min",
@@ -123,7 +122,7 @@ static cl::opt<GraphRenderer::StatType> GraphEdgeColorType(
cl::value_desc("field"), cl::sub(GraphC),
cl::init(GraphRenderer::StatType::NONE),
cl::values(clEnumValN(GraphRenderer::StatType::NONE, "none",
- "Do not label Edges"),
+ "Do not color Edges"),
clEnumValN(GraphRenderer::StatType::COUNT, "count",
"function call counts"),
clEnumValN(GraphRenderer::StatType::MIN, "min",
@@ -148,7 +147,7 @@ static cl::opt<GraphRenderer::StatType> GraphVertexColorType(
cl::value_desc("field"), cl::sub(GraphC),
cl::init(GraphRenderer::StatType::NONE),
cl::values(clEnumValN(GraphRenderer::StatType::NONE, "none",
- "Do not label Edges"),
+ "Do not color vertices"),
clEnumValN(GraphRenderer::StatType::COUNT, "count",
"function call counts"),
clEnumValN(GraphRenderer::StatType::MIN, "min",
@@ -210,7 +209,7 @@ Error GraphRenderer::accountRecord(const XRayRecord &Record) {
auto &ThreadStack = PerThreadFunctionStack[Record.TId];
switch (Record.Type) {
case RecordTypes::ENTER: {
- if (G.count(Record.FuncId) == 0)
+ if (Record.FuncId != 0 && G.count(Record.FuncId) == 0)
G[Record.FuncId].SymbolName = FuncIdHelper.SymbolOrNumber(Record.FuncId);
ThreadStack.push_back({Record.FuncId, Record.TSC});
break;
@@ -312,12 +311,9 @@ void GraphRenderer::calculateVertexStatistics() {
// TimeStat element.
static void normalizeTimeStat(GraphRenderer::TimeStat &S,
double CycleFrequency) {
- S.Min /= CycleFrequency;
- S.Median /= CycleFrequency;
- S.Max /= CycleFrequency;
- S.Sum /= CycleFrequency;
- S.Pct90 /= CycleFrequency;
- S.Pct99 /= CycleFrequency;
+ int64_t OldCount = S.Count;
+ S = S / CycleFrequency;
+ S.Count = OldCount;
}
// Normalises the statistics in the graph for a given TSC frequency.
@@ -337,32 +333,22 @@ void GraphRenderer::normalizeStatistics(double CycleFrequency) {
// Returns a string containing the value of statistic field T
std::string
-GraphRenderer::TimeStat::getAsString(GraphRenderer::StatType T) const {
+GraphRenderer::TimeStat::getString(GraphRenderer::StatType T) const {
std::string St;
raw_string_ostream S{St};
+ double TimeStat::*DoubleStatPtrs[] = {&TimeStat::Min, &TimeStat::Median,
+ &TimeStat::Pct90, &TimeStat::Pct99,
+ &TimeStat::Max, &TimeStat::Sum};
switch (T) {
+ case GraphRenderer::StatType::NONE:
+ break;
case GraphRenderer::StatType::COUNT:
S << Count;
break;
- case GraphRenderer::StatType::MIN:
- S << Min;
- break;
- case GraphRenderer::StatType::MED:
- S << Median;
- break;
- case GraphRenderer::StatType::PCT90:
- S << Pct90;
- break;
- case GraphRenderer::StatType::PCT99:
- S << Pct99;
- break;
- case GraphRenderer::StatType::MAX:
- S << Max;
- break;
- case GraphRenderer::StatType::SUM:
- S << Sum;
- break;
- case GraphRenderer::StatType::NONE:
+ default:
+ S << (*this).*
+ DoubleStatPtrs[static_cast<int>(T) -
+ static_cast<int>(GraphRenderer::StatType::MIN)];
break;
}
return S.str();
@@ -370,38 +356,25 @@ GraphRenderer::TimeStat::getAsString(GraphRenderer::StatType T) const {
// Returns the quotient between the property T of this and another TimeStat as
// a double
-double GraphRenderer::TimeStat::compare(StatType T, const TimeStat &O) const {
+double GraphRenderer::TimeStat::getDouble(StatType T) const {
double retval = 0;
+ double TimeStat::*DoubleStatPtrs[] = {&TimeStat::Min, &TimeStat::Median,
+ &TimeStat::Pct90, &TimeStat::Pct99,
+ &TimeStat::Max, &TimeStat::Sum};
switch (T) {
- case GraphRenderer::StatType::COUNT:
- retval = static_cast<double>(Count) / static_cast<double>(O.Count);
- break;
- case GraphRenderer::StatType::MIN:
- retval = Min / O.Min;
- break;
- case GraphRenderer::StatType::MED:
- retval = Median / O.Median;
- break;
- case GraphRenderer::StatType::PCT90:
- retval = Pct90 / O.Pct90;
- break;
- case GraphRenderer::StatType::PCT99:
- retval = Pct99 / O.Pct99;
- break;
- case GraphRenderer::StatType::MAX:
- retval = Max / O.Max;
- break;
- case GraphRenderer::StatType::SUM:
- retval = Sum / O.Sum;
- break;
case GraphRenderer::StatType::NONE:
retval = 0.0;
break;
+ case GraphRenderer::StatType::COUNT:
+ retval = static_cast<double>(Count);
+ break;
+ default:
+ retval =
+ (*this).*DoubleStatPtrs[static_cast<int>(T) -
+ static_cast<int>(GraphRenderer::StatType::MIN)];
+ break;
}
- return std::sqrt(
- retval); // the square root here provides more dynamic contrast for
- // low runtime edges, giving better separation and
- // coloring lower down the call stack.
+ return retval;
}
// Outputs a DOT format version of the Graph embedded in the GraphRenderer
@@ -410,17 +383,8 @@ double GraphRenderer::TimeStat::compare(StatType T, const TimeStat &O) const {
// annotations.
//
// FIXME: output more information, better presented.
-void GraphRenderer::exportGraphAsDOT(raw_ostream &OS, const XRayFileHeader &H,
- StatType ET, StatType EC, StatType VT,
- StatType VC) {
- G.GraphEdgeMax = {};
- G.GraphVertexMax = {};
- calculateEdgeStatistics();
- calculateVertexStatistics();
-
- if (H.CycleFrequency)
- normalizeStatistics(H.CycleFrequency);
-
+void GraphRenderer::exportGraphAsDOT(raw_ostream &OS, StatType ET, StatType EC,
+ StatType VT, StatType VC) {
OS << "digraph xray {\n";
if (VT != StatType::NONE)
@@ -429,9 +393,11 @@ void GraphRenderer::exportGraphAsDOT(raw_ostream &OS, const XRayFileHeader &H,
for (const auto &E : G.edges()) {
const auto &S = E.second.S;
OS << "F" << E.first.first << " -> "
- << "F" << E.first.second << " [label=\"" << S.getAsString(ET) << "\"";
+ << "F" << E.first.second << " [label=\"" << S.getString(ET) << "\"";
if (EC != StatType::NONE)
- OS << " color=\"" << CHelper.getColorString(S.compare(EC, G.GraphEdgeMax))
+ OS << " color=\""
+ << CHelper.getColorString(
+ std::sqrt(S.getDouble(EC) / G.GraphEdgeMax.getDouble(EC)))
<< "\"";
OS << "];\n";
}
@@ -444,26 +410,20 @@ void GraphRenderer::exportGraphAsDOT(raw_ostream &OS, const XRayFileHeader &H,
<< (VA.SymbolName.size() > 40 ? VA.SymbolName.substr(0, 40) + "..."
: VA.SymbolName);
if (VT != StatType::NONE)
- OS << "|" << VA.S.getAsString(VT) << "}\"";
+ OS << "|" << VA.S.getString(VT) << "}\"";
else
OS << "\"";
if (VC != StatType::NONE)
- OS << " color=\"" << CHelper.getColorString(VA.S.compare(VC, G.GraphVertexMax))
+ OS << " color=\""
+ << CHelper.getColorString(
+ std::sqrt(VA.S.getDouble(VC) / G.GraphVertexMax.getDouble(VC)))
<< "\"";
OS << "];\n";
}
OS << "}\n";
}
-// Here we register and implement the llvm-xray graph subcommand.
-// The bulk of this code reads in the options, opens the required files, uses
-// those files to create a context for analysing the xray trace, then there is a
-// short loop which actually analyses the trace, generates the graph and then
-// outputs it as a DOT.
-//
-// FIXME: include additional filtering and annalysis passes to provide more
-// specific useful information.
-static CommandRegistration Unused(&GraphC, []() -> Error {
+Expected<GraphRenderer> GraphRenderer::Factory::getGraphRenderer() {
InstrumentationMap Map;
if (!GraphInstrMap.empty()) {
auto InstrumentationMapOrError = loadInstrumentationMap(GraphInstrMap);
@@ -477,30 +437,16 @@ static CommandRegistration Unused(&GraphC, []() -> Error {
}
const auto &FunctionAddresses = Map.getFunctionAddresses();
+
symbolize::LLVMSymbolizer::Options Opts(
symbolize::FunctionNameKind::LinkageName, true, true, false, "");
symbolize::LLVMSymbolizer Symbolizer(Opts);
- llvm::xray::FuncIdConversionHelper FuncIdHelper(GraphInstrMap, Symbolizer,
- FunctionAddresses);
- xray::GraphRenderer GR(FuncIdHelper, GraphDeduceSiblingCalls);
- std::error_code EC;
- raw_fd_ostream OS(GraphOutput, EC, sys::fs::OpenFlags::F_Text);
- if (EC)
- return make_error<StringError>(
- Twine("Cannot open file '") + GraphOutput + "' for writing.", EC);
-
- auto TraceOrErr = loadTraceFile(GraphInput, true);
- if (!TraceOrErr)
- return joinErrors(
- make_error<StringError>(Twine("Failed loading input file '") +
- GraphInput + "'",
- make_error_code(llvm::errc::invalid_argument)),
- TraceOrErr.takeError());
-
- auto &Trace = *TraceOrErr;
const auto &Header = Trace.getFileHeader();
- // Here we generate the call graph from entries we find in the trace.
+ llvm::xray::FuncIdConversionHelper FuncIdHelper(InstrMap, Symbolizer,
+ FunctionAddresses);
+
+ xray::GraphRenderer GR(FuncIdHelper, DeduceSiblingCalls);
for (const auto &Record : Trace) {
auto E = GR.accountRecord(Record);
if (!E)
@@ -523,7 +469,53 @@ static CommandRegistration Unused(&GraphC, []() -> Error {
handleAllErrors(std::move(E),
[&](const ErrorInfoBase &E) { E.log(errs()); });
}
- GR.exportGraphAsDOT(OS, Header, GraphEdgeLabel, GraphEdgeColorType,
- GraphVertexLabel, GraphVertexColorType);
+
+ GR.G.GraphEdgeMax = {};
+ GR.G.GraphVertexMax = {};
+ GR.calculateEdgeStatistics();
+ GR.calculateVertexStatistics();
+
+ if (Header.CycleFrequency)
+ GR.normalizeStatistics(Header.CycleFrequency);
+
+ return GR;
+}
+
+// Here we register and implement the llvm-xray graph subcommand.
+// The bulk of this code reads in the options, opens the required files, uses
+// those files to create a context for analysing the xray trace, then there is a
+// short loop which actually analyses the trace, generates the graph and then
+// outputs it as a DOT.
+//
+// FIXME: include additional filtering and annalysis passes to provide more
+// specific useful information.
+static CommandRegistration Unused(&GraphC, []() -> Error {
+ GraphRenderer::Factory F;
+
+ F.KeepGoing = GraphKeepGoing;
+ F.DeduceSiblingCalls = GraphDeduceSiblingCalls;
+ F.InstrMap = GraphInstrMap;
+
+ auto TraceOrErr = loadTraceFile(GraphInput, true);
+
+ if (!TraceOrErr)
+ return make_error<StringError>(
+ Twine("Failed loading input file '") + GraphInput + "'",
+ make_error_code(llvm::errc::invalid_argument));
+
+ F.Trace = std::move(*TraceOrErr);
+ auto GROrError = F.getGraphRenderer();
+ if (!GROrError)
+ return GROrError.takeError();
+ auto &GR = *GROrError;
+
+ std::error_code EC;
+ raw_fd_ostream OS(GraphOutput, EC, sys::fs::OpenFlags::F_Text);
+ if (EC)
+ return make_error<StringError>(
+ Twine("Cannot open file '") + GraphOutput + "' for writing.", EC);
+
+ GR.exportGraphAsDOT(OS, GraphEdgeLabel, GraphEdgeColorType, GraphVertexLabel,
+ GraphVertexColorType);
return Error::success();
});
diff --git a/tools/llvm-xray/xray-graph.h b/tools/llvm-xray/xray-graph.h
index 1c7a3c0ef454..a43df265d0e1 100644
--- a/tools/llvm-xray/xray-graph.h
+++ b/tools/llvm-xray/xray-graph.h
@@ -41,17 +41,18 @@ public:
/// An inner struct for common timing statistics information
struct TimeStat {
- uint64_t Count = 0;
- double Min = 0;
- double Median = 0;
- double Pct90 = 0;
- double Pct99 = 0;
- double Max = 0;
- double Sum = 0;
- std::string getAsString(StatType T) const;
- double compare(StatType T, const TimeStat &Other) const;
+ int64_t Count;
+ double Min;
+ double Median;
+ double Pct90;
+ double Pct99;
+ double Max;
+ double Sum;
+
+ std::string getString(StatType T) const;
+ double getDouble(StatType T) const;
};
- typedef uint64_t TimestampT;
+ using TimestampT = uint64_t;
/// An inner struct for storing edge attributes for our graph. Here the
/// attributes are mainly function call statistics.
@@ -68,7 +69,7 @@ public:
/// FIXME: Store more attributes based on instrumentation map.
struct FunctionStats {
std::string SymbolName;
- TimeStat S;
+ TimeStat S = {};
};
struct FunctionAttr {
@@ -76,10 +77,10 @@ public:
uint64_t TSC;
};
- typedef SmallVector<FunctionAttr, 4> FunctionStack;
+ using FunctionStack = SmallVector<FunctionAttr, 4>;
- typedef DenseMap<llvm::sys::ProcessInfo::ProcessId, FunctionStack>
- PerThreadFunctionStackMap;
+ using PerThreadFunctionStackMap =
+ DenseMap<llvm::sys::ProcessInfo::ProcessId, FunctionStack>;
class GraphT : public Graph<FunctionStats, CallStats, int32_t> {
public:
@@ -88,8 +89,8 @@ public:
};
GraphT G;
- typedef typename decltype(G)::VertexIdentifier VertexIdentifier;
- typedef typename decltype(G)::EdgeIdentifier EdgeIdentifier;
+ using VertexIdentifier = typename decltype(G)::VertexIdentifier;
+ using EdgeIdentifier = decltype(G)::EdgeIdentifier;
/// Use a Map to store the Function stack for each thread whilst building the
/// graph.
@@ -98,7 +99,7 @@ public:
PerThreadFunctionStackMap PerThreadFunctionStack;
/// Usefull object for getting human readable Symbol Names.
- const FuncIdConversionHelper &FuncIdHelper;
+ FuncIdConversionHelper FuncIdHelper;
bool DeduceSiblingCalls = false;
TimestampT CurrentMaxTSC = 0;
@@ -143,22 +144,90 @@ public:
return PerThreadFunctionStack;
}
+ class Factory {
+ public:
+ bool KeepGoing;
+ bool DeduceSiblingCalls;
+ std::string InstrMap;
+ ::llvm::xray::Trace Trace;
+ Expected<GraphRenderer> getGraphRenderer();
+ };
+
/// Output the Embedded graph in DOT format on \p OS, labeling the edges by
/// \p T
- void exportGraphAsDOT(raw_ostream &OS, const XRayFileHeader &H,
- StatType EdgeLabel = StatType::NONE,
+ void exportGraphAsDOT(raw_ostream &OS, StatType EdgeLabel = StatType::NONE,
StatType EdgeColor = StatType::NONE,
StatType VertexLabel = StatType::NONE,
StatType VertexColor = StatType::NONE);
/// Get a reference to the internal graph.
- const GraphT &getGraph() {
- calculateEdgeStatistics();
- calculateVertexStatistics();
- return G;
- }
+ const GraphT &getGraph() { return G; }
};
+
+/// Vector Sum of TimeStats
+inline GraphRenderer::TimeStat operator+(const GraphRenderer::TimeStat &A,
+ const GraphRenderer::TimeStat &B) {
+ return {A.Count + B.Count, A.Min + B.Min, A.Median + B.Median,
+ A.Pct90 + B.Pct90, A.Pct99 + B.Pct99, A.Max + B.Max,
+ A.Sum + B.Sum};
+}
+
+/// Vector Difference of Timestats
+inline GraphRenderer::TimeStat operator-(const GraphRenderer::TimeStat &A,
+ const GraphRenderer::TimeStat &B) {
+
+ return {A.Count - B.Count, A.Min - B.Min, A.Median - B.Median,
+ A.Pct90 - B.Pct90, A.Pct99 - B.Pct99, A.Max - B.Max,
+ A.Sum - B.Sum};
}
+
+/// Scalar Diference of TimeStat and double
+inline GraphRenderer::TimeStat operator/(const GraphRenderer::TimeStat &A,
+ double B) {
+
+ return {static_cast<int64_t>(A.Count / B),
+ A.Min / B,
+ A.Median / B,
+ A.Pct90 / B,
+ A.Pct99 / B,
+ A.Max / B,
+ A.Sum / B};
+}
+
+/// Scalar product of TimeStat and Double
+inline GraphRenderer::TimeStat operator*(const GraphRenderer::TimeStat &A,
+ double B) {
+ return {static_cast<int64_t>(A.Count * B),
+ A.Min * B,
+ A.Median * B,
+ A.Pct90 * B,
+ A.Pct99 * B,
+ A.Max * B,
+ A.Sum * B};
+}
+
+/// Scalar product of double TimeStat
+inline GraphRenderer::TimeStat operator*(double A,
+ const GraphRenderer::TimeStat &B) {
+ return B * A;
+}
+
+/// Hadamard Product of TimeStats
+inline GraphRenderer::TimeStat operator*(const GraphRenderer::TimeStat &A,
+ const GraphRenderer::TimeStat &B) {
+ return {A.Count * B.Count, A.Min * B.Min, A.Median * B.Median,
+ A.Pct90 * B.Pct90, A.Pct99 * B.Pct99, A.Max * B.Max,
+ A.Sum * B.Sum};
+}
+
+/// Hadamard Division of TimeStats
+inline GraphRenderer::TimeStat operator/(const GraphRenderer::TimeStat &A,
+ const GraphRenderer::TimeStat &B) {
+ return {A.Count / B.Count, A.Min / B.Min, A.Median / B.Median,
+ A.Pct90 / B.Pct90, A.Pct99 / B.Pct99, A.Max / B.Max,
+ A.Sum / B.Sum};
}
+} // namespace xray
+} // namespace llvm
#endif // XRAY_GRAPH_H
diff --git a/unittests/ADT/APFloatTest.cpp b/unittests/ADT/APFloatTest.cpp
index 378c48d7e0a6..338f2b8a5a66 100644
--- a/unittests/ADT/APFloatTest.cpp
+++ b/unittests/ADT/APFloatTest.cpp
@@ -27,10 +27,11 @@ static double convertToDoubleFromString(const char *Str) {
return F.convertToDouble();
}
-static std::string convertToString(double d, unsigned Prec, unsigned Pad) {
+static std::string convertToString(double d, unsigned Prec, unsigned Pad,
+ bool Tr = true) {
llvm::SmallVector<char, 100> Buffer;
llvm::APFloat F(d);
- F.toString(Buffer, Prec, Pad);
+ F.toString(Buffer, Prec, Pad, Tr);
return std::string(Buffer.data(), Buffer.size());
}
@@ -949,6 +950,22 @@ TEST(APFloatTest, toString) {
ASSERT_EQ("873.18340000000001", convertToString(873.1834, 0, 1));
ASSERT_EQ("8.7318340000000001E+2", convertToString(873.1834, 0, 0));
ASSERT_EQ("1.7976931348623157E+308", convertToString(1.7976931348623157E+308, 0, 0));
+ ASSERT_EQ("10", convertToString(10.0, 6, 3, false));
+ ASSERT_EQ("1.000000e+01", convertToString(10.0, 6, 0, false));
+ ASSERT_EQ("10100", convertToString(1.01E+4, 5, 2, false));
+ ASSERT_EQ("1.0100e+04", convertToString(1.01E+4, 4, 2, false));
+ ASSERT_EQ("1.01000e+04", convertToString(1.01E+4, 5, 1, false));
+ ASSERT_EQ("0.0101", convertToString(1.01E-2, 5, 2, false));
+ ASSERT_EQ("0.0101", convertToString(1.01E-2, 4, 2, false));
+ ASSERT_EQ("1.01000e-02", convertToString(1.01E-2, 5, 1, false));
+ ASSERT_EQ("0.78539816339744828",
+ convertToString(0.78539816339744830961, 0, 3, false));
+ ASSERT_EQ("4.94065645841246540e-324",
+ convertToString(4.9406564584124654e-324, 0, 3, false));
+ ASSERT_EQ("873.18340000000001", convertToString(873.1834, 0, 1, false));
+ ASSERT_EQ("8.73183400000000010e+02", convertToString(873.1834, 0, 0, false));
+ ASSERT_EQ("1.79769313486231570e+308",
+ convertToString(1.7976931348623157E+308, 0, 0, false));
}
TEST(APFloatTest, toInteger) {
diff --git a/unittests/ADT/APIntTest.cpp b/unittests/ADT/APIntTest.cpp
index 5d3afe9a159f..2235f271658f 100644
--- a/unittests/ADT/APIntTest.cpp
+++ b/unittests/ADT/APIntTest.cpp
@@ -288,7 +288,7 @@ TEST(APIntTest, i1) {
EXPECT_EQ(zero, one.shl(1));
EXPECT_EQ(one, one.shl(0));
EXPECT_EQ(zero, one.lshr(1));
- EXPECT_EQ(zero, one.ashr(1));
+ EXPECT_EQ(one, one.ashr(1));
// Rotates.
EXPECT_EQ(one, one.rotl(0));
@@ -2024,6 +2024,42 @@ TEST(APIntTest, LogicalRightShift) {
EXPECT_EQ(0, neg_one.lshr(128));
}
+TEST(APIntTest, ArithmeticRightShift) {
+ APInt i72(APInt::getHighBitsSet(72, 1));
+ i72.ashrInPlace(46);
+ EXPECT_EQ(47U, i72.countLeadingOnes());
+ EXPECT_EQ(25U, i72.countTrailingZeros());
+ EXPECT_EQ(47U, i72.countPopulation());
+
+ i72 = APInt::getHighBitsSet(72, 1);
+ i72.ashrInPlace(64);
+ EXPECT_EQ(65U, i72.countLeadingOnes());
+ EXPECT_EQ(7U, i72.countTrailingZeros());
+ EXPECT_EQ(65U, i72.countPopulation());
+
+ APInt i128(APInt::getHighBitsSet(128, 1));
+ i128.ashrInPlace(64);
+ EXPECT_EQ(65U, i128.countLeadingOnes());
+ EXPECT_EQ(63U, i128.countTrailingZeros());
+ EXPECT_EQ(65U, i128.countPopulation());
+
+ // Ensure we handle large shifts of multi-word.
+ const APInt signmin32(APInt::getSignedMinValue(32));
+ EXPECT_TRUE(signmin32.ashr(32).isAllOnesValue());
+
+ // Ensure we handle large shifts of multi-word.
+ const APInt umax32(APInt::getSignedMaxValue(32));
+ EXPECT_EQ(0, umax32.ashr(32));
+
+ // Ensure we handle large shifts of multi-word.
+ const APInt signmin128(APInt::getSignedMinValue(128));
+ EXPECT_TRUE(signmin128.ashr(128).isAllOnesValue());
+
+ // Ensure we handle large shifts of multi-word.
+ const APInt umax128(APInt::getSignedMaxValue(128));
+ EXPECT_EQ(0, umax128.ashr(128));
+}
+
TEST(APIntTest, LeftShift) {
APInt i256(APInt::getLowBitsSet(256, 2));
@@ -2086,4 +2122,24 @@ TEST(APIntTest, isSubsetOf) {
EXPECT_TRUE(i128_3.isSubsetOf(i128_3));
}
+TEST(APIntTest, sext) {
+ EXPECT_EQ(0, APInt(1, 0).sext(64));
+ EXPECT_EQ(~uint64_t(0), APInt(1, 1).sext(64));
+
+ APInt i32_max(APInt::getSignedMaxValue(32).sext(63));
+ EXPECT_EQ(32U, i32_max.countLeadingZeros());
+ EXPECT_EQ(0U, i32_max.countTrailingZeros());
+ EXPECT_EQ(31U, i32_max.countPopulation());
+
+ APInt i32_min(APInt::getSignedMinValue(32).sext(63));
+ EXPECT_EQ(32U, i32_min.countLeadingOnes());
+ EXPECT_EQ(31U, i32_min.countTrailingZeros());
+ EXPECT_EQ(32U, i32_min.countPopulation());
+
+ APInt i32_neg1(APInt(32, ~uint64_t(0)).sext(63));
+ EXPECT_EQ(63U, i32_neg1.countLeadingOnes());
+ EXPECT_EQ(0U, i32_neg1.countTrailingZeros());
+ EXPECT_EQ(63U, i32_neg1.countPopulation());
+}
+
} // end anonymous namespace
diff --git a/unittests/ADT/BitVectorTest.cpp b/unittests/ADT/BitVectorTest.cpp
index 71b6be36c3bd..ac7429cae36f 100644
--- a/unittests/ADT/BitVectorTest.cpp
+++ b/unittests/ADT/BitVectorTest.cpp
@@ -186,7 +186,9 @@ TYPED_TEST(BitVectorTest, FindOperations) {
// Test finding in an empty BitVector.
TypeParam A;
EXPECT_EQ(-1, A.find_first());
+ EXPECT_EQ(-1, A.find_last());
EXPECT_EQ(-1, A.find_first_unset());
+ EXPECT_EQ(-1, A.find_last_unset());
EXPECT_EQ(-1, A.find_next(0));
EXPECT_EQ(-1, A.find_next_unset(0));
@@ -196,12 +198,14 @@ TYPED_TEST(BitVectorTest, FindOperations) {
A.set(13);
A.set(75);
+ EXPECT_EQ(75, A.find_last());
EXPECT_EQ(12, A.find_first());
EXPECT_EQ(13, A.find_next(12));
EXPECT_EQ(75, A.find_next(13));
EXPECT_EQ(-1, A.find_next(75));
EXPECT_EQ(0, A.find_first_unset());
+ EXPECT_EQ(99, A.find_last_unset());
EXPECT_EQ(14, A.find_next_unset(11));
EXPECT_EQ(14, A.find_next_unset(12));
EXPECT_EQ(14, A.find_next_unset(13));
@@ -213,12 +217,16 @@ TYPED_TEST(BitVectorTest, FindOperations) {
A.set(0, 100);
EXPECT_EQ(100U, A.count());
EXPECT_EQ(0, A.find_first());
+ EXPECT_EQ(99, A.find_last());
EXPECT_EQ(-1, A.find_first_unset());
+ EXPECT_EQ(-1, A.find_last_unset());
A.reset(0, 100);
EXPECT_EQ(0U, A.count());
EXPECT_EQ(-1, A.find_first());
+ EXPECT_EQ(-1, A.find_last());
EXPECT_EQ(0, A.find_first_unset());
+ EXPECT_EQ(99, A.find_last_unset());
}
TYPED_TEST(BitVectorTest, CompoundAssignment) {
diff --git a/unittests/ADT/StringExtrasTest.cpp b/unittests/ADT/StringExtrasTest.cpp
index afb984e405d8..2cc9cad32b0b 100644
--- a/unittests/ADT/StringExtrasTest.cpp
+++ b/unittests/ADT/StringExtrasTest.cpp
@@ -50,3 +50,19 @@ TEST(StringExtrasTest, JoinItems) {
EXPECT_EQ("foo/bar/baz/x", join_items('/', Foo, Bar, Baz, X));
}
+
+TEST(StringExtrasTest, ToAndFromHex) {
+ std::vector<uint8_t> OddBytes = {0x5, 0xBD, 0x0D, 0x3E, 0xCD};
+ std::string OddStr = "05BD0D3ECD";
+ StringRef OddData(reinterpret_cast<const char *>(OddBytes.data()),
+ OddBytes.size());
+ EXPECT_EQ(OddStr, toHex(OddData));
+ EXPECT_EQ(OddData, fromHex(StringRef(OddStr).drop_front()));
+
+ std::vector<uint8_t> EvenBytes = {0xA5, 0xBD, 0x0D, 0x3E, 0xCD};
+ std::string EvenStr = "A5BD0D3ECD";
+ StringRef EvenData(reinterpret_cast<const char *>(EvenBytes.data()),
+ EvenBytes.size());
+ EXPECT_EQ(EvenStr, toHex(EvenData));
+ EXPECT_EQ(EvenData, fromHex(EvenStr));
+} \ No newline at end of file
diff --git a/unittests/ADT/TripleTest.cpp b/unittests/ADT/TripleTest.cpp
index 78616d36e4f8..6d25526e5ad1 100644
--- a/unittests/ADT/TripleTest.cpp
+++ b/unittests/ADT/TripleTest.cpp
@@ -284,6 +284,12 @@ TEST(TripleTest, ParsedIDs) {
EXPECT_EQ(Triple::FreeBSD, T.getOS());
EXPECT_EQ(Triple::UnknownEnvironment, T.getEnvironment());
+ T = Triple("armv7hl-suse-linux-gnueabi");
+ EXPECT_EQ(Triple::arm, T.getArch());
+ EXPECT_EQ(Triple::SUSE, T.getVendor());
+ EXPECT_EQ(Triple::Linux, T.getOS());
+ EXPECT_EQ(Triple::GNUEABI, T.getEnvironment());
+
T = Triple("huh");
EXPECT_EQ(Triple::UnknownArch, T.getArch());
}
diff --git a/unittests/Analysis/ScalarEvolutionTest.cpp b/unittests/Analysis/ScalarEvolutionTest.cpp
index 573695735957..b21f4dc622bb 100644
--- a/unittests/Analysis/ScalarEvolutionTest.cpp
+++ b/unittests/Analysis/ScalarEvolutionTest.cpp
@@ -640,6 +640,25 @@ TEST_F(ScalarEvolutionsTest, SCEVNormalization) {
"for.end.loopexit: "
" ret void "
"} "
+ " "
+ "define void @f_2(i32 %a, i32 %b, i32 %c, i32 %d) "
+ " local_unnamed_addr { "
+ "entry: "
+ " br label %loop_0 "
+ " "
+ "loop_0: "
+ " br i1 undef, label %loop_0, label %loop_1 "
+ " "
+ "loop_1: "
+ " br i1 undef, label %loop_2, label %loop_1 "
+ " "
+ " "
+ "loop_2: "
+ " br i1 undef, label %end, label %loop_2 "
+ " "
+ "end: "
+ " ret void "
+ "} "
,
Err, C);
@@ -664,6 +683,85 @@ TEST_F(ScalarEvolutionsTest, SCEVNormalization) {
auto *D1 = denormalizeForPostIncUse(N1, Loops, SE);
EXPECT_EQ(S1, D1) << *S1 << " " << *D1;
});
+
+ runWithSE(*M, "f_2", [&](Function &F, LoopInfo &LI, ScalarEvolution &SE) {
+ auto *L2 = *LI.begin();
+ auto *L1 = *std::next(LI.begin());
+ auto *L0 = *std::next(LI.begin(), 2);
+
+ auto GetAddRec = [&SE](const Loop *L, std::initializer_list<const SCEV *> Ops) {
+ SmallVector<const SCEV *, 4> OpsCopy(Ops);
+ return SE.getAddRecExpr(OpsCopy, L, SCEV::FlagAnyWrap);
+ };
+
+ auto GetAdd = [&SE](std::initializer_list<const SCEV *> Ops) {
+ SmallVector<const SCEV *, 4> OpsCopy(Ops);
+ return SE.getAddExpr(OpsCopy, SCEV::FlagAnyWrap);
+ };
+
+ // We first populate the AddRecs vector with a few "interesting" SCEV
+ // expressions, and then we go through the list and assert that each
+ // expression in it has an invertible normalization.
+
+ std::vector<const SCEV *> Exprs;
+ {
+ const SCEV *V0 = SE.getSCEV(&*F.arg_begin());
+ const SCEV *V1 = SE.getSCEV(&*std::next(F.arg_begin(), 1));
+ const SCEV *V2 = SE.getSCEV(&*std::next(F.arg_begin(), 2));
+ const SCEV *V3 = SE.getSCEV(&*std::next(F.arg_begin(), 3));
+
+ Exprs.push_back(GetAddRec(L0, {V0})); // 0
+ Exprs.push_back(GetAddRec(L0, {V0, V1})); // 1
+ Exprs.push_back(GetAddRec(L0, {V0, V1, V2})); // 2
+ Exprs.push_back(GetAddRec(L0, {V0, V1, V2, V3})); // 3
+
+ Exprs.push_back(
+ GetAddRec(L1, {Exprs[1], Exprs[2], Exprs[3], Exprs[0]})); // 4
+ Exprs.push_back(
+ GetAddRec(L1, {Exprs[1], Exprs[2], Exprs[0], Exprs[3]})); // 5
+ Exprs.push_back(
+ GetAddRec(L1, {Exprs[1], Exprs[3], Exprs[3], Exprs[1]})); // 6
+
+ Exprs.push_back(GetAdd({Exprs[6], Exprs[3], V2})); // 7
+
+ Exprs.push_back(
+ GetAddRec(L2, {Exprs[4], Exprs[3], Exprs[3], Exprs[5]})); // 8
+
+ Exprs.push_back(
+ GetAddRec(L2, {Exprs[4], Exprs[6], Exprs[7], Exprs[3], V0})); // 9
+ }
+
+ std::vector<PostIncLoopSet> LoopSets;
+ for (int i = 0; i < 8; i++) {
+ LoopSets.emplace_back();
+ if (i & 1)
+ LoopSets.back().insert(L0);
+ if (i & 2)
+ LoopSets.back().insert(L1);
+ if (i & 4)
+ LoopSets.back().insert(L2);
+ }
+
+ for (const auto &LoopSet : LoopSets)
+ for (auto *S : Exprs) {
+ {
+ auto *N = llvm::normalizeForPostIncUse(S, LoopSet, SE);
+ auto *D = llvm::denormalizeForPostIncUse(N, LoopSet, SE);
+
+ // Normalization and then denormalizing better give us back the same
+ // value.
+ EXPECT_EQ(S, D) << "S = " << *S << " D = " << *D << " N = " << *N;
+ }
+ {
+ auto *D = llvm::denormalizeForPostIncUse(S, LoopSet, SE);
+ auto *N = llvm::normalizeForPostIncUse(D, LoopSet, SE);
+
+ // Denormalization and then normalizing better give us back the same
+ // value.
+ EXPECT_EQ(S, N) << "S = " << *S << " N = " << *N;
+ }
+ }
+ });
}
// Expect the call of getZeroExtendExpr will not cost exponential time.
@@ -755,6 +853,5 @@ TEST_F(ScalarEvolutionsTest, SCEVZeroExtendExpr) {
Type *I128Ty = Type::getInt128Ty(Context);
SE.getZeroExtendExpr(S, I128Ty);
}
-
} // end anonymous namespace
} // end namespace llvm
diff --git a/unittests/DebugInfo/DWARF/DwarfGenerator.h b/unittests/DebugInfo/DWARF/DwarfGenerator.h
index 966725b4fa4e..76665e5193e8 100644
--- a/unittests/DebugInfo/DWARF/DwarfGenerator.h
+++ b/unittests/DebugInfo/DWARF/DwarfGenerator.h
@@ -138,7 +138,7 @@ public:
/// contained inside this class.
class CompileUnit {
Generator &DG;
- DIEUnit DU;
+ BasicDIEUnit DU;
public:
CompileUnit(Generator &D, uint16_t V, uint8_t A)
diff --git a/unittests/Support/BranchProbabilityTest.cpp b/unittests/Support/BranchProbabilityTest.cpp
index f03b09b66e81..54948baea515 100644
--- a/unittests/Support/BranchProbabilityTest.cpp
+++ b/unittests/Support/BranchProbabilityTest.cpp
@@ -115,6 +115,54 @@ TEST(BranchProbabilityTest, MoreOperators) {
EXPECT_FALSE(BigZero >= BigOne);
}
+TEST(BranchProbabilityTest, ArithmeticOperators) {
+ BP Z(0, 1);
+ BP O(1, 1);
+ BP H(1, 2);
+ BP Q(1, 4);
+ BP Q3(3, 4);
+
+ EXPECT_EQ(Z + O, O);
+ EXPECT_EQ(H + Z, H);
+ EXPECT_EQ(H + H, O);
+ EXPECT_EQ(Q + H, Q3);
+ EXPECT_EQ(Q + Q3, O);
+ EXPECT_EQ(H + Q3, O);
+ EXPECT_EQ(Q3 + Q3, O);
+
+ EXPECT_EQ(Z - O, Z);
+ EXPECT_EQ(O - Z, O);
+ EXPECT_EQ(O - H, H);
+ EXPECT_EQ(O - Q, Q3);
+ EXPECT_EQ(Q3 - H, Q);
+ EXPECT_EQ(Q - H, Z);
+ EXPECT_EQ(Q - Q3, Z);
+
+ EXPECT_EQ(Z * O, Z);
+ EXPECT_EQ(H * H, Q);
+ EXPECT_EQ(Q * O, Q);
+ EXPECT_EQ(O * O, O);
+ EXPECT_EQ(Z * Z, Z);
+
+ EXPECT_EQ(Z * 3, Z);
+ EXPECT_EQ(Q * 3, Q3);
+ EXPECT_EQ(H * 3, O);
+ EXPECT_EQ(Q3 * 2, O);
+ EXPECT_EQ(O * UINT32_MAX, O);
+
+ EXPECT_EQ(Z / 4, Z);
+ EXPECT_EQ(O / 4, Q);
+ EXPECT_EQ(Q3 / 3, Q);
+ EXPECT_EQ(H / 2, Q);
+ EXPECT_EQ(O / 2, H);
+ EXPECT_EQ(H / UINT32_MAX, Z);
+
+ BP Min(1, 1u << 31);
+
+ EXPECT_EQ(O / UINT32_MAX, Z);
+ EXPECT_EQ(Min * UINT32_MAX, O);
+}
+
TEST(BranchProbabilityTest, getCompl) {
EXPECT_EQ(BP(5, 7), BP(2, 7).getCompl());
EXPECT_EQ(BP(2, 7), BP(5, 7).getCompl());
diff --git a/unittests/Support/Path.cpp b/unittests/Support/Path.cpp
index 86ad57f3f3ff..426aff47c746 100644
--- a/unittests/Support/Path.cpp
+++ b/unittests/Support/Path.cpp
@@ -1515,6 +1515,8 @@ TEST_F(FileSystemTest, permissions) {
EXPECT_EQ(fs::setPermissions(TempPath, fs::set_gid_on_exe), NoError);
EXPECT_TRUE(CheckPermissions(fs::set_gid_on_exe));
+ // Modern BSDs require root to set the sticky bit on files.
+#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__)
EXPECT_EQ(fs::setPermissions(TempPath, fs::sticky_bit), NoError);
EXPECT_TRUE(CheckPermissions(fs::sticky_bit));
@@ -1534,6 +1536,11 @@ TEST_F(FileSystemTest, permissions) {
EXPECT_EQ(fs::setPermissions(TempPath, fs::all_perms), NoError);
EXPECT_TRUE(CheckPermissions(fs::all_perms));
+#endif // !FreeBSD && !NetBSD && !OpenBSD
+
+ EXPECT_EQ(fs::setPermissions(TempPath, fs::all_perms & ~fs::sticky_bit),
+ NoError);
+ EXPECT_TRUE(CheckPermissions(fs::all_perms & ~fs::sticky_bit));
#endif
}
diff --git a/utils/TableGen/AsmMatcherEmitter.cpp b/utils/TableGen/AsmMatcherEmitter.cpp
index 3947d0220ed5..a5c2ea6c7aca 100644
--- a/utils/TableGen/AsmMatcherEmitter.cpp
+++ b/utils/TableGen/AsmMatcherEmitter.cpp
@@ -2861,7 +2861,7 @@ void AsmMatcherEmitter::run(raw_ostream &OS) {
emitValidateOperandClass(Info, OS);
// Emit the available features compute function.
- SubtargetFeatureInfo::emitComputeAvailableFeatures(
+ SubtargetFeatureInfo::emitComputeAssemblerAvailableFeatures(
Info.Target.getName(), ClassName, "ComputeAvailableFeatures",
Info.SubtargetFeatures, OS);
diff --git a/utils/TableGen/CodeEmitterGen.cpp b/utils/TableGen/CodeEmitterGen.cpp
index f34c0ded0a35..565235d82143 100644
--- a/utils/TableGen/CodeEmitterGen.cpp
+++ b/utils/TableGen/CodeEmitterGen.cpp
@@ -336,7 +336,7 @@ void CodeEmitterGen::run(raw_ostream &o) {
o << "#endif // NDEBUG\n";
// Emit the available features compute function.
- SubtargetFeatureInfo::emitComputeAvailableFeatures(
+ SubtargetFeatureInfo::emitComputeAssemblerAvailableFeatures(
Target.getName(), "MCCodeEmitter", "computeAvailableFeatures",
SubtargetFeatures, o);
diff --git a/utils/TableGen/GlobalISelEmitter.cpp b/utils/TableGen/GlobalISelEmitter.cpp
index 7acc65e349ea..dcf10ab511da 100644
--- a/utils/TableGen/GlobalISelEmitter.cpp
+++ b/utils/TableGen/GlobalISelEmitter.cpp
@@ -31,6 +31,7 @@
//===----------------------------------------------------------------------===//
#include "CodeGenDAGPatterns.h"
+#include "SubtargetFeatureInfo.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/Statistic.h"
@@ -79,7 +80,7 @@ public:
return;
}
if (Ty.isVector()) {
- OS << "LLT::vector(" << Ty.getNumElements() << ", " << Ty.getSizeInBits()
+ OS << "LLT::vector(" << Ty.getNumElements() << ", " << Ty.getScalarSizeInBits()
<< ")";
return;
}
@@ -90,52 +91,6 @@ public:
};
class InstructionMatcher;
-class OperandPlaceholder {
-private:
- enum PlaceholderKind {
- OP_MatchReference,
- OP_Temporary,
- } Kind;
-
- struct MatchReferenceData {
- InstructionMatcher *InsnMatcher;
- StringRef InsnVarName;
- StringRef SymbolicName;
- };
-
- struct TemporaryData {
- unsigned OpIdx;
- };
-
- union {
- struct MatchReferenceData MatchReference;
- struct TemporaryData Temporary;
- };
-
- OperandPlaceholder(PlaceholderKind Kind) : Kind(Kind) {}
-
-public:
- ~OperandPlaceholder() {}
-
- static OperandPlaceholder
- CreateMatchReference(InstructionMatcher *InsnMatcher,
- StringRef InsnVarName, StringRef SymbolicName) {
- OperandPlaceholder Result(OP_MatchReference);
- Result.MatchReference.InsnMatcher = InsnMatcher;
- Result.MatchReference.InsnVarName = InsnVarName;
- Result.MatchReference.SymbolicName = SymbolicName;
- return Result;
- }
-
- static OperandPlaceholder CreateTemporary(unsigned OpIdx) {
- OperandPlaceholder Result(OP_Temporary);
- Result.Temporary.OpIdx = OpIdx;
- return Result;
- }
-
- void emitCxxValueExpr(raw_ostream &OS) const;
-};
-
/// Convert an MVT to an equivalent LLT if possible, or the invalid LLT() for
/// MVTs that don't map cleanly to an LLT (e.g., iPTR, *any, ...).
static Optional<LLTCodeGen> MVTToLLT(MVT::SimpleValueType SVT) {
@@ -161,20 +116,6 @@ static std::string explainPredicates(const TreePatternNode *N) {
return Explanation;
}
-static std::string explainRulePredicates(const ArrayRef<Init *> Predicates) {
- std::string Explanation = "";
- StringRef Separator = "";
- for (const auto *P : Predicates) {
- Explanation += Separator;
-
- if (const DefInit *PDef = dyn_cast<DefInit>(P)) {
- Explanation += PDef->getDef()->getName();
- } else
- Explanation += "<unknown>";
- }
- return Explanation;
-}
-
std::string explainOperator(Record *Operator) {
if (Operator->isSubClassOf("SDNode"))
return " (" + Operator->getValueAsString("Opcode") + ")";
@@ -238,6 +179,8 @@ class RuleMatcher {
/// ID for the next instruction variable defined with defineInsnVar()
unsigned NextInsnVarID;
+ std::vector<Record *> RequiredFeatures;
+
public:
RuleMatcher()
: Matchers(), Actions(), InsnVariableNames(), NextInsnVarID(0) {}
@@ -245,6 +188,7 @@ public:
RuleMatcher &operator=(RuleMatcher &&Other) = default;
InstructionMatcher &addInstructionMatcher();
+ void addRequiredFeature(Record *Feature);
template <class Kind, class... Args> Kind &addAction(Args &&... args);
@@ -255,7 +199,9 @@ public:
void emitCxxCapturedInsnList(raw_ostream &OS);
void emitCxxCaptureStmts(raw_ostream &OS, StringRef Expr);
- void emit(raw_ostream &OS);
+ void emit(raw_ostream &OS,
+ std::map<Record *, SubtargetFeatureInfo, LessRecordByID>
+ SubtargetFeatures);
/// Compare the priority of this object and B.
///
@@ -264,7 +210,10 @@ public:
/// Report the maximum number of temporary operands needed by the rule
/// matcher.
- unsigned countTemporaryOperands() const;
+ unsigned countRendererFns() const;
+
+ // FIXME: Remove this as soon as possible
+ InstructionMatcher &insnmatcher_front() const { return *Matchers.front(); }
};
template <class PredicateTy> class PredicateListMatcher {
@@ -369,7 +318,7 @@ public:
/// Report the maximum number of temporary operands needed by the predicate
/// matcher.
- virtual unsigned countTemporaryOperands() const { return 0; }
+ virtual unsigned countRendererFns() const { return 0; }
};
/// Generates code to check that an operand is a particular LLT.
@@ -399,10 +348,6 @@ protected:
const OperandMatcher &Operand;
const Record &TheDef;
- unsigned getNumOperands() const {
- return TheDef.getValueAsDag("Operands")->getNumArgs();
- }
-
unsigned getAllocatedTemporariesBaseID() const;
public:
@@ -417,17 +362,13 @@ public:
void emitCxxPredicateExpr(raw_ostream &OS, RuleMatcher &Rule,
StringRef OperandExpr) const override {
- OS << TheDef.getValueAsString("MatcherFn") << "(" << OperandExpr;
- for (unsigned I = 0; I < getNumOperands(); ++I) {
- OS << ", ";
- OperandPlaceholder::CreateTemporary(getAllocatedTemporariesBaseID() + I)
- .emitCxxValueExpr(OS);
- }
- OS << ")";
+ unsigned ID = getAllocatedTemporariesBaseID();
+ OS << "(Renderer" << ID << " = " << TheDef.getValueAsString("MatcherFn")
+ << "(" << OperandExpr << "))";
}
- unsigned countTemporaryOperands() const override {
- return getNumOperands();
+ unsigned countRendererFns() const override {
+ return 1;
}
};
@@ -496,7 +437,7 @@ protected:
/// The index of the first temporary variable allocated to this operand. The
/// number of allocated temporaries can be found with
- /// countTemporaryOperands().
+ /// countRendererFns().
unsigned AllocatedTemporariesBaseID;
public:
@@ -577,12 +518,12 @@ public:
/// Report the maximum number of temporary operands needed by the operand
/// matcher.
- unsigned countTemporaryOperands() const {
+ unsigned countRendererFns() const {
return std::accumulate(
predicates().begin(), predicates().end(), 0,
[](unsigned A,
const std::unique_ptr<OperandPredicateMatcher> &Predicate) {
- return A + Predicate->countTemporaryOperands();
+ return A + Predicate->countRendererFns();
});
}
@@ -631,7 +572,7 @@ public:
/// Report the maximum number of temporary operands needed by the predicate
/// matcher.
- virtual unsigned countTemporaryOperands() const { return 0; }
+ virtual unsigned countRendererFns() const { return 0; }
};
/// Generates code to check the opcode of an instruction.
@@ -788,17 +729,17 @@ public:
/// Report the maximum number of temporary operands needed by the instruction
/// matcher.
- unsigned countTemporaryOperands() const {
+ unsigned countRendererFns() const {
return std::accumulate(predicates().begin(), predicates().end(), 0,
[](unsigned A,
const std::unique_ptr<InstructionPredicateMatcher>
&Predicate) {
- return A + Predicate->countTemporaryOperands();
+ return A + Predicate->countRendererFns();
}) +
std::accumulate(
Operands.begin(), Operands.end(), 0,
[](unsigned A, const std::unique_ptr<OperandMatcher> &Operand) {
- return A + Operand->countTemporaryOperands();
+ return A + Operand->countRendererFns();
});
}
};
@@ -853,18 +794,6 @@ public:
};
//===- Actions ------------------------------------------------------------===//
-void OperandPlaceholder::emitCxxValueExpr(raw_ostream &OS) const {
- switch (Kind) {
- case OP_MatchReference:
- OS << MatchReference.InsnMatcher->getOperand(MatchReference.SymbolicName)
- .getOperandExpr(MatchReference.InsnVarName);
- break;
- case OP_Temporary:
- OS << "TempOp" << Temporary.OpIdx;
- break;
- }
-}
-
class OperandRenderer {
public:
enum RendererKind { OR_Copy, OR_Imm, OR_Register, OR_ComplexPattern };
@@ -950,31 +879,33 @@ public:
}
};
+/// Adds operands by calling a renderer function supplied by the ComplexPattern
+/// matcher function.
class RenderComplexPatternOperand : public OperandRenderer {
private:
const Record &TheDef;
- std::vector<OperandPlaceholder> Sources;
+ /// The name of the operand.
+ const StringRef SymbolicName;
+ /// The renderer number. This must be unique within a rule since it's used to
+ /// identify a temporary variable to hold the renderer function.
+ unsigned RendererID;
unsigned getNumOperands() const {
return TheDef.getValueAsDag("Operands")->getNumArgs();
}
public:
- RenderComplexPatternOperand(const Record &TheDef,
- const ArrayRef<OperandPlaceholder> Sources)
- : OperandRenderer(OR_ComplexPattern), TheDef(TheDef), Sources(Sources) {}
+ RenderComplexPatternOperand(const Record &TheDef, StringRef SymbolicName,
+ unsigned RendererID)
+ : OperandRenderer(OR_ComplexPattern), TheDef(TheDef),
+ SymbolicName(SymbolicName), RendererID(RendererID) {}
static bool classof(const OperandRenderer *R) {
return R->getKind() == OR_ComplexPattern;
}
void emitCxxRenderStmts(raw_ostream &OS, RuleMatcher &Rule) const override {
- assert(Sources.size() == getNumOperands() && "Inconsistent number of operands");
- for (const auto &Source : Sources) {
- OS << "MIB.add(";
- Source.emitCxxValueExpr(OS);
- OS << ");\n";
- }
+ OS << "Renderer" << RendererID << "(MIB);\n";
}
};
@@ -1022,8 +953,9 @@ private:
bool canMutate() const {
for (const auto &Renderer : enumerate(OperandRenderers)) {
if (const auto *Copy = dyn_cast<CopyRenderer>(&*Renderer.value())) {
- if (Matched.getOperand(Copy->getSymbolicName()).getOperandIndex() !=
- Renderer.index())
+ const OperandMatcher &OM = Matched.getOperand(Copy->getSymbolicName());
+ if (&Matched != &OM.getInstructionMatcher() ||
+ OM.getOperandIndex() != Renderer.index())
return false;
} else
return false;
@@ -1092,6 +1024,10 @@ InstructionMatcher &RuleMatcher::addInstructionMatcher() {
return *Matchers.back();
}
+void RuleMatcher::addRequiredFeature(Record *Feature) {
+ RequiredFeatures.push_back(Feature);
+}
+
template <class Kind, class... Args>
Kind &RuleMatcher::addAction(Args &&... args) {
Actions.emplace_back(llvm::make_unique<Kind>(std::forward<Args>(args)...));
@@ -1135,7 +1071,9 @@ void RuleMatcher::emitCxxCaptureStmts(raw_ostream &OS, StringRef Expr) {
Matchers.front()->emitCxxCaptureStmts(OS, *this, InsnVarName);
}
-void RuleMatcher::emit(raw_ostream &OS) {
+void RuleMatcher::emit(raw_ostream &OS,
+ std::map<Record *, SubtargetFeatureInfo, LessRecordByID>
+ SubtargetFeatures) {
if (Matchers.empty())
llvm_unreachable("Unexpected empty matcher!");
@@ -1149,7 +1087,22 @@ void RuleMatcher::emit(raw_ostream &OS) {
// %elt0(s32), %elt1(s32) = TGT_LOAD_PAIR %ptr
// on some targets but we don't need to make use of that yet.
assert(Matchers.size() == 1 && "Cannot handle multi-root matchers yet");
- OS << "if ([&]() {\n";
+
+ OS << "if (";
+ OS << "[&]() {\n";
+ if (!RequiredFeatures.empty()) {
+ OS << " PredicateBitset ExpectedFeatures = {";
+ StringRef Separator = "";
+ for (const auto &Predicate : RequiredFeatures) {
+ const auto &I = SubtargetFeatures.find(Predicate);
+ assert(I != SubtargetFeatures.end() && "Didn't import predicate?");
+ OS << Separator << I->second.getEnumBitName();
+ Separator = ", ";
+ }
+ OS << "};\n";
+ OS << "if ((AvailableFeatures & ExpectedFeatures) != ExpectedFeatures)\n"
+ << " return false;\n";
+ }
emitCxxCaptureStmts(OS, "I");
@@ -1235,11 +1188,11 @@ bool RuleMatcher::isHigherPriorityThan(const RuleMatcher &B) const {
return false;
}
-unsigned RuleMatcher::countTemporaryOperands() const {
+unsigned RuleMatcher::countRendererFns() const {
return std::accumulate(
Matchers.begin(), Matchers.end(), 0,
[](unsigned A, const std::unique_ptr<InstructionMatcher> &Matcher) {
- return A + Matcher->countTemporaryOperands();
+ return A + Matcher->countRendererFns();
});
}
@@ -1264,10 +1217,13 @@ private:
/// GIComplexPatternEquiv.
DenseMap<const Record *, const Record *> ComplexPatternEquivs;
+ // Map of predicates to their subtarget features.
+ std::map<Record *, SubtargetFeatureInfo, LessRecordByID> SubtargetFeatures;
+
void gatherNodeEquivs();
const CodeGenInstruction *findNodeEquiv(Record *N) const;
- Error importRulePredicates(RuleMatcher &M, ArrayRef<Init *> Predicates) const;
+ Error importRulePredicates(RuleMatcher &M, ArrayRef<Init *> Predicates);
Expected<InstructionMatcher &>
createAndImportSelDAGMatcher(InstructionMatcher &InsnMatcher,
const TreePatternNode *Src) const;
@@ -1287,6 +1243,8 @@ private:
/// Analyze pattern \p P, returning a matcher for it if possible.
/// Otherwise, return an Error explaining why we don't support it.
Expected<RuleMatcher> runOnPattern(const PatternToMatch &P);
+
+ void declareSubtargetFeature(Record *Predicate);
};
void GlobalISelEmitter::gatherNodeEquivs() {
@@ -1315,10 +1273,13 @@ GlobalISelEmitter::GlobalISelEmitter(RecordKeeper &RK)
Error
GlobalISelEmitter::importRulePredicates(RuleMatcher &M,
- ArrayRef<Init *> Predicates) const {
- if (!Predicates.empty())
- return failedImport("Pattern has a rule predicate (" +
- explainRulePredicates(Predicates) + ")");
+ ArrayRef<Init *> Predicates) {
+ for (const Init *Predicate : Predicates) {
+ const DefInit *PredicateDef = static_cast<const DefInit *>(Predicate);
+ declareSubtargetFeature(PredicateDef->getDef());
+ M.addRequiredFeature(PredicateDef->getDef());
+ }
+
return Error::success();
}
@@ -1423,6 +1384,12 @@ Error GlobalISelEmitter::importChildMatcher(InstructionMatcher &InsnMatcher,
return Error::success();
}
+ if (ChildRec->isSubClassOf("RegisterOperand")) {
+ OM.addPredicate<RegisterBankOperandMatcher>(
+ Target.getRegisterClass(ChildRec->getValueAsDef("RegClass")));
+ return Error::success();
+ }
+
// Check for ComplexPattern's.
if (ChildRec->isSubClassOf("ComplexPattern")) {
const auto &ComplexPattern = ComplexPatternEquivs.find(ChildRec);
@@ -1430,9 +1397,9 @@ Error GlobalISelEmitter::importChildMatcher(InstructionMatcher &InsnMatcher,
return failedImport("SelectionDAG ComplexPattern (" +
ChildRec->getName() + ") not mapped to GlobalISel");
- const auto &Predicate = OM.addPredicate<ComplexPatternOperandMatcher>(
- OM, *ComplexPattern->second);
- TempOpIdx += Predicate.countTemporaryOperands();
+ OM.addPredicate<ComplexPatternOperandMatcher>(OM,
+ *ComplexPattern->second);
+ TempOpIdx++;
return Error::success();
}
@@ -1486,7 +1453,8 @@ Error GlobalISelEmitter::importExplicitUseRenderer(
return Error::success();
}
- if (ChildRec->isSubClassOf("RegisterClass")) {
+ if (ChildRec->isSubClassOf("RegisterClass") ||
+ ChildRec->isSubClassOf("RegisterOperand")) {
DstMIBuilder.addRenderer<CopyRenderer>(InsnMatcher, DstChild->getName());
return Error::success();
}
@@ -1497,13 +1465,10 @@ Error GlobalISelEmitter::importExplicitUseRenderer(
return failedImport(
"SelectionDAG ComplexPattern not mapped to GlobalISel");
- SmallVector<OperandPlaceholder, 2> RenderedOperands;
const OperandMatcher &OM = InsnMatcher.getOperand(DstChild->getName());
- for (unsigned I = 0; I < OM.countTemporaryOperands(); ++I)
- RenderedOperands.push_back(OperandPlaceholder::CreateTemporary(
- OM.getAllocatedTemporariesBaseID() + I));
DstMIBuilder.addRenderer<RenderComplexPatternOperand>(
- *ComplexPattern->second, RenderedOperands);
+ *ComplexPattern->second, DstChild->getName(),
+ OM.getAllocatedTemporariesBaseID());
return Error::success();
}
@@ -1656,6 +1621,8 @@ Expected<RuleMatcher> GlobalISelEmitter::runOnPattern(const PatternToMatch &P) {
const auto &DstIOperand = DstI.Operands[OpIdx];
Record *DstIOpRec = DstIOperand.Rec;
+ if (DstIOpRec->isSubClassOf("RegisterOperand"))
+ DstIOpRec = DstIOpRec->getValueAsDef("RegClass");
if (!DstIOpRec->isSubClassOf("RegisterClass"))
return failedImport("Dst MI def isn't a register class");
@@ -1723,26 +1690,40 @@ void GlobalISelEmitter::run(raw_ostream &OS) {
unsigned MaxTemporaries = 0;
for (const auto &Rule : Rules)
- MaxTemporaries = std::max(MaxTemporaries, Rule.countTemporaryOperands());
+ MaxTemporaries = std::max(MaxTemporaries, Rule.countRendererFns());
+
+ OS << "#ifdef GET_GLOBALISEL_PREDICATE_BITSET\n"
+ << "const unsigned MAX_SUBTARGET_PREDICATES = " << SubtargetFeatures.size()
+ << ";\n"
+ << "using PredicateBitset = "
+ "llvm::PredicateBitsetImpl<MAX_SUBTARGET_PREDICATES>;\n"
+ << "#endif // ifdef GET_GLOBALISEL_PREDICATE_BITSET\n\n";
OS << "#ifdef GET_GLOBALISEL_TEMPORARIES_DECL\n";
for (unsigned I = 0; I < MaxTemporaries; ++I)
- OS << " mutable MachineOperand TempOp" << I << ";\n";
+ OS << " mutable ComplexRendererFn Renderer" << I << ";\n";
OS << "#endif // ifdef GET_GLOBALISEL_TEMPORARIES_DECL\n\n";
OS << "#ifdef GET_GLOBALISEL_TEMPORARIES_INIT\n";
for (unsigned I = 0; I < MaxTemporaries; ++I)
- OS << ", TempOp" << I << "(MachineOperand::CreatePlaceholder())\n";
+ OS << ", Renderer" << I << "(nullptr)\n";
OS << "#endif // ifdef GET_GLOBALISEL_TEMPORARIES_INIT\n\n";
- OS << "#ifdef GET_GLOBALISEL_IMPL\n"
- << "bool " << Target.getName()
+ OS << "#ifdef GET_GLOBALISEL_IMPL\n";
+ SubtargetFeatureInfo::emitSubtargetFeatureBitEnumeration(SubtargetFeatures,
+ OS);
+ SubtargetFeatureInfo::emitNameTable(SubtargetFeatures, OS);
+ SubtargetFeatureInfo::emitComputeAvailableFeatures(
+ Target.getName(), "InstructionSelector", "computeAvailableFeatures",
+ SubtargetFeatures, OS);
+
+ OS << "bool " << Target.getName()
<< "InstructionSelector::selectImpl(MachineInstr &I) const {\n"
<< " MachineFunction &MF = *I.getParent()->getParent();\n"
<< " const MachineRegisterInfo &MRI = MF.getRegInfo();\n";
for (auto &Rule : Rules) {
- Rule.emit(OS);
+ Rule.emit(OS, SubtargetFeatures);
++NumPatternEmitted;
}
@@ -1751,6 +1732,12 @@ void GlobalISelEmitter::run(raw_ostream &OS) {
<< "#endif // ifdef GET_GLOBALISEL_IMPL\n";
}
+void GlobalISelEmitter::declareSubtargetFeature(Record *Predicate) {
+ if (SubtargetFeatures.count(Predicate) == 0)
+ SubtargetFeatures.emplace(
+ Predicate, SubtargetFeatureInfo(Predicate, SubtargetFeatures.size()));
+}
+
} // end anonymous namespace
//===----------------------------------------------------------------------===//
diff --git a/utils/TableGen/SubtargetFeatureInfo.cpp b/utils/TableGen/SubtargetFeatureInfo.cpp
index 72a556182b1d..96418dc77d55 100644
--- a/utils/TableGen/SubtargetFeatureInfo.cpp
+++ b/utils/TableGen/SubtargetFeatureInfo.cpp
@@ -59,6 +59,20 @@ void SubtargetFeatureInfo::emitSubtargetFeatureFlagEnumeration(
OS << "};\n\n";
}
+void SubtargetFeatureInfo::emitSubtargetFeatureBitEnumeration(
+ std::map<Record *, SubtargetFeatureInfo, LessRecordByID> &SubtargetFeatures,
+ raw_ostream &OS) {
+ OS << "// Bits for subtarget features that participate in "
+ << "instruction matching.\n";
+ OS << "enum SubtargetFeatureBits : "
+ << getMinimalTypeForRange(SubtargetFeatures.size()) << " {\n";
+ for (const auto &SF : SubtargetFeatures) {
+ const SubtargetFeatureInfo &SFI = SF.second;
+ OS << " " << SFI.getEnumBitName() << " = " << SFI.Index << ",\n";
+ }
+ OS << "};\n\n";
+}
+
void SubtargetFeatureInfo::emitNameTable(
std::map<Record *, SubtargetFeatureInfo, LessRecordByID> &SubtargetFeatures,
raw_ostream &OS) {
@@ -90,6 +104,24 @@ void SubtargetFeatureInfo::emitComputeAvailableFeatures(
StringRef TargetName, StringRef ClassName, StringRef FuncName,
std::map<Record *, SubtargetFeatureInfo, LessRecordByID> &SubtargetFeatures,
raw_ostream &OS) {
+ OS << "PredicateBitset " << TargetName << ClassName << "::\n"
+ << FuncName << "(const MachineFunction *MF, const " << TargetName
+ << "Subtarget *Subtarget) const {\n";
+ OS << " PredicateBitset Features;\n";
+ for (const auto &SF : SubtargetFeatures) {
+ const SubtargetFeatureInfo &SFI = SF.second;
+
+ OS << " if (" << SFI.TheDef->getValueAsString("CondString") << ")\n";
+ OS << " Features[" << SFI.getEnumBitName() << "] = 1;\n";
+ }
+ OS << " return Features;\n";
+ OS << "}\n\n";
+}
+
+void SubtargetFeatureInfo::emitComputeAssemblerAvailableFeatures(
+ StringRef TargetName, StringRef ClassName, StringRef FuncName,
+ std::map<Record *, SubtargetFeatureInfo, LessRecordByID> &SubtargetFeatures,
+ raw_ostream &OS) {
OS << "uint64_t " << TargetName << ClassName << "::\n"
<< FuncName << "(const FeatureBitset& FB) const {\n";
OS << " uint64_t Features = 0;\n";
diff --git a/utils/TableGen/SubtargetFeatureInfo.h b/utils/TableGen/SubtargetFeatureInfo.h
index 99f380f2a1d7..bbaf45259606 100644
--- a/utils/TableGen/SubtargetFeatureInfo.h
+++ b/utils/TableGen/SubtargetFeatureInfo.h
@@ -37,16 +37,34 @@ struct SubtargetFeatureInfo {
return "Feature_" + TheDef->getName().str();
}
+ /// \brief The name of the enumerated constant identifying the bitnumber for
+ /// this feature.
+ std::string getEnumBitName() const {
+ return "Feature_" + TheDef->getName().str() + "Bit";
+ }
+
void dump() const;
static std::vector<std::pair<Record *, SubtargetFeatureInfo>>
getAll(const RecordKeeper &Records);
/// Emit the subtarget feature flag definitions.
+ ///
+ /// This version emits the bit value for the feature and is therefore limited
+ /// to 64 feature bits.
static void emitSubtargetFeatureFlagEnumeration(
std::map<Record *, SubtargetFeatureInfo, LessRecordByID>
&SubtargetFeatures,
raw_ostream &OS);
+ /// Emit the subtarget feature flag definitions.
+ ///
+ /// This version emits the bit index for the feature and can therefore support
+ /// more than 64 feature bits.
+ static void emitSubtargetFeatureBitEnumeration(
+ std::map<Record *, SubtargetFeatureInfo, LessRecordByID>
+ &SubtargetFeatures,
+ raw_ostream &OS);
+
static void emitNameTable(std::map<Record *, SubtargetFeatureInfo,
LessRecordByID> &SubtargetFeatures,
raw_ostream &OS);
@@ -54,6 +72,9 @@ struct SubtargetFeatureInfo {
/// Emit the function to compute the list of available features given a
/// subtarget.
///
+ /// This version is used for subtarget features defined using Predicate<>
+ /// and supports more than 64 feature bits.
+ ///
/// \param TargetName The name of the target as used in class prefixes (e.g.
/// <TargetName>Subtarget)
/// \param ClassName The name of the class (without the <Target> prefix)
@@ -66,6 +87,25 @@ struct SubtargetFeatureInfo {
std::map<Record *, SubtargetFeatureInfo, LessRecordByID>
&SubtargetFeatures,
raw_ostream &OS);
+
+ /// Emit the function to compute the list of available features given a
+ /// subtarget.
+ ///
+ /// This version is used for subtarget features defined using
+ /// AssemblerPredicate<> and supports up to 64 feature bits.
+ ///
+ /// \param TargetName The name of the target as used in class prefixes (e.g.
+ /// <TargetName>Subtarget)
+ /// \param ClassName The name of the class (without the <Target> prefix)
+ /// that will contain the generated functions.
+ /// \param FuncName The name of the function to emit.
+ /// \param SubtargetFeatures A map of TableGen records to the
+ /// SubtargetFeatureInfo equivalent.
+ static void emitComputeAssemblerAvailableFeatures(
+ StringRef TargetName, StringRef ClassName, StringRef FuncName,
+ std::map<Record *, SubtargetFeatureInfo, LessRecordByID>
+ &SubtargetFeatures,
+ raw_ostream &OS);
};
} // end namespace llvm
diff --git a/utils/TableGen/Types.cpp b/utils/TableGen/Types.cpp
index 35458296f8fd..04d9e40f6743 100644
--- a/utils/TableGen/Types.cpp
+++ b/utils/TableGen/Types.cpp
@@ -40,5 +40,6 @@ const char *llvm::getMinimalTypeForEnumBitfield(uint64_t Size) {
uint64_t MaxIndex = Size;
if (MaxIndex > 0)
MaxIndex--;
+ assert(MaxIndex <= 64 && "Too many bits");
return getMinimalTypeForRange(1ULL << MaxIndex);
}
diff --git a/utils/git-svn/git-llvm b/utils/git-svn/git-llvm
index 3dd3ff7dc392..c2eaa5b6e640 100755
--- a/utils/git-svn/git-llvm
+++ b/utils/git-svn/git-llvm
@@ -51,6 +51,7 @@ GIT_TO_SVN_DIR.update({'clang': 'cfe/trunk'})
VERBOSE = False
QUIET = False
+dev_null_fd = None
def eprint(*args, **kwargs):
@@ -82,19 +83,33 @@ def first_dirname(d):
d = head
-def shell(cmd, strip=True, cwd=None, stdin=None, die_on_failure=True):
+def get_dev_null():
+ """Lazily create a /dev/null fd for use in shell()"""
+ global dev_null_fd
+ if dev_null_fd is None:
+ dev_null_fd = open(os.devnull, 'w')
+ return dev_null_fd
+
+
+def shell(cmd, strip=True, cwd=None, stdin=None, die_on_failure=True,
+ ignore_errors=False):
log_verbose('Running: %s' % ' '.join(cmd))
+ err_pipe = subprocess.PIPE
+ if ignore_errors:
+ # Silence errors if requested.
+ err_pipe = get_dev_null()
+
start = time.time()
- p = subprocess.Popen(cmd, cwd=cwd, stdout=subprocess.PIPE,
- stderr=subprocess.PIPE, stdin=subprocess.PIPE)
+ p = subprocess.Popen(cmd, cwd=cwd, stdout=subprocess.PIPE, stderr=err_pipe,
+ stdin=subprocess.PIPE)
stdout, stderr = p.communicate(input=stdin)
elapsed = time.time() - start
log_verbose('Command took %0.1fs' % elapsed)
- if p.returncode == 0:
- if stderr:
+ if p.returncode == 0 or ignore_errors:
+ if stderr and not ignore_errors:
eprint('`%s` printed to stderr:' % ' '.join(cmd))
eprint(stderr.rstrip())
if strip:
@@ -115,7 +130,8 @@ def git(*cmd, **kwargs):
def svn(cwd, *cmd, **kwargs):
# TODO: Better way to do default arg when we have *cmd?
- return shell(['svn'] + list(cmd), cwd=cwd, stdin=kwargs.get('stdin', None))
+ return shell(['svn'] + list(cmd), cwd=cwd, stdin=kwargs.get('stdin', None),
+ ignore_errors=kwargs.get('ignore_errors', None))
def get_default_rev_range():
@@ -173,6 +189,43 @@ def svn_init(svn_root):
die("Can't initialize svn staging dir (%s)" % svn_root)
+def fix_eol_style_native(rev, sr, svn_sr_path):
+ """Fix line endings before applying patches with Unix endings
+
+ SVN on Windows will check out files with CRLF for files with the
+ svn:eol-style property set to "native". This breaks `git apply`, which
+ typically works with Unix-line ending patches. Work around the problem here
+ by doing a dos2unix up front for files with svn:eol-style set to "native".
+ SVN will not commit a mass line ending re-doing because it detects the line
+ ending format for files with this property.
+ """
+ files = git('diff-tree', '--no-commit-id', '--name-only', '-r', rev, '--',
+ sr).split('\n')
+ files = [f.split('/', 1)[1] for f in files]
+ # Use ignore_errors because 'svn propget' prints errors if the file doesn't
+ # have the named property. There doesn't seem to be a way to suppress that.
+ eol_props = svn(svn_sr_path, 'propget', 'svn:eol-style', *files,
+ ignore_errors=True).split('\n')
+ crlf_files = []
+ for eol_prop in eol_props:
+ # Remove spare CR.
+ eol_prop = eol_prop.strip('\r')
+ if not eol_prop:
+ continue
+ prop_parts = eol_prop.rsplit(' - ', 1)
+ if len(prop_parts) != 2:
+ eprint("unable to parse svn propget line:")
+ eprint(eol_prop)
+ continue
+ (f, eol_style) = prop_parts
+ if eol_style == 'native':
+ crlf_files.append(f)
+ # Reformat all files with native SVN line endings to Unix format. SVN knows
+ # files with native line endings are text files. It will commit just the
+ # diff, and not a mass line ending change.
+ shell(['dos2unix', '-q'] + crlf_files, cwd=svn_sr_path)
+
+
def svn_push_one_rev(svn_repo, rev, dry_run):
files = git('diff-tree', '--no-commit-id', '--name-only', '-r',
rev).split('\n')
@@ -186,8 +239,10 @@ def svn_push_one_rev(svn_repo, rev, dry_run):
(rev, status))
for sr in subrepos:
- diff = git('show', '--binary', rev, '--', sr, strip=False)
svn_sr_path = os.path.join(svn_repo, GIT_TO_SVN_DIR[sr])
+ if os.name == 'nt':
+ fix_eol_style_native(rev, sr, svn_sr_path)
+ diff = git('show', '--binary', rev, '--', sr, strip=False)
# git is the only thing that can handle its own patches...
log_verbose('Apply patch: %s' % diff)
try: